Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Depth Of Field

Iniciado por BeRSeRKeR, 28 de Abril de 2005, 09:11:29 PM

« anterior - próximo »

zupervaca

 me parece que sigo sin explicar bien la idea que os planteo, en principio esta idea es para ayudaros a que cuando la gente os envie nuevos efectos no tengais que adaptar el motor, la idea es la clasica de la programacion orientada a objetos, se crea una clase base abstracta con dos metodos en principio, el de creacion del efecto y el de activarlo, asi siempre el que hace el efecto se adapta a vuestro motor y no vosotros a el, aun no se si me he explicado bien  (nooo)

saludos

BeRSeRKeR

 Como he dicho en mi anterior mensaje:

Cita de: "BeRSeRKeR"Aún así, mi idea para el futuro [...] es hacer que el motor sea totalmente programable sin tocar una sóla línea de código C#, todo a través de scripts. De esa forma añadir cualquier cosa al motor sería cuestión de crear un shader, un material, un script...

Eso significa que no hay que tocar el código del motor ni crear módulos extra para añadir nuevos recursos al motor. Todo será cuestión de escribir un script (que evidentemente se tendrá que ceñir a las reglas que imponga el motor), ya sea con un editor de texto o a través de los editores que desarrollemos (materiales, partículas...). De esta forma si un grafista quiere crear recursos (de cualquier tipo) para el motor, no tiene que contar con ningún programador ni con herramientas de desarrollo (pongamos por caso el Visual C# Express). Eso sí, como he dicho, necesitará ciertos conocimientos técnicos. Eso es inevitable (aunque con los editores la cosa se facilita bastante).

De todas formas no está claro que ese sea el rumbo que tomemos, es una cosa que hay que hablar.

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

ajmendoza

 zupervaca eres un incomprendido :P.
Como han dicho por arriba al ser de codigo abierto (por ahora, no seais locos y venderlo cuando esté terminado!) se puede modificiar y hacer módulos propios de los usuarios. Pero si enciman tienen esa implementacion (aunque no se adapte con lo que ellos quieran) base ya en el motor implementada, mejor que mejor.

Si total, pa una hora que echó.. que trabaje leñe! (ñshas!! sonido de látigo :P)  

Lord Trancos 2

 Desde que vi la imagen de este post que tenia el gusanillo.... (genial)

Asi que no me he podido resistir y lo he implementado yo tb.
Me ha basado (es casi un cut&paste) en el shader (GLSL) que hay en el RenderMonkey.




Ahora me falta averiguar como poder hacer de nuevo alpha-blending... pq con el "efectillo" de marras me como el canal alpha  :rolleyes: ¿como lo habeis resuelto vosotros?


Citar
En realidad para hallar el color final se hace un filtro Poisson ( que es una esfera de sopa de puntos) de 10 samples. Debido a las limitaciones del 2.0, sólo podemos utilizar 4 samples

Haddd, puedes explicarme esto mejor? Cuando dices que solo se pueden utilizar 4 samples te refieres a que solo se pueden leer 4 texturas en el shader?
on los años y mucho esfuerzo he llegado a atesorar una ignorancia total sobre casi todas las cosas.
Gate to Avalon (mi Blog)

BeRSeRKeR

 Bonito DOF. :)

Cita de: "Lord Trancos 2"Ahora me falta averiguar como poder hacer de nuevo alpha-blending... pq con el "efectillo" de marras me como el canal alpha  :rolleyes: ¿como lo habeis resuelto vosotros?
Si no me equivoco, en Haddd se utiliza un RT para el DOF y el glow por lo que no tenemos problemas con el alpha blending ya que la distancia a la cámara se almacena en el canal alpha de dicho RT y no en el frame buffer.


Cita de: "Lord Trancos 2"Haddd, puedes explicarme esto mejor? Cuando dices que solo se pueden utilizar 4 samples te refieres a que solo se pueden leer 4 texturas en el shader?
Exactamente eso. Pero en realidad el limitador no eran los accesos a las texturas (que se pueden hacer hasta 16, si por eso fuera podríamos hacer 8 samples) sino que era el número de instrucciones artiméticas.

Por lo que veo, el ejemplo que viene con RenderMonkey es diferente al que se presenta en el documento que puse en el primer mensaje.

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

Lord Trancos 2

 
Cita de: "BeRSeRKeR"Si no me equivoco, en Haddd se utiliza un RT para el DOF y el glow por lo que no tenemos problemas con el alpha blending ya que la distancia a la cámara se almacena en el canal alpha de dicho RT y no en el frame buffer.
Osea, que haceis 2 pasadas (por lo menos) no?

Una para "pintar" y otra para llenar un RT similar al G-Buffer de 3ds Max?
on los años y mucho esfuerzo he llegado a atesorar una ignorancia total sobre casi todas las cosas.
Gate to Avalon (mi Blog)

Haddd

 Ahora mismo hacemos:

Una pasada para el ambiente+ZBuffer

Una pasada para las normales ( esto tiene su explicación, porque si no, intentad hacer con shaders 2.0 reflexion+refracción+bumpy )

Una pasada para el Glow(RGB)+DOF(A).

Y al final, lo que hacemos es para ahorrar slots, copiamos el resultado del backbuffer en el mismo RT que tenemos el DOF. De esa forma el shader accede al rgb de la escena y al dof con una sóla lectura.







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.