Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #version 430
- layout(std140, binding = 0) uniform ScaleOffsetBuffer
- {
- mat4 scaleOffsetMat;
- float fog_param0;
- float fog_param1;
- uint alpha_test;
- float alpha_ref;
- };
- layout(location=1) uniform samplerBuffer in_pos_buffer;
- layout(location=2) uniform samplerBuffer in_normal_buffer;
- layout(location=3) uniform samplerBuffer in_diff_color_buffer;
- layout(location=4) uniform samplerBuffer in_tc0_buffer;
- out vec4 back_diff_color;
- out vec4 tc0;
- out vec4 tc2;
- out vec4 tc5;
- out vec4 front_diff_color;
- layout(std140, binding = 1) uniform VertexConstantsBuffer
- {
- vec4 vc[468];
- };
- vec4 divsq_legacy(vec4 num, vec4 denum)
- {
- return num / sqrt(max(denum.xxxx, 1.E-10));
- }
- vec4 rcp_legacy(vec4 denum)
- {
- return 1. / denum;
- }
- vec4 rsq_legacy(vec4 val)
- {
- return float(1.0 / sqrt(max(val.x, 1.E-10))).xxxx;
- }
- vec4 log2_legacy(vec4 val)
- {
- return log2(max(val.x, 1.E-10)).xxxx;
- }
- vec4 lit_legacy(vec4 val){
- vec4 clamped_val = val;
- clamped_val.x = max(val.x, 0);
- clamped_val.y = max(val.y, 0);
- vec4 result;
- result.x = 1.0;
- result.w = 1.;
- result.y = clamped_val.x;
- result.z = clamped_val.x > 0.0 ? exp(clamped_val.w * log(max(clamped_val.y, 1.E-10))) : 0.0;
- return result;
- }
- vec4 texture2DReconstruct(sampler2D tex, vec2 coord)
- {
- float depth_value = texture(tex, coord.xy).r;
- uint value = uint(depth_value * 16777215);
- uint b = (value & 0xff);
- uint g = (value >> 8) & 0xff;
- uint r = (value >> 16) & 0xff;
- return vec4(float(r)/255., float(g)/255., float(b)/255., 1.);
- }
- void vs_main(inout vec4 dst_reg0, inout vec4 dst_reg1, inout vec4 dst_reg7, inout vec4 dst_reg9, inout vec4 dst_reg12)
- {
- vec4 cc0 = vec4(0., 0., 0., 0.);
- vec4 tmp0;
- vec4 tmp2;
- vec4 tmp1;
- vec4 tmp3;
- vec4 tmp4;
- vec4 tmp5;
- vec4 tmp6;
- ivec4 a0 = ivec4(0, 0, 0, 0);
- vec4 in_pos= texelFetch(in_pos_buffer, gl_VertexID);
- vec4 in_normal= texelFetch(in_normal_buffer, gl_VertexID);
- vec4 in_diff_color= texelFetch(in_diff_color_buffer, gl_VertexID);
- vec4 in_tc0= texelFetch(in_tc0_buffer, gl_VertexID);
- int jump_position = 0;
- while (true)
- {
- if (jump_position <= 0)
- {
- cc0.y = vc[453].xxxx.y;
- cc0.x = vc[451].xxxx.x;
- tmp0.y = vec4(dot(vec4(in_pos.xyzx.xyz, 1.0), vc[258])).y;
- tmp2.x = vec4(dot(vec4(in_pos.xyzx.xyz, 1.0), vc[256])).x;
- tmp0.z = vc[448].xxxx.z;
- tmp1.z = vec4(dot(in_normal.xyzx.xyz, vc[258].xyzx.xyz)).z;
- tmp1.y = vec4(dot(in_normal.xyzx.xyz, vc[257].xyzx.xyz)).y;
- tmp1.x = vec4(dot(in_normal.xyzx.xyz, vc[256].xyzx.xyz)).x;
- tmp0.x = vec4(dot(vec4(in_pos.xyzx.xyz, 1.0), vc[257])).x;
- tmp0.w = (-vc[257].wwww + tmp0.xxxx).w;
- tmp1.w = vec4(dot(tmp1.xyzx.xyz, tmp1.xyzx.xyz)).w;
- tmp0.z = (tmp2.xxxx * tmp0.zzzz + vc[450].xxxx).z;
- tmp0.w = (-vc[447].xxxx + tmp0.wwww).w;
- tmp2.z = tmp0.yyyy.z;
- tmp2.w = (tmp0.yyyy * vc[448].zzzz + tmp0.zzzz).w;
- tmp2.y = tmp0.xxxx.y;
- tmp3.x = vec4(sin(tmp2.wwww)).x;
- tmp0.xyz = tmp2.xyzx.xyz;
- tmp0.w = clamp((tmp0.wwww * vc[449].xxxx).w, 0.0, 1.0);
- tmp1.w = vec4(rsq_legacy(tmp1.wwww)).w;
- tmp3.xyz = (tmp3.xxxx * vc[452].xyzx).xyz;
- if (notEqual(cc0.xxxx, vec4(0., 0., 0., 0.)).x) tmp0.xyz.x = (tmp3.xyzx * tmp0.wwww + tmp2.xyzx).xyz.x;
- if (notEqual(cc0.xxxx, vec4(0., 0., 0., 0.)).y) tmp0.xyz.y = (tmp3.xyzx * tmp0.wwww + tmp2.xyzx).xyz.y;
- if (notEqual(cc0.xxxx, vec4(0., 0., 0., 0.)).z) tmp0.xyz.z = (tmp3.xyzx * tmp0.wwww + tmp2.xyzx).xyz.z;
- tmp2.xyz = (tmp1.wwww * tmp1.xyzx).xyz;
- tmp1.w = vec4(dot(vec4(tmp0.xyzx.xyz, 1.0), vc[267])).w;
- tmp1.z = vec4(dot(vec4(tmp0.xyzx.xyz, 1.0), vc[266])).z;
- tmp1.y = vec4(dot(vec4(tmp0.xyzx.xyz, 1.0), vc[265])).y;
- if(any(lessThanEqual(cc0.yyyy, vec4(0., 0., 0., 0.).yyyy)))
- {
- jump_position = 5;
- continue;
- }
- tmp1.x = vec4(dot(vec4(tmp0.xyzx.xyz, 1.0), vc[264])).x;
- cc0.x = vec4(lessThan(vc[437].xxxx, vc[437].yyyy)).x;
- tmp3.xyz = vc[437].xxxx.xyz;
- tmp0.w = vc[437].xxxx.w;
- if(any(equal(cc0.xxxx, vec4(0., 0., 0., 0.).xxxx)))
- {
- jump_position = 4;
- continue;
- }
- tmp2.w = vc[437].xxxx.w;
- }
- if (jump_position <= 1)
- {
- a0 = ivec4(tmp2.wwww);
- tmp4.xyz = vc[464 + a0.x].xyzx.xyz;
- tmp5.xyz = (-tmp4.xyzx + tmp0.xyzx).xyz;
- tmp3.w = vec4(dot(tmp5.xyzx.xyz, tmp5.xyzx.xyz)).w;
- tmp3.w = vec4(rsq_legacy(tmp3.wwww)).w;
- tmp3.w = vec4((1.0 / tmp3.wwww)).w;
- cc0.x = vec4(lessThan(tmp3.wwww, vc[437].zzzz)).x;
- tmp5.xyz = vc[460 + a0.x].xyzx.xyz;
- tmp6.xyz = vc[456 + a0.x].xyzx.xyz;
- if(any(lessThanEqual(cc0.xxxx, vec4(0., 0., 0., 0.).xxxx)))
- {
- jump_position = 2;
- continue;
- }
- {
- jump_position = 3;
- continue;
- }
- tmp3.w = vc[437].xxxx.w;
- }
- if (jump_position <= 2)
- {
- tmp4.w = (tmp6.yyyy * tmp3.wwww + tmp6.xxxx).w;
- tmp4.xyz = (tmp4.xyzx + -tmp0.xyzx).xyz;
- tmp5.w = (tmp6.zzzz * tmp3.wwww).w;
- tmp3.w = (tmp5.wwww * tmp3.wwww + tmp4.wwww).w;
- tmp4.w = vec4(dot(tmp4.xyzx.xyz, tmp4.xyzx.xyz)).w;
- tmp3.w = vec4((1.0 / tmp3.wwww)).w;
- cc0.x = vc[455].xxxx.x;
- tmp4.w = vec4(rsq_legacy(tmp4.wwww)).w;
- tmp3.w = min(tmp3.wwww, vc[437].wwww).w;
- tmp4.xyz = (tmp4.wwww * tmp4.xyzx).xyz;
- tmp4.x = vec4(dot(tmp4.xyzx.xyz, tmp2.xyzx.xyz)).x;
- tmp4.y = max(tmp3.wwww, vc[437].xxxx).y;
- tmp3.w = tmp4.xxxx.w;
- if (notEqual(cc0.xxxx, vec4(0., 0., 0., 0.)).x) tmp3.w = abs(tmp4.xxxx).w;
- tmp3.w = clamp(tmp3.wwww.w, 0.0, 1.0);
- tmp3.w = (tmp3.wwww * tmp4.yyyy).w;
- }
- if (jump_position <= 3)
- {
- cc0.y = vec4(lessThan(tmp2.wwww, vc[453].xxxx)).y;
- tmp2.w = (vc[436].xxxx + tmp2.wwww).w;
- cc0.x = vec4(lessThan(tmp2.wwww, vc[437].yyyy)).x;
- if (equal(cc0.yyyy, vec4(0., 0., 0., 0.)).x) tmp3.w = vc[437].xxxx.w;
- tmp3.xyz = (tmp5.xyzx * tmp3.wwww + tmp3.xyzx).xyz;
- if(any(notEqual(cc0.xxxx, vec4(0., 0., 0., 0.).xxxx)))
- {
- jump_position = 1;
- continue;
- }
- tmp0.w = max(tmp3.wwww, tmp0.wwww).w;
- }
- if (jump_position <= 4)
- {
- tmp4.xyz = (vc[454].xyzx + -tmp3.xyzx).xyz;
- tmp0.w = (vc[436].xxxx + -tmp0.wwww).w;
- tmp3.xyz = (tmp0.wwww * tmp4.xyzx + tmp3.xyzx).xyz;
- {
- jump_position = 6;
- continue;
- }
- tmp3.xyz = (tmp3.xyzx * in_diff_color.xyzx).xyz;
- }
- if (jump_position <= 5)
- {
- tmp3.xyz = in_diff_color.xyzx.xyz;
- }
- if (jump_position <= 6)
- {
- tmp4.xyz = (-vc[446].xyzx + tmp0.xyzx).xyz;
- tmp0.w = vec4(dot(tmp4.xyzx.xyz, tmp4.xyzx.xyz)).w;
- tmp0.w = vec4(rsq_legacy(tmp0.wwww)).w;
- tmp0.w = vec4((1.0 / tmp0.wwww)).w;
- cc0.x = vec4(lessThan(tmp0.wwww, vc[437].zzzz)).x;
- if(any(lessThanEqual(cc0.xxxx, vec4(0., 0., 0., 0.).xxxx)))
- {
- jump_position = 7;
- continue;
- }
- {
- jump_position = 8;
- continue;
- }
- tmp0.x = vc[437].xxxx.x;
- }
- if (jump_position <= 7)
- {
- tmp0.xyz = (vc[446].xyzx + -tmp0.xyzx).xyz;
- tmp2.w = (tmp0.wwww * vc[444].zzzz).w;
- tmp3.w = (tmp0.wwww * vc[444].yyyy + vc[444].xxxx).w;
- tmp0.w = (tmp2.wwww * tmp0.wwww + tmp3.wwww).w;
- tmp2.w = vec4(dot(tmp0.xyzx.xyz, tmp0.xyzx.xyz)).w;
- tmp0.w = vec4((1.0 / tmp0.wwww)).w;
- cc0.x = vc[455].xxxx.x;
- tmp2.w = vec4(rsq_legacy(tmp2.wwww)).w;
- tmp0.w = min(tmp0.wwww, vc[437].wwww).w;
- tmp0.xyz = (tmp2.wwww * tmp0.xyzx).xyz;
- tmp0.x = vec4(dot(tmp0.xyzx.xyz, tmp2.xyzx.xyz)).x;
- tmp0.z = max(tmp0.wwww, vc[437].xxxx).z;
- tmp0.y = tmp0.xxxx.y;
- if (notEqual(cc0.xxxx, vec4(0., 0., 0., 0.)).x) tmp0.y = abs(tmp0.xxxx).y;
- tmp0.x = clamp(tmp0.yyyy.x, 0.0, 1.0);
- tmp0.x = (tmp0.xxxx * tmp0.zzzz).x;
- }
- if (jump_position <= 8)
- {
- dst_reg0 = tmp1;
- dst_reg1.xyz = clamp((tmp0.xxxx * vc[445].xyzx + tmp3.xyzx).xyz, 0.0, 1.0);
- dst_reg7.xyz = in_tc0.xyzx.xyz;
- tmp0.zw = vec4(dot(in_pos, vc[262])).zw;
- tmp1.x = vec4(dot(in_pos, vc[257])).x;
- tmp0.y = vec4(dot(in_pos, vc[261])).y;
- tmp0.x = vec4(dot(in_pos, vc[260])).x;
- tmp1.w = vc[439].xxxx.w;
- tmp1.y = vc[443].xxxx.y;
- tmp1.z = (-vc[439].xxxx + -tmp0.zzzz).z;
- tmp1.y = (vc[442].xxxx + -tmp1.yyyy).y;
- tmp1.w = (vc[438].xxxx + -tmp1.wwww).w;
- tmp2.x = vec4((1.0 / vc[440].xxxx)).x;
- tmp0.z = tmp0.wwww.z;
- tmp0.x = vec4(dot(tmp0.xyzx.xyz, tmp0.xyzx.xyz)).x;
- tmp0.y = vec4((1.0 / tmp1.wwww)).y;
- dst_reg12.x = (tmp1.xxxx * tmp2.xxxx).x;
- tmp0.x = vec4(rsq_legacy(tmp0.xxxx)).x;
- tmp1.x = min(tmp1.zzzz, tmp1.wwww).x;
- tmp0.z = max(tmp1.xxxx, vc[437].xxxx).z;
- tmp2.x = vec4((1.0 / tmp0.xxxx)).x;
- tmp1.x = (tmp0.zzzz * tmp0.yyyy).x;
- tmp0.x = (-vc[443].xxxx + tmp2.xxxx).x;
- dst_reg12.y = (vc[436].xxxx + -tmp1.xxxx).y;
- tmp2.x = vec4((1.0 / tmp1.yyyy)).x;
- tmp0.x = min(tmp0.xxxx, tmp1.yyyy).x;
- tmp0.x = max(tmp0.xxxx, vc[437].xxxx).x;
- tmp0.x = (tmp0.xxxx * tmp2.xxxx).x;
- dst_reg9.x = (tmp0.xxxx * vc[441].xxxx).x;
- }
- break;
- }
- }
- void main ()
- {
- vec4 dst_reg0= vec4(0.0f, 0.0f, 0.0f, 1.0f);
- vec4 dst_reg1= vec4(0.0, 0.0, 0.0, 0.0);
- vec4 dst_reg7= vec4(0.0, 0.0, 0.0, 0.0);
- vec4 dst_reg9= vec4(0.0, 0.0, 0.0, 0.0);
- vec4 dst_reg12= vec4(0.0, 0.0, 0.0, 0.0);
- vs_main(dst_reg0, dst_reg1, dst_reg7, dst_reg9, dst_reg12);
- gl_Position = dst_reg0;
- back_diff_color = dst_reg1;
- tc0 = dst_reg7;
- tc2 = dst_reg9;
- tc5 = dst_reg12;
- front_diff_color = dst_reg1;
- gl_Position = gl_Position * scaleOffsetMat;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement