gl_utils/shader/
mod.rs

1//! Shader and shader program utilities.
2
3#[macro_use] mod macro_def;
4
5def_programs_include! {
6
7  SHADERS [
8    VertPassthru2d,
9      "../../shaders/vert_passthru_2d.glsl",
10    VertPassthru2dColor,
11      "../../shaders/vert_passthru_2d_color.glsl",
12    VertPassthru2dRectColor,
13      "../../shaders/vert_passthru_2d_rect_color.glsl",
14    VertPassthru2dRectUv,
15      "../../shaders/vert_passthru_2d_rect_uv.glsl",
16    VertPassthru2dRectUvLayer,
17      "../../shaders/vert_passthru_2d_rect_uv_layer.glsl",
18    VertPassthru2dLayer,
19      "../../shaders/vert_passthru_2d_layer.glsl",
20    VertTileSpace2dTile,
21      "../../shaders/vert_tile_space_2d_tile.glsl",
22    VertTileSpace2dTileColor,
23      "../../shaders/vert_tile_space_2d_tile_color.glsl",
24    VertWorldSpace2d,
25      "../../shaders/vert_world_space_2d.glsl",
26    VertWorldSpace3d,
27      "../../shaders/vert_world_space_3d.glsl",
28    VertWorldSpace3dColor,
29      "../../shaders/vert_world_space_3d_color.glsl",
30    VertPassthru3d,
31      "../../shaders/vert_passthru_3d.glsl",
32    VertPassthru3dScaleColor,
33      "../../shaders/vert_passthru_3d_scale_color.glsl",
34    VertModelSpace3dInstancedScaleColor,
35      "../../shaders/vert_model_space_3d_instanced_scale_color.glsl",
36    VertModelSpace3dInstancedOrientationScaleColor,
37      "../../shaders/vert_model_space_3d_instanced_orientation_scale_color.glsl",
38    VertModelSpace3dInstancedCapsule,
39      "../../shaders/vert_model_space_3d_instanced_capsule.glsl",
40    GeomWorldSpace2dRect,
41      "../../shaders/geom_world_space_2d_rect.glsl",
42    GeomWorldSpace2dRectUv,
43      "../../shaders/geom_world_space_2d_rect_uv.glsl",
44    GeomWorldSpace2dRectUvLayer,
45      "../../shaders/geom_world_space_2d_rect_uv_layer.glsl",
46    GeomWorldSpace2dSprite,
47      "../../shaders/geom_world_space_2d_sprite.glsl",
48    GeomWorldSpace2dSpriteLayer,
49      "../../shaders/geom_world_space_2d_sprite_layer.glsl",
50    GeomWorldSpace2dTile,
51      "../../shaders/geom_world_space_2d_tile.glsl",
52    GeomWorldSpace2dTileColor,
53      "../../shaders/geom_world_space_2d_tile_color.glsl",
54    GeomWorldSpace3dAabbLines,
55      "../../shaders/geom_world_space_3d_aabb_lines.glsl",
56    GeomWorldSpace3dAabbTriangles,
57      "../../shaders/geom_world_space_3d_aabb_triangles.glsl",
58    GeomWorldSpace3dSprite,
59      "../../shaders/geom_world_space_3d_sprite.glsl",
60    FragColor,
61      "../../shaders/frag_color.glsl",
62    FragUniColor,
63      "../../shaders/frag_uni_color.glsl",
64    FragTexture2d,
65      "../../shaders/frag_texture2d.glsl",
66    FragTexture2dLayer,
67      "../../shaders/frag_texture2d_layer.glsl",
68    FragTexture2dTile,
69      "../../shaders/frag_texture2d_tile.glsl",
70    FragTexture2dTileColor,
71      "../../shaders/frag_texture2d_tile_color.glsl"
72  ]
73
74  PROGRAMS [
75    program ClipSpace2dColor {
76      vertex_shader:   VertPassthru2dColor
77      fragment_shader: FragColor
78    }
79    program ClipSpace2dUniColor {
80      vertex_shader:   VertPassthru2d
81      fragment_shader: FragUniColor
82    }
83    program WorldSpace2dUniColor {
84      vertex_shader:   VertWorldSpace2d
85      fragment_shader: FragUniColor
86    }
87    program WorldSpace2dRect {
88      vertex_shader:   VertPassthru2dRectColor
89      geometry_shader: GeomWorldSpace2dRect
90      fragment_shader: FragColor
91    }
92    program WorldSpace2dRectUv {
93      vertex_shader:   VertPassthru2dRectUv
94      geometry_shader: GeomWorldSpace2dRectUv
95      fragment_shader: FragTexture2d
96    }
97    program WorldSpace2dRectUvLayer {
98      vertex_shader:   VertPassthru2dRectUvLayer
99      geometry_shader: GeomWorldSpace2dRectUvLayer
100      fragment_shader: FragTexture2dLayer
101    }
102    program WorldSpace2dSprite {
103      vertex_shader:   VertPassthru2d
104      geometry_shader: GeomWorldSpace2dSprite
105      fragment_shader: FragTexture2d
106    }
107    program WorldSpace2dSpriteLayer {
108      vertex_shader:   VertPassthru2dLayer
109      geometry_shader: GeomWorldSpace2dSpriteLayer
110      fragment_shader: FragTexture2dLayer
111    }
112    program TileSpace2dTile {
113      vertex_shader:   VertTileSpace2dTile
114      geometry_shader: GeomWorldSpace2dTile
115      fragment_shader: FragTexture2dTile
116    }
117    program TileSpace2dTileColor {
118      vertex_shader:   VertTileSpace2dTileColor
119      geometry_shader: GeomWorldSpace2dTileColor
120      fragment_shader: FragTexture2dTileColor
121    }
122    program WorldSpace3dUniColor {
123      vertex_shader:   VertWorldSpace3d
124      fragment_shader: FragUniColor
125    }
126    program WorldSpace3dColor {
127      vertex_shader:   VertWorldSpace3dColor
128      fragment_shader: FragColor
129    }
130    program WorldSpace3dAabbLines {
131      vertex_shader:   VertPassthru3dScaleColor
132      geometry_shader: GeomWorldSpace3dAabbLines
133      fragment_shader: FragColor
134    }
135    program WorldSpace3dAabbTriangles {
136      vertex_shader:   VertPassthru3dScaleColor
137      geometry_shader: GeomWorldSpace3dAabbTriangles
138      fragment_shader: FragColor
139    }
140    program WorldSpace3dSprite {
141      vertex_shader:   VertPassthru3d
142      geometry_shader: GeomWorldSpace3dSprite
143      fragment_shader: FragTexture2d
144    }
145    program ModelSpace3dInstancedScaleColor {
146      vertex_shader:   VertModelSpace3dInstancedScaleColor
147      fragment_shader: FragColor
148    }
149    program ModelSpace3dInstancedOrientationScaleColor {
150      vertex_shader:   VertModelSpace3dInstancedOrientationScaleColor
151      fragment_shader: FragColor
152    }
153    program ModelSpace3dInstancedCapsule {
154      vertex_shader:   VertModelSpace3dInstancedCapsule
155      fragment_shader: FragColor
156    }
157  ]
158
159}