Mostrando entradas con la etiqueta nvidia. Mostrar todas las entradas
Mostrando entradas con la etiqueta nvidia. Mostrar todas las entradas
domingo, 15 de marzo de 2015

Motor Gráfico de Quake 4

5 comentarios
 
Bueno viendo que muchos internautas tienen la duda de como se desarrollo el juego Quake 4 vamos a explicar un poco esto. El Quake 4 tanto como el Doom 3 entre otros se realizo con un motor llamado id Tech 4 desarrollado por id software
Id Tech 4, también conocido como el motor de Doom 3, es un motor de videojuego desarrollado por id Software y usado por primera vez en el juego Doom 3. El motor fue diseñado por John Carmack, quien también había creado motores anteriores como los usados en Doom o Quake, los cuales también son reconocidos como avances significativos en su campo. Básicamente id Tech 4 es una mejora del motor id Tech 3 pero con varias modificaciones para agregar efectos de última generación.

Historia

El engine se comenzó a desarrollar alrededor de 1999, originalmente se había planeado que el motor de renderizado sería completamente reescrito pero se mantendrían otros subsistemas como los de accesos a ficheros o el planificador de memoria. Pero después de que el motor de renderizado fuera completado se decidió cambiar el código del motor del lenguaje C a C++ lo que exigió volver a estructurar y escribir completamente el motor por lo que el proyecto termino tardando más de lo esperado.
id Tech 4 requería como mínimo una Tarjeta gráfica compatible con DirectX 8.0 y que poseyera al menos la primera versión de Pixel shader como por ejemplo una Nvidia GeForce 3 o ATI Radeon 8500. Para el E3 del 2002, ya se recomendaban tarjetas superiores para poder correr Doom 3 con buenos gráficos y con una buena velocidad.
Pasaban los meses y aparecían fotos que las revistas de videojuegos criticaban porque tenían demasiado detalle y habría que desactivar los efectos y sombras para poder jugar. Al terminar el juego en 2004, esa fue una de sus mayores criticas ya que necesitaba mucha potencia de hardware para poder ejecutarlo fluidamente, aunque se ha conseguido correr en placas de video más antiguas como algunas voodoo o SIS.

Inconvenientes

Durante el desarrollo, Creative Labs instó a Id Software para que no usara el método de sombra de doble pasada zfail que tenían patentado. De esta forma Doom 3 no poseía soporte EAX.

GPL

Jonh Carmack ha dicho que liberaría el código de id Tech 4 al igual que hizo con el resto de desarrollos anteriores de ID. Durante la QuakeCon 2009, Carmack dijo que tenia planeado pedir a Zenimax liberar el código de id Tech 4 después del lanzamiento de Rage.


Videojuegos que usan id Tech 4


- Doom 3


- Doom 3: Resurrection of Evil



- Prey



- Quake 4



- Enemy Territory: Quake Wars




- Wolfenstein



- Brink




El motor está en open source bajo la licencia GPL.

Más información en la página oficial: Id Software
Leer entrada
miércoles, 14 de julio de 2010

Porque Direct3D > OpenGL? otras 10 razones

0 comentarios
 
Ya que estamos en la polemica... hay que hacer lo opuesto tambien!

1) Direct3D viene con Windows,

OpenGL viene con el driver. A las versiones de los drivers de OpenGL que vienen con windows, se les saca el soporte de OpenGL a proposito.
En la practica esto no afecta tanto, ya que en USA, Europa, etc casi todas las PCs son de marca, y los OEM les instalan los ultimos drivers
disponibles. Pero en el "tercer mundo" no es tan asi..

2) OpenGL 2.0 No esta disponible en Intel GMA.

Intel no provee soporte de OpenGL 2.0 en sus drivers de Windows (pero si soporte de Directx9c). Solo llega hasta GL 1.4.
En Mac, intel SI provee soporte de GL2, y el driver semioficial/opensource de X11 (Linux) tambien lo soporta, asi que el hardware no es el problema. Probablemente una decision politica de parte de Intel, o algun arreglo con Microsoft. Esto es un problema importante, dado que todas las notebooks y PCs OEM que vienen con procesadores Intel, vienen con GMA.

3) OpenGL >1.1 no viene con Visual Studio.

Microsoft no provee practicamente soporte para OpenGL, todo en windows se hace con extensiones. Por suerte existe GLEW, pero no se actualiza tan seguido. DirectX viene con el DXSDK.

4) Direct3D implementa los nuevos features primero.

El orden usualmente es
a) Direct3D saca una nueva especificacion
b) NVidia/ATI implementan hardware
c) OpenGL hace su version

Aunque en esta ultima iteracion, OpenGL 4 se adelanto a nvidia, pero nunca se sabe..

5) Direct3D define muy bien lo que soporta el hardware

En teoria OpenGL tambien, mediante extensiones, pero en la practica, Nvidia implementa muchos mas fetures en OpenGL
de lo que la placa soporta, y los emula por software, lo que lo hace inusable, y bastante complicado de adivinar que feature
no usar en que placa, para evitar que todo vaya a 1fps.

6) Direct3D compila los shaders siempre igual.

Si el shader compila en Nvidia, va a compilar en ATI. En OpenGL se supone que es lo mismo, pero ATi se queja de mas cosas que Nvidia, lo cual hace bastante dificil escribir shaders que compilen en todas las plataformas.

7) Direct3D9 soporta instancing, OpenGL no.

El hardware SM3 en Direct3D9 soporta instancing, en OpenGL no. Si bien multiples llamadas a glDrawElements/Arrays son baratas en OpenGL, se empieza a volver costoso pasando los miles de elementos, (ej: al dibujar pasto).

8) Direct3D9 viene con muchisimos ejemplos oficiales.

La calidad de la documentacion de D3D y GL es bastante debatible, pero lo cierto es que D3D esta lleno de ejempos que vienen con el SDK, y con licencias permisivas. Si bien en GL hay bastante, encontrar en internet es mas complicado. En D3D es mas comodo y se pierde menos tiempo. En general la mayoria de los papers de game developes son en D3D, y la mayoria de los papers cientificos son en GL.

9) Direct3D viene con mas herramientas para debugear Direct3D

PIX, mejor soporte de FX composer, D3DDebug, etc.

10) Direct3D Impulsa a la industria

Gracias a que Microsoft impulsa a la industria con D3D e impone el ritmo,
sigue saliendo nuevo hardware e Intel/ATI/NVidia se ponen de acuerdo.
Cuando OpenGL era el estandar, cada placa tenia sus propias extensiones
que no estaban soportadas en las demas, haciendo programar juegos mas complejo.
(Ej, ATI truform, Nvidia con Combine4, etc).

Fuente: http://www.adva.com.ar/foro/index.php?topic=7006.0
Leer entrada