shader_effect_description.h Source File - ClanLib SDK
Description: shader_effect_description.h Source File

shader_effect_description.h
1/*
2** ClanLib SDK
3** Copyright (c) 1997-2020 The ClanLib Team
4**
5** This software is provided 'as-is', without any express or implied
6** warranty. In no event will the authors be held liable for any damages
7** arising from the use of this software.
8**
9** Permission is granted to anyone to use this software for any purpose,
10** including commercial applications, and to alter it and redistribute it
11** freely, subject to the following restrictions:
12**
13** 1. The origin of this software must not be misrepresented; you must not
14** claim that you wrote the original software. If you use this software
15** in a product, an acknowledgment in the product documentation would be
16** appreciated but is not required.
17** 2. Altered source versions must be plainly marked as such, and must not be
18** misrepresented as being the original software.
19** 3. This notice may not be removed or altered from any source distribution.
20**
21** Note: Some of the libraries ClanLib may link to may have additional
22** requirements or restrictions.
23**
24** File Author(s):
25**
26** Magnus Norddahl
27** Kenneth Gangstoe
28*/
29
30#pragma once
31
32#include <memory>
33#include "../Render/graphic_context.h"
34#include "../Render/rasterizer_state_description.h"
35#include "../Render/blend_state_description.h"
36#include "../Render/depth_stencil_state_description.h"
37#include "../Render/storage_buffer.h"
38#include "../Render/uniform_buffer.h"
39#include "../Render/texture.h"
40#include "../Render/render_buffer.h"
41#include "../../Core/Resources/resource.h"
42
43namespace clan
44{
47
48 class ShaderEffectDescription_Impl;
49
53 class ShaderEffectDescription
54 {
55 public:
56 ShaderEffectDescription();
57
58 void set_glsl_version(int version = 330);
59
60 void set_define(std::string name, std::string value = "1");
61
62 void set_vertex_shader(std::string code, ShaderLanguage language = ShaderLanguage::glsl);
63 void set_fragment_shader(std::string code, ShaderLanguage language = ShaderLanguage::glsl);
64 void set_compute_shader(std::string code, ShaderLanguage language = ShaderLanguage::glsl);
65
66 RasterizerStateDescription &rasterizer();
67 BlendStateDescription &blend();
68 DepthStencilStateDescription &depth_stencil();
69
70 void set_frag_data(std::string name, RenderBuffer buffer);
71 void set_frag_data(std::string name, Texture texture);
72 void set_frag_data_to_back_buffer(std::string name);
73
74 void set_depth_data(RenderBuffer buffer);
75 void set_depth_data(Texture texture);
76
77 void set_stencil_data(RenderBuffer buffer);
78 void set_stencil_data(Texture texture);
79
80 void set_texture(std::string name, Resource<Texture> texture);
81 void set_image(std::string name, Resource<Texture> texture);
82
83 void set_storage(std::string name, Resource<StorageBuffer> values);
84
85 void set_uniform_block(std::string name, Resource<UniformBuffer> values);
86
87 void set_attribute(std::string name, VertexArrayBuffer &buffer, int size, VertexAttributeDataType type, size_t offset = 0, int stride = 0, bool normalize = false);
88
89 void set_attribute(std::string name, VertexArrayVector<unsigned char> &buffer, int size, bool normalize = false)
90 {
91 set_attribute(name, (VertexArrayBuffer&)buffer, size, VertexAttributeDataType::type_unsigned_byte, 0, 0, normalize);
92 }
93
94 void set_attribute(std::string name, VertexArrayVector<char> &buffer, int size, bool normalize = false)
95 {
96 set_attribute(name, (VertexArrayBuffer&)buffer, size, VertexAttributeDataType::type_byte, 0, 0, normalize);
97 }
98
99 void set_attribute(std::string name, VertexArrayVector<unsigned short> &buffer, int size, bool normalize = false)
100 {
101 set_attribute(name, (VertexArrayBuffer&)buffer, size, VertexAttributeDataType::type_unsigned_short, 0, 0, normalize);
102 }
103
104 void set_attribute(std::string name, VertexArrayVector<short> &buffer, int size, bool normalize = false)
105 {
106 set_attribute(name, (VertexArrayBuffer&)buffer, size, VertexAttributeDataType::type_short, 0, 0, normalize);
107 }
108
109 void set_attribute(std::string name, VertexArrayVector<unsigned int> &buffer, int size, bool normalize = false)
110 {
111 set_attribute(name, (VertexArrayBuffer&)buffer, size, VertexAttributeDataType::type_unsigned_int, 0, 0, normalize);
112 }
113
114 void set_attribute(std::string name, VertexArrayVector<int> &buffer, int size, bool normalize = false)
115 {
116 set_attribute(name, (VertexArrayBuffer&)buffer, size, VertexAttributeDataType::type_int, 0, 0, normalize);
117 }
118
119 void set_attribute(std::string name, VertexArrayVector<float> &buffer, int size, bool normalize = false)
120 {
121 set_attribute(name, (VertexArrayBuffer&)buffer, size, VertexAttributeDataType::type_float, 0, 0, normalize);
122 }
123
124 void set_attribute(std::string name, VertexArrayVector<unsigned char> &buffer, bool normalize = false)
125 {
126 set_attribute(name, (VertexArrayBuffer&)buffer, 1, VertexAttributeDataType::type_unsigned_byte, 0, sizeof(unsigned char), normalize);
127 }
128
129 void set_attribute(std::string name, VertexArrayVector<signed char> &buffer, bool normalize = false)
130 {
131 set_attribute(name, (VertexArrayBuffer&)buffer, 1, VertexAttributeDataType::type_byte, 0, sizeof(signed char), normalize);
132 }
133
134 void set_attribute(std::string name, VertexArrayVector<unsigned short> &buffer, bool normalize = false)
135 {
136 set_attribute(name, (VertexArrayBuffer&)buffer, 1, VertexAttributeDataType::type_unsigned_short, 0, sizeof(unsigned short), normalize);
137 }
138
139 void set_attribute(std::string name, VertexArrayVector<signed short> &buffer, bool normalize = false)
140 {
141 set_attribute(name, (VertexArrayBuffer&)buffer, 1, VertexAttributeDataType::type_short, 0, sizeof(signed short), normalize);
142 }
143
144 void set_attribute(std::string name, VertexArrayVector<unsigned int> &buffer, bool normalize = false)
145 {
146 set_attribute(name, (VertexArrayBuffer&)buffer, 1, VertexAttributeDataType::type_unsigned_int, 0, sizeof(unsigned int), normalize);
147 }
148
149 void set_attribute(std::string name, VertexArrayVector<signed int> &buffer, bool normalize = false)
150 {
151 set_attribute(name, (VertexArrayBuffer&)buffer, 1, VertexAttributeDataType::type_int, 0, sizeof(signed int), normalize);
152 }
153
154 void set_attribute(std::string name, VertexArrayVector<float> &buffer)
155 {
156 set_attribute(name, (VertexArrayBuffer&)buffer, 1, VertexAttributeDataType::type_float, 0, sizeof(float), false);
157 }
158
159 void set_attribute(std::string name, VertexArrayVector<Vec2ub> &buffer, bool normalize = false)
160 {
161 set_attribute(name, (VertexArrayBuffer&)buffer, 2, VertexAttributeDataType::type_unsigned_byte, 0, sizeof(Vec2ub), normalize);
162 }
163
164 void set_attribute(std::string name, VertexArrayVector<Vec2b> &buffer, bool normalize = false)
165 {
166 set_attribute(name, (VertexArrayBuffer&)buffer, 2, VertexAttributeDataType::type_byte, 0, sizeof(Vec2b), normalize);
167 }
168
169 void set_attribute(std::string name, VertexArrayVector<Vec2us> &buffer, bool normalize = false)
170 {
171 set_attribute(name, (VertexArrayBuffer&)buffer, 2, VertexAttributeDataType::type_unsigned_short, 0, sizeof(Vec2us), normalize);
172 }
173
174 void set_attribute(std::string name, VertexArrayVector<Vec2s> &buffer, bool normalize = false)
175 {
176 set_attribute(name, (VertexArrayBuffer&)buffer, 2, VertexAttributeDataType::type_short, 0, sizeof(Vec2s), normalize);
177 }
178
179 void set_attribute(std::string name, VertexArrayVector<Vec2ui> &buffer, bool normalize = false)
180 {
181 set_attribute(name, (VertexArrayBuffer&)buffer, 2, VertexAttributeDataType::type_unsigned_int, 0, sizeof(Vec2ui), normalize);
182 }
183
184 void set_attribute(std::string name, VertexArrayVector<Vec2i> &buffer, bool normalize = false)
185 {
186 set_attribute(name, (VertexArrayBuffer&)buffer, 2, VertexAttributeDataType::type_int, 0, sizeof(Vec2i), normalize);
187 }
188
189 void set_attribute(std::string name, VertexArrayVector<Vec2f> &buffer)
190 {
191 set_attribute(name, (VertexArrayBuffer&)buffer, 2, VertexAttributeDataType::type_float, 0, sizeof(Vec2f), false);
192 }
193
194 void set_attribute(std::string name, VertexArrayVector<Vec3ub> &buffer, bool normalize = false)
195 {
196 set_attribute(name, (VertexArrayBuffer&)buffer, 3, VertexAttributeDataType::type_unsigned_byte, 0, sizeof(Vec3ub), normalize);
197 }
198
199 void set_attribute(std::string name, VertexArrayVector<Vec3b> &buffer, bool normalize = false)
200 {
201 set_attribute(name, (VertexArrayBuffer&)buffer, 3, VertexAttributeDataType::type_byte, 0, sizeof(Vec3b), normalize);
202 }
203
204 void set_attribute(std::string name, VertexArrayVector<Vec3us> &buffer, bool normalize = false)
205 {
206 set_attribute(name, (VertexArrayBuffer&)buffer, 3, VertexAttributeDataType::type_unsigned_short, 0, sizeof(Vec3us), normalize);
207 }
208
209 void set_attribute(std::string name, VertexArrayVector<Vec3s> &buffer, bool normalize = false)
210 {
211 set_attribute(name, (VertexArrayBuffer&)buffer, 3, VertexAttributeDataType::type_short, 0, sizeof(Vec3s), normalize);
212 }
213
214 void set_attribute(std::string name, VertexArrayVector<Vec3ui> &buffer, bool normalize = false)
215 {
216 set_attribute(name, (VertexArrayBuffer&)buffer, 3, VertexAttributeDataType::type_unsigned_int, 0, sizeof(Vec3ui), normalize);
217 }
218
219 void set_attribute(std::string name, VertexArrayVector<Vec3i> &buffer, bool normalize = false)
220 {
221 set_attribute(name, (VertexArrayBuffer&)buffer, 3, VertexAttributeDataType::type_int, 0, sizeof(Vec3i), normalize);
222 }
223
224 void set_attribute(std::string name, VertexArrayVector<Vec3f> &buffer)
225 {
226 set_attribute(name, (VertexArrayBuffer&)buffer, 3, VertexAttributeDataType::type_float, 0, sizeof(Vec3f), false);
227 }
228
229 void set_attribute(std::string name, VertexArrayVector<Vec4ub> &buffer, bool normalize = false)
230 {
231 set_attribute(name, (VertexArrayBuffer&)buffer, 4, VertexAttributeDataType::type_unsigned_byte, 0, sizeof(Vec4ub), normalize);
232 }
233
234 void set_attribute(std::string name, VertexArrayVector<Vec4b> &buffer, bool normalize = false)
235 {
236 set_attribute(name, (VertexArrayBuffer&)buffer, 4, VertexAttributeDataType::type_byte, 0, sizeof(Vec4b), normalize);
237 }
238
239 void set_attribute(std::string name, VertexArrayVector<Vec4us> &buffer, bool normalize = false)
240 {
241 set_attribute(name, (VertexArrayBuffer&)buffer, 4, VertexAttributeDataType::type_unsigned_short, 0, sizeof(Vec4us), normalize);
242 }
243
244 void set_attribute(std::string name, VertexArrayVector<Vec4s> &buffer, bool normalize = false)
245 {
246 set_attribute(name, (VertexArrayBuffer&)buffer, 4, VertexAttributeDataType::type_short, 0, sizeof(Vec4s), normalize);
247 }
248
249 void set_attribute(std::string name, VertexArrayVector<Vec4ui> &buffer, bool normalize = false)
250 {
251 set_attribute(name, (VertexArrayBuffer&)buffer, 4, VertexAttributeDataType::type_unsigned_int, 0, sizeof(Vec4ui), normalize);
252 }
253
254 void set_attribute(std::string name, VertexArrayVector<Vec4i> &buffer, bool normalize = false)
255 {
256 set_attribute(name, (VertexArrayBuffer&)buffer, 4, VertexAttributeDataType::type_int, 0, sizeof(Vec4i), normalize);
257 }
258
259 void set_attribute(std::string name, VertexArrayVector<Vec4f> &buffer)
260 {
261 set_attribute(name, (VertexArrayBuffer&)buffer, 4, VertexAttributeDataType::type_float, 0, sizeof(Vec4f), false);
262 }
263
264 void set_attribute(std::string name, VertexArrayVector<Colorf> &buffer)
265 {
266 set_attribute(name, (VertexArrayBuffer&)buffer, 4, VertexAttributeDataType::type_float, 0, sizeof(Colorf), false);
267 }
268
269 void set_attribute_screen_quad(std::string name);
270 void set_attribute_uv_quad(std::string name);
271
272 void set_elements(ElementArrayBuffer &element_array, VertexAttributeDataType indices_type);
273
274 void set_elements(ElementArrayVector<unsigned int> &element_array)
275 {
276 set_elements(element_array, VertexAttributeDataType::type_unsigned_int);
277 }
278
279 void set_elements(ElementArrayVector<unsigned short> &element_array)
280 {
281 set_elements(element_array, VertexAttributeDataType::type_unsigned_short);
282 }
283
284 void set_elements(ElementArrayVector<unsigned char> &element_array)
285 {
286 set_elements(element_array, VertexAttributeDataType::type_unsigned_byte);
287 }
288
289 void set_draw_count(int count);
290
291 private:
292 std::shared_ptr<ShaderEffectDescription_Impl> impl;
293
294 friend class ShaderEffect;
295 };
296
298}
clan::BlendStateDescription
Blend state description.
Definition blend_state_description.h:42
clan::Colorf
Floating point color description class (for float).
Definition color.h:799
clan::DepthStencilStateDescription
DepthStencil state description.
Definition depth_stencil_state_description.h:42
clan::ElementArrayBuffer
Element Array Buffer.
Definition element_array_buffer.h:46
clan::ElementArrayVector
Element Array Vector.
Definition element_array_vector.h:43
clan::RasterizerStateDescription
Rasterizer state description.
Definition rasterizer_state_description.h:42
clan::RenderBuffer
Render-buffer object class.
Definition render_buffer.h:47
clan::Resource
Resource proxy of a specific type.
Definition resource.h:58
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< unsigned char > &buffer, int size, bool normalize=false)
Definition shader_effect_description.h:89
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec4ui > &buffer, bool normalize=false)
Definition shader_effect_description.h:249
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayBuffer &buffer, int size, VertexAttributeDataType type, size_t offset=0, int stride=0, bool normalize=false)
clan::ShaderEffectDescription::set_elements
void set_elements(ElementArrayVector< unsigned char > &element_array)
Definition shader_effect_description.h:284
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec2ub > &buffer, bool normalize=false)
Definition shader_effect_description.h:159
clan::ShaderEffectDescription::set_define
void set_define(std::string name, std::string value="1")
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec3f > &buffer)
Definition shader_effect_description.h:224
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec3ui > &buffer, bool normalize=false)
Definition shader_effect_description.h:214
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< float > &buffer, int size, bool normalize=false)
Definition shader_effect_description.h:119
clan::ShaderEffectDescription::set_attribute_uv_quad
void set_attribute_uv_quad(std::string name)
clan::ShaderEffectDescription::ShaderEffect
friend class ShaderEffect
Definition shader_effect_description.h:294
clan::ShaderEffectDescription::set_elements
void set_elements(ElementArrayVector< unsigned int > &element_array)
Definition shader_effect_description.h:274
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< unsigned short > &buffer, bool normalize=false)
Definition shader_effect_description.h:134
clan::ShaderEffectDescription::set_frag_data
void set_frag_data(std::string name, RenderBuffer buffer)
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec2b > &buffer, bool normalize=false)
Definition shader_effect_description.h:164
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec2ui > &buffer, bool normalize=false)
Definition shader_effect_description.h:179
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< float > &buffer)
Definition shader_effect_description.h:154
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< signed char > &buffer, bool normalize=false)
Definition shader_effect_description.h:129
clan::ShaderEffectDescription::depth_stencil
DepthStencilStateDescription & depth_stencil()
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< signed short > &buffer, bool normalize=false)
Definition shader_effect_description.h:139
clan::ShaderEffectDescription::set_compute_shader
void set_compute_shader(std::string code, ShaderLanguage language=ShaderLanguage::glsl)
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< int > &buffer, int size, bool normalize=false)
Definition shader_effect_description.h:114
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< unsigned char > &buffer, bool normalize=false)
Definition shader_effect_description.h:124
clan::ShaderEffectDescription::set_attribute_screen_quad
void set_attribute_screen_quad(std::string name)
clan::ShaderEffectDescription::ShaderEffectDescription
ShaderEffectDescription()
clan::ShaderEffectDescription::set_fragment_shader
void set_fragment_shader(std::string code, ShaderLanguage language=ShaderLanguage::glsl)
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< short > &buffer, int size, bool normalize=false)
Definition shader_effect_description.h:104
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< unsigned short > &buffer, int size, bool normalize=false)
Definition shader_effect_description.h:99
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec4f > &buffer)
Definition shader_effect_description.h:259
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec3b > &buffer, bool normalize=false)
Definition shader_effect_description.h:199
clan::ShaderEffectDescription::set_depth_data
void set_depth_data(Texture texture)
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec3i > &buffer, bool normalize=false)
Definition shader_effect_description.h:219
clan::ShaderEffectDescription::set_texture
void set_texture(std::string name, Resource< Texture > texture)
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec2i > &buffer, bool normalize=false)
Definition shader_effect_description.h:184
clan::ShaderEffectDescription::set_stencil_data
void set_stencil_data(Texture texture)
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec2s > &buffer, bool normalize=false)
Definition shader_effect_description.h:174
clan::ShaderEffectDescription::set_uniform_block
void set_uniform_block(std::string name, Resource< UniformBuffer > values)
clan::ShaderEffectDescription::set_elements
void set_elements(ElementArrayVector< unsigned short > &element_array)
Definition shader_effect_description.h:279
clan::ShaderEffectDescription::set_storage
void set_storage(std::string name, Resource< StorageBuffer > values)
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< unsigned int > &buffer, bool normalize=false)
Definition shader_effect_description.h:144
clan::ShaderEffectDescription::set_frag_data
void set_frag_data(std::string name, Texture texture)
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< unsigned int > &buffer, int size, bool normalize=false)
Definition shader_effect_description.h:109
clan::ShaderEffectDescription::set_vertex_shader
void set_vertex_shader(std::string code, ShaderLanguage language=ShaderLanguage::glsl)
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec3us > &buffer, bool normalize=false)
Definition shader_effect_description.h:204
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec4i > &buffer, bool normalize=false)
Definition shader_effect_description.h:254
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec2us > &buffer, bool normalize=false)
Definition shader_effect_description.h:169
clan::ShaderEffectDescription::set_image
void set_image(std::string name, Resource< Texture > texture)
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec3s > &buffer, bool normalize=false)
Definition shader_effect_description.h:209
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec4b > &buffer, bool normalize=false)
Definition shader_effect_description.h:234
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< signed int > &buffer, bool normalize=false)
Definition shader_effect_description.h:149
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec4s > &buffer, bool normalize=false)
Definition shader_effect_description.h:244
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec2f > &buffer)
Definition shader_effect_description.h:189
clan::ShaderEffectDescription::rasterizer
RasterizerStateDescription & rasterizer()
clan::ShaderEffectDescription::set_elements
void set_elements(ElementArrayBuffer &element_array, VertexAttributeDataType indices_type)
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec3ub > &buffer, bool normalize=false)
Definition shader_effect_description.h:194
clan::ShaderEffectDescription::set_draw_count
void set_draw_count(int count)
clan::ShaderEffectDescription::blend
BlendStateDescription & blend()
clan::ShaderEffectDescription::set_depth_data
void set_depth_data(RenderBuffer buffer)
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< char > &buffer, int size, bool normalize=false)
Definition shader_effect_description.h:94
clan::ShaderEffectDescription::set_glsl_version
void set_glsl_version(int version=330)
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Colorf > &buffer)
Definition shader_effect_description.h:264
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec4ub > &buffer, bool normalize=false)
Definition shader_effect_description.h:229
clan::ShaderEffectDescription::set_stencil_data
void set_stencil_data(RenderBuffer buffer)
clan::ShaderEffectDescription::set_attribute
void set_attribute(std::string name, VertexArrayVector< Vec4us > &buffer, bool normalize=false)
Definition shader_effect_description.h:239
clan::ShaderEffectDescription::set_frag_data_to_back_buffer
void set_frag_data_to_back_buffer(std::string name)
clan::Texture
Texture object class.
Definition texture.h:103
clan::VertexArrayBuffer
Vertex Array Buffer.
Definition vertex_array_buffer.h:46
clan::VertexArrayVector
Vertex Array Vector.
Definition vertex_array_vector.h:43
clan::Vec4ub
Vec4< unsigned char > Vec4ub
Definition vec4.h:393
clan::Vec3ub
Vec3< unsigned char > Vec3ub
Definition vec3.h:341
clan::Vec4ui
Vec4< unsigned int > Vec4ui
Definition vec4.h:397
clan::Vec2ui
Vec2< unsigned int > Vec2ui
Definition vec2.h:355
clan::Vec2us
Vec2< unsigned short > Vec2us
Definition vec2.h:353
clan::Vec3us
Vec3< unsigned short > Vec3us
Definition vec3.h:343
clan::Vec4b
Vec4< char > Vec4b
Definition vec4.h:394
clan::Vec4f
Vec4< float > Vec4f
Definition vec4.h:399
clan::Vec3ui
Vec3< unsigned int > Vec3ui
Definition vec3.h:345
clan::Vec2b
Vec2< char > Vec2b
Definition vec2.h:352
clan::Vec3f
Vec3< float > Vec3f
Definition vec3.h:347
clan::Vec2i
Vec2< int > Vec2i
Definition vec2.h:356
clan::Vec4s
Vec4< short > Vec4s
Definition vec4.h:396
clan::Vec4i
Vec4< int > Vec4i
Definition vec4.h:398
clan::Vec3b
Vec3< char > Vec3b
Definition vec3.h:342
clan::Vec2f
Vec2< float > Vec2f
Definition vec2.h:357
clan::Vec2ub
Vec2< unsigned char > Vec2ub
Definition vec2.h:351
clan::Vec3s
Vec3< short > Vec3s
Definition vec3.h:344
clan::Vec2s
Vec2< short > Vec2s
Definition vec2.h:354
clan::Vec3i
Vec3< int > Vec3i
Definition vec3.h:346
clan::Vec4us
Vec4< unsigned short > Vec4us
Definition vec4.h:395
clan::ShaderLanguage
ShaderLanguage
Shader language used.
Definition graphic_context.h:248
clan::VertexAttributeDataType
VertexAttributeDataType
Primitives array description.
Definition primitives_array.h:56
clan::ShaderLanguage::glsl
@ glsl
Definition graphic_context.h:249
clan::VertexAttributeDataType::type_float
@ type_float
Definition primitives_array.h:63
clan::VertexAttributeDataType::type_short
@ type_short
Definition primitives_array.h:61
clan::VertexAttributeDataType::type_unsigned_byte
@ type_unsigned_byte
Definition primitives_array.h:57
clan::VertexAttributeDataType::type_int
@ type_int
Definition primitives_array.h:62
clan::VertexAttributeDataType::type_byte
@ type_byte
Definition primitives_array.h:60
clan::VertexAttributeDataType::type_unsigned_short
@ type_unsigned_short
Definition primitives_array.h:58
clan::VertexAttributeDataType::type_unsigned_int
@ type_unsigned_int
Definition primitives_array.h:59
clan
Definition clanapp.h:36