#line 17 struct v2f { highp vec4 pos; highp vec4 uv; highp vec3 ray; }; #line 11 struct appdata { highp vec4 vertex; highp vec3 normal; }; #line 1 uniform highp mat4 glstate_matrix_mvp; uniform highp mat4 glstate_matrix_modelview0; uniform highp vec4 _ProjectionParams; #line 24 #line 4 highp vec4 ComputeScreenPos( in highp vec4 pos ) { #line 6 highp vec4 o = (pos * 0.5); o.xy = (vec2( o.x, (o.y * _ProjectionParams.x)) + o.w); o.zw = pos.zw; return o; } #line 24 v2f xlat_main( in appdata v ) { v2f o; o.pos = (glstate_matrix_mvp * v.vertex); #line 28 o.uv = ComputeScreenPos( o.pos); o.ray = ((glstate_matrix_modelview0 * v.vertex).xyz * vec3( -1.0, -1.0, 1.0)); o.ray = mix( o.ray, v.normal, vec3( float((v.normal.z != 0.0)))); return o; } attribute highp vec4 xlat_attrib_POSITION; attribute highp vec3 xlat_attrib_NORMAL; varying highp vec4 xlv_TEXCOORD0; varying highp vec3 xlv_TEXCOORD1; void main() { v2f xl_retval; appdata xlt_v; xlt_v.vertex = vec4(xlat_attrib_POSITION); xlt_v.normal = vec3(xlat_attrib_NORMAL); xl_retval = xlat_main( xlt_v); gl_Position = vec4(xl_retval.pos); xlv_TEXCOORD0 = vec4(xl_retval.uv); xlv_TEXCOORD1 = vec3(xl_retval.ray); } // uniforms: // _ProjectionParams: type 12 arrsize 0 // glstate_matrix_modelview0: type 21 arrsize 0 // glstate_matrix_mvp: type 21 arrsize 0