diff options
Diffstat (limited to '')
-rw-r--r-- | libraries/irrlicht-1.8/source/Irrlicht/CCgMaterialRenderer.h | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/libraries/irrlicht-1.8/source/Irrlicht/CCgMaterialRenderer.h b/libraries/irrlicht-1.8/source/Irrlicht/CCgMaterialRenderer.h deleted file mode 100644 index e76c8f8..0000000 --- a/libraries/irrlicht-1.8/source/Irrlicht/CCgMaterialRenderer.h +++ /dev/null | |||
@@ -1,176 +0,0 @@ | |||
1 | // Copyright (C) 2012 Patryk Nadrowski | ||
2 | // This file is part of the "Irrlicht Engine". | ||
3 | // For conditions of distribution and use, see copyright notice in irrlicht.h | ||
4 | |||
5 | #ifndef __C_CG_MATERIAL_RENDERER_H_INCLUDED__ | ||
6 | #define __C_CG_MATERIAL_RENDERER_H_INCLUDED__ | ||
7 | |||
8 | #include "IrrCompileConfig.h" | ||
9 | #ifdef _IRR_COMPILE_WITH_CG_ | ||
10 | |||
11 | #include "IMaterialRenderer.h" | ||
12 | #include "IMaterialRendererServices.h" | ||
13 | #include "IShaderConstantSetCallBack.h" | ||
14 | #include "IGPUProgrammingServices.h" | ||
15 | #include "irrArray.h" | ||
16 | #include "irrString.h" | ||
17 | #include "IVideoDriver.h" | ||
18 | #include "os.h" | ||
19 | #include "Cg/cg.h" | ||
20 | |||
21 | #ifdef _MSC_VER | ||
22 | #pragma comment(lib, "cg.lib") | ||
23 | #endif | ||
24 | |||
25 | namespace irr | ||
26 | { | ||
27 | namespace video | ||
28 | { | ||
29 | |||
30 | class CCgUniform | ||
31 | { | ||
32 | public: | ||
33 | CCgUniform(const CGparameter& parameter, bool global); | ||
34 | |||
35 | const core::stringc& getName() const; | ||
36 | const CGparameter& getParameter() const; | ||
37 | CGenum getSpace() const; | ||
38 | CGtype getType() const; | ||
39 | |||
40 | virtual void update(const void* data, const SMaterial& material) const = 0; | ||
41 | |||
42 | protected: | ||
43 | core::stringc Name; | ||
44 | CGparameter Parameter; | ||
45 | CGenum Space; | ||
46 | CGtype Type; | ||
47 | }; | ||
48 | |||
49 | class CCgUniform1f : public CCgUniform | ||
50 | { | ||
51 | public: | ||
52 | CCgUniform1f(const CGparameter& parameter, bool global); | ||
53 | |||
54 | void update(const void* data, const SMaterial& material) const; | ||
55 | }; | ||
56 | |||
57 | class CCgUniform2f : public CCgUniform | ||
58 | { | ||
59 | public: | ||
60 | CCgUniform2f(const CGparameter& parameter, bool global); | ||
61 | |||
62 | void update(const void* data, const SMaterial& material) const; | ||
63 | }; | ||
64 | |||
65 | class CCgUniform3f : public CCgUniform | ||
66 | { | ||
67 | public: | ||
68 | CCgUniform3f(const CGparameter& parameter, bool global); | ||
69 | |||
70 | void update(const void* data, const SMaterial& material) const; | ||
71 | }; | ||
72 | |||
73 | class CCgUniform4f : public CCgUniform | ||
74 | { | ||
75 | public: | ||
76 | CCgUniform4f(const CGparameter& parameter, bool global); | ||
77 | |||
78 | void update(const void* data, const SMaterial& material) const; | ||
79 | }; | ||
80 | |||
81 | class CCgUniform1i : public CCgUniform | ||
82 | { | ||
83 | public: | ||
84 | CCgUniform1i(const CGparameter& parameter, bool global); | ||
85 | |||
86 | void update(const void* data, const SMaterial& material) const; | ||
87 | }; | ||
88 | |||
89 | class CCgUniform2i : public CCgUniform | ||
90 | { | ||
91 | public: | ||
92 | CCgUniform2i(const CGparameter& parameter, bool global); | ||
93 | |||
94 | void update(const void* data, const SMaterial& material) const; | ||
95 | }; | ||
96 | |||
97 | class CCgUniform3i : public CCgUniform | ||
98 | { | ||
99 | public: | ||
100 | CCgUniform3i(const CGparameter& parameter, bool global); | ||
101 | |||
102 | void update(const void* data, const SMaterial& material) const; | ||
103 | }; | ||
104 | |||
105 | class CCgUniform4i : public CCgUniform | ||
106 | { | ||
107 | public: | ||
108 | CCgUniform4i(const CGparameter& parameter, bool global); | ||
109 | |||
110 | void update(const void* data, const SMaterial& material) const; | ||
111 | }; | ||
112 | |||
113 | class CCgUniform4x4f : public CCgUniform | ||
114 | { | ||
115 | public: | ||
116 | CCgUniform4x4f(const CGparameter& parameter, bool global); | ||
117 | |||
118 | void update(const void* data, const SMaterial& material) const; | ||
119 | }; | ||
120 | |||
121 | class CCgUniformSampler2D : public CCgUniform | ||
122 | { | ||
123 | public: | ||
124 | CCgUniformSampler2D(const CGparameter& parameter, bool global); | ||
125 | |||
126 | void update(const void* data, const SMaterial& material) const; | ||
127 | }; | ||
128 | |||
129 | class CCgMaterialRenderer : public IMaterialRenderer, public IMaterialRendererServices | ||
130 | { | ||
131 | public: | ||
132 | CCgMaterialRenderer(IShaderConstantSetCallBack* callback = 0, IMaterialRenderer* baseMaterial = 0, s32 userData = 0); | ||
133 | virtual ~CCgMaterialRenderer(); | ||
134 | |||
135 | virtual void OnSetMaterial(const SMaterial& material, const SMaterial& lastMaterial, bool resetAllRenderstates, IMaterialRendererServices* services) = 0; | ||
136 | virtual bool OnRender(IMaterialRendererServices* service, E_VERTEX_TYPE vtxtype) = 0; | ||
137 | virtual void OnUnsetMaterial() = 0; | ||
138 | |||
139 | virtual bool isTransparent() const; | ||
140 | |||
141 | virtual void setBasicRenderStates(const SMaterial& material, const SMaterial& lastMaterial, bool resetAllRenderstates) = 0; | ||
142 | virtual bool setVertexShaderConstant(const c8* name, const f32* floats, int count); | ||
143 | virtual bool setVertexShaderConstant(const c8* name, const bool* bools, int count); | ||
144 | virtual bool setVertexShaderConstant(const c8* name, const s32* ints, int count); | ||
145 | virtual void setVertexShaderConstant(const f32* data, s32 startRegister, s32 constantAmount=1); | ||
146 | virtual bool setPixelShaderConstant(const c8* name, const f32* floats, int count); | ||
147 | virtual bool setPixelShaderConstant(const c8* name, const bool* bools, int count); | ||
148 | virtual bool setPixelShaderConstant(const c8* name, const s32* ints, int count); | ||
149 | virtual void setPixelShaderConstant(const f32* data, s32 startRegister, s32 constantAmount=1); | ||
150 | virtual IVideoDriver* getVideoDriver() = 0; | ||
151 | |||
152 | protected: | ||
153 | void getUniformList(); | ||
154 | |||
155 | IShaderConstantSetCallBack* CallBack; | ||
156 | IMaterialRenderer* BaseMaterial; | ||
157 | s32 UserData; | ||
158 | |||
159 | core::array<CCgUniform*> UniformInfo; | ||
160 | |||
161 | CGprogram VertexProgram; | ||
162 | CGprogram FragmentProgram; | ||
163 | CGprogram GeometryProgram; | ||
164 | CGprofile VertexProfile; | ||
165 | CGprofile FragmentProfile; | ||
166 | CGprofile GeometryProfile; | ||
167 | |||
168 | SMaterial Material; | ||
169 | CGerror Error; | ||
170 | }; | ||
171 | |||
172 | } | ||
173 | } | ||
174 | |||
175 | #endif | ||
176 | #endif | ||