Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CDrawPrimitive.hpp
Go to the documentation of this file.
1#ifndef LIBS_GRAPHICS_CDRAWPRIMITIVE_HPP_
2#define LIBS_GRAPHICS_CDRAWPRIMITIVE_HPP_
3
4#include <cstdint>
5
6typedef void (*CDrawPrimitive_funcDrawTriangle)(struct SPrvDrawDevice*, double x1,
7 double y1, double z1, double x2, double y2, double z2, double x3, double y3,
8 double z3);
9
11{
12public:
13 template<class Device> static void drawTriangles(Device *device, const float *points,
14 const float *normals, const float *textureOpt, const float *rgbaOpt,
15 uint64_t numPoints, const uint32_t *indVertex,
16 uint64_t numVertex,
17 void (*funcDrawTriangle)(Device*, double x1, double y1, double z1,
18 double x2, double y2, double z2, double x3, double y3,
19 double z3))
20 {
21 prvDrawTriangles((struct SPrvDrawDevice*) device, points, normals, textureOpt,
22 rgbaOpt, numPoints, indVertex, numVertex,
23 (CDrawPrimitive_funcDrawTriangle) funcDrawTriangle);
24 }
25
26 template<class Device> static void drawStripTriangles(Device *device,
27 const float *points, const float *normals, const float *textureOpt,
28 const float *rgbaOpt, uint64_t numPoints,
29 const uint32_t *indVertex, uint64_t numVertex,
30 void (*funcDrawTriangle)(Device*, double x1, double y1, double z1,
31 double x2, double y2, double z2, double x3, double y3,
32 double z3))
33 {
34 prvDrawStripTriangles((struct SPrvDrawDevice*) device, points, normals,
35 textureOpt, rgbaOpt, numPoints, indVertex, numVertex,
36 (CDrawPrimitive_funcDrawTriangle) funcDrawTriangle);
37 }
38
39 template<class Device> static void drawFanTriangles(Device *device,
40 const float *points, const float *normals, const float *textureOpt,
41 const float *rgbaOpt, uint64_t numPoints,
42 const uint32_t *indVertex, uint64_t numVertex,
43 void (*funcDrawTriangle)(Device*, double x1, double y1, double z1,
44 double x2, double y2, double z2, double x3, double y3,
45 double z3))
46 {
47 prvDrawFanTriangles((struct SPrvDrawDevice*) device, points, normals, textureOpt,
48 rgbaOpt, numPoints, indVertex, numVertex,
49 (CDrawPrimitive_funcDrawTriangle) funcDrawTriangle);
50 }
51
52private:
53 static void prvDrawTriangles(struct SPrvDrawDevice *device, const float *points,
54 const float *normals, const float *textureOpt, const float *rgbaOpt,
55 uint64_t numPoints, const uint32_t *indVertex,
56 uint64_t numVertex,
57 CDrawPrimitive_funcDrawTriangle func_drawTriangle);
58
59 static void prvDrawStripTriangles(struct SPrvDrawDevice *device, const float *points,
60 const float *normals, const float *textureOpt, const float *rgbaOpt,
61 uint64_t numPoints, const uint32_t *indVertex,
62 uint64_t numVertex,
63 CDrawPrimitive_funcDrawTriangle func_drawTriangle);
64
65 static void prvDrawFanTriangles(struct SPrvDrawDevice *device, const float *points,
66 const float *normals, const float *textureOpt, const float *rgbaOpt,
67 uint64_t numPoints, const uint32_t *indVertex,
68 uint64_t numVertex,
69 CDrawPrimitive_funcDrawTriangle func_drawTriangle);
70};
71
72#endif /* LIBS_GRAPHICS_CDRAWPRIMITIVE_HPP_ */
void(* CDrawPrimitive_funcDrawTriangle)(struct SPrvDrawDevice *, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3)
Definition CDrawPrimitive.hpp:6
Definition CDrawPrimitive.hpp:11
static void prvDrawStripTriangles(struct SPrvDrawDevice *device, const float *points, const float *normals, const float *textureOpt, const float *rgbaOpt, uint64_t numPoints, const uint32_t *indVertex, uint64_t numVertex, CDrawPrimitive_funcDrawTriangle func_drawTriangle)
Definition CDrawPrimitive.cpp:58
static void prvDrawFanTriangles(struct SPrvDrawDevice *device, const float *points, const float *normals, const float *textureOpt, const float *rgbaOpt, uint64_t numPoints, const uint32_t *indVertex, uint64_t numVertex, CDrawPrimitive_funcDrawTriangle func_drawTriangle)
Definition CDrawPrimitive.cpp:83
static void drawTriangles(Device *device, const float *points, const float *normals, const float *textureOpt, const float *rgbaOpt, uint64_t numPoints, const uint32_t *indVertex, uint64_t numVertex, void(*funcDrawTriangle)(Device *, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3))
Definition CDrawPrimitive.hpp:13
static void drawStripTriangles(Device *device, const float *points, const float *normals, const float *textureOpt, const float *rgbaOpt, uint64_t numPoints, const uint32_t *indVertex, uint64_t numVertex, void(*funcDrawTriangle)(Device *, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3))
Definition CDrawPrimitive.hpp:26
static void prvDrawTriangles(struct SPrvDrawDevice *device, const float *points, const float *normals, const float *textureOpt, const float *rgbaOpt, uint64_t numPoints, const uint32_t *indVertex, uint64_t numVertex, CDrawPrimitive_funcDrawTriangle func_drawTriangle)
Definition CDrawPrimitive.cpp:36
static void drawFanTriangles(Device *device, const float *points, const float *normals, const float *textureOpt, const float *rgbaOpt, uint64_t numPoints, const uint32_t *indVertex, uint64_t numVertex, void(*funcDrawTriangle)(Device *, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3))
Definition CDrawPrimitive.hpp:39