lightingGen.sha 828 B

1234567891011121314151617181920212223242526272829
  1. //Cg
  2. //
  3. //Cg profile arbvp1 arbfp1
  4. void vshader(float4 vtx_position : POSITION,
  5. float3 vtx_normal : NORMAL,
  6. float4 vtx_color : COLOR,
  7. out float4 l_position : POSITION,
  8. out float4 l_brite : TEXCOORD0,
  9. out float4 l_color : COLOR,
  10. uniform float4 mspos_light,
  11. uniform float4x4 mat_modelproj)
  12. {
  13. l_position = mul(mat_modelproj, vtx_position);
  14. float3 N = normalize(vtx_normal);
  15. float3 lightVector = normalize(mspos_light - vtx_position);
  16. l_brite = max(dot(N,lightVector), 0);
  17. l_color = vtx_color;
  18. }
  19. void fshader(float4 l_brite : TEXCOORD0,
  20. float4 l_color : COLOR,
  21. out float4 o_color : COLOR)
  22. {
  23. if (l_brite.x<0.5) l_brite=0.8;
  24. else l_brite=1.2;
  25. o_color=l_brite * l_color;
  26. }