ruby-ogre 0.0.3-x86-linux → 0.0.4-x86-linux
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
};
|