static const char* g_ReconstructNormal_PS_GL = "#version 150\n" "struct vec1 {\n" " float x;\n" "};\n" "struct uvec1 {\n" " uint x;\n" "};\n" "struct ivec1 {\n" " int x;\n" "};\n" "layout(std140) uniform;\n" "uniform GlobalConstantBuffer {\n" " uvec4 GlobalConstantBuffer_0;\n" " vec2 GlobalConstantBuffer_1;\n" " vec2 GlobalConstantBuffer_2;\n" " vec2 GlobalConstantBuffer_3;\n" " vec2 GlobalConstantBuffer_4;\n" " float GlobalConstantBuffer_5;\n" " float GlobalConstantBuffer_6;\n" " float GlobalConstantBuffer_7;\n" " float GlobalConstantBuffer_8;\n" " float GlobalConstantBuffer_9;\n" " float GlobalConstantBuffer_10;\n" " float GlobalConstantBuffer_11;\n" " int GlobalConstantBuffer_12;\n" " float GlobalConstantBuffer_13;\n" " float GlobalConstantBuffer_14;\n" " float GlobalConstantBuffer_15;\n" " float GlobalConstantBuffer_16;\n" " float GlobalConstantBuffer_17;\n" " float GlobalConstantBuffer_18;\n" " float GlobalConstantBuffer_19;\n" " float GlobalConstantBuffer_20;\n" " vec2 GlobalConstantBuffer_21;\n" " float GlobalConstantBuffer_22;\n" " float GlobalConstantBuffer_23;\n" " float GlobalConstantBuffer_24;\n" " float GlobalConstantBuffer_25;\n" " int GlobalConstantBuffer_26;\n" " vec4 GlobalConstantBuffer_27[4];\n" " float GlobalConstantBuffer_28;\n" " float GlobalConstantBuffer_29;\n" "};\n" "uniform sampler2D g_t0;\n" " in vec4 VtxGeoOutput1;\n" "vec4 Input1;\n" "out vec4 PixOutput0;\n" "#define Output0 PixOutput0\n" "vec4 Temp[5];\n" "ivec4 Temp_int[5];\n" "uvec4 Temp_uint[5];\n" "void main()\n" "{\n" " Input1 = VtxGeoOutput1;\n" " Temp[0].y = vec4(GlobalConstantBuffer_2.xxxy.z).y;\n" " Temp[0].z = vec4(0.000000).z;\n" " Temp[0].xy = vec4(Temp[0].yzyy + Input1.xyxx).xy;\n" " Temp[0].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[0].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" " Temp[1].x = (textureLod(g_t0, Temp[0].xy, 0.000000)).x;\n" " Temp[1].yz = vec4(Temp[0].zzwz * Temp[1].xxxx).yz;\n" " Temp[0].xy = vec4(GlobalConstantBuffer_3.xyxx.yxyy * Input1.yxyy + GlobalConstantBuffer_4.xxxy.wzww).xy;\n" " Temp[2].y = (textureLod(g_t0, Input1.xy, 0.000000).yxzw).y;\n" " Temp[2].xz = vec4(Temp[0].xxyx * Temp[2].yyyy).xz;\n" " Temp[0].xyz = vec4(Temp[1].xyzx + -Temp[2].yzxy).xyz;\n" " Temp[0].w = vec4(dot((Temp[0].xyzx).xyz, (Temp[0].xyzx).xyz)).w;\n" " Temp[1].y = vec4(-GlobalConstantBuffer_2.xxxy.z).y;\n" " Temp[1].z = vec4(0.000000).z;\n" " Temp[1].xy = vec4(Temp[1].yzyy + Input1.xyxx).xy;\n" " Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.xxxy * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.zzzw).zw;\n" " Temp[3].x = (textureLod(g_t0, Temp[1].xy, 0.000000)).x;\n" " Temp[3].yz = vec4(Temp[1].zzwz * Temp[3].xxxx).yz;\n" " Temp[1].xyz = vec4(Temp[2].yzxy + -Temp[3].xyzx).xyz;\n" " Temp[1].w = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).w;\n" " Temp_uint[0].w = ((Temp[0].w)< (Temp[1].w)) ? 0xFFFFFFFFu : 0u;\n" " if(vec4(Temp_uint[0].wwww).x != 0.0) {\n" " Temp[0].xyz = vec4(Temp[0].xyzx).xyz;\n" " } else {\n" " Temp[0].xyz = vec4(Temp[1].xyzx).xyz;\n" " }\n" " Temp[1].z = vec4(0.000000).z;\n" " Temp[1].x = vec4(GlobalConstantBuffer_2.xxxy.w).x;\n" " Temp[1].xy = vec4(Temp[1].xzxx + Input1.yxyy).xy;\n" " Temp[1].zw = vec4(GlobalConstantBuffer_3.xyxx.yyyx * Temp[1].xxxy + GlobalConstantBuffer_4.xxxy.wwwz).zw;\n" " Temp[3].y = (textureLod(g_t0, Temp[1].yx, 0.000000).yxzw).y;\n" " Temp[3].xz = vec4(Temp[1].zzwz * Temp[3].yyyy).xz;\n" " Temp[1].xyz = vec4(-Temp[2].xyzx + Temp[3].xyzx).xyz;\n" " Temp[0].w = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).w;\n" " Temp[3].z = vec4(0.000000).z;\n" " Temp[3].x = vec4(-GlobalConstantBuffer_2.xxxy.w).x;\n" " Temp[3].xy = vec4(Temp[3].xzxx + Input1.yxyy).xy;\n" " Temp[3].zw = vec4(GlobalConstantBuffer_3.xyxx.yyyx * Temp[3].xxxy + GlobalConstantBuffer_4.xxxy.wwwz).zw;\n" " Temp[4].y = (textureLod(g_t0, Temp[3].yx, 0.000000).yxzw).y;\n" " Temp[4].xz = vec4(Temp[3].zzwz * Temp[4].yyyy).xz;\n" " Temp[2].xyz = vec4(Temp[2].xyzx + -Temp[4].xyzx).xyz;\n" " Temp[1].w = vec4(dot((Temp[2].xyzx).xyz, (Temp[2].xyzx).xyz)).w;\n" " Temp_uint[0].w = ((Temp[0].w)< (Temp[1].w)) ? 0xFFFFFFFFu : 0u;\n" " if(vec4(Temp_uint[0].wwww).x != 0.0) {\n" " Temp[1].xyz = vec4(Temp[1].xyzx).xyz;\n" " } else {\n" " Temp[1].xyz = vec4(Temp[2].xyzx).xyz;\n" " }\n" " Temp[2].xyz = vec4(Temp[0].xyzx * Temp[1].xyzx).xyz;\n" " Temp[0].xyz = vec4(Temp[0].zxyz * Temp[1].yzxy + -Temp[2].xyzx).xyz;\n" " Temp[0].w = vec4(dot((Temp[0].xyzx).xyz, (Temp[0].xyzx).xyz)).w;\n" " Temp[0].w = vec4(inversesqrt(Temp[0].w)).w;\n" " Temp[0].xyz = vec4(Temp[0].wwww * Temp[0].xyzx).xyz;\n" " Output0.xyz = vec4(Temp[0].xyzx * vec4(0.500000, 0.500000, 0.500000, 0.000000) + vec4(0.500000, 0.500000, 0.500000, 0.000000)).xyz;\n" " Output0.w = vec4(0.000000).w;\n" " return;\n" "}\n" ; namespace Generated { void ReconstructNormal_PS::Create(DevicePointer Device) { m_Shader.Create(Device, g_ReconstructNormal_PS_GL, sizeof(g_ReconstructNormal_PS_GL)); } void ReconstructNormal_PS::Release(DevicePointer Device) { m_Shader.Release(Device); } }