home *** CD-ROM | disk | FTP | other *** search
-
- // wpos, a texture coordinate, and tangent space light vectors
- struct v2fConnector : vertex2fragment {
- float2 diffCol :TEX0;
- float3 worldEyeDir :TEX1;
- float3 worldNormal :TEX2;
- };
-
- // output a color
- struct f2fConnector : fragment2framebuffer {
- float3 COL;
- };
-
- f2fConnector main(v2fConnector v2f,
- uniform texobj2D diffCol,
- uniform texobjCUBE g_diffuse_Cube,
- uniform texobjCUBE g_specular_Cube,
- uniform texobjCUBE g_nrmalize_Cube,
- uniform texobjCUBE g_hilight_Cube)
- { f2fConnector f2f;
-
- float3 r = reflect(v2f.worldEyeDir, v2f.worldNormal);
-
- float3 cube_hilight = f3texCUBE(g_hilight_Cube, r); // Diffuse
- float3 cube_specular = f3texCUBE(g_specular_Cube, r); // Diffuse
-
- f2f.COL = 0.5*cube_hilight + 0.1*cube_specular;
- return f2f;
- }