ruby-ogre 0.0.3-x86-linux → 0.0.4-x86-linux
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +7 -8
- data/bindings/ogre/interface/ogre_all.i +1 -0
- data/bindings/ogre/interface/ogre_wrap.cpp +591 -46
- data/bindings/ogre/interface/ogre_wrap.o +0 -0
- data/bindings/ogrebites/interface/ogrebites_wrap.o +0 -0
- data/bindings/procedural/interface/procedural_wrap.o +0 -0
- data/deps/include/OGRE/OgreAny.h +23 -1
- data/deps/include/OGRE/OgreBillboardChain.h +5 -1
- data/deps/include/OGRE/OgreBillboardParticleRenderer.h +2 -0
- data/deps/include/OGRE/OgreConfigDialog.h +0 -2
- data/deps/include/OGRE/OgreDynLib.h +1 -7
- data/deps/include/OGRE/OgreErrorDialog.h +0 -2
- data/deps/include/OGRE/OgreHeaderSuffix.h +3 -3
- data/deps/include/OGRE/OgreInstanceBatch.h +4 -0
- data/deps/include/OGRE/OgreInstanceManager.h +5 -0
- data/deps/include/OGRE/OgreIteratorRange.h +13 -2
- data/deps/include/OGRE/OgreParticleSystem.h +2 -0
- data/deps/include/OGRE/OgreParticleSystemRenderer.h +4 -0
- data/deps/include/OGRE/OgrePlatform.h +5 -28
- data/deps/include/OGRE/OgrePrerequisites.h +1 -1
- data/deps/include/OGRE/OgreProfiler.h +102 -59
- data/deps/include/OGRE/OgreProgressiveMesh.h +2 -2
- data/deps/include/OGRE/OgreRenderSystem.h +18 -1
- data/deps/include/OGRE/OgreRoot.h +1 -1
- data/deps/include/OGRE/OgreSearchOps.h +0 -5
- data/deps/include/OGRE/OgreSimpleRenderable.h +1 -1
- data/deps/include/OGRE/OgreStdHeaders.h +2 -2
- data/deps/include/OGRE/OgreStringConverter.h +5 -0
- data/deps/include/OGRE/OgreTimer.h +1 -1
- data/deps/include/OGRE/OgreUTFString.h +0 -2
- data/deps/include/OGRE/OgreWindowEventUtilities.h +3 -1
- data/deps/include/OGRE/OgreWorkQueue.h +2 -2
- data/deps/include/OGRE/RTShaderSystem/OgreShaderCGProgramProcessor.h +5 -5
- data/deps/include/OGRE/RTShaderSystem/OgreShaderCGProgramWriter.h +17 -15
- data/deps/include/OGRE/RTShaderSystem/OgreShaderExDualQuaternionSkinning.h +3 -3
- data/deps/include/OGRE/RTShaderSystem/OgreShaderExHardwareSkinning.h +5 -4
- data/deps/include/OGRE/RTShaderSystem/OgreShaderExHardwareSkinningTechnique.h +3 -3
- data/deps/include/OGRE/RTShaderSystem/OgreShaderExIntegratedPSSM3.h +50 -32
- data/deps/include/OGRE/RTShaderSystem/OgreShaderExLayeredBlending.h +13 -9
- data/deps/include/OGRE/RTShaderSystem/OgreShaderExLinearSkinning.h +7 -7
- data/deps/include/OGRE/RTShaderSystem/OgreShaderExNormalMapLighting.h +149 -95
- data/deps/include/OGRE/RTShaderSystem/OgreShaderExPerPixelLighting.h +91 -59
- data/deps/include/OGRE/RTShaderSystem/OgreShaderExTextureAtlasSampler.h +14 -9
- data/deps/include/OGRE/RTShaderSystem/OgreShaderFFPColour.h +33 -24
- data/deps/include/OGRE/RTShaderSystem/OgreShaderFFPFog.h +44 -30
- data/deps/include/OGRE/RTShaderSystem/OgreShaderFFPLighting.h +70 -45
- data/deps/include/OGRE/RTShaderSystem/OgreShaderFFPRenderStateBuilder.h +11 -10
- data/deps/include/OGRE/RTShaderSystem/OgreShaderFFPTexturing.h +73 -64
- data/deps/include/OGRE/RTShaderSystem/OgreShaderFFPTransform.h +8 -8
- data/deps/include/OGRE/RTShaderSystem/OgreShaderFunction.h +42 -35
- data/deps/include/OGRE/RTShaderSystem/OgreShaderFunctionAtom.h +38 -32
- data/deps/include/OGRE/RTShaderSystem/OgreShaderGLSLESProgramProcessor.h +9 -8
- data/deps/include/OGRE/RTShaderSystem/OgreShaderGLSLESProgramWriter.h +45 -36
- data/deps/include/OGRE/RTShaderSystem/OgreShaderGLSLProgramProcessor.h +9 -8
- data/deps/include/OGRE/RTShaderSystem/OgreShaderGLSLProgramWriter.h +26 -20
- data/deps/include/OGRE/RTShaderSystem/OgreShaderGenerator.h +211 -160
- data/deps/include/OGRE/RTShaderSystem/OgreShaderHLSLProgramProcessor.h +5 -5
- data/deps/include/OGRE/RTShaderSystem/OgreShaderHLSLProgramWriter.h +17 -15
- data/deps/include/OGRE/RTShaderSystem/OgreShaderMaterialSerializerListener.h +5 -3
- data/deps/include/OGRE/RTShaderSystem/OgreShaderParameter.h +86 -73
- data/deps/include/OGRE/RTShaderSystem/OgreShaderProgram.h +36 -30
- data/deps/include/OGRE/RTShaderSystem/OgreShaderProgramManager.h +38 -31
- data/deps/include/OGRE/RTShaderSystem/OgreShaderProgramProcessor.h +54 -43
- data/deps/include/OGRE/RTShaderSystem/OgreShaderProgramSet.h +18 -14
- data/deps/include/OGRE/RTShaderSystem/OgreShaderProgramWriter.h +10 -10
- data/deps/include/OGRE/RTShaderSystem/OgreShaderRenderState.h +28 -23
- data/deps/include/OGRE/RTShaderSystem/OgreShaderScriptTranslator.h +2 -1
- data/deps/include/OGRE/RTShaderSystem/OgreShaderSubRenderState.h +35 -32
- data/deps/include/OGRE/RenderSystems/GL/GL/wglew.h +2 -2
- data/deps/include/OGRE/RenderSystems/GL/GL/wglext.h +2 -2
- data/deps/include/OGRE/RenderSystems/GL/OgreGLRenderSystem.h +10 -1
- data/deps/include/OGRE/RenderSystems/GL/OgreGLTextureManager.h +2 -0
- data/deps/include/OGRE/Sample.h +5 -0
- data/deps/include/OGRE/SampleContext.h +13 -3
- data/deps/lib/OGRE/Plugin_BSPSceneManager.so +0 -0
- data/deps/lib/OGRE/Plugin_BSPSceneManager.so.1.8.1 +0 -0
- data/deps/lib/OGRE/Plugin_CgProgramManager.so +0 -0
- data/deps/lib/OGRE/Plugin_CgProgramManager.so.1.8.1 +0 -0
- data/deps/lib/OGRE/Plugin_OctreeSceneManager.so +0 -0
- data/deps/lib/OGRE/Plugin_OctreeSceneManager.so.1.8.1 +0 -0
- data/deps/lib/OGRE/Plugin_OctreeZone.so +0 -0
- data/deps/lib/OGRE/Plugin_OctreeZone.so.1.8.1 +0 -0
- data/deps/lib/OGRE/Plugin_PCZSceneManager.so +0 -0
- data/deps/lib/OGRE/Plugin_PCZSceneManager.so.1.8.1 +0 -0
- data/deps/lib/OGRE/Plugin_ParticleFX.so +0 -0
- data/deps/lib/OGRE/Plugin_ParticleFX.so.1.8.1 +0 -0
- data/deps/lib/OGRE/RenderSystem_GL.so +0 -0
- data/deps/lib/OGRE/RenderSystem_GL.so.1.8.1 +0 -0
- data/deps/lib/libOgreMain.so +0 -0
- data/deps/lib/libOgreMain.so.1.8.1 +0 -0
- data/deps/lib/libOgrePaging.so +0 -0
- data/deps/lib/libOgrePaging.so.1.8.1 +0 -0
- data/deps/lib/libOgreProcedural.so +0 -0
- data/deps/lib/libOgreRTShaderSystem.so +0 -0
- data/deps/lib/libOgreRTShaderSystem.so.1.8.1 +0 -0
- data/deps/lib/libOgreTerrain.so +0 -0
- data/deps/lib/libOgreTerrain.so.1.8.1 +0 -0
- data/deps/share/OGRE/media/materials/programs/DiffuseOneTexture.glsles +17 -0
- data/deps/share/OGRE/media/packs/profiler.zip +0 -0
- data/lib/ogre.so +0 -0
- data/lib/ogrebites.so +0 -0
- data/lib/procedural.so +0 -0
- data/lib/version.rb +1 -1
- data/sample/charactor/sinbad.rb +8 -4
- metadata +16 -4
@@ -71,38 +71,38 @@ public:
|
|
71
71
|
/**
|
72
72
|
@see SubRenderState::getType.
|
73
73
|
*/
|
74
|
-
virtual const String&
|
74
|
+
virtual const String& getType() const;
|
75
75
|
|
76
76
|
/**
|
77
77
|
@see SubRenderState::getType.
|
78
78
|
*/
|
79
|
-
virtual int
|
79
|
+
virtual int getExecutionOrder() const;
|
80
80
|
|
81
81
|
/**
|
82
82
|
@see SubRenderState::updateGpuProgramsParams.
|
83
83
|
*/
|
84
|
-
virtual void
|
84
|
+
virtual void updateGpuProgramsParams(Renderable* rend, Pass* pass, const AutoParamDataSource* source, const LightList* pLightList);
|
85
85
|
|
86
86
|
/**
|
87
87
|
@see SubRenderState::copyFrom.
|
88
88
|
*/
|
89
|
-
virtual void
|
89
|
+
virtual void copyFrom(const SubRenderState& rhs);
|
90
90
|
|
91
91
|
|
92
92
|
/**
|
93
93
|
@see SubRenderState::preAddToRenderState.
|
94
94
|
*/
|
95
|
-
virtual bool
|
95
|
+
virtual bool preAddToRenderState(const RenderState* renderState, Pass* srcPass, Pass* dstPass);
|
96
96
|
|
97
97
|
/**
|
98
98
|
Set the index of the input vertex shader texture coordinate set
|
99
99
|
*/
|
100
|
-
void
|
100
|
+
void setTexCoordIndex(unsigned int index) { mVSTexCoordSetIndex = index;}
|
101
101
|
|
102
102
|
/**
|
103
103
|
Return the index of the input vertex shader texture coordinate set.
|
104
104
|
*/
|
105
|
-
unsigned int
|
105
|
+
unsigned int getTexCoordIndex() const { return mVSTexCoordSetIndex; }
|
106
106
|
|
107
107
|
// Type of this render state.
|
108
108
|
static String Type;
|
@@ -126,20 +126,20 @@ public:
|
|
126
126
|
Set the normal map space.
|
127
127
|
@param normalMapSpace The normal map space.
|
128
128
|
*/
|
129
|
-
void
|
129
|
+
void setNormalMapSpace(NormalMapSpace normalMapSpace) { mNormalMapSpace = normalMapSpace; }
|
130
130
|
|
131
131
|
/** Return the normal map space. */
|
132
|
-
NormalMapSpace
|
132
|
+
NormalMapSpace getNormalMapSpace() const { return mNormalMapSpace; }
|
133
133
|
|
134
134
|
/**
|
135
135
|
Set the normal map texture name.
|
136
136
|
*/
|
137
|
-
void
|
137
|
+
void setNormalMapTextureName(const String& textureName) { mNormalMapTextureName = textureName; }
|
138
138
|
|
139
139
|
/**
|
140
140
|
Return the normal map texture name.
|
141
141
|
*/
|
142
|
-
const String&
|
142
|
+
const String& getNormalMapTextureName() const { return mNormalMapTextureName; }
|
143
143
|
|
144
144
|
/**
|
145
145
|
Set the normal map filtering attributes.
|
@@ -147,7 +147,7 @@ public:
|
|
147
147
|
@param magFilter The desired mag filter.
|
148
148
|
@param mipFilter The desired mip filter.
|
149
149
|
*/
|
150
|
-
void
|
150
|
+
void setNormalMapFiltering(const FilterOptions minFilter, const FilterOptions magFilter, const FilterOptions mipFilter)
|
151
151
|
{ mNormalMapMinFilter = minFilter; mNormalMapMagFilter = magFilter; mNormalMapMipFilter = mipFilter; }
|
152
152
|
|
153
153
|
/**
|
@@ -156,27 +156,27 @@ public:
|
|
156
156
|
@param magFilter The desired mag filter.
|
157
157
|
@param mipFilter The desired mip filter.
|
158
158
|
*/
|
159
|
-
void
|
159
|
+
void getNormalMapFiltering(FilterOptions& minFilter, FilterOptions& magFilter, FilterOptions& mipFilter) const
|
160
160
|
{ minFilter = mNormalMapMinFilter; magFilter = mNormalMapMagFilter ; mipFilter = mNormalMapMipFilter; }
|
161
161
|
|
162
162
|
/** Setup the normal map anisotropy value.
|
163
163
|
@param anisotropy The anisotropy value.
|
164
164
|
*/
|
165
|
-
void
|
165
|
+
void setNormalMapAnisotropy(unsigned int anisotropy) { mNormalMapAnisotropy = anisotropy; }
|
166
166
|
|
167
167
|
|
168
168
|
/** Return the normal map anisotropy value. */
|
169
|
-
unsigned int
|
169
|
+
unsigned int getNormalMapAnisotropy() const { return mNormalMapAnisotropy; }
|
170
170
|
|
171
171
|
|
172
172
|
/** Setup the normal map anisotropy value.
|
173
173
|
@param anisotropy The anisotropy value.
|
174
174
|
*/
|
175
|
-
void
|
175
|
+
void setNormalMapMipBias(Real mipBias) { mNormalMapMipBias = mipBias; }
|
176
176
|
|
177
177
|
|
178
178
|
/** Return the normal map mip bias value. */
|
179
|
-
Real
|
179
|
+
Real getNormalMapMipBias() const { return mNormalMapMipBias; }
|
180
180
|
|
181
181
|
|
182
182
|
|
@@ -186,23 +186,34 @@ protected:
|
|
186
186
|
// Per light parameters.
|
187
187
|
struct _OgreRTSSExport LightParams
|
188
188
|
{
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
ParameterPtr
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
UniformParameterPtr
|
199
|
-
|
189
|
+
// Light type.
|
190
|
+
Light::LightTypes mType;
|
191
|
+
// Light position.
|
192
|
+
UniformParameterPtr mPosition;
|
193
|
+
// Vertex shader output vertex position to light position direction (texture space).
|
194
|
+
ParameterPtr mVSOutToLightDir;
|
195
|
+
// Pixel shader input vertex position to light position direction (texture space).
|
196
|
+
ParameterPtr mPSInToLightDir;
|
197
|
+
// Light direction.
|
198
|
+
UniformParameterPtr mDirection;
|
199
|
+
// Vertex shader output light direction (texture space).
|
200
|
+
ParameterPtr mVSOutDirection;
|
201
|
+
// Pixel shader input light direction (texture space).
|
202
|
+
ParameterPtr mPSInDirection;
|
203
|
+
// Attenuation parameters.
|
204
|
+
UniformParameterPtr mAttenuatParams;
|
205
|
+
// Spot light parameters.
|
206
|
+
UniformParameterPtr mSpotParams;
|
207
|
+
// Diffuse colour.
|
208
|
+
UniformParameterPtr mDiffuseColour;
|
209
|
+
// Specular colour.
|
210
|
+
UniformParameterPtr mSpecularColour;
|
200
211
|
|
201
212
|
};
|
202
213
|
|
203
|
-
typedef vector<LightParams>::type
|
204
|
-
typedef LightParamsList::iterator
|
205
|
-
typedef LightParamsList::const_iterator
|
214
|
+
typedef vector<LightParams>::type LightParamsList;
|
215
|
+
typedef LightParamsList::iterator LightParamsIterator;
|
216
|
+
typedef LightParamsList::const_iterator LightParamsConstIterator;
|
206
217
|
|
207
218
|
// Protected methods
|
208
219
|
protected:
|
@@ -212,137 +223,180 @@ protected:
|
|
212
223
|
can be the vertex colour component. To establish such a link one should provide the matching flags to this
|
213
224
|
sub render state.
|
214
225
|
*/
|
215
|
-
void
|
226
|
+
void setTrackVertexColourType(TrackVertexColourType type) { mTrackVertexColourType = type; }
|
216
227
|
|
217
228
|
/**
|
218
229
|
Return the current track per vertex type.
|
219
230
|
*/
|
220
|
-
TrackVertexColourType
|
231
|
+
TrackVertexColourType getTrackVertexColourType() const { return mTrackVertexColourType; }
|
221
232
|
|
222
233
|
|
223
234
|
/**
|
224
235
|
Set the light count per light type that this sub render state will generate.
|
225
236
|
@see ShaderGenerator::setLightCount.
|
226
237
|
*/
|
227
|
-
void
|
238
|
+
void setLightCount(const int lightCount[3]);
|
228
239
|
|
229
240
|
/**
|
230
241
|
Get the light count per light type that this sub render state will generate.
|
231
242
|
@see ShaderGenerator::getLightCount.
|
232
243
|
*/
|
233
|
-
void
|
244
|
+
void getLightCount(int lightCount[3]) const;
|
234
245
|
/**
|
235
246
|
Set the specular component state. If set to true this sub render state will compute a specular
|
236
247
|
lighting component in addition to the diffuse component.
|
237
248
|
@param enable Pass true to enable specular component computation.
|
238
249
|
*/
|
239
|
-
void
|
250
|
+
void setSpecularEnable(bool enable) { mSpecularEnable = enable; }
|
240
251
|
|
241
252
|
/**
|
242
253
|
Get the specular component state.
|
243
254
|
*/
|
244
|
-
bool
|
255
|
+
bool getSpecularEnable() const { return mSpecularEnable; }
|
245
256
|
|
246
257
|
|
247
258
|
/**
|
248
259
|
@see SubRenderState::resolveParameters.
|
249
260
|
*/
|
250
|
-
virtual bool
|
261
|
+
virtual bool resolveParameters(ProgramSet* programSet);
|
251
262
|
|
252
263
|
/** Resolve global lighting parameters */
|
253
|
-
bool
|
264
|
+
bool resolveGlobalParameters(ProgramSet* programSet);
|
254
265
|
|
255
266
|
/** Resolve per light parameters */
|
256
|
-
bool
|
267
|
+
bool resolvePerLightParameters(ProgramSet* programSet);
|
257
268
|
|
258
269
|
/**
|
259
270
|
@see SubRenderState::resolveDependencies.
|
260
271
|
*/
|
261
|
-
virtual bool
|
272
|
+
virtual bool resolveDependencies(ProgramSet* programSet);
|
262
273
|
|
263
274
|
/**
|
264
275
|
@see SubRenderState::addFunctionInvocations.
|
265
276
|
*/
|
266
|
-
virtual bool
|
277
|
+
virtual bool addFunctionInvocations(ProgramSet* programSet);
|
267
278
|
|
268
279
|
|
269
280
|
/**
|
270
281
|
Internal method that adds related vertex shader functions invocations.
|
271
282
|
*/
|
272
|
-
bool
|
283
|
+
bool addVSInvocation(Function* vsMain, const int groupOrder, int& internalCounter);
|
273
284
|
|
274
285
|
/**
|
275
286
|
Internal method that adds per light illumination component functions invocations.
|
276
287
|
*/
|
277
|
-
bool
|
288
|
+
bool addVSIlluminationInvocation(LightParams* curLightParams, Function* vsMain, const int groupOrder, int& internalCounter);
|
278
289
|
|
279
290
|
/**
|
280
291
|
Internal method that perform normal fetch invocation.
|
281
292
|
*/
|
282
|
-
bool
|
293
|
+
bool addPSNormalFetchInvocation(Function* psMain, const int groupOrder, int& internalCounter);
|
283
294
|
|
284
295
|
|
285
296
|
/**
|
286
297
|
Internal method that adds global illumination component functions invocations.
|
287
298
|
*/
|
288
|
-
bool
|
299
|
+
bool addPSGlobalIlluminationInvocation(Function* psMain, const int groupOrder, int& internalCounter);
|
289
300
|
|
290
301
|
/**
|
291
302
|
Internal method that adds per light illumination component functions invocations.
|
292
303
|
*/
|
293
|
-
bool
|
304
|
+
bool addPSIlluminationInvocation(LightParams* curLightParams, Function* psMain, const int groupOrder, int& internalCounter);
|
294
305
|
|
295
306
|
/**
|
296
307
|
Internal method that adds the final colour assignments.
|
297
308
|
*/
|
298
|
-
bool
|
309
|
+
bool addPSFinalAssignmentInvocation(Function* psMain, const int groupOrder, int& internalCounter);
|
299
310
|
|
300
311
|
|
301
312
|
// Attributes.
|
302
313
|
protected:
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
unsigned
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
ParameterPtr
|
335
|
-
|
336
|
-
ParameterPtr
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
314
|
+
// The normal map texture name.
|
315
|
+
String mNormalMapTextureName;
|
316
|
+
// Track per vertex colour type.
|
317
|
+
TrackVertexColourType mTrackVertexColourType;
|
318
|
+
// Specular component enabled/disabled.
|
319
|
+
bool mSpecularEnable;
|
320
|
+
// Light list.
|
321
|
+
LightParamsList mLightParamsList;
|
322
|
+
// Normal map texture sampler index.
|
323
|
+
unsigned short mNormalMapSamplerIndex;
|
324
|
+
// Vertex shader input texture coordinate set index.
|
325
|
+
unsigned int mVSTexCoordSetIndex;
|
326
|
+
// The normal map min filter.
|
327
|
+
FilterOptions mNormalMapMinFilter;
|
328
|
+
// The normal map mag filter.
|
329
|
+
FilterOptions mNormalMapMagFilter;
|
330
|
+
// The normal map mip filter.
|
331
|
+
FilterOptions mNormalMapMipFilter;
|
332
|
+
// The normal map max anisotropy value.
|
333
|
+
unsigned int mNormalMapAnisotropy;
|
334
|
+
// The normal map mip map bias.
|
335
|
+
Real mNormalMapMipBias;
|
336
|
+
// The normal map space.
|
337
|
+
NormalMapSpace mNormalMapSpace;
|
338
|
+
// World matrix parameter.
|
339
|
+
UniformParameterPtr mWorldMatrix;
|
340
|
+
// World matrix inverse rotation matrix parameter.
|
341
|
+
UniformParameterPtr mWorldInvRotMatrix;
|
342
|
+
// Camera position in world space parameter.
|
343
|
+
UniformParameterPtr mCamPosWorldSpace;
|
344
|
+
// Vertex shader input position parameter.
|
345
|
+
ParameterPtr mVSInPosition;
|
346
|
+
// Vertex shader world position parameter.
|
347
|
+
ParameterPtr mVSWorldPosition;
|
348
|
+
// Vertex shader output view vector (position in camera space) parameter.
|
349
|
+
ParameterPtr mVSOutView;
|
350
|
+
// Pixel shader input view position (position in camera space) parameter.
|
351
|
+
ParameterPtr mPSInView;
|
352
|
+
// Vertex shader input normal.
|
353
|
+
ParameterPtr mVSInNormal;
|
354
|
+
// Vertex shader input tangent.
|
355
|
+
ParameterPtr mVSInTangent;
|
356
|
+
// Vertex shader local TNB matrix.
|
357
|
+
ParameterPtr mVSTBNMatrix;
|
358
|
+
// Vertex shader local light direction.
|
359
|
+
ParameterPtr mVSLocalDir;
|
360
|
+
// Normal map texture sampler parameter.
|
361
|
+
UniformParameterPtr mNormalMapSampler;
|
362
|
+
// Pixel shader normal parameter.
|
363
|
+
ParameterPtr mPSNormal;
|
364
|
+
// Vertex shader input texture coordinates.
|
365
|
+
ParameterPtr mVSInTexcoord;
|
366
|
+
// Vertex shader output texture coordinates.
|
367
|
+
ParameterPtr mVSOutTexcoord;
|
368
|
+
// Pixel shader input texture coordinates.
|
369
|
+
ParameterPtr mPSInTexcoord;
|
370
|
+
// Pixel shader temporary diffuse calculation parameter.
|
371
|
+
ParameterPtr mPSTempDiffuseColour;
|
372
|
+
// Pixel shader temporary specular calculation parameter.
|
373
|
+
ParameterPtr mPSTempSpecularColour;
|
374
|
+
// Pixel shader input/local diffuse parameter.
|
375
|
+
ParameterPtr mPSDiffuse;
|
376
|
+
// Pixel shader input/local specular parameter.
|
377
|
+
ParameterPtr mPSSpecular;
|
378
|
+
// Pixel shader output diffuse parameter.
|
379
|
+
ParameterPtr mPSOutDiffuse;
|
380
|
+
// Pixel shader output specular parameter.
|
381
|
+
ParameterPtr mPSOutSpecular;
|
382
|
+
// Derived scene colour parameter.
|
383
|
+
UniformParameterPtr mDerivedSceneColour;
|
384
|
+
// Ambient light colour parameter.
|
385
|
+
UniformParameterPtr mLightAmbientColour;
|
386
|
+
// Derived ambient light colour parameter.
|
387
|
+
UniformParameterPtr mDerivedAmbientLightColour;
|
388
|
+
// Surface ambient colour parameter.
|
389
|
+
UniformParameterPtr mSurfaceAmbientColour;
|
390
|
+
// Surface diffuse colour parameter.
|
391
|
+
UniformParameterPtr mSurfaceDiffuseColour;
|
392
|
+
// Surface specular colour parameter.
|
393
|
+
UniformParameterPtr mSurfaceSpecularColour;
|
394
|
+
// Surface emissive colour parameter.
|
395
|
+
UniformParameterPtr mSurfaceEmissiveColour;
|
396
|
+
// Surface shininess parameter.
|
397
|
+
UniformParameterPtr mSurfaceShininess;
|
398
|
+
// Shared blank light.
|
399
|
+
static Light msBlankLight;
|
346
400
|
};
|
347
401
|
|
348
402
|
|
@@ -357,17 +411,17 @@ public:
|
|
357
411
|
/**
|
358
412
|
@see SubRenderStateFactory::getType.
|
359
413
|
*/
|
360
|
-
virtual const String&
|
414
|
+
virtual const String& getType() const;
|
361
415
|
|
362
416
|
/**
|
363
417
|
@see SubRenderStateFactory::createInstance.
|
364
418
|
*/
|
365
|
-
virtual SubRenderState*
|
419
|
+
virtual SubRenderState* createInstance(ScriptCompiler* compiler, PropertyAbstractNode* prop, Pass* pass, SGScriptTranslator* translator);
|
366
420
|
|
367
421
|
/**
|
368
422
|
@see SubRenderStateFactory::writeInstance.
|
369
423
|
*/
|
370
|
-
virtual void
|
424
|
+
virtual void writeInstance(MaterialSerializer* ser, SubRenderState* subRenderState, Pass* srcPass, Pass* dstPass);
|
371
425
|
|
372
426
|
|
373
427
|
protected:
|
@@ -375,7 +429,7 @@ protected:
|
|
375
429
|
/**
|
376
430
|
@see SubRenderStateFactory::createInstanceImpl.
|
377
431
|
*/
|
378
|
-
virtual SubRenderState*
|
432
|
+
virtual SubRenderState* createInstanceImpl();
|
379
433
|
|
380
434
|
|
381
435
|
};
|