… | |
… | |
2 | |
2 | |
3 | namespace shader { |
3 | namespace shader { |
4 | |
4 | |
5 | struct vin vin; |
5 | struct vin vin; |
6 | |
6 | |
|
|
7 | #if 0 |
7 | varying_3f vin::vertex_3f ("gl_Vertex"); |
8 | varying_3f vin::vertex_3f ("gl_Vertex"); |
8 | varying_4f vin::vertex_4f ("gl_Vertex"); |
9 | varying_4f vin::vertex_4f ("gl_Vertex"); |
9 | varying_3f vin::normal_3f ("gl_Normal"); |
10 | varying_3f vin::normal_3f ("gl_Normal"); |
10 | varying_3f vin::color_3f ("gl_Color"); |
11 | varying_3f vin::color_3f ("gl_Color"); |
11 | varying_4f vin::color_4f ("gl_Color"); |
12 | varying_4f vin::color_4f ("gl_Color"); |
… | |
… | |
29 | varying_4f vin::tex_coord_4f[8] = |
30 | varying_4f vin::tex_coord_4f[8] = |
30 | { |
31 | { |
31 | varying_4f ("gl_TexCoord[0]"), varying_4f ("gl_TexCoord[1]"), varying_4f ("gl_TexCoord[2]"), varying_4f ("gl_TexCoord[3]"), |
32 | varying_4f ("gl_TexCoord[0]"), varying_4f ("gl_TexCoord[1]"), varying_4f ("gl_TexCoord[2]"), varying_4f ("gl_TexCoord[3]"), |
32 | varying_4f ("gl_TexCoord[4]"), varying_4f ("gl_TexCoord[5]"), varying_4f ("gl_TexCoord[6]"), varying_4f ("gl_TexCoord[7]"), |
33 | varying_4f ("gl_TexCoord[4]"), varying_4f ("gl_TexCoord[5]"), varying_4f ("gl_TexCoord[6]"), varying_4f ("gl_TexCoord[7]"), |
33 | }; |
34 | }; |
|
|
35 | #endif |
34 | |
36 | |
35 | glvar const vin::vertex ("gl_Vertex"); |
37 | gluvar const vin::vertex ("gl_Vertex"); |
36 | glvar const vin::normal ("gl_Normal"); |
38 | gluvar const vin::normal ("gl_Normal"); |
37 | glvar const vin::color ("gl_Color"); |
39 | gluvar const vin::color ("gl_Color"); |
38 | glvar const vin::secondary_color ("gl_SecondaryColor"); |
40 | gluvar const vin::secondary_color ("gl_SecondaryColor"); |
39 | glvar const vin::tex_coord[8] = |
41 | gluvar const vin::tex_coord[8] = |
40 | { |
42 | { |
41 | glvar ("gl_MultiTexCoord0"), glvar ("gl_MultiTexCoord1"), glvar ("gl_MultiTexCoord2"), glvar ("gl_MultiTexCoord3"), |
43 | gluvar ("gl_MultiTexCoord0"), gluvar ("gl_MultiTexCoord1"), gluvar ("gl_MultiTexCoord2"), gluvar ("gl_MultiTexCoord3"), |
42 | glvar ("gl_MultiTexCoord4"), glvar ("gl_MultiTexCoord5"), glvar ("gl_MultiTexCoord6"), glvar ("gl_MultiTexCoord7"), |
44 | gluvar ("gl_MultiTexCoord4"), gluvar ("gl_MultiTexCoord5"), gluvar ("gl_MultiTexCoord6"), gluvar ("gl_MultiTexCoord7"), |
43 | }; |
45 | }; |
44 | glvar const vin::fog_coord ("gl_FogCoord"); |
46 | gluvar const vin::fog_coord ("gl_FogCoord"); |
45 | |
47 | |
46 | struct vout vout; |
48 | struct vout vout; |
47 | |
49 | |
48 | glvar const vout::position ("gl_Position"); |
50 | gluvar const vout::position ("gl_Position"); |
49 | glvar const vout::point_size ("gl_PointSize"); |
51 | gluvar const vout::point_size ("gl_PointSize"); |
50 | glvar const vout::clip_vertex ("gl_ClipVertex"); |
52 | gluvar const vout::clip_vertex ("gl_ClipVertex"); |
51 | glvar const vout::front_color ("gl_FontColor"); |
53 | gluvar const vout::front_color ("gl_FontColor"); |
52 | glvar const vout::back_color ("gl_BackColor"); |
54 | gluvar const vout::back_color ("gl_BackColor"); |
53 | glvar const vout::front_secondary_color ("gl_FrontSecondaryColor"); |
55 | gluvar const vout::front_secondary_color ("gl_FrontSecondaryColor"); |
54 | glvar const vout::back_secondary_color ("gl_BackSecondaryColor"); |
56 | gluvar const vout::back_secondary_color ("gl_BackSecondaryColor"); |
55 | glvar const vout::tex_coord[8] = |
57 | gluvar const vout::tex_coord[8] = |
56 | { |
58 | { |
57 | glvar ("gl_TexCoord[0]"), glvar ("gl_TexCoord[1]"), glvar ("gl_TexCoord[2]"), glvar ("gl_TexCoord[3]"), |
59 | gluvar ("gl_TexCoord[0]"), gluvar ("gl_TexCoord[1]"), gluvar ("gl_TexCoord[2]"), gluvar ("gl_TexCoord[3]"), |
58 | glvar ("gl_TexCoord[4]"), glvar ("gl_TexCoord[5]"), glvar ("gl_TexCoord[6]"), glvar ("gl_TexCoord[7]"), |
60 | gluvar ("gl_TexCoord[4]"), gluvar ("gl_TexCoord[5]"), gluvar ("gl_TexCoord[6]"), gluvar ("gl_TexCoord[7]"), |
59 | }; |
61 | }; |
60 | glvar const vout::fog_frag_coord ("gl_FogFragCoord"); |
62 | gluvar const vout::fog_frag_coord ("gl_FogFragCoord"); |
61 | |
63 | |
62 | struct fin fin; |
64 | struct fin fin; |
63 | |
65 | |
64 | glvar const fin::frag_coord ("gl_FragCoord"); |
66 | gluvar const fin::frag_coord ("gl_FragCoord"); |
65 | glvar const fin::front_facing ("gl_FrontFacing"); |
67 | gluvar const fin::front_facing ("gl_FrontFacing"); |
66 | glvar const fin::color ("gl_Color"); |
68 | gluvar const fin::color ("gl_Color"); |
67 | glvar const fin::secondary_color ("gl_SecondaryColor"); |
69 | gluvar const fin::secondary_color ("gl_SecondaryColor"); |
68 | glvar const fin::tex_coord[8] = |
70 | gluvar const fin::tex_coord[8] = |
69 | { |
71 | { |
70 | glvar ("gl_TexCoord[0]"), glvar ("gl_TexCoord[1]"), glvar ("gl_TexCoord[2]"), glvar ("gl_TexCoord[3]"), |
72 | gluvar ("gl_TexCoord[0]"), gluvar ("gl_TexCoord[1]"), gluvar ("gl_TexCoord[2]"), gluvar ("gl_TexCoord[3]"), |
71 | glvar ("gl_TexCoord[4]"), glvar ("gl_TexCoord[5]"), glvar ("gl_TexCoord[6]"), glvar ("gl_TexCoord[7]"), |
73 | gluvar ("gl_TexCoord[4]"), gluvar ("gl_TexCoord[5]"), gluvar ("gl_TexCoord[6]"), gluvar ("gl_TexCoord[7]"), |
72 | }; |
74 | }; |
73 | glvar const fin::fog_frag_coord ("gl_FogFragCoord"); |
75 | gluvar const fin::fog_frag_coord ("gl_FogFragCoord"); |
74 | |
76 | |
75 | struct fout fout; |
77 | struct fout fout; |
76 | |
78 | |
77 | glvar const fout::frag_color ("gl_FragColor"); |
79 | gluvar const fout::frag_color ("gl_FragColor"); |
78 | glvar const fout::frag_depth ("gl_FragDepth"); |
80 | gluvar const fout::frag_depth ("gl_FragDepth"); |
79 | glvar const fout::frag_data[2] = { glvar ("gl_FragData[0]"), glvar ("gl_FragData[1]") }; |
81 | gluvar const fout::frag_data[2] = { gluvar ("gl_FragData[0]"), gluvar ("gl_FragData[1]") }; |
80 | |
82 | |
81 | uniform_matrix_4f gl::model_view_matrix ("gl_ModelViewMatrix"), |
83 | gluvar gl::model_view_matrix ("gl_ModelViewMatrix"), |
82 | gl::projection_matrix ("gl_ProjectionMatrix"), |
84 | gl::projection_matrix ("gl_ProjectionMatrix"), |
83 | gl::model_view_projection_matrix ("gl_ModelViewProjectionMatrix"), |
85 | gl::model_view_projection_matrix ("gl_ModelViewProjectionMatrix"), |
84 | gl::texture_matrix[8] = |
86 | gl::texture_matrix[8] = |
85 | { |
87 | { |
86 | uniform_matrix_4f ("gl_TextureMatrix[0]"), uniform_matrix_4f ("gl_TextureMatrix[1]"), |
88 | gluvar ("gl_TextureMatrix[0]"), gluvar ("gl_TextureMatrix[1]"), |
87 | uniform_matrix_4f ("gl_TextureMatrix[2]"), uniform_matrix_4f ("gl_TextureMatrix[3]"), |
89 | gluvar ("gl_TextureMatrix[2]"), gluvar ("gl_TextureMatrix[3]"), |
88 | uniform_matrix_4f ("gl_TextureMatrix[4]"), uniform_matrix_4f ("gl_TextureMatrix[5]"), |
90 | gluvar ("gl_TextureMatrix[4]"), gluvar ("gl_TextureMatrix[5]"), |
89 | uniform_matrix_4f ("gl_TextureMatrix[6]"), uniform_matrix_4f ("gl_TextureMatrix[7]"), |
91 | gluvar ("gl_TextureMatrix[6]"), gluvar ("gl_TextureMatrix[7]"), |
90 | }; |
92 | }; |
91 | uniform_matrix_4f gl::model_view_matrix_inverse ("gl_ModelViewMatrixInverse"), |
93 | gluvar gl::model_view_matrix_inverse ("gl_ModelViewMatrixInverse"), |
92 | gl::projection_matrix_inverse ("gl_ProjectionMatrixInverse"), |
94 | gl::projection_matrix_inverse ("gl_ProjectionMatrixInverse"), |
93 | gl::model_view_projection_matrix_inverse ("gl_ModelViewProjectionMatrixInverse"), |
95 | gl::model_view_projection_matrix_inverse ("gl_ModelViewProjectionMatrixInverse"), |
94 | gl::texture_matrix_inverse[8] = |
96 | gl::texture_matrix_inverse[8] = |
95 | { |
97 | { |
96 | uniform_matrix_4f ("gl_TextureMatrixInverse[0]"), uniform_matrix_4f ("gl_TextureMatrixInverse[1]"), |
98 | gluvar ("gl_TextureMatrixInverse[0]"), gluvar ("gl_TextureMatrixInverse[1]"), |
97 | uniform_matrix_4f ("gl_TextureMatrixInverse[2]"), uniform_matrix_4f ("gl_TextureMatrixInverse[3]"), |
99 | gluvar ("gl_TextureMatrixInverse[2]"), gluvar ("gl_TextureMatrixInverse[3]"), |
98 | uniform_matrix_4f ("gl_TextureMatrixInverse[4]"), uniform_matrix_4f ("gl_TextureMatrixInverse[5]"), |
100 | gluvar ("gl_TextureMatrixInverse[4]"), gluvar ("gl_TextureMatrixInverse[5]"), |
99 | uniform_matrix_4f ("gl_TextureMatrixInverse[6]"), uniform_matrix_4f ("gl_TextureMatrixInverse[7]"), |
101 | gluvar ("gl_TextureMatrixInverse[6]"), gluvar ("gl_TextureMatrixInverse[7]"), |
100 | }; |
102 | }; |
101 | uniform_matrix_4f gl::model_view_matrix_transpose ("gl_ModelViewMatrixTranspose"), |
103 | gluvar gl::model_view_matrix_transpose ("gl_ModelViewMatrixTranspose"), |
102 | gl::projection_matrix_transpose ("gl_ProjectionMatrixTranspose"), |
104 | gl::projection_matrix_transpose ("gl_ProjectionMatrixTranspose"), |
103 | gl::model_view_projection_matrix_transpose ("gl_ModelViewProjectionMatrixTranspose"), |
105 | gl::model_view_projection_matrix_transpose ("gl_ModelViewProjectionMatrixTranspose"), |
104 | gl::texture_matrix_transpose[8] = |
106 | gl::texture_matrix_transpose[8] = |
105 | { |
107 | { |
106 | uniform_matrix_4f ("gl_TextureMatrixTranspose[0]"), uniform_matrix_4f ("gl_TextureMatrixTranspose[1]"), |
108 | gluvar ("gl_TextureMatrixTranspose[0]"), gluvar ("gl_TextureMatrixTranspose[1]"), |
107 | uniform_matrix_4f ("gl_TextureMatrixTranspose[2]"), uniform_matrix_4f ("gl_TextureMatrixTranspose[3]"), |
109 | gluvar ("gl_TextureMatrixTranspose[2]"), gluvar ("gl_TextureMatrixTranspose[3]"), |
108 | uniform_matrix_4f ("gl_TextureMatrixTranspose[4]"), uniform_matrix_4f ("gl_TextureMatrixTranspose[5]"), |
110 | gluvar ("gl_TextureMatrixTranspose[4]"), gluvar ("gl_TextureMatrixTranspose[5]"), |
109 | uniform_matrix_4f ("gl_TextureMatrixTranspose[6]"), uniform_matrix_4f ("gl_TextureMatrixTranspose[7]"), |
111 | gluvar ("gl_TextureMatrixTranspose[6]"), gluvar ("gl_TextureMatrixTranspose[7]"), |
110 | }; |
112 | }; |
111 | uniform_matrix_4f gl::model_view_matrix_inverse_transpose ("gl_ModelViewMatrixInverseTranspose"), |
113 | gluvar gl::model_view_matrix_inverse_transpose ("gl_ModelViewMatrixInverseTranspose"), |
112 | gl::projection_matrix_inverse_transpose ("gl_ProjectionMatrixInverseTranspose"), |
114 | gl::projection_matrix_inverse_transpose ("gl_ProjectionMatrixInverseTranspose"), |
113 | gl::model_view_projection_matrix_inverse_transpose ("gl_ModelViewProjectionMatrixInverseTranspose"), |
115 | gl::model_view_projection_matrix_inverse_transpose ("gl_ModelViewProjectionMatrixInverseTranspose"), |
114 | gl::texture_matrix_inverse_transpose[8] = |
116 | gl::texture_matrix_inverse_transpose[8] = |
115 | { |
117 | { |
116 | uniform_matrix_4f ("gl_TextureMatrixInverseTranspose[0]"), uniform_matrix_4f ("gl_TextureMatrixInverseTranspose[1]"), |
118 | gluvar ("gl_TextureMatrixInverseTranspose[0]"), gluvar ("gl_TextureMatrixInverseTranspose[1]"), |
117 | uniform_matrix_4f ("gl_TextureMatrixInverseTranspose[2]"), uniform_matrix_4f ("gl_TextureMatrixInverseTranspose[3]"), |
119 | gluvar ("gl_TextureMatrixInverseTranspose[2]"), gluvar ("gl_TextureMatrixInverseTranspose[3]"), |
118 | uniform_matrix_4f ("gl_TextureMatrixInverseTranspose[4]"), uniform_matrix_4f ("gl_TextureMatrixInverseTranspose[5]"), |
120 | gluvar ("gl_TextureMatrixInverseTranspose[4]"), gluvar ("gl_TextureMatrixInverseTranspose[5]"), |
119 | uniform_matrix_4f ("gl_TextureMatrixInverseTranspose[6]"), uniform_matrix_4f ("gl_TextureMatrixInverseTranspose[7]"), |
121 | gluvar ("gl_TextureMatrixInverseTranspose[6]"), gluvar ("gl_TextureMatrixInverseTranspose[7]"), |
120 | }; |
122 | }; |
121 | |
123 | |
122 | uniform_matrix_3f gl::normal_matrix ("gl_NormalMatrix"); |
124 | gluvar gl::normal_matrix ("gl_NormalMatrix"); |
123 | |
125 | |
124 | uniform_1f gl::normal_scale ("gl_NormalScale"); |
126 | gluvar gl::normal_scale ("gl_NormalScale"); |
125 | uniform_1f gl::depth_range_near ("gl_DepthRange.near"), |
127 | gluvar gl::depth_range_near ("gl_DepthRange.near"), |
126 | gl::depth_range_far ("gl_DepthRange.far"), |
128 | gl::depth_range_far ("gl_DepthRange.far"), |
127 | gl::depth_range_diff ("gl_DepthRange.diff"); |
129 | gl::depth_range_diff ("gl_DepthRange.diff"); |
128 | |
130 | |
129 | uniform_4f gl::clip_plane[2] = { uniform_4f ("gl_ClipPlane[0]"), uniform_4f ("gl_ClipPlane[1]") }; |
131 | gluvar gl::clip_plane[2] = { gluvar ("gl_ClipPlane[0]"), gluvar ("gl_ClipPlane[1]") }; |
130 | |
132 | |
131 | uniform_4f gl::front_material_emission ("gl_FrontMaterialEmission"), |
133 | gluvar gl::front_material_emission ("gl_FrontMaterialEmission"), |
132 | gl::front_material_ambient ("gl_FrontMaterialAmbient"), |
134 | gl::front_material_ambient ("gl_FrontMaterialAmbient"), |
133 | gl::front_material_diffuse ("gl_FrontMaterialDiffuse"), |
135 | gl::front_material_diffuse ("gl_FrontMaterialDiffuse"), |
134 | gl::front_material_specular ("gl_FrontMaterialSpecular"), |
136 | gl::front_material_specular ("gl_FrontMaterialSpecular"), |
135 | gl::front_material_shininess ("gl_FrontMaterialShininess"); |
137 | gl::front_material_shininess ("gl_FrontMaterialShininess"); |
136 | uniform_4f gl::back_material_emission ("gl_BackMaterialEmission"), |
138 | gluvar gl::back_material_emission ("gl_BackMaterialEmission"), |
137 | gl::back_material_ambient ("gl_BackMaterialAmbient"), |
139 | gl::back_material_ambient ("gl_BackMaterialAmbient"), |
138 | gl::back_material_diffuse ("gl_BackMaterialDiffuse"), |
140 | gl::back_material_diffuse ("gl_BackMaterialDiffuse"), |
139 | gl::back_material_specular ("gl_BackMaterialSpecular"), |
141 | gl::back_material_specular ("gl_BackMaterialSpecular"), |
140 | gl::back_material_shininess ("gl_BackMaterialShininess"); |
142 | gl::back_material_shininess ("gl_BackMaterialShininess"); |
141 | |
143 | |
142 | uniform_4f gl::light_model_ambient ("gl_LightModel.ambient"); |
144 | gluvar gl::light_model_ambient ("gl_LightModel.ambient"); |
143 | uniform_4f gl::front_light_model_product_scene_color ("gl_FrontLightModelProduct.sceneColor"); |
145 | gluvar gl::front_light_model_product_scene_color ("gl_FrontLightModelProduct.sceneColor"); |
144 | uniform_4f gl::back_light_model_product_scene_color ("gl_BackLightModelProduct.sceneColor"); |
146 | gluvar gl::back_light_model_product_scene_color ("gl_BackLightModelProduct.sceneColor"); |
145 | |
147 | |
146 | } |
148 | } |
147 | |
149 | |
148 | |
150 | |