TestFX.bsl 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. Separable = false;
  2. Parameters =
  3. {
  4. float test1 = 1.0f;
  5. float2 test2 = { 1.0f, 1.0f };
  6. float3 test3 = { 1.0f, 1.0f, 1.0f };
  7. float4 test4 = { 1.0f, 1.0f, 1.0f, 1.0f };
  8. mat2x2 test5 =
  9. { 1.0f, 0.0f,
  10. 0.0f, 1.0f };
  11. mat2x3 test6 =
  12. { 1.0f, 0.0f, 0.0f,
  13. 0.0f, 1.0f, 0.0f };
  14. mat2x4 test7 =
  15. { 1.0f, 0.0f, 0.0f, 0.0f,
  16. 0.0f, 1.0f, 0.0f, 0.0f };
  17. mat3x2 test8 =
  18. { 1.0f, 0.0f,
  19. 0.0f, 1.0f,
  20. 0.0f, 0.0f };
  21. mat3x3 test9 =
  22. { 1.0f, 0.0f, 0.0f,
  23. 0.0f, 1.0f, 0.0f,
  24. 0.0f, 0.0f, 1.0f };
  25. mat3x4 test10 =
  26. { 1.0f, 0.0f, 0.0f, 0.0f,
  27. 0.0f, 1.0f, 0.0f, 0.0f,
  28. 0.0f, 0.0f, 1.0f, 0.0f };
  29. mat4x2 test11 =
  30. { 1.0f, 0.0f,
  31. 0.0f, 1.0f,
  32. 0.0f, 0.0f,
  33. 0.0f, 0.0f };
  34. mat4x3 test12 =
  35. { 1.0f, 0.0f, 0.0f,
  36. 0.0f, 1.0f, 0.0f,
  37. 0.0f, 0.0f, 1.0f,
  38. 0.0f, 0.0f, 0.0f };
  39. mat4x4 test13 =
  40. { 1.0f, 0.0f, 0.0f, 0.0f,
  41. 0.0f, 1.0f, 0.0f, 0.0f,
  42. 0.0f, 0.0f, 1.0f, 0.0f,
  43. 0.0f, 0.0f, 0.0f, 1.0f };
  44. Texture2D tex0;
  45. Sampler2D samp0 : alias("tex0") =
  46. {
  47. AddressMode =
  48. {
  49. U = WRAP;
  50. V = WRAP;
  51. W = WRAP;
  52. };
  53. MinFilter = LINEAR;
  54. MagFilter = LINEAR;
  55. MipFilter = LINEAR;
  56. MaxAniso = 0;
  57. MipmapBias = 0.0f;
  58. MipMin = 0.0f;
  59. MipMax = 0.0f;
  60. BorderColor = { 1.0f, 1.0f, 1.0f, 1.0f };
  61. CompareFunc = PASS;
  62. };
  63. Texture1D tex1;
  64. Sampler1D samp1;
  65. Texture3D tex2;
  66. Sampler3D samp2;
  67. TextureCUBE tex3;
  68. SamplerCUBE samp3;
  69. Texture2DMS tex4;
  70. Sampler2DMS samp4;
  71. ByteBuffer buffer1;
  72. StructBuffer buffer2;
  73. RWByteBuffer buffer3;
  74. RWStructBuffer buffer4;
  75. AppendBuffer buffer5;
  76. ConsumeBuffer buffer6;
  77. RWTypedBuffer buffer7;
  78. };
  79. Blocks =
  80. {
  81. Block global : auto("GLOBAL") : shared(false) : usage(STATIC);
  82. Block perFrame : auto("PERFRAME") : shared(false) : usage(DYNAMIC);
  83. };
  84. Technique =
  85. {
  86. Renderer = "Any";
  87. Language = "HLSL11";
  88. Tags = { "Animated", "OtherTag" };
  89. Pass =
  90. {
  91. Fill = SOLID;
  92. Cull = CCW;
  93. DepthBias = 0.0f;
  94. ScaledDepthBias = 0.0f;
  95. DepthClip = true;
  96. Scissor = false;
  97. Multisample = false;
  98. AALine = false;
  99. DepthRead = true;
  100. DepthWrite = true;
  101. CompareFunc = GTE;
  102. Stencil = false;
  103. StencilReadMask = 0xff;
  104. StencilWriteMask = 0xff;
  105. StencilOpFront =
  106. {
  107. Fail = KEEP;
  108. ZFail = KEEP;
  109. Pass = KEEP;
  110. CompareFunc = FAIL;
  111. };
  112. StencilOpBack =
  113. {
  114. Fail = KEEP;
  115. ZFail = KEEP;
  116. Pass = KEEP;
  117. CompareFunc = FAIL;
  118. };
  119. AlphaToCoverage = false;
  120. IndependantBlend = false;
  121. Target =
  122. {
  123. Index = 0;
  124. Blend = false;
  125. Color =
  126. {
  127. Source = ONE;
  128. Dest = ONE;
  129. Op = ADD;
  130. };
  131. Alpha =
  132. {
  133. Source = ONE;
  134. Dest = ONE;
  135. Op = ADD;
  136. };
  137. WriteMask = RGBA;
  138. };
  139. Vertex =
  140. {
  141. float invViewportWidth;
  142. float invViewportHeight;
  143. float4x4 worldTransform;
  144. void main(
  145. in float3 inPos : POSITION,
  146. in float2 uv : TEXCOORD0,
  147. out float4 oPosition : SV_Position,
  148. out float2 oUv : TEXCOORD0)
  149. {
  150. float4 tfrmdPos = mul(worldTransform, float4(inPos.xy, 0, 1));
  151. float tfrmdX = -1.0f + (tfrmdPos.x * invViewportWidth);
  152. float tfrmdY = 1.0f - (tfrmdPos.y * invViewportHeight);
  153. oPosition = float4(tfrmdX, tfrmdY, 0, 1);
  154. oUv = uv;
  155. }
  156. };
  157. Fragment =
  158. {
  159. SamplerState mainTexSamp : register(s0);
  160. Texture2D mainTexture : register(t0);
  161. float4 tint;
  162. float4 main(in float4 inPos : SV_Position, float2 uv : TEXCOORD0) : SV_Target
  163. {
  164. float4 color = mainTexture.Sample(mainTexSamp, uv);
  165. return color * tint;
  166. }
  167. };
  168. };
  169. };