elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  C++ 3D
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: C++ 3D  (Leído 4,271 veces)
NOIS

Desconectado Desconectado

Mensajes: 67


Ver Perfil
C++ 3D
« en: 18 Marzo 2015, 22:25 pm »

Buenas, estoy interesado en aprender programación orientada a videojuegos en 3D, con el lenguaje base C++ y algo profesional, nada tipo GMaker ni nada que implique no programar por ti mismo.

He leído por ahí que lo que se suele usar es OpenGL, pero quería preguntar antes por aquí por si tenéis alguna recomendación mejor o si también consideráis que OpenGL es la mejor opción que me facilitaseis algún link donde haya buenos tutoriales o manuales para aprender a usar esa librería.

Gracias de antemano.


« Última modificación: 18 Marzo 2015, 22:35 pm por NOIS » En línea

NOIS dev7
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: C++ 3D
« Respuesta #1 en: 18 Marzo 2015, 22:54 pm »

te recomiendo algo... la programación de videojuegos no la hagas desde 0... inventar el agua tibia no te hace más profesional...

a menos que realmente (y por realmente realmente me refiero a realmente) estés muy bien con c++ al punto que te digan "puedes hacer un sistema operativo" y respondas "si, me tomará unas semanas pero no hay problemas" entonces no intentes empezar desde 0...

por qué?

primero: diseñar el motor grafico... es decir diseñar una base que pueda mostrar todos los graficos en pantalla de forma optima, un motor de manejo de objetos 3d desde formatos de archivo y transformaciones de matrices a diestra y siniestra, ya que openGL es un menjador de graficos de pantalla y realmente es 2d(como tu pantalla), tu tienes que hacer una buena parte de las cosas para que se via 3d

segundo: diseñar los handler de captura de teclado y mouse... lo más simple, aún así no dejan de ser un par de miles de lineas de código

tercero: diseñar los handler de elementos graficos... se tienen que mover, interactuar, saber si se tocan, etc...

y de ahí no he toca aún sonido, captura de animaciones, lectura de archivos, inserciones... y apenas con eso estamos terminando el motor del juego... luego viene sobre eso el juego...


por eso los estudios gastan millones de $$ creando motores de juego para hacer sus juegos sobre ellos...

lo más cercano que he visto a un motor de bajo nivel para c++ es Angel Engine y ellos mismos aclaranque aunque es posible crear un juego, no lo recomiendan más que para practicar...

para hacer un buen juego profesional, tienes unity, cryengine, udk, entre otros... son motores de juego bien diseñados, corregidos y completos, que hacen todo lo que indiqué arriba y más... y ya habrás visto tu los juegos creados solo en ellos 3...


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Re: Re: C++ 3D
« Respuesta #2 en: 18 Marzo 2015, 23:18 pm »

segundo: diseñar los handler de captura de teclado y mouse... lo más simple, aún así no dejan de ser un par de miles de lineas

Que bruto xD


OpenGL está muy bien. A parte, puedes simplificarlo con una librería, como GLFW, que te trae simplificados los procedimientos más tediosos.

Pero igualmente, pese a que OpenGL renderice todo por ti, un juego 3D necesita modelos, que hay que cargar (salvo que quieras mostrar objetos simples 'hardcodeados'); en caso de haber mapas grandes, necesitarás un método para cargar el mapa por partes; y muchos etc más.

Si quieres hacer pruebas, hazlas. Pero si quieres hacer un juego de cara a su comercialización, o un juego de «grandes medidas», te diría que te lo pienses dos veces. Y si finalmente estás seguro de ello... estructuralo bien antes de comenzar :p
En línea

NOIS

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: C++ 3D
« Respuesta #3 en: 19 Marzo 2015, 00:26 am »

De momento no pretendo hacer ningún juego a gran escala, no estoy tan loco xD, primero quiero aprender a programar bién con algo que en un futuro me pudiera servir para algo de grandes dimensiones, sobre todo algo que me permita hacer cosas con calidad gráfica, es decir, como comentaba he leído por algunos foros que OpenGL está muy bien pero por los vídeos que he visto de juegos hechos con eso, la calidad de los gráficos es bastante baja.

Pretendo poder hacer algo como mínimo con una calidad de gráficos como la del Wow con posibilidades de poder hacer algo de altísima calidad, como ya digo, pretendo aprender para que me sea útil en el futuro, y tal como avanzan las cosas hoy en día se podría decir que mañana lo mínimo que se va a utilizar van a ser resoluciones de 8K con gráficos más reales que la vida misma.

Por eso quería información sobre alguna librería y motor gráfico potentes, sin importar lo complicado que pueda ser aprender a programar con ello, se me da bastante bien asimilar conceptos y formas de programación.

Gracias por vuestros aportes :D

Saludos!
En línea

NOIS dev7
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: C++ 3D
« Respuesta #4 en: 19 Marzo 2015, 01:00 am »

la calidad no depende del OpenGL (hasta donde se todos los juegos en consolas deben ir por opengl, creo que la única excepción es windows con directx, fuera de esas 2 librerías básicamente no hay más nada), en tal caso dependiendo de la version de opengl puedes explotar más características... la calidad viene dada por tus modelos, sus texturas, capa de normales, capa especular, capa de bumps, capa de colores, etc... y claro... como los maneje tu motor...

En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
NOIS

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: C++ 3D
« Respuesta #5 en: 19 Marzo 2015, 08:05 am »

Entonces, en base a eso que motor y herramientas de trabajo me recomendaríais?

PD: Quiero que sea algo con lo que mis proyectos sean o puedan ser multiplataforma.
En línea

NOIS dev7
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: C++ 3D
« Respuesta #6 en: 19 Marzo 2015, 09:28 am »

arriba mencioné un motor, está en c++, codigo libre (comentan los creadores que sacrifica eficiencia en pro de legibilidad, ya que es para estudio) y multiplataforma
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
NOIS

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: C++ 3D
« Respuesta #7 en: 19 Marzo 2015, 09:43 am »

Vale, le echaré un ojo ahora y me pondré después en serio con ello.

Muchas gracias por la ayuda, llevaba tiempo buscando por Internet y la verdad es que nadie deja nada claro respecto a la programación 3D por ahí.

Saludos!
En línea

NOIS dev7
Miseryk

Desconectado Desconectado

Mensajes: 225


SI.NU.SA U.GU.DE (2NE1 - D-Unit)


Ver Perfil
Re: C++ 3D
« Respuesta #8 en: 20 Marzo 2015, 15:36 pm »

Opengl es un asco, murió al igual que Linux, DirectX9 lo hizo ******, y ni hablar de DX10 -> + +, aunque uno sea el más capo con C++ mega hacker o lo que quieras, programar juegos es algo totalmente distinto y mucho más complejo.

Edit: te recomiendo que uses el motor gratis de Unreal que es el engine más groso que existe, bueno, sin mencionar crysis (pero no es free).
En línea

Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It’s never too late to change our luck
So, don’t let them steal your light
Don’t let them break your stride
There is light on the other side
And you’ll see all the raindrops falling behind
Make it out tonight
it’s a revolution

CL!!!
NOIS

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: C++ 3D
« Respuesta #9 en: 20 Marzo 2015, 15:55 pm »

El caso es que había oído algo del Unreal engine pero pensaba que solo era para modelado y animación, por los vídeos que visto de animaciones con el Unreal engine 4 tiene muy buena pinta, así que gracias, lo miraré.
En línea

NOIS dev7
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines