Estoy interesado en entrar en el desarrollo de juegos y posee buenas habilidades de programación C / C ++. He probado OGRE antes, y tengo curiosidad por saber si debo aprender OGRE u OpenGL como punto de partida.
Según tengo entendido, OGRE es un contenedor para OpenGL y DirectX. Entonces, supongo que aprendo OGRE, ¿todavía necesito aprender OpenGL también para desarrollar un juego?
Además, ¿alguien puede señalarme un buen tutorial para OpenGL? Descubrí que OGRE está bien documentado (¡incluso viene con la distribución!), Pero para OpenGL, la mayoría de los tutoriales que visité no están actualizados.
Respuestas:
Ogre es de hecho un contenedor para OpenGL, sin embargo, la idea de tal contenedor es que no tiene que preocuparse por las complejidades de OpenGL. Por supuesto, será útil saber un poco sobre OpenGL, pero Ogre ocultará muchos de los detalles feos para usted.
Diría que Ogre es posiblemente más fácil de aprender en comparación con OpenGL, o al menos obtendrá resultados interesantes más rápido. Por supuesto, depende totalmente de lo que le gustaría hacer para evaluar si vale la pena aprender OpenGL.
Acerca de los tutoriales de OpenGL, sí, la mayoría de ellos están bastante desactualizados, sin embargo, la especificación no ha avanzado muy rápido, por lo que muchos de esos antiguos tutoriales aún se aplican a la mayoría de OpenGL.
Algunos de mis favoritos:
fuente
OpenGL! Sí, estoy abiertamente en desacuerdo con todos en este foro hasta ahora.
OGRE es un desastre. La curva de aprendizaje es empinada. Sí, tienen algunos tutoriales agradables, pero salir de los límites de los tutoriales y hacer lo suyo es MUY difícil. Esperaría pasar tres semanas antes de que pueda configurar OGRE y trabajar, leer los tutoriales y averiguar qué hacer a continuación. No hay nada sobre OGRE que sea MUCHO mejor o más simple que OpenGL. Si es un buen programador de C como ha afirmado, y comprende sus punteros / matrices / funciones, OpenGL será igual de fácil, si no más fácil.
Es por eso que recomiendo comenzar con OpenGL. OpenGL te obligará a aprender todos los fundamentos de los gráficos. Es mucho más interesante ya que realmente te darás cuenta de lo que están sucediendo en el fondo. Y SÍ, comience con los tutoriales de NeHe. Sí, son 1.x, que está muy desactualizado (esto es para ti, Ranieri), pero saltar a OpenGL 4.x es una curva de aprendizaje demasiado empinada.
Comience con el modo inmediato en 1.x (glBegin, glEnd), luego aprenda sobre Vertex Arrays. Si lo desea, juegue con listas de visualización solo para aprender. Luego muévete hacia los objetos de vértice buffer. Luego aprende sobre shaders. Cada una de estas transiciones es muy fácil, y hay muchos tutoriales excelentes en línea. Los VBO están en el núcleo de 4.1, por lo que para cuando llegas allí, ya no estás aprendiendo material obsoleto, y es mucho más fácil llegar allí comenzando con el material 1.x.
Además, si alguna vez quieres una carrera de desarrollo de juegos, nadie te contratará porque puedes hacer que un cubo gire en algunas bibliotecas disponibles. Te contratarán porque entiendes lo que está sucediendo en el nivel más bajo posible y puedes tomar decisiones de diseño basadas en ese valioso conocimiento.
Referencias: Estaba donde estabas. Pasé un mes en OGRE, una semana probando Irrlicht, una semana probando Horde3d, dos días jugando con DirectX y un mes jugando con OpenGL. Después de un mes con OGRE, apenas podía ir más allá del alcance de los tutoriales. Después de un mes con OpenGL, tuve un personaje corriendo por un mundo minecraftiano, renderizando 260,000 cubos texturizados por cuadro con más de 700 cuadros por segundo.
fuente
¿Respuesta corta? OGRO.
Respuesta larga? OGRE es un envoltorio sobre OpenGL, por lo que debe hacer mucho menos trabajo. No tiene que preocuparse tanto por enviar datos a la GPU o por enlazar sombreadores, o ordenar vértices a un nivel bajo. Es mucho más rápido usar OGRE que usar OpenGL para la producción, y es probable que su código también sea (muy marginalmente) más rápido.
Si está interesado en el desarrollo del motor, use GL. De lo contrario, use OGRE. Y probablemente comenzaría con OGRE de todos modos.
fuente
Conocer el hardware de gráficos por computadora no es necesario para el desarrollo de juegos. Es necesario convertirse en programador de gráficos o formar parte del equipo de desarrollo de render en una empresa de juegos (Nota personal: que es la mejor diversión en el desarrollo del juego completo :)).
Si no desea convertirse en ingeniero de renderizado, no es necesario que aprenda openGL o DX para desarrollar juegos.
fuente
Yo diría que ninguno de los dos es lo mejor para un principiante, pero "mejor" es un término relativo que depende de lo que se busca obtener. Por ejemplo, si lo que quiere es aprender programación de gráficos en 3D para obtener habilidades que podría usar para obtener un trabajo como programador de gráficos en 3D para una compañía de juegos, entonces esas opciones tienen sentido. Con este objetivo, también puede mirar DirectX.
Sin embargo, si tiene alguna otra meta en mente, le recomendaría buscar otras opciones. Para empezar, si bien a partir de su pregunta uno supondría que desea participar en el desarrollo del juego como programador, en realidad no especificó eso. Tanto escribir un motor gráfico en OpenGL como construir sobre Ogre son definitivamente para programadores de núcleo duro.
fuente