StdQuad_vp.cg
上传用户:xhbjoy
上传日期:2014-10-07
资源大小:38068k
文件大小:3k
源码类别:

游戏引擎

开发平台:

Visual C++

  1. void StdQuad_vp
  2. (
  3.     in float4 inPos : POSITION,
  4.     out float4 pos : POSITION,
  5.     out float2 uv0 : TEXCOORD0,
  6.     uniform float4x4 worldViewProj
  7. )
  8. {
  9.     // Use standardise transform, so work accord with render system specific (RS depth, requires texture flipping, etc)
  10.     pos = mul(worldViewProj, inPos);
  11.     // The input positions adjusted by texel offsets, so clean up inaccuracies
  12.     inPos.xy = sign(inPos.xy);
  13.     // Convert to image-space
  14.     uv0 = (float2(inPos.x, -inPos.y) + 1.0f) * 0.5f;
  15. }
  16. void StdQuad_Tex2_vp
  17. (
  18.     in float4 inPos : POSITION,
  19.     out float4 pos : POSITION,
  20.     out float2 uv0 : TEXCOORD0,
  21.     out float2 uv1 : TEXCOORD1,
  22.     uniform float4x4 worldViewProj
  23. )
  24. {
  25.     // Use standardise transform, so work accord with render system specific (RS depth, requires texture flipping, etc)
  26.     pos = mul(worldViewProj, inPos);
  27.     // The input positions adjusted by texel offsets, so clean up inaccuracies
  28.     inPos.xy = sign(inPos.xy);
  29.     // Convert to image-space
  30.     uv0 = (float2(inPos.x, -inPos.y) + 1.0f) * 0.5f;
  31.     uv1 = uv0;
  32. }
  33. void StdQuad_Tex2a_vp
  34. (
  35.     in float4 inPos : POSITION,
  36.     out float4 pos : POSITION,
  37.     out float2 uv0 : TEXCOORD0,
  38.     out float2 uv1 : TEXCOORD1,
  39.     uniform float4x4 worldViewProj
  40. )
  41. {
  42.     // Use standardise transform, so work accord with render system specific (RS depth, requires texture flipping, etc)
  43.     pos = mul(worldViewProj, inPos);
  44.     // The input positions adjusted by texel offsets, so clean up inaccuracies
  45.     inPos.xy = sign(inPos.xy);
  46.     // Convert to image-space
  47.     uv0 = (float2(inPos.x, -inPos.y) + 1.0f) * 0.5f;
  48.     uv1 = inPos.xy;
  49. }
  50. void StdQuad_Tex3_vp
  51. (
  52.     in float4 inPos : POSITION,
  53.     out float4 pos : POSITION,
  54.     out float2 uv0 : TEXCOORD0,
  55.     out float2 uv1 : TEXCOORD1,
  56.     out float2 uv2 : TEXCOORD2,
  57.     uniform float4x4 worldViewProj
  58. )
  59. {
  60.     // Use standardise transform, so work accord with render system specific (RS depth, requires texture flipping, etc)
  61.     pos = mul(worldViewProj, inPos);
  62.     // The input positions adjusted by texel offsets, so clean up inaccuracies
  63.     inPos.xy = sign(inPos.xy);
  64.     // Convert to image-space
  65.     uv0 = (float2(inPos.x, -inPos.y) + 1.0f) * 0.5f;
  66.     uv1 = uv0;
  67.     uv2 = uv0;
  68. }
  69. void StdQuad_Tex4_vp
  70. (
  71.     in float4 inPos : POSITION,
  72.     out float4 pos : POSITION,
  73.     out float2 uv0 : TEXCOORD0,
  74.     out float2 uv1 : TEXCOORD1,
  75.     out float2 uv2 : TEXCOORD2,
  76.     out float2 uv3 : TEXCOORD3,
  77.     uniform float4x4 worldViewProj
  78. )
  79. {
  80.     // Use standardise transform, so work accord with render system specific (RS depth, requires texture flipping, etc)
  81.     pos = mul(worldViewProj, inPos);
  82.     // The input positions adjusted by texel offsets, so clean up inaccuracies
  83.     inPos.xy = sign(inPos.xy);
  84.     // Convert to image-space
  85.     uv0 = (float2(inPos.x, -inPos.y) + 1.0f) * 0.5f;
  86.     uv1 = uv0;
  87.     uv2 = uv0;
  88.     uv3 = uv0;
  89. }