primitives_array.h
1 /*
2 ** UICore
3 ** Copyright (c) 1997-2015 The UICore 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 UICore may link to may have additional
22 ** requirements or restrictions.
23 **
24 ** File Author(s):
25 **
26 ** Magnus Norddahl
27 ** Harry Storbacka
28 ** Mark Page
29 ** Kenneth Gangstoe
30 **
31 */
32 
33 #pragma once
34 
35 #include <memory>
36 #include "../../Core/Math/vec3.h"
37 #include "../../Core/Math/color.h"
38 #include "vertex_array_vector.h"
39 
40 namespace uicore
41 {
42  class Colorf;
43  class GraphicContext;
44 
45  #define cl_offsetof(s,m) (&(((s *)0)->m))
46 
49  {
57  };
58 
61  {
62  public:
64  static std::shared_ptr<PrimitivesArray> create(const GraphicContextPtr &gc);
65 
67  virtual void set_attributes(int index, const VertexArrayBufferPtr &buffer, int size, VertexAttributeDataType type, size_t offset = 0, int stride = 0, bool normalize = false) = 0;
68 
69  void set_attributes(int index, const VertexArrayVector<unsigned char> &buffer, int size, bool normalize = false)
70  {
71  set_attributes(index, buffer, size, type_unsigned_byte, 0, 0, normalize);
72  }
73 
74  void set_attributes(int index, const VertexArrayVector<char> &buffer, int size, bool normalize = false)
75  {
76  set_attributes(index, buffer, size, type_byte, 0, 0, normalize);
77  }
78 
79  void set_attributes(int index, const VertexArrayVector<unsigned short> &buffer, int size, bool normalize = false)
80  {
81  set_attributes(index, buffer, size, type_unsigned_short, 0, 0, normalize);
82  }
83 
84  void set_attributes(int index, const VertexArrayVector<short> &buffer, int size, bool normalize = false)
85  {
86  set_attributes(index, buffer, size, type_short, 0, 0, normalize);
87  }
88 
89  void set_attributes(int index, const VertexArrayVector<unsigned int> &buffer, int size, bool normalize = false)
90  {
91  set_attributes(index, buffer, size, type_unsigned_int, 0, 0, normalize);
92  }
93 
94  void set_attributes(int index, const VertexArrayVector<int> &buffer, int size, bool normalize = false)
95  {
96  set_attributes(index, buffer, size, type_int, 0, 0, normalize);
97  }
98 
99  void set_attributes(int index, const VertexArrayVector<float> &buffer, int size, bool normalize = false)
100  {
101  set_attributes(index, buffer, size, type_float, 0, 0, normalize);
102  }
103 
104  void set_attributes(int index, const VertexArrayVector<unsigned char> &buffer, bool normalize = false)
105  {
106  set_attributes(index, buffer, 1, type_unsigned_byte, 0, sizeof(unsigned char), normalize);
107  }
108 
109  void set_attributes(int index, const VertexArrayVector<signed char> &buffer, bool normalize = false)
110  {
111  set_attributes(index, buffer, 1, type_byte, 0, sizeof(signed char), normalize);
112  }
113 
114  void set_attributes(int index, const VertexArrayVector<unsigned short> &buffer, bool normalize = false)
115  {
116  set_attributes(index, buffer, 1, type_unsigned_short, 0, sizeof(unsigned short), normalize);
117  }
118 
119  void set_attributes(int index, const VertexArrayVector<signed short> &buffer, bool normalize = false)
120  {
121  set_attributes(index, buffer, 1, type_short, 0, sizeof(signed short), normalize);
122  }
123 
124  void set_attributes(int index, const VertexArrayVector<unsigned int> &buffer, bool normalize = false)
125  {
126  set_attributes(index, buffer, 1, type_unsigned_int, 0, sizeof(unsigned int), normalize);
127  }
128 
129  void set_attributes(int index, const VertexArrayVector<signed int> &buffer, bool normalize = false)
130  {
131  set_attributes(index, buffer, 1, type_int, 0, sizeof(signed int), normalize);
132  }
133 
134  void set_attributes(int index, const VertexArrayVector<float> &buffer)
135  {
136  set_attributes(index, buffer, 1, type_float, 0, sizeof(float), false);
137  }
138 
139  void set_attributes(int index, const VertexArrayVector<Vec2ub> &buffer, bool normalize = false)
140  {
141  set_attributes(index, buffer, 2, type_unsigned_byte, 0, sizeof(Vec2ub), normalize);
142  }
143 
144  void set_attributes(int index, const VertexArrayVector<Vec2b> &buffer, bool normalize = false)
145  {
146  set_attributes(index, buffer, 2, type_byte, 0, sizeof(Vec2b), normalize);
147  }
148 
149  void set_attributes(int index, const VertexArrayVector<Vec2us> &buffer, bool normalize = false)
150  {
151  set_attributes(index, buffer, 2, type_unsigned_short, 0, sizeof(Vec2us), normalize);
152  }
153 
154  void set_attributes(int index, const VertexArrayVector<Vec2s> &buffer, bool normalize = false)
155  {
156  set_attributes(index, buffer, 2, type_short, 0, sizeof(Vec2s), normalize);
157  }
158 
159  void set_attributes(int index, const VertexArrayVector<Vec2ui> &buffer, bool normalize = false)
160  {
161  set_attributes(index, buffer, 2, type_unsigned_int, 0, sizeof(Vec2ui), normalize);
162  }
163 
164  void set_attributes(int index, const VertexArrayVector<Vec2i> &buffer, bool normalize = false)
165  {
166  set_attributes(index, buffer, 2, type_int, 0, sizeof(Vec2i), normalize);
167  }
168 
169  void set_attributes(int index, const VertexArrayVector<Vec2f> &buffer)
170  {
171  set_attributes(index, buffer, 2, type_float, 0, sizeof(Vec2f), false);
172  }
173 
174  void set_attributes(int index, const VertexArrayVector<Vec3ub> &buffer, bool normalize = false)
175  {
176  set_attributes(index, buffer, 3, type_unsigned_byte, 0, sizeof(Vec3ub), normalize);
177  }
178 
179  void set_attributes(int index, const VertexArrayVector<Vec3b> &buffer, bool normalize = false)
180  {
181  set_attributes(index, buffer, 3, type_byte, 0, sizeof(Vec3b), normalize);
182  }
183 
184  void set_attributes(int index, const VertexArrayVector<Vec3us> &buffer, bool normalize = false)
185  {
186  set_attributes(index, buffer, 3, type_unsigned_short, 0, sizeof(Vec3us), normalize);
187  }
188 
189  void set_attributes(int index, const VertexArrayVector<Vec3s> &buffer, bool normalize = false)
190  {
191  set_attributes(index, buffer, 3, type_short, 0, sizeof(Vec3s), normalize);
192  }
193 
194  void set_attributes(int index, const VertexArrayVector<Vec3ui> &buffer, bool normalize = false)
195  {
196  set_attributes(index, buffer, 3, type_unsigned_int, 0, sizeof(Vec3ui), normalize);
197  }
198 
199  void set_attributes(int index, const VertexArrayVector<Vec3i> &buffer, bool normalize = false)
200  {
201  set_attributes(index, buffer, 3, type_int, 0, sizeof(Vec3i), normalize);
202  }
203 
204  void set_attributes(int index, const VertexArrayVector<Vec3f> &buffer)
205  {
206  set_attributes(index, buffer, 3, type_float, 0, sizeof(Vec3f), false);
207  }
208 
209  void set_attributes(int index, const VertexArrayVector<Vec4ub> &buffer, bool normalize = false)
210  {
211  set_attributes(index, buffer, 4, type_unsigned_byte, 0, sizeof(Vec4ub), normalize);
212  }
213 
214  void set_attributes(int index, const VertexArrayVector<Vec4b> &buffer, bool normalize = false)
215  {
216  set_attributes(index, buffer, 4, type_byte, 0, sizeof(Vec4b), normalize);
217  }
218 
219  void set_attributes(int index, const VertexArrayVector<Vec4us> &buffer, bool normalize = false)
220  {
221  set_attributes(index, buffer, 4, type_unsigned_short, 0, sizeof(Vec4us), normalize);
222  }
223 
224  void set_attributes(int index, const VertexArrayVector<Vec4s> &buffer, bool normalize = false)
225  {
226  set_attributes(index, buffer, 4, type_short, 0, sizeof(Vec4s), normalize);
227  }
228 
229  void set_attributes(int index, const VertexArrayVector<Vec4ui> &buffer, bool normalize = false)
230  {
231  set_attributes(index, buffer, 4, type_unsigned_int, 0, sizeof(Vec4ui), normalize);
232  }
233 
234  void set_attributes(int index, const VertexArrayVector<Vec4i> &buffer, bool normalize = false)
235  {
236  set_attributes(index, buffer, 4, type_int, 0, sizeof(Vec4i), normalize);
237  }
238 
239  void set_attributes(int index, const VertexArrayVector<Vec4f> &buffer)
240  {
241  set_attributes(index, buffer, 4, type_float, 0, sizeof(Vec4f), false);
242  }
243 
244  void set_attributes(int index, const VertexArrayVector<Colorf> &buffer)
245  {
246  set_attributes(index, buffer, 4, type_float, 0, sizeof(Colorf), false);
247  }
248 
249  template<typename Type>
250  void set_attributes(int index, const VertexArrayVector<Type> &buffer, unsigned char *member_offset, bool normalize = false)
251  {
252  set_attributes(index, buffer, 1, type_unsigned_byte, (size_t)member_offset, sizeof(Type), normalize);
253  }
254 
255  template<typename Type>
256  void set_attributes(int index, const VertexArrayVector<Type> &buffer, signed char *member_offset, bool normalize = false)
257  {
258  set_attributes(index, buffer, 1, type_byte, (size_t)member_offset, sizeof(Type), normalize);
259  }
260 
261  template<typename Type>
262  void set_attributes(int index, const VertexArrayVector<Type> &buffer, unsigned short *member_offset, bool normalize = false)
263  {
264  set_attributes(index, buffer, 1, type_unsigned_short, (size_t)member_offset, sizeof(Type), normalize);
265  }
266 
267  template<typename Type>
268  void set_attributes(int index, const VertexArrayVector<Type> &buffer, signed short *member_offset, bool normalize = false)
269  {
270  set_attributes(index, buffer, 1, type_short, (size_t)member_offset, sizeof(Type), normalize);
271  }
272 
273  template<typename Type>
274  void set_attributes(int index, const VertexArrayVector<Type> &buffer, unsigned int *member_offset, bool normalize = false)
275  {
276  set_attributes(index, buffer, 1, type_unsigned_int, (size_t)member_offset, sizeof(Type), normalize);
277  }
278 
279  template<typename Type>
280  void set_attributes(int index, const VertexArrayVector<Type> &buffer, signed int *member_offset, bool normalize = false)
281  {
282  set_attributes(index, buffer, 1, type_int, (size_t)member_offset, sizeof(Type), normalize);
283  }
284 
285  template<typename Type>
286  void set_attributes(int index, const VertexArrayVector<Type> &buffer, float *member_offset)
287  {
288  set_attributes(index, buffer, 1, type_float, (size_t)member_offset, sizeof(Type), false);
289  }
290 
291  template<typename Type>
292  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec2ub *member_offset, bool normalize = false)
293  {
294  set_attributes(index, buffer, 2, type_unsigned_byte, (size_t)member_offset, sizeof(Type), normalize);
295  }
296 
297  template<typename Type>
298  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec2b *member_offset, bool normalize = false)
299  {
300  set_attributes(index, buffer, 2, type_byte, (size_t)member_offset, sizeof(Type), normalize);
301  }
302 
303  template<typename Type>
304  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec2us *member_offset, bool normalize = false)
305  {
306  set_attributes(index, buffer, 2, type_unsigned_short, (size_t)member_offset, sizeof(Type), normalize);
307  }
308 
309  template<typename Type>
310  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec2s *member_offset, bool normalize = false)
311  {
312  set_attributes(index, buffer, 2, type_short, (size_t)member_offset, sizeof(Type), normalize);
313  }
314 
315  template<typename Type>
316  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec2ui *member_offset, bool normalize = false)
317  {
318  set_attributes(index, buffer, 2, type_unsigned_int, (size_t)member_offset, sizeof(Type), normalize);
319  }
320 
321  template<typename Type>
322  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec2i *member_offset, bool normalize = false)
323  {
324  set_attributes(index, buffer, 2, type_int, (size_t)member_offset, sizeof(Type), normalize);
325  }
326 
327  template<typename Type>
328  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec2f *member_offset)
329  {
330  set_attributes(index, buffer, 2, type_float, (size_t)member_offset, sizeof(Type), false);
331  }
332 
333  template<typename Type>
334  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec3ub *member_offset, bool normalize = false)
335  {
336  set_attributes(index, buffer, 3, type_unsigned_byte, (size_t)member_offset, sizeof(Type), normalize);
337  }
338 
339  template<typename Type>
340  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec3b *member_offset, bool normalize = false)
341  {
342  set_attributes(index, buffer, 3, type_byte, (size_t)member_offset, sizeof(Type), normalize);
343  }
344 
345  template<typename Type>
346  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec3us *member_offset, bool normalize = false)
347  {
348  set_attributes(index, buffer, 3, type_unsigned_short, (size_t)member_offset, sizeof(Type), normalize);
349  }
350 
351  template<typename Type>
352  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec3s *member_offset, bool normalize = false)
353  {
354  set_attributes(index, buffer, 3, type_short, (size_t)member_offset, sizeof(Type), normalize);
355  }
356 
357  template<typename Type>
358  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec3ui *member_offset, bool normalize = false)
359  {
360  set_attributes(index, buffer, 3, type_unsigned_int, (size_t)member_offset, sizeof(Type), normalize);
361  }
362 
363  template<typename Type>
364  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec3i *member_offset, bool normalize = false)
365  {
366  set_attributes(index, buffer, 3, type_int, (size_t)member_offset, sizeof(Type), normalize);
367  }
368 
369  template<typename Type>
370  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec3f *member_offset)
371  {
372  set_attributes(index, buffer, 3, type_float, (size_t)member_offset, sizeof(Type), false);
373  }
374 
375  template<typename Type>
376  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec4ub *member_offset, bool normalize = false)
377  {
378  set_attributes(index, buffer, 4, type_unsigned_byte, (size_t)member_offset, sizeof(Type), normalize);
379  }
380 
381  template<typename Type>
382  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec4b *member_offset, bool normalize = false)
383  {
384  set_attributes(index, buffer, 4, type_byte, (size_t)member_offset, sizeof(Type), normalize);
385  }
386 
387  template<typename Type>
388  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec4us *member_offset, bool normalize = false)
389  {
390  set_attributes(index, buffer, 4, type_unsigned_short, (size_t)member_offset, sizeof(Type), normalize);
391  }
392 
393  template<typename Type>
394  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec4s *member_offset, bool normalize = false)
395  {
396  set_attributes(index, buffer, 4, type_short, (size_t)member_offset, sizeof(Type), normalize);
397  }
398 
399  template<typename Type>
400  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec4ui *member_offset, bool normalize = false)
401  {
402  set_attributes(index, buffer, 4, type_unsigned_int, (size_t)member_offset, sizeof(Type), normalize);
403  }
404 
405  template<typename Type>
406  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec4i *member_offset, bool normalize = false)
407  {
408  set_attributes(index, buffer, 4, type_int, (size_t)member_offset, sizeof(Type), normalize);
409  }
410 
411  template<typename Type>
412  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Vec4f *member_offset)
413  {
414  set_attributes(index, buffer, 4, type_float, (size_t)member_offset, sizeof(Type), false);
415  }
416 
417  template<typename Type>
418  void set_attributes(int index, const VertexArrayVector<Type> &buffer, Colorf *member_offset)
419  {
420  set_attributes(index, buffer, 4, type_float, (size_t)member_offset, sizeof(Type), false);
421  }
422  };
423 }
void set_attributes(int index, const VertexArrayVector< Vec3i > &buffer, bool normalize=false)
Definition: primitives_array.h:199
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec2i *member_offset, bool normalize=false)
Definition: primitives_array.h:322
void set_attributes(int index, const VertexArrayVector< unsigned short > &buffer, bool normalize=false)
Definition: primitives_array.h:114
void set_attributes(int index, const VertexArrayVector< unsigned int > &buffer, int size, bool normalize=false)
Definition: primitives_array.h:89
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec4us *member_offset, bool normalize=false)
Definition: primitives_array.h:388
void set_attributes(int index, const VertexArrayVector< Vec3ub > &buffer, bool normalize=false)
Definition: primitives_array.h:174
void set_attributes(int index, const VertexArrayVector< Vec4b > &buffer, bool normalize=false)
Definition: primitives_array.h:214
void set_attributes(int index, const VertexArrayVector< signed char > &buffer, bool normalize=false)
Definition: primitives_array.h:109
void set_attributes(int index, const VertexArrayVector< Vec2i > &buffer, bool normalize=false)
Definition: primitives_array.h:164
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec2ui *member_offset, bool normalize=false)
Definition: primitives_array.h:316
void set_attributes(int index, const VertexArrayVector< Vec2b > &buffer, bool normalize=false)
Definition: primitives_array.h:144
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec2us *member_offset, bool normalize=false)
Definition: primitives_array.h:304
void set_attributes(int index, const VertexArrayVector< unsigned short > &buffer, int size, bool normalize=false)
Definition: primitives_array.h:79
2D vector
Definition: line.h:43
void set_attributes(int index, const VertexArrayVector< unsigned char > &buffer, int size, bool normalize=false)
Definition: primitives_array.h:69
Definition: primitives_array.h:54
std::shared_ptr< VertexArrayBuffer > VertexArrayBufferPtr
Definition: d3d_target.h:41
void set_attributes(int index, const VertexArrayVector< Type > &buffer, float *member_offset)
Definition: primitives_array.h:286
3D vector
Definition: line_ray.h:43
void set_attributes(int index, const VertexArrayVector< float > &buffer, int size, bool normalize=false)
Definition: primitives_array.h:99
void set_attributes(int index, const VertexArrayVector< Vec2s > &buffer, bool normalize=false)
Definition: primitives_array.h:154
void set_attributes(int index, const VertexArrayVector< float > &buffer)
Definition: primitives_array.h:134
void set_attributes(int index, const VertexArrayVector< signed int > &buffer, bool normalize=false)
Definition: primitives_array.h:129
void set_attributes(int index, const VertexArrayVector< short > &buffer, int size, bool normalize=false)
Definition: primitives_array.h:84
Definition: primitives_array.h:52
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec3ui *member_offset, bool normalize=false)
Definition: primitives_array.h:358
Floating point color description class (for float).
Definition: color.h:630
void set_attributes(int index, const VertexArrayVector< Type > &buffer, signed short *member_offset, bool normalize=false)
Definition: primitives_array.h:268
void set_attributes(int index, const VertexArrayVector< Type > &buffer, unsigned int *member_offset, bool normalize=false)
Definition: primitives_array.h:274
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec4b *member_offset, bool normalize=false)
Definition: primitives_array.h:382
void set_attributes(int index, const VertexArrayVector< Vec2ub > &buffer, bool normalize=false)
Definition: primitives_array.h:139
void set_attributes(int index, const VertexArrayVector< signed short > &buffer, bool normalize=false)
Definition: primitives_array.h:119
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec4ub *member_offset, bool normalize=false)
Definition: primitives_array.h:376
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec2b *member_offset, bool normalize=false)
Definition: primitives_array.h:298
void set_attributes(int index, const VertexArrayVector< Vec4ub > &buffer, bool normalize=false)
Definition: primitives_array.h:209
void set_attributes(int index, const VertexArrayVector< Vec4f > &buffer)
Definition: primitives_array.h:239
void set_attributes(int index, const VertexArrayVector< Vec4ui > &buffer, bool normalize=false)
Definition: primitives_array.h:229
void set_attributes(int index, const VertexArrayVector< unsigned int > &buffer, bool normalize=false)
Definition: primitives_array.h:124
void set_attributes(int index, const VertexArrayVector< unsigned char > &buffer, bool normalize=false)
Definition: primitives_array.h:104
void set_attributes(int index, const VertexArrayVector< Vec2ui > &buffer, bool normalize=false)
Definition: primitives_array.h:159
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec4i *member_offset, bool normalize=false)
Definition: primitives_array.h:406
void set_attributes(int index, const VertexArrayVector< Vec2us > &buffer, bool normalize=false)
Definition: primitives_array.h:149
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec3f *member_offset)
Definition: primitives_array.h:370
Primitives array description.
Definition: primitives_array.h:60
static std::shared_ptr< PrimitivesArray > create(const GraphicContextPtr &gc)
Constructs a PrimitivesArray.
Typed access to a vertex array buffer.
Definition: vertex_array_vector.h:38
void set_attributes(int index, const VertexArrayVector< Vec3ui > &buffer, bool normalize=false)
Definition: primitives_array.h:194
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec3i *member_offset, bool normalize=false)
Definition: primitives_array.h:364
void set_attributes(int index, const VertexArrayVector< Vec3b > &buffer, bool normalize=false)
Definition: primitives_array.h:179
virtual void set_attributes(int index, const VertexArrayBufferPtr &buffer, int size, VertexAttributeDataType type, size_t offset=0, int stride=0, bool normalize=false)=0
Set attributes.
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec4s *member_offset, bool normalize=false)
Definition: primitives_array.h:394
Definition: primitives_array.h:51
Definition: primitives_array.h:53
Definition: primitives_array.h:56
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec2ub *member_offset, bool normalize=false)
Definition: primitives_array.h:292
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec3s *member_offset, bool normalize=false)
Definition: primitives_array.h:352
void set_attributes(int index, const VertexArrayVector< Vec3s > &buffer, bool normalize=false)
Definition: primitives_array.h:189
void set_attributes(int index, const VertexArrayVector< char > &buffer, int size, bool normalize=false)
Definition: primitives_array.h:74
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec2s *member_offset, bool normalize=false)
Definition: primitives_array.h:310
Definition: primitives_array.h:50
void set_attributes(int index, const VertexArrayVector< int > &buffer, int size, bool normalize=false)
Definition: primitives_array.h:94
void set_attributes(int index, const VertexArrayVector< Type > &buffer, unsigned char *member_offset, bool normalize=false)
Definition: primitives_array.h:250
void set_attributes(int index, const VertexArrayVector< Type > &buffer, signed char *member_offset, bool normalize=false)
Definition: primitives_array.h:256
void set_attributes(int index, const VertexArrayVector< Vec3f > &buffer)
Definition: primitives_array.h:204
std::shared_ptr< GraphicContext > GraphicContextPtr
Definition: d3d_target.h:49
void set_attributes(int index, const VertexArrayVector< Colorf > &buffer)
Definition: primitives_array.h:244
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec4ui *member_offset, bool normalize=false)
Definition: primitives_array.h:400
void set_attributes(int index, const VertexArrayVector< Type > &buffer, unsigned short *member_offset, bool normalize=false)
Definition: primitives_array.h:262
void set_attributes(int index, const VertexArrayVector< Vec4s > &buffer, bool normalize=false)
Definition: primitives_array.h:224
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec4f *member_offset)
Definition: primitives_array.h:412
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec2f *member_offset)
Definition: primitives_array.h:328
VertexAttributeDataType
Primitives array description.
Definition: primitives_array.h:48
Definition: primitives_array.h:55
void set_attributes(int index, const VertexArrayVector< Type > &buffer, signed int *member_offset, bool normalize=false)
Definition: primitives_array.h:280
void set_attributes(int index, const VertexArrayVector< Vec2f > &buffer)
Definition: primitives_array.h:169
void set_attributes(int index, const VertexArrayVector< Vec4i > &buffer, bool normalize=false)
Definition: primitives_array.h:234
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Colorf *member_offset)
Definition: primitives_array.h:418
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec3b *member_offset, bool normalize=false)
Definition: primitives_array.h:340
void set_attributes(int index, const VertexArrayVector< Vec4us > &buffer, bool normalize=false)
Definition: primitives_array.h:219
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec3us *member_offset, bool normalize=false)
Definition: primitives_array.h:346
void set_attributes(int index, const VertexArrayVector< Type > &buffer, Vec3ub *member_offset, bool normalize=false)
Definition: primitives_array.h:334
Definition: Application/application.h:35
4D vector
Definition: size.h:44
void set_attributes(int index, const VertexArrayVector< Vec3us > &buffer, bool normalize=false)
Definition: primitives_array.h:184