Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Ayuda ,motores Graficos ,direct X Alternativas

Iniciado por vitchok, 21 de Julio de 2003, 06:14:02 PM

« anterior - próximo »

vitchok

 se solo  dark basic y me gustaria aprender  algunas cosas, aunque me cueste admitirlo no se lo que es un motor grafico ,he oido hablar de programar con direct x ,que es? un lenguaje de programacion o que si alguien me puede dar informacion lo agradeceria  

Sergio

 Hola!
Lo primero de todo es que no te cueste admitir que no sabes un motor grafico, porque yo despues de usar DarkBasic, BlitzBasic y 3DGameStudio tampoco lo tenia muy claro :P (y tampoco se si lo tengo claro ahora, asi que si me equivoco que alguno de los expertos en materia me corrijan ;) ). Un motor grafico es un conjunto de funciones que se encargan de dibujar figuras 3D/2D y aplicar efectos y otras tecnicas como por ejemplo dibujar solo los objetos que aparecen en pantalla (para esto hay varios metodos). DirectX no es un motor grafico, sino un conjunto de API's (Application Programming Interface, si no me equivoco :) ) como son DirectGraphics (desde la version 8.0 de DirectX, una fusion de lo que eran antes DirectDraw y Direct3D, o mejor dicho solo Direct3D :P ), DirectShow, DirectMusic, DirectSound, DirectPlay, DirectInput... y no se si me dejo alguno mas. Estas API's lo que hacen es facilitarnos el trabajo de "hablar" con la tarjeta grafica (en el caso de DirectGraphics), con la tarjeta de sonido (en el caso de DirectSound y DirectMusic), etc. sin necesidad de tener que crear un codigo distinto para cada tarjeta grafica o de sonido (que era lo que ocurria cuando se programaba en MS-Dos).
Como alternativa a DirectX tienes, por ejemplo, OpenGL, aunque esta API solo trata el dibujo 3D (es decir, lo que seria DirectGraphics, antes Direct3D). Luego esta SDL, Allegro (para 2D), OpenAl (que no se lo que es xD).
Bueno, pues me he enrollado bastante xD (espero por lo menos no haberme equivocado mucho jejeje), no te hago leer mas (que si quieres aprender DirectX tendras que reservar tu vista para leer muuuuuuuuucho).
Un saludo!!
here are only 10 types of people: those who understand binary and those who don't

DraKKaR

 Me gustaria aclarar una cosa. Realmente solo exisen 2 APIS de bajo nivel: Direct3D y OpenGL, que son los unicos que aceleran las tarjetas graficas. Cualquier otro API (salvando mi bienamado Glide), o bien no es acelerado por hardware , o bien usa a bajo nivel uno de los anteriores citados.

Zaelsius

 Lo primero que debes hacer es aprender a programar en C++, ya que es el lenguaje para videojuegos por excelencia. Necesitarás un compilador para crear tus programas en C++. Para empezar, puedes utilizar Dev C++, un entorno de desarrollo gratuito.

Un motor(gráfico) no se encarga sólo de dibujar. Es el conjunto de librerias, herramientas, etc, que te sirven de base para desarrollar un juego. P.ej., El Jedi Knight 2 y el RTC Wolfenstein usan el motor de Quake 3. Esto significa que han tomado como base todas las librerías y herramientas usadas en Quake 3.

En cierto modo DarkBasic, etc, puede ser considerado un motor 3d que utiliza su  propio lenguaje de programación. Normalmente la mayoria de motores comerciales y gratuitos están ideados para ser usados desde C++.

DirectX, y OpenGL son dos API's como bien se dice en el post anterior. Normalmente son usadas directamente por el motor3d, así que no hace falta que las conozcas. En cambio,  cuando se quiere hacer un juego pequeño o muy simple, puede valer la pena prescindir de un motor y crearte tu uno desde cero. Entonces deberás aprender DirectX u OpenGL.

vitchok


vitchok


Zaelsius

 El DirectX SDK, es un paquete para desarrollar aplicaciones que utilicen DirectX. Los SDK(Software Developer Kit) son el conjunto de ficheros, herramientas, documentación, ejemplos, etc. necesarios para utilizar una libreria(en esta caso, DirectX).

Aunque me parece que aun es pronto para que bajes el SDK...deberias dominar C++ bastante bien y estar familiarizado con alguna otra libreria externa(vease Allegro, SDL) antes de meterte con DirectX/OpenGL.

Suerte!!

tiutiu

 Para saber q es un engine, asi a grandes rasgos, lo tienes muy facil: Coge un juego y quitale la parte del juego, ahi tienes el engine ;)

El engine seria la capa de un juego que no sabe el juego para el q va a servir. Si haces un engine para un FPS (first person shooter; quake, hl, etc...) pues tendra las especificaciones del juego pero no sus detalles. Es decir, haras funciones y clases para hacer bumpmapping pero no haras una clase para aplicar bumpmaping a un brazo.

En definitiva es eso xD Quitarle las partes especificas a un juego te da su engine. Si le quitas la parte d la fisica q actua sobre gordon freeman lo que queda es la parte d la fisica del engine y asi sucesivamente.

Ya esta, es el esqueleto d un juego.

Aunq tambien existen engines genericos, muy robustos, q valen para muchos tipos de juegos, los cuales no me molan.
b>:: Pandora's Box project ::
Notas e ideas sobre desarrollo de engines para juegos

vitchok

 he estado aprendiendo un poco de c basico condicionales,variables,funciones,nada concreto   O_O  :blink: he oido algo sobre programacion orientada a objetos ¿es necesaria?
conoceis algun motor gratis ?que me ayude a aprender?

Zaelsius

 En este hilo del foro encontrarás referencias a motores gratuitos.

Sobre la programación orientada a objetos, creo que es fundamental conocerla hoy en día. Busca algun tutorial en Google.

ethernet

 Yo soy de la idea de q no existe otra programacion q la orientada a objetos.

fiero

Cita de: "ethernet"Yo soy de la idea de q no existe otra programacion q la orientada a objetos.
Jo que heavy ethernet  8|   Pues yo sigo programando en windows de forma lineal, tal como lo hacia en ms-dos. Solo utilizo unas pocas clases en las que incluyo todo...

un saludo
www.videopanoramas.com Videopanoramas 3D player






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.