Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: _Grey en 03 de Septiembre de 2004, 10:58:24 PM

Título: Rendermonkey, Dudas De Novato
Publicado por: _Grey en 03 de Septiembre de 2004, 10:58:24 PM
 Para empezar con la programacion de shaders e estado trasteando algo con el RenderMonkey de Ati, y tengo algona duda de principiante que no consigo solventar.

He cogido el ejemplo de "Deferred Shading.rfx" y lo e retocado para que funcione haciendo un unico pase para cada mapa de textura que ha de escrivir. Por lo que yo se, por la documentacion de Dx, los RenderTarget, pueden tener Zbuffer, y viendo el resultado de los mapas, este esta activo. Lo que no se es si en RenderMonkey cada RenderTarget tiene su propia superficie de Zbuffer o la comparten, pero me interesa incluso mas, conocer como puedo usar es superficie del ZBuffer, para usarla como textura de "entrada", para otro shader. Por que en Dx se puede nop? no e tocado los shaders mas que a nivel del RenderMonkey.

Un PixelShader no puede leer la superficie en la que pinta? es decir la superficie de destino, me parece algo tan basico y que me extraña  mucho no encontrar la manera...

Y ahora, una complicadita. Sabido es que a los shaders se les pasan las matrices transpuestas, por que es mas facil trasformar los vertices asi, con unos pocos dp (dot product). Ahora bien, en los codigos de ejemplo de RenderMonkey en HLSL, solo se ve la variable float4x4 con el nombre de la matriz, y la sentencia mul(), para trasformar al vertice por la matriz. He de suponer que la matriz le llega al Shader transpuesta? cuando lo lleve a mis programas de Dx, lo tendre que hacer manualmente no?? y si usas los effects de DX9, lo hacen las funciones de este, o sigues necesitando hacerlo manualmente??

Gracias!, chao.
Título: Rendermonkey, Dudas De Novato
Publicado por: Sergio en 04 de Septiembre de 2004, 12:52:08 PM
Cita de: "_Grey"Y ahora, una complicadita. Sabido es que a los shaders se les pasan las matrices transpuestas, por que es mas facil trasformar los vertices asi, con unos pocos dp (dot product). Ahora bien, en los codigos de ejemplo de RenderMonkey en HLSL, solo se ve la variable float4x4 con el nombre de la matriz, y la sentencia mul(), para trasformar al vertice por la matriz. He de suponer que la matriz le llega al Shader transpuesta? cuando lo lleve a mis programas de Dx, lo tendre que hacer manualmente no?? y si usas los effects de DX9, lo hacen las funciones de este, o sigues necesitando hacerlo manualmente??
no se como va lo de las matrices transpuestas (para que valen y eso xD) pero para ver si las matrices van transpuestas, en la ventanita del workspace tienes las variables que vayas añadiendo y las matrices tienen lo que llaman 'semantic', ahi eliges si quieres que sean transpuestas o no O_O