Me gustaría aprender Computer Graphics, lo que sería bueno para mi carrera pero lo único que sé es la programación de Python. ¿dónde debería comenzar e ir después? Además, estudio desde casa.Learning Computer graphics
Respuesta
Es posible que desee aprender utilizando C++/SDL, es una combinación bastante poderosa. Sourceforge alberga muchos proyectos de juegos, que podrían proporcionarle ejemplos útiles en muchos idiomas.
Le sugiero que lea en linear algebra, que es muy útil cuando se trata de gráficos por computadora y especialmente gráficos en 3D.
Here es un curso de video de MIT (1999), cubre probablemente más de lo que necesita.
Familiarícese con C++ y comience a leer "Gráficos de computadora con OpenGL" de Francis Hill. También verifique la lista de recommended books en opengl.org. obtener OpenGL programming guía. Esto debería ayudarte a comenzar.
¿Crees que "Fundermentals of computer graphics by peter shirley" es un buen libro para empezar? – jgt
@jgt: No he leído "fundamentos", así que no tengo nada que decir al respecto. Pero el libro "Computer Graphics using OpenGL" de Francis Hill (el que mencioné) cubre algunas cosas de bajo nivel: explica cómo escribir un raytracer, por ejemplo, así que definitivamente es un "must have". – SigTerm
Gracias, muchachos, su tiempo y ayuda son invaluables. – jgt
El punto de partida definitivo para OpenGL es NeHe. Originalmente, el código de muestra del tutorial se escribió en C, pero los principios son los mismos, y los enlaces de Python para OpenGL se parecen mucho a la API original basada en C.
Si alguna vez quiere hacer algo cerca de "calidad de producción", le sugiero cambiar a C o C++, o usar un motor de juego/biblioteca de gráficos en tiempo real más alto (algunos incluso tienen enlaces de Python). Preferiblemente el último.
Sin embargo, no estoy de acuerdo con muchos de los comentarios aquí que Python no es una buena opción para aprender gráficos en tiempo real. Los principios son los mismos, y Python es simplemente hermoso para probar nuevos conceptos.
Aunque no he hecho programación de gráficos en otra cosa que no sea C o C++, creo que Python es un buen lenguaje para principiantes, y si tienes una forma rápida de obtener píxeles de dibujo en una ventana usando Python, obtén con eso.
Obtenga uno de los libros de texto gráficos estándar. Puede probar Hern & Baker o Foley-Van Dam, y por supuesto que tiene Internet y foros en línea.
Comience siguiendo este curso MIT OCW 6.837 Graphics Fall 2003, haga las asignaciones, escriba el código y vuelva a sus libros de texto y conceptos básicos.
Le sugiero que eche un vistazo a www.scratchapixel.com. Es un sitio web increíble que está completamente dedicado a la enseñanza de técnicas de programación 3D (usando C++). Y el sitio es totalmente gratuito.
Realmente recomiendo usar C/C++ si vas a trabajar con gráficos. porque es un lenguaje compilado y eso significa que es mucho más rápido.
MIT OpenCourse es un buen lugar para comenzar a aprender C/C++.
también recomiendo que usted consiga un libro llamado ordenador Graphices con Open GL 3ª edición para F.S.Hill que es un poco caro, pero que nunca se arrepentirá.
¿Por qué no seguir este tutorial de Dmitry V. Sokolov al escribir un procesador de programas (CPU)? Nota que no lo escribí Lo encontré en Hacker News.
https://github.com/ssloy/tinyrenderer
Desde el enlace:
En esta serie de artículos, que quieren mostrar la forma en OpenGL funciona por escrito su clon (una mucho más simplificada). Sorprendentemente, a menudo me encuentro con personas que no pueden superar el obstáculo inicial de aprender OpenGL/DirectX. Por lo tanto, he preparado un breve ciclo de conferencias, después de lo cual mis estudiantes muestran muy buenos procesadores."
Estoy de acuerdo con los demás puestos aprender álgebra lineal, piense en los algoritmos de dibujo de línea y aprender acerca de los vectores y la práctica práctica práctica . programación
SDL es una gran biblioteca para aprender
Solo vincular a sus propias cosas es [no es una buena respuesta] (// stackoverflow.com/help/promotion). Una buena respuesta que involucra un recurso externo incluye las partes esenciales de la respuesta aquí para futuros usuarios, y hace referencia a lo siguiente: _ ¿De qué es esto de lo que estás hablando? ¿Dónde lo instalo? ¿Como lo instalo? ¿Cómo uso esto para resolver el ** problema exacto ** que tengo en mi pregunta? ¿Está afiliado a esta cosa de algún modo, forma o forma? _ Consulte: [¿Cómo puedo vincular a un recurso externo de una manera amigable con la comunidad?] (// meta.stackexchange.com/questions/94022) – Mogsdad
Solucionado eso, lo siento estaba apurado. –
no sabía lo que sucedió al principio. Pero gracias por compartir este proyecto. Se ve muy interesante y útil. –
Esta es una vieja pregunta, pero ¿qué hay de Processing Desde su página web:.?
Processing es un cuaderno de bocetos de software flexible y un lenguaje para que aprende cómo codificar en el contexto de las artes visuales.
Es fácil de aprender, pero difícil de dominar. Puedes crear cosas geniales realmente rápido y ver si es en eso en lo que deseas invertir tu tiempo.
- 1. Learning Core Graphics
- 2. ¿Cuál es la diferencia entre Computer Architecture y Computer Organization?
- 3. Computer Vision Library
- 4. Learning CIL
- 5. Learning AspectJ
- 6. Learning NSBlockOperation
- 7. Learning VB6
- 8. Learning Sharepoint
- 9. Learning Cappuccino
- 10. Learning Treetop
- 11. Learning ExtJS4
- 12. Java Graphics library
- 13. HTML5 Canvas Vector Graphics?
- 14. Umbraco learning resources?
- 15. (fluxus) learning curve
- 16. PLT-Scheme learning reference
- 17. learning CSLA.NET framework
- 18. re-learning opengl
- 19. iPhone: Proyecto Learning Cocos2D
- 20. Learning Mono Source Code
- 21. Learning C++ Templates
- 22. Android Computer Vision JavaCV OpenCV comparación FastCV
- 23. Computer Algebra System (CAS) para Scala
- 24. Core Graphics sistema de coordenadas
- 25. Core Image vs Core Graphics
- 26. Recorte interno con Java Graphics
- 27. Ventajas de utilizar Core Graphics
- 28. Introducción a Java Graphics Libraries
- 29. Core Graphics & GIF Color Table
- 30. Unit Testing Machine Learning Code
Algunos cálculos de vectores también ayudan. –