Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Como hacer un engine 3D

Iniciado por Sergio, 01 de Enero de 1970, 01:00:00 AM

« anterior - próximo »

Sergio

                                Hola a todos. Yo llevo ya un tiempo usando "creadores de juegos" en 3D como DarkBasic y BlitzBasic, pero me gustaria crearme un motor mas personalizado, asi que si alguien me puede dar links (porque veo que aqui hay mucha gente haciendose motores) a tutoriales para crear motores (preferiblemente en DirectX) y en que consiste exactamente un motor (porque he leido cursos sobre el api de DirectX y las funciones para crear poligonos y eso vienen dadas, entonces ya me lio entre el motor y eso xDDD).
Y otra cosa, es posible programar en DirectX sobre un api distinto al de Win32 (como por ejemplo wxWindows)??? Si me podeis decir cual es el mejor desde vuestro punto de vista y algun link para aprenderlo os estaria eternamente agradecidos.

Un saludo                                
here are only 10 types of people: those who understand binary and those who don't

Javi SJ Cervera

                                Hola Sergio, me alegro de verte por aqui :sonriendo:.

A ver, te paso la dirección de un par de tutoriales de DirectX muy buenos (y en español):

http://www.geocities.com/cordayuk/
http://www.arrakis.es/~jonathan01/programming/

con respecto a la diferencia entre un motor y un API de bajo nivel como DirectX u OpenGL, a ver si consigo aclararte un poco.

Como has programado en BlitzBasic, lo voy a usar para ponerte un ejemplo:

Imagínate que quieres hacer un juego 2D, y no dispones de las funciones para el manejo de imágenes. Para dibujar una simple imagen en la pantalla deberías de abrir un fichero conteniendo la imagen, por ejemplo BMP, leer los datos d elos pixels y guardarlos en una estructura que contuviera los valores RGB de cada pixel de la imagen. Después, para dibujar la imagen en pantalla deberías acceder a la estructura del backbuffer, y sustituir los colores de los pixels del backbuffer de las coordenadas k kieras por los valores de la imagen.

A estas alturas ya t imaginas cuánto ayudan las funciones que permiten cargar imágenes y dibujarlas de forma automática. Pues bien, usar las funciones 3D de DirectX u OpenGl es algo como hacer un juego 2D de la forma anterior. Cada vez que dibujas la escena en pantalla debes de utilizar las matrices de rotación, escalado y traslación para posicionar los objetos, aplcar las texturas, dibujar lo objetos vértice a vértice, y utilizar algún método para no dibujar las partes que quedan fuera de la visibilidad del espectador, como el Frustum Culling. Suponte que usas un motor, como el del Blitz3D, que tiene una función RenderWorld que realiza todos estos pasos de forma automática sin que te tengas que preocupar, y que te permita posicionar objetos de forma sencilla, etc etc.

Espero que lo hayas entendido así.

DirectX no lo he utilizado con wxWindows, peor OpenGL sí que funciona, y seguro que DX tb :sonriendo:
                               
== Jedive ==

Sergio

                                Jejeje. Muchas gracias jeDIVe, la verdad es que da gusto leer lo que escribes jejeje, se entera uno de lo que quiere y mas. Pues habra que aprender Win32 y wxWindows, por si las moscas.

Salu2 y gracias otra vez :ojo:                                
here are only 10 types of people: those who understand binary and those who don't






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.