Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Sobre Irrlitch

Iniciado por Haddd, 30 de Marzo de 2004, 09:06:43 AM

« anterior - próximo »

Haddd

 El otro día me bajé la nueva versión. Me dejó alucinado que soportará OGL,D3D y software renderer :blink:

Y encima funciona en Linux. Alucinante. Sin embargo técnicamente adolece de shaders y no sé como resolverán el tema de shaders, porque no son compatibles OGL y D3D, y si encima se tiene que currar las conversiones por software renderer....

Es un motor muy bien realizado y con unas características importantes.

Bueno, pues mi impresión es que no se puede realizar nada "moderno" con él. Es un motor que no ha tenido en cuenta el futuro y para llegar a él va a tener que sacrificar su "compatibilidad", a parte del terrible coste que supondrá "intentarlo".

Digo esto porque hay gente que apoya bastante a este engine y que anima a otros a que lo utilicen. Creo que antes de utilizarlo deberías analizar cual va a ser la trayectoría posible(siempre posible, claro, no soy vidente ni estoy en el grupo de desarrollo) de este motor y si va a poder cumplir tus futuras espectativas.


Esto no es una crítica al motor, así que no me ataqueis. Es una reflexión de cómo puede evolucionar. Luego que cada uno decida si le sirve para sus propósitos o no.


Zaelsius

 Comprendo tu postura, pero hay gente que elige el motor en función de lo que necesita en ese instante, para un proyecto determinado. Yo al menos cuando tengo que elegir, no suelo tener demasiado en cuenta las futuras características del motor, sino qué es capaz de hacer actualmente. Desde luego Irrlicht no es, ni será, el motor open-source definitivo, yo lo veo a medio camino entre las soluciones tipo Blitz3D y los motores más hard-core.

La evolución a shaders, bien diseñada, no debería ser traumática. Supongo que para cuando lleguen se manejarán de una forma parecida a los materiales, quizá con algun método específico para activar shaders de post-proceso a pantalla completa.

De cualquier modo, y hablando en general para este tipo de motores, creo que  el futuro de los shaders(o fragment programs hehe) respecto a las masas está en vastas colecciones de efectos predefinidos, con parámetros personalizables. No todo el mundo que juguetea con estos motores conoce una API 3D y mucho menos programar un efecto de este tipo, con lo que se tenderá a darles el trabajo lo  más máscado (y limitado) posible.

Los contribuyentes con más conocimientos se dedicarán a ampliar estas bibliotecas y a hacer los shaders compatibles(o hacer versiones gl/dx, nvidia/ati), aprovechando la interfaz del engine.

¿Alguien piensa que evolucionará el tema de otro modo? Posibles soluciones.. ?

Haddd

 Tu idea de shaders pregenerados me parece un acierto. Pero si lo piensas bien, estamos "enmascarando" una Fixed Pipeline, porque te obligará a utilizar estos shaders y no crear de nuevos, aunque en realidad está a años luz de la Fixed pipeline que tenemos ahora.

Pero yo programo un poco con los shaders y la dificultad estriba en que se entienda con el motor. Yo por ejemplo, defino variables que si las utilizas, el motor se encarga de pasárselas al shader(iluminación y esas cosas). Hay infinitas combinaciones, y la única forma de poder utilizarlas es que el motor y el shader se puedan entender. Pero pienso que lo que tu dices de tener efectos pregenerados es una solución muy buena.

Pero para que esto ocurra, realmente deberías tener unos shaders "estables". Por estables no me refiero a que se cuelguen, sino que puedas trabajar con ellos con una seguridad de que está soportado por toda la gama. Por ejemplo, con las ATI puedo utilizar 4 RenderTarget al mismo tiempo, pero NVidia no puede(quizás pronto pueda). Esto es un cambio importante. Con NVidia tienes la función Noise, pero con con ATI no. Esto te obliga en el caso de ATI a utilizar más código para simular la función, pero el tamaño del shader es limitado, así que quizás no puedas hacer lo que necesites....

Pienso que hasta los shaders 4.0( que ya no tienen límites de memoria ni diferencian entre vertex y pixel shaders) no encontraremos la estabilidad que se necesita. Y cuando lleguemos a los 4.0 seguro que se trabaja con unos shaders que emularan una "Fixed pipeline". Y tu podrás añadir tus pequeñas modificaciones.  

seryu

 Al final acabaremos haciendo lo qe carmack haga..

Zaelsius

 Correcto Haddd, la 4.0 y las próximas tarjetas tal vez nos hagan la vida más fácil. Aunque sigo creyendo que sacarle el máximo partido a los shaders implica "romper" con el esquema de los motores orientados a escena tal como los conocemos hoy.  Comparto contigo la preocupación por cómo evolucionará la cosa.

No se me ocurren muchas maneras de integrar los shaders sin limitar al usuario, o sin romper la barrera entre API 3D, motor y aplicación.

Para muestra estos ejemplos:

-Aun sin haber jugado al Doom3 entero, creo que ID ha tomado el camino de hacer un motor muy novedoso, y muy específico tambien.

-Valve ha tomado el otro camino, usar la base de un motor clásico y darle vidilla a base de efectos que se integran bien en el sistema de materiales clásicos.

Habrá que ver cómo organizan la cosa en el siguiente gran motor, que puede que sea el Unreal Engine 3..  :huh:

seryu

 la solucion es simple, en cuanto todos tengan shaders en sus tarjetas, y como decis nos qedemos en una version mas compatible como puede ser la 4.0 (a saber qe esta por venir..) todo volvera a una 'normalidad' normal.

lo qe esta claro es qe ahora mismo estamos en una epoca qe toca volver a programar 3 veces el mismo efecto, si qieres aprovechar de verdad el hardware de cada maqina.

y luego te vendian windows como el os qe te evitaria la matada de msdos..  :)




y sobre irrlicht, dudo sinceramente la necesidad imperiosa de shaders para realizar juegos, 3d 2d o lo qe qieras.. mas aun cuando siguen existiendo gran cantidad de pcs sin soporte, y qe en españa ahora mismo andan vendiendo esas gforce 4mx como churros y qe van a joder a todos los jugones sin idea qe andan sueltos x ahi..

nuestro problema es qe nos dan un juguete nuevo y ya no sabemos vivir sin el, pero un chaval qe no sabe ni lo qe es un shader, le da igual. Irrlicht es simplemente el motor personal de un tio qe le gusta hacer lo qe hace, y qe ha gustado a otra gente. de igual forma qe puedo llegar yo mañana y hacerme un motor simple, pues ahi tienes a irrlicht. Creo qe es tan valido qe alguien lo utilice como el no hacerlo.

como dices, no tienen futuro, pero qe motor lo tiene a largo plazo?? todos estan sometidos a constantes reescrituras, y si bien alguno puede mantenerse un largo periodo de tiempo, no me digas que por ejemplo el engine del half life no era obsoleto el dia que salio counter strike.

de acuerdo qe determinada forma de afrontar el codigo, organizando clases, previniendo posibles ampliaciones, facilitan la labor. pero es simplemente eso.

la tecnica es solo una parte, y los programadores, sobretodo los qe tiran mas a los aspectos tecnicos graficos, tienden a olvidarlo con facilidad..

la unica solucion respecto a shaders a dia de hoy es hacerse un lenguaje intermedio, qe luego el propio engine decida segun capacidad del hard, si debe hacerlo via soft, usando alguna extension como toda la vida tipo dot3, o tirar de shaders..

CoLSoN2

 haddd te has mirado el nuevo sistema de materiales (que incorpora shaders) de Ogre (0.13)?
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

AgeR

 A mi modo de ver, el Irrlicht tiene una estructura muy buena. El tema de shaders seguramente lo solventará con nuevos materiales... digo yo... pero bueno, de shaders tampoco sé gran cosa.

Hablando de shaders, no veo motivos para que todo motor que salga tenga que soportarlos. Vamos, como ya han dicho por aquí, ahora mismo los shaders son un jaleo de cuidado, y realmente me parece una pérdida de tiempo intentar hacer algo que seguramente no vaya en la mitad de las tarjetas (o tener que hacerlo 2 veces).
Todo esto, hablando de juegos y desarrolladores amateur... los grandes se lo pueden permitir  :rolleyes: .
Cuando se estandarice el tema, seré el primero en usar shaders, pero de momento ni se me pasa por la cabeza implementarlos : para hacer un juego no son ni mucho menos necesarios.
Además muchos usuarios de los motores ni siquiera sabrán programárse sus shaders...

Saludos!






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.