Friday, May 15, 2009

un simple displacement shader

Bueno, justo despues de ep_simple.sl, leia acerca de displacement shaders. Algunas veces, no es necesario calcular el occlusion de la geometria con displacement, pero si el surface shader no tiene acceso a P antes del displace, es obligado usar "trace displacement".

Asi que basandome en código que postearon el el foro, un displacement shader que encontre en highend y algunas opciones extra, surgió ep_displace.sl:




Básicamente permite manejar displacement y un bump. Si solo hay un mapa y disp_enable == 0, solo generamos un bump. También, internamente, hace una copia de N y P que estan disponibles para surface shaders que detectan que el "trace displacement" esta prendido o apagado. Y en combinación con este displacement shader, modifique ep_simple.sl para aprovechar estas variables.. el archivo actualizado ya lo pueden descargar de highend.. el de displacement lo pego por aqui cuando lo aprueben...

Listo!
http://www.highend3d.com/f/5752.html

No comments: