aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/irrlicht-1.8/source/Irrlicht/IBurningShader.h
diff options
context:
space:
mode:
authorDavid Walter Seikel2013-01-13 18:54:10 +1000
committerDavid Walter Seikel2013-01-13 18:54:10 +1000
commit959831f4ef5a3e797f576c3de08cd65032c997ad (patch)
treee7351908be5995f0b325b2ebeaa02d5a34b82583 /libraries/irrlicht-1.8/source/Irrlicht/IBurningShader.h
parentAdd info about changes to Irrlicht. (diff)
downloadSledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.zip
SledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.tar.gz
SledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.tar.bz2
SledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.tar.xz
Remove damned ancient DOS line endings from Irrlicht. Hopefully I did not go overboard.
Diffstat (limited to 'libraries/irrlicht-1.8/source/Irrlicht/IBurningShader.h')
-rw-r--r--libraries/irrlicht-1.8/source/Irrlicht/IBurningShader.h402
1 files changed, 201 insertions, 201 deletions
diff --git a/libraries/irrlicht-1.8/source/Irrlicht/IBurningShader.h b/libraries/irrlicht-1.8/source/Irrlicht/IBurningShader.h
index 50f1059..7bd46dc 100644
--- a/libraries/irrlicht-1.8/source/Irrlicht/IBurningShader.h
+++ b/libraries/irrlicht-1.8/source/Irrlicht/IBurningShader.h
@@ -1,201 +1,201 @@
1// Copyright (C) 2002-2012 Nikolaus Gebhardt / Thomas Alten 1// Copyright (C) 2002-2012 Nikolaus Gebhardt / Thomas Alten
2// This file is part of the "Irrlicht Engine". 2// This file is part of the "Irrlicht Engine".
3// For conditions of distribution and use, see copyright notice in irrlicht.h 3// For conditions of distribution and use, see copyright notice in irrlicht.h
4 4
5#ifndef __I_BURNING_SHADER_H_INCLUDED__ 5#ifndef __I_BURNING_SHADER_H_INCLUDED__
6#define __I_BURNING_SHADER_H_INCLUDED__ 6#define __I_BURNING_SHADER_H_INCLUDED__
7 7
8#include "SoftwareDriver2_compile_config.h" 8#include "SoftwareDriver2_compile_config.h"
9#include "IReferenceCounted.h" 9#include "IReferenceCounted.h"
10#include "irrMath.h" 10#include "irrMath.h"
11#include "IImage.h" 11#include "IImage.h"
12#include "S2DVertex.h" 12#include "S2DVertex.h"
13#include "rect.h" 13#include "rect.h"
14#include "CDepthBuffer.h" 14#include "CDepthBuffer.h"
15#include "S4DVertex.h" 15#include "S4DVertex.h"
16#include "irrArray.h" 16#include "irrArray.h"
17#include "SLight.h" 17#include "SLight.h"
18#include "SMaterial.h" 18#include "SMaterial.h"
19#include "os.h" 19#include "os.h"
20 20
21 21
22namespace irr 22namespace irr
23{ 23{
24 24
25namespace video 25namespace video
26{ 26{
27 27
28 struct SBurningShaderLight 28 struct SBurningShaderLight
29 { 29 {
30 //SLight org; 30 //SLight org;
31 bool LightIsOn; 31 bool LightIsOn;
32 32
33 E_LIGHT_TYPE Type; 33 E_LIGHT_TYPE Type;
34 f32 radius; 34 f32 radius;
35 f32 linearAttenuation; 35 f32 linearAttenuation;
36 f32 constantAttenuation; 36 f32 constantAttenuation;
37 f32 quadraticAttenuation; 37 f32 quadraticAttenuation;
38 sVec4 pos; 38 sVec4 pos;
39 39
40 sVec3 AmbientColor; 40 sVec3 AmbientColor;
41 sVec3 DiffuseColor; 41 sVec3 DiffuseColor;
42 sVec3 SpecularColor; 42 sVec3 SpecularColor;
43 sVec4 pos_objectspace; 43 sVec4 pos_objectspace;
44 }; 44 };
45 45
46 enum eLightFlags 46 enum eLightFlags
47 { 47 {
48 ENABLED = 0x01, 48 ENABLED = 0x01,
49 POINTLIGHT = 0x02, 49 POINTLIGHT = 0x02,
50 SPECULAR = 0x04, 50 SPECULAR = 0x04,
51 FOG = 0x08, 51 FOG = 0x08,
52 NORMALIZE = 0x10, 52 NORMALIZE = 0x10,
53 VERTEXTRANSFORM = 0x20, 53 VERTEXTRANSFORM = 0x20,
54 }; 54 };
55 55
56 struct SBurningShaderLightSpace 56 struct SBurningShaderLightSpace
57 { 57 {
58 void reset () 58 void reset ()
59 { 59 {
60 Light.set_used ( 0 ); 60 Light.set_used ( 0 );
61 Global_AmbientLight.set ( 0.f, 0.f, 0.f ); 61 Global_AmbientLight.set ( 0.f, 0.f, 0.f );
62 Flags = 0; 62 Flags = 0;
63 } 63 }
64 core::array<SBurningShaderLight> Light; 64 core::array<SBurningShaderLight> Light;
65 sVec3 Global_AmbientLight; 65 sVec3 Global_AmbientLight;
66 sVec4 FogColor; 66 sVec4 FogColor;
67 sVec4 campos; 67 sVec4 campos;
68 sVec4 vertex; 68 sVec4 vertex;
69 sVec4 normal; 69 sVec4 normal;
70 u32 Flags; 70 u32 Flags;
71 }; 71 };
72 72
73 struct SBurningShaderMaterial 73 struct SBurningShaderMaterial
74 { 74 {
75 SMaterial org; 75 SMaterial org;
76 76
77 sVec3 AmbientColor; 77 sVec3 AmbientColor;
78 sVec3 DiffuseColor; 78 sVec3 DiffuseColor;
79 sVec3 SpecularColor; 79 sVec3 SpecularColor;
80 sVec3 EmissiveColor; 80 sVec3 EmissiveColor;
81 81
82 }; 82 };
83 83
84 enum EBurningFFShader 84 enum EBurningFFShader
85 { 85 {
86 ETR_FLAT = 0, 86 ETR_FLAT = 0,
87 ETR_FLAT_WIRE, 87 ETR_FLAT_WIRE,
88 ETR_GOURAUD, 88 ETR_GOURAUD,
89 ETR_GOURAUD_WIRE, 89 ETR_GOURAUD_WIRE,
90 ETR_TEXTURE_FLAT, 90 ETR_TEXTURE_FLAT,
91 ETR_TEXTURE_FLAT_WIRE, 91 ETR_TEXTURE_FLAT_WIRE,
92 ETR_TEXTURE_GOURAUD, 92 ETR_TEXTURE_GOURAUD,
93 ETR_TEXTURE_GOURAUD_WIRE, 93 ETR_TEXTURE_GOURAUD_WIRE,
94 ETR_TEXTURE_GOURAUD_NOZ, 94 ETR_TEXTURE_GOURAUD_NOZ,
95 ETR_TEXTURE_GOURAUD_ADD, 95 ETR_TEXTURE_GOURAUD_ADD,
96 ETR_TEXTURE_GOURAUD_ADD_NO_Z, 96 ETR_TEXTURE_GOURAUD_ADD_NO_Z,
97 97
98 ETR_TEXTURE_GOURAUD_VERTEX_ALPHA, 98 ETR_TEXTURE_GOURAUD_VERTEX_ALPHA,
99 99
100 ETR_TEXTURE_GOURAUD_LIGHTMAP_M1, 100 ETR_TEXTURE_GOURAUD_LIGHTMAP_M1,
101 ETR_TEXTURE_GOURAUD_LIGHTMAP_M2, 101 ETR_TEXTURE_GOURAUD_LIGHTMAP_M2,
102 ETR_TEXTURE_GOURAUD_LIGHTMAP_M4, 102 ETR_TEXTURE_GOURAUD_LIGHTMAP_M4,
103 ETR_TEXTURE_LIGHTMAP_M4, 103 ETR_TEXTURE_LIGHTMAP_M4,
104 104
105 ETR_TEXTURE_GOURAUD_DETAIL_MAP, 105 ETR_TEXTURE_GOURAUD_DETAIL_MAP,
106 ETR_TEXTURE_GOURAUD_LIGHTMAP_ADD, 106 ETR_TEXTURE_GOURAUD_LIGHTMAP_ADD,
107 107
108 ETR_GOURAUD_ALPHA, 108 ETR_GOURAUD_ALPHA,
109 ETR_GOURAUD_ALPHA_NOZ, 109 ETR_GOURAUD_ALPHA_NOZ,
110 110
111 ETR_TEXTURE_GOURAUD_ALPHA, 111 ETR_TEXTURE_GOURAUD_ALPHA,
112 ETR_TEXTURE_GOURAUD_ALPHA_NOZ, 112 ETR_TEXTURE_GOURAUD_ALPHA_NOZ,
113 113
114 ETR_NORMAL_MAP_SOLID, 114 ETR_NORMAL_MAP_SOLID,
115 ETR_STENCIL_SHADOW, 115 ETR_STENCIL_SHADOW,
116 116
117 ETR_TEXTURE_BLEND, 117 ETR_TEXTURE_BLEND,
118 ETR_REFERENCE, 118 ETR_REFERENCE,
119 ETR_INVALID, 119 ETR_INVALID,
120 120
121 ETR2_COUNT 121 ETR2_COUNT
122 }; 122 };
123 123
124 124
125 class CBurningVideoDriver; 125 class CBurningVideoDriver;
126 class IBurningShader : public virtual IReferenceCounted 126 class IBurningShader : public virtual IReferenceCounted
127 { 127 {
128 public: 128 public:
129 IBurningShader(CBurningVideoDriver* driver); 129 IBurningShader(CBurningVideoDriver* driver);
130 130
131 //! destructor 131 //! destructor
132 virtual ~IBurningShader(); 132 virtual ~IBurningShader();
133 133
134 //! sets a render target 134 //! sets a render target
135 virtual void setRenderTarget(video::IImage* surface, const core::rect<s32>& viewPort); 135 virtual void setRenderTarget(video::IImage* surface, const core::rect<s32>& viewPort);
136 136
137 //! sets the Texture 137 //! sets the Texture
138 virtual void setTextureParam( u32 stage, video::CSoftwareTexture2* texture, s32 lodLevel); 138 virtual void setTextureParam( u32 stage, video::CSoftwareTexture2* texture, s32 lodLevel);
139 virtual void drawTriangle ( const s4DVertex *a,const s4DVertex *b,const s4DVertex *c ) = 0; 139 virtual void drawTriangle ( const s4DVertex *a,const s4DVertex *b,const s4DVertex *c ) = 0;
140 virtual void drawLine ( const s4DVertex *a,const s4DVertex *b) {}; 140 virtual void drawLine ( const s4DVertex *a,const s4DVertex *b) {};
141 141
142 virtual void setParam ( u32 index, f32 value) {}; 142 virtual void setParam ( u32 index, f32 value) {};
143 virtual void setZCompareFunc ( u32 func) {}; 143 virtual void setZCompareFunc ( u32 func) {};
144 144
145 virtual void setMaterial ( const SBurningShaderMaterial &material ) {}; 145 virtual void setMaterial ( const SBurningShaderMaterial &material ) {};
146 146
147 protected: 147 protected:
148 148
149 CBurningVideoDriver *Driver; 149 CBurningVideoDriver *Driver;
150 150
151 video::CImage* RenderTarget; 151 video::CImage* RenderTarget;
152 CDepthBuffer* DepthBuffer; 152 CDepthBuffer* DepthBuffer;
153 CStencilBuffer * Stencil; 153 CStencilBuffer * Stencil;
154 tVideoSample ColorMask; 154 tVideoSample ColorMask;
155 155
156 sInternalTexture IT[ BURNING_MATERIAL_MAX_TEXTURES ]; 156 sInternalTexture IT[ BURNING_MATERIAL_MAX_TEXTURES ];
157 157
158 static const tFixPointu dithermask[ 4 * 4]; 158 static const tFixPointu dithermask[ 4 * 4];
159 }; 159 };
160 160
161 161
162 IBurningShader* createTriangleRendererTextureGouraud2(CBurningVideoDriver* driver); 162 IBurningShader* createTriangleRendererTextureGouraud2(CBurningVideoDriver* driver);
163 IBurningShader* createTriangleRendererTextureLightMap2_M1(CBurningVideoDriver* driver); 163 IBurningShader* createTriangleRendererTextureLightMap2_M1(CBurningVideoDriver* driver);
164 IBurningShader* createTriangleRendererTextureLightMap2_M2(CBurningVideoDriver* driver); 164 IBurningShader* createTriangleRendererTextureLightMap2_M2(CBurningVideoDriver* driver);
165 IBurningShader* createTriangleRendererTextureLightMap2_M4(CBurningVideoDriver* driver); 165 IBurningShader* createTriangleRendererTextureLightMap2_M4(CBurningVideoDriver* driver);
166 IBurningShader* createTriangleRendererGTextureLightMap2_M4(CBurningVideoDriver* driver); 166 IBurningShader* createTriangleRendererGTextureLightMap2_M4(CBurningVideoDriver* driver);
167 IBurningShader* createTriangleRendererTextureLightMap2_Add(CBurningVideoDriver* driver); 167 IBurningShader* createTriangleRendererTextureLightMap2_Add(CBurningVideoDriver* driver);
168 IBurningShader* createTriangleRendererTextureDetailMap2(CBurningVideoDriver* driver); 168 IBurningShader* createTriangleRendererTextureDetailMap2(CBurningVideoDriver* driver);
169 IBurningShader* createTriangleRendererTextureVertexAlpha2(CBurningVideoDriver* driver); 169 IBurningShader* createTriangleRendererTextureVertexAlpha2(CBurningVideoDriver* driver);
170 170
171 171
172 IBurningShader* createTriangleRendererTextureGouraudWire2(CBurningVideoDriver* driver); 172 IBurningShader* createTriangleRendererTextureGouraudWire2(CBurningVideoDriver* driver);
173 IBurningShader* createTriangleRendererGouraud2(CBurningVideoDriver* driver); 173 IBurningShader* createTriangleRendererGouraud2(CBurningVideoDriver* driver);
174 IBurningShader* createTriangleRendererGouraudAlpha2(CBurningVideoDriver* driver); 174 IBurningShader* createTriangleRendererGouraudAlpha2(CBurningVideoDriver* driver);
175 IBurningShader* createTRGouraudAlphaNoZ2(CBurningVideoDriver* driver); 175 IBurningShader* createTRGouraudAlphaNoZ2(CBurningVideoDriver* driver);
176 IBurningShader* createTriangleRendererGouraudWire2(CBurningVideoDriver* driver); 176 IBurningShader* createTriangleRendererGouraudWire2(CBurningVideoDriver* driver);
177 IBurningShader* createTriangleRendererTextureFlat2(CBurningVideoDriver* driver); 177 IBurningShader* createTriangleRendererTextureFlat2(CBurningVideoDriver* driver);
178 IBurningShader* createTriangleRendererTextureFlatWire2(CBurningVideoDriver* driver); 178 IBurningShader* createTriangleRendererTextureFlatWire2(CBurningVideoDriver* driver);
179 IBurningShader* createTRFlat2(CBurningVideoDriver* driver); 179 IBurningShader* createTRFlat2(CBurningVideoDriver* driver);
180 IBurningShader* createTRFlatWire2(CBurningVideoDriver* driver); 180 IBurningShader* createTRFlatWire2(CBurningVideoDriver* driver);
181 IBurningShader* createTRTextureGouraudNoZ2(CBurningVideoDriver* driver); 181 IBurningShader* createTRTextureGouraudNoZ2(CBurningVideoDriver* driver);
182 IBurningShader* createTRTextureGouraudAdd2(CBurningVideoDriver* driver); 182 IBurningShader* createTRTextureGouraudAdd2(CBurningVideoDriver* driver);
183 IBurningShader* createTRTextureGouraudAddNoZ2(CBurningVideoDriver* driver); 183 IBurningShader* createTRTextureGouraudAddNoZ2(CBurningVideoDriver* driver);
184 184
185 IBurningShader* createTRTextureGouraudAlpha(CBurningVideoDriver* driver); 185 IBurningShader* createTRTextureGouraudAlpha(CBurningVideoDriver* driver);
186 IBurningShader* createTRTextureGouraudAlphaNoZ(CBurningVideoDriver* driver); 186 IBurningShader* createTRTextureGouraudAlphaNoZ(CBurningVideoDriver* driver);
187 IBurningShader* createTRTextureBlend(CBurningVideoDriver* driver); 187 IBurningShader* createTRTextureBlend(CBurningVideoDriver* driver);
188 IBurningShader* createTRTextureInverseAlphaBlend(CBurningVideoDriver* driver); 188 IBurningShader* createTRTextureInverseAlphaBlend(CBurningVideoDriver* driver);
189 189
190 IBurningShader* createTRNormalMap(CBurningVideoDriver* driver); 190 IBurningShader* createTRNormalMap(CBurningVideoDriver* driver);
191 IBurningShader* createTRStencilShadow(CBurningVideoDriver* driver); 191 IBurningShader* createTRStencilShadow(CBurningVideoDriver* driver);
192 192
193 IBurningShader* createTriangleRendererReference(CBurningVideoDriver* driver); 193 IBurningShader* createTriangleRendererReference(CBurningVideoDriver* driver);
194 194
195 195
196 196
197} // end namespace video 197} // end namespace video
198} // end namespace irr 198} // end namespace irr
199 199
200#endif 200#endif
201 201