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.
Files changed (105) hide show
  1. data/Rakefile +7 -8
  2. data/bindings/ogre/interface/ogre_all.i +1 -0
  3. data/bindings/ogre/interface/ogre_wrap.cpp +591 -46
  4. data/bindings/ogre/interface/ogre_wrap.o +0 -0
  5. data/bindings/ogrebites/interface/ogrebites_wrap.o +0 -0
  6. data/bindings/procedural/interface/procedural_wrap.o +0 -0
  7. data/deps/include/OGRE/OgreAny.h +23 -1
  8. data/deps/include/OGRE/OgreBillboardChain.h +5 -1
  9. data/deps/include/OGRE/OgreBillboardParticleRenderer.h +2 -0
  10. data/deps/include/OGRE/OgreConfigDialog.h +0 -2
  11. data/deps/include/OGRE/OgreDynLib.h +1 -7
  12. data/deps/include/OGRE/OgreErrorDialog.h +0 -2
  13. data/deps/include/OGRE/OgreHeaderSuffix.h +3 -3
  14. data/deps/include/OGRE/OgreInstanceBatch.h +4 -0
  15. data/deps/include/OGRE/OgreInstanceManager.h +5 -0
  16. data/deps/include/OGRE/OgreIteratorRange.h +13 -2
  17. data/deps/include/OGRE/OgreParticleSystem.h +2 -0
  18. data/deps/include/OGRE/OgreParticleSystemRenderer.h +4 -0
  19. data/deps/include/OGRE/OgrePlatform.h +5 -28
  20. data/deps/include/OGRE/OgrePrerequisites.h +1 -1
  21. data/deps/include/OGRE/OgreProfiler.h +102 -59
  22. data/deps/include/OGRE/OgreProgressiveMesh.h +2 -2
  23. data/deps/include/OGRE/OgreRenderSystem.h +18 -1
  24. data/deps/include/OGRE/OgreRoot.h +1 -1
  25. data/deps/include/OGRE/OgreSearchOps.h +0 -5
  26. data/deps/include/OGRE/OgreSimpleRenderable.h +1 -1
  27. data/deps/include/OGRE/OgreStdHeaders.h +2 -2
  28. data/deps/include/OGRE/OgreStringConverter.h +5 -0
  29. data/deps/include/OGRE/OgreTimer.h +1 -1
  30. data/deps/include/OGRE/OgreUTFString.h +0 -2
  31. data/deps/include/OGRE/OgreWindowEventUtilities.h +3 -1
  32. data/deps/include/OGRE/OgreWorkQueue.h +2 -2
  33. data/deps/include/OGRE/RTShaderSystem/OgreShaderCGProgramProcessor.h +5 -5
  34. data/deps/include/OGRE/RTShaderSystem/OgreShaderCGProgramWriter.h +17 -15
  35. data/deps/include/OGRE/RTShaderSystem/OgreShaderExDualQuaternionSkinning.h +3 -3
  36. data/deps/include/OGRE/RTShaderSystem/OgreShaderExHardwareSkinning.h +5 -4
  37. data/deps/include/OGRE/RTShaderSystem/OgreShaderExHardwareSkinningTechnique.h +3 -3
  38. data/deps/include/OGRE/RTShaderSystem/OgreShaderExIntegratedPSSM3.h +50 -32
  39. data/deps/include/OGRE/RTShaderSystem/OgreShaderExLayeredBlending.h +13 -9
  40. data/deps/include/OGRE/RTShaderSystem/OgreShaderExLinearSkinning.h +7 -7
  41. data/deps/include/OGRE/RTShaderSystem/OgreShaderExNormalMapLighting.h +149 -95
  42. data/deps/include/OGRE/RTShaderSystem/OgreShaderExPerPixelLighting.h +91 -59
  43. data/deps/include/OGRE/RTShaderSystem/OgreShaderExTextureAtlasSampler.h +14 -9
  44. data/deps/include/OGRE/RTShaderSystem/OgreShaderFFPColour.h +33 -24
  45. data/deps/include/OGRE/RTShaderSystem/OgreShaderFFPFog.h +44 -30
  46. data/deps/include/OGRE/RTShaderSystem/OgreShaderFFPLighting.h +70 -45
  47. data/deps/include/OGRE/RTShaderSystem/OgreShaderFFPRenderStateBuilder.h +11 -10
  48. data/deps/include/OGRE/RTShaderSystem/OgreShaderFFPTexturing.h +73 -64
  49. data/deps/include/OGRE/RTShaderSystem/OgreShaderFFPTransform.h +8 -8
  50. data/deps/include/OGRE/RTShaderSystem/OgreShaderFunction.h +42 -35
  51. data/deps/include/OGRE/RTShaderSystem/OgreShaderFunctionAtom.h +38 -32
  52. data/deps/include/OGRE/RTShaderSystem/OgreShaderGLSLESProgramProcessor.h +9 -8
  53. data/deps/include/OGRE/RTShaderSystem/OgreShaderGLSLESProgramWriter.h +45 -36
  54. data/deps/include/OGRE/RTShaderSystem/OgreShaderGLSLProgramProcessor.h +9 -8
  55. data/deps/include/OGRE/RTShaderSystem/OgreShaderGLSLProgramWriter.h +26 -20
  56. data/deps/include/OGRE/RTShaderSystem/OgreShaderGenerator.h +211 -160
  57. data/deps/include/OGRE/RTShaderSystem/OgreShaderHLSLProgramProcessor.h +5 -5
  58. data/deps/include/OGRE/RTShaderSystem/OgreShaderHLSLProgramWriter.h +17 -15
  59. data/deps/include/OGRE/RTShaderSystem/OgreShaderMaterialSerializerListener.h +5 -3
  60. data/deps/include/OGRE/RTShaderSystem/OgreShaderParameter.h +86 -73
  61. data/deps/include/OGRE/RTShaderSystem/OgreShaderProgram.h +36 -30
  62. data/deps/include/OGRE/RTShaderSystem/OgreShaderProgramManager.h +38 -31
  63. data/deps/include/OGRE/RTShaderSystem/OgreShaderProgramProcessor.h +54 -43
  64. data/deps/include/OGRE/RTShaderSystem/OgreShaderProgramSet.h +18 -14
  65. data/deps/include/OGRE/RTShaderSystem/OgreShaderProgramWriter.h +10 -10
  66. data/deps/include/OGRE/RTShaderSystem/OgreShaderRenderState.h +28 -23
  67. data/deps/include/OGRE/RTShaderSystem/OgreShaderScriptTranslator.h +2 -1
  68. data/deps/include/OGRE/RTShaderSystem/OgreShaderSubRenderState.h +35 -32
  69. data/deps/include/OGRE/RenderSystems/GL/GL/wglew.h +2 -2
  70. data/deps/include/OGRE/RenderSystems/GL/GL/wglext.h +2 -2
  71. data/deps/include/OGRE/RenderSystems/GL/OgreGLRenderSystem.h +10 -1
  72. data/deps/include/OGRE/RenderSystems/GL/OgreGLTextureManager.h +2 -0
  73. data/deps/include/OGRE/Sample.h +5 -0
  74. data/deps/include/OGRE/SampleContext.h +13 -3
  75. data/deps/lib/OGRE/Plugin_BSPSceneManager.so +0 -0
  76. data/deps/lib/OGRE/Plugin_BSPSceneManager.so.1.8.1 +0 -0
  77. data/deps/lib/OGRE/Plugin_CgProgramManager.so +0 -0
  78. data/deps/lib/OGRE/Plugin_CgProgramManager.so.1.8.1 +0 -0
  79. data/deps/lib/OGRE/Plugin_OctreeSceneManager.so +0 -0
  80. data/deps/lib/OGRE/Plugin_OctreeSceneManager.so.1.8.1 +0 -0
  81. data/deps/lib/OGRE/Plugin_OctreeZone.so +0 -0
  82. data/deps/lib/OGRE/Plugin_OctreeZone.so.1.8.1 +0 -0
  83. data/deps/lib/OGRE/Plugin_PCZSceneManager.so +0 -0
  84. data/deps/lib/OGRE/Plugin_PCZSceneManager.so.1.8.1 +0 -0
  85. data/deps/lib/OGRE/Plugin_ParticleFX.so +0 -0
  86. data/deps/lib/OGRE/Plugin_ParticleFX.so.1.8.1 +0 -0
  87. data/deps/lib/OGRE/RenderSystem_GL.so +0 -0
  88. data/deps/lib/OGRE/RenderSystem_GL.so.1.8.1 +0 -0
  89. data/deps/lib/libOgreMain.so +0 -0
  90. data/deps/lib/libOgreMain.so.1.8.1 +0 -0
  91. data/deps/lib/libOgrePaging.so +0 -0
  92. data/deps/lib/libOgrePaging.so.1.8.1 +0 -0
  93. data/deps/lib/libOgreProcedural.so +0 -0
  94. data/deps/lib/libOgreRTShaderSystem.so +0 -0
  95. data/deps/lib/libOgreRTShaderSystem.so.1.8.1 +0 -0
  96. data/deps/lib/libOgreTerrain.so +0 -0
  97. data/deps/lib/libOgreTerrain.so.1.8.1 +0 -0
  98. data/deps/share/OGRE/media/materials/programs/DiffuseOneTexture.glsles +17 -0
  99. data/deps/share/OGRE/media/packs/profiler.zip +0 -0
  100. data/lib/ogre.so +0 -0
  101. data/lib/ogrebites.so +0 -0
  102. data/lib/procedural.so +0 -0
  103. data/lib/version.rb +1 -1
  104. data/sample/charactor/sinbad.rb +8 -4
  105. metadata +16 -4
@@ -71,38 +71,38 @@ public:
71
71
  /**
72
72
  @see SubRenderState::getType.
73
73
  */
74
- virtual const String& getType () const;
74
+ virtual const String& getType() const;
75
75
 
76
76
  /**
77
77
  @see SubRenderState::getType.
78
78
  */
79
- virtual int getExecutionOrder () const;
79
+ virtual int getExecutionOrder() const;
80
80
 
81
81
  /**
82
82
  @see SubRenderState::updateGpuProgramsParams.
83
83
  */
84
- virtual void updateGpuProgramsParams (Renderable* rend, Pass* pass, const AutoParamDataSource* source, const LightList* pLightList);
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 copyFrom (const SubRenderState& rhs);
89
+ virtual void copyFrom(const SubRenderState& rhs);
90
90
 
91
91
 
92
92
  /**
93
93
  @see SubRenderState::preAddToRenderState.
94
94
  */
95
- virtual bool preAddToRenderState (const RenderState* renderState, Pass* srcPass, Pass* dstPass);
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 setTexCoordIndex (unsigned int index) { mVSTexCoordSetIndex = index;}
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 getTexCoordIndex () const { return mVSTexCoordSetIndex; }
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 setNormalMapSpace (NormalMapSpace normalMapSpace) { mNormalMapSpace = normalMapSpace; }
129
+ void setNormalMapSpace(NormalMapSpace normalMapSpace) { mNormalMapSpace = normalMapSpace; }
130
130
 
131
131
  /** Return the normal map space. */
132
- NormalMapSpace getNormalMapSpace () const { return mNormalMapSpace; }
132
+ NormalMapSpace getNormalMapSpace() const { return mNormalMapSpace; }
133
133
 
134
134
  /**
135
135
  Set the normal map texture name.
136
136
  */
137
- void setNormalMapTextureName (const String& textureName) { mNormalMapTextureName = textureName; }
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& getNormalMapTextureName () const { return mNormalMapTextureName; }
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 setNormalMapFiltering (const FilterOptions minFilter, const FilterOptions magFilter, const FilterOptions mipFilter)
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 getNormalMapFiltering (FilterOptions& minFilter, FilterOptions& magFilter, FilterOptions& mipFilter) const
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 setNormalMapAnisotropy (unsigned int anisotropy) { mNormalMapAnisotropy = anisotropy; }
165
+ void setNormalMapAnisotropy(unsigned int anisotropy) { mNormalMapAnisotropy = anisotropy; }
166
166
 
167
167
 
168
168
  /** Return the normal map anisotropy value. */
169
- unsigned int getNormalMapAnisotropy () const { return mNormalMapAnisotropy; }
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 setNormalMapMipBias (Real mipBias) { mNormalMapMipBias = mipBias; }
175
+ void setNormalMapMipBias(Real mipBias) { mNormalMapMipBias = mipBias; }
176
176
 
177
177
 
178
178
  /** Return the normal map mip bias value. */
179
- Real getNormalMapMipBias () const { return mNormalMapMipBias; }
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
- Light::LightTypes mType; // Light type.
190
- UniformParameterPtr mPosition; // Light position.
191
- ParameterPtr mVSOutToLightDir; // Vertex shader output vertex position to light position direction (texture space).
192
- ParameterPtr mPSInToLightDir; // Pixel shader input vertex position to light position direction (texture space).
193
- UniformParameterPtr mDirection; // Light direction.
194
- ParameterPtr mVSOutDirection; // Vertex shader output light direction (texture space).
195
- ParameterPtr mPSInDirection; // Pixel shader input light direction (texture space).
196
- UniformParameterPtr mAttenuatParams; // Attenuation parameters.
197
- UniformParameterPtr mSpotParams; // Spot light parameters.
198
- UniformParameterPtr mDiffuseColour; // Diffuse colour.
199
- UniformParameterPtr mSpecularColour; // Specular colour.
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 LightParamsList;
204
- typedef LightParamsList::iterator LightParamsIterator;
205
- typedef LightParamsList::const_iterator LightParamsConstIterator;
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 setTrackVertexColourType(TrackVertexColourType type) { mTrackVertexColourType = type; }
226
+ void setTrackVertexColourType(TrackVertexColourType type) { mTrackVertexColourType = type; }
216
227
 
217
228
  /**
218
229
  Return the current track per vertex type.
219
230
  */
220
- TrackVertexColourType getTrackVertexColourType() const { return mTrackVertexColourType; }
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 setLightCount (const int lightCount[3]);
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 getLightCount (int lightCount[3]) const;
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 setSpecularEnable (bool enable) { mSpecularEnable = enable; }
250
+ void setSpecularEnable(bool enable) { mSpecularEnable = enable; }
240
251
 
241
252
  /**
242
253
  Get the specular component state.
243
254
  */
244
- bool getSpecularEnable () const { return mSpecularEnable; }
255
+ bool getSpecularEnable() const { return mSpecularEnable; }
245
256
 
246
257
 
247
258
  /**
248
259
  @see SubRenderState::resolveParameters.
249
260
  */
250
- virtual bool resolveParameters (ProgramSet* programSet);
261
+ virtual bool resolveParameters(ProgramSet* programSet);
251
262
 
252
263
  /** Resolve global lighting parameters */
253
- bool resolveGlobalParameters (ProgramSet* programSet);
264
+ bool resolveGlobalParameters(ProgramSet* programSet);
254
265
 
255
266
  /** Resolve per light parameters */
256
- bool resolvePerLightParameters (ProgramSet* programSet);
267
+ bool resolvePerLightParameters(ProgramSet* programSet);
257
268
 
258
269
  /**
259
270
  @see SubRenderState::resolveDependencies.
260
271
  */
261
- virtual bool resolveDependencies (ProgramSet* programSet);
272
+ virtual bool resolveDependencies(ProgramSet* programSet);
262
273
 
263
274
  /**
264
275
  @see SubRenderState::addFunctionInvocations.
265
276
  */
266
- virtual bool addFunctionInvocations (ProgramSet* programSet);
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 addVSInvocation (Function* vsMain, const int groupOrder, int& internalCounter);
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 addVSIlluminationInvocation (LightParams* curLightParams, Function* vsMain, const int groupOrder, int& internalCounter);
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 addPSNormalFetchInvocation (Function* psMain, const int groupOrder, int& internalCounter);
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 addPSGlobalIlluminationInvocation (Function* psMain, const int groupOrder, int& internalCounter);
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 addPSIlluminationInvocation (LightParams* curLightParams, Function* psMain, const int groupOrder, int& internalCounter);
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 addPSFinalAssignmentInvocation (Function* psMain, const int groupOrder, int& internalCounter);
309
+ bool addPSFinalAssignmentInvocation(Function* psMain, const int groupOrder, int& internalCounter);
299
310
 
300
311
 
301
312
  // Attributes.
302
313
  protected:
303
- String mNormalMapTextureName; // The normal map texture name.
304
- TrackVertexColourType mTrackVertexColourType; // Track per vertex colour type.
305
- bool mSpecularEnable; // Specular component enabled/disabled.
306
- LightParamsList mLightParamsList; // Light list.
307
- unsigned short mNormalMapSamplerIndex; // Normal map texture sampler index.
308
- unsigned int mVSTexCoordSetIndex; // Vertex shader input texture coordinate set index.
309
- FilterOptions mNormalMapMinFilter; // The normal map min filter.
310
- FilterOptions mNormalMapMagFilter; // The normal map mag filter.
311
- FilterOptions mNormalMapMipFilter; // The normal map mip filter.
312
- unsigned int mNormalMapAnisotropy; // The normal map max anisotropy value.
313
- Real mNormalMapMipBias; // The normal map mip map bias.
314
- NormalMapSpace mNormalMapSpace; // The normal map space.
315
- UniformParameterPtr mWorldMatrix; // World matrix parameter.
316
- UniformParameterPtr mWorldInvRotMatrix; // World matrix inverse rotation matrix parameter.
317
- UniformParameterPtr mCamPosWorldSpace; // Camera position in world space parameter.
318
- ParameterPtr mVSInPosition; // Vertex shader input position parameter.
319
- ParameterPtr mVSWorldPosition; // Vertex shader world position parameter.
320
- ParameterPtr mVSOutView; // Vertex shader output view vector (position in camera space) parameter.
321
- ParameterPtr mPSInView; // Pixel shader input view position (position in camera space) parameter.
322
- ParameterPtr mVSInNormal; // Vertex shader input normal.
323
- ParameterPtr mVSInTangent; // Vertex shader input tangent.
324
- ParameterPtr mVSTBNMatrix; // Vertex shader local TNB matrix.
325
- ParameterPtr mVSLocalDir; // Vertex shader local light direction.
326
- UniformParameterPtr mNormalMapSampler; // Normal map texture sampler parameter.
327
- ParameterPtr mPSNormal; // Pixel shader normal parameter.
328
- ParameterPtr mVSInTexcoord; // Vertex shader input texture coordinates.
329
- ParameterPtr mVSOutTexcoord; // Vertex shader output texture coordinates.
330
- ParameterPtr mPSInTexcoord; // Pixel shader input texture coordinates.
331
- ParameterPtr mPSTempDiffuseColour; // Pixel shader temporary diffuse calculation parameter.
332
- ParameterPtr mPSTempSpecularColour; // Pixel shader temporary specular calculation parameter.
333
- ParameterPtr mPSDiffuse; // Pixel shader input/local diffuse parameter.
334
- ParameterPtr mPSSpecular; // Pixel shader input/local specular parameter.
335
- ParameterPtr mPSOutDiffuse; // Pixel shader output diffuse parameter.
336
- ParameterPtr mPSOutSpecular; // Pixel shader output specular parameter.
337
- UniformParameterPtr mDerivedSceneColour; // Derived scene colour parameter.
338
- UniformParameterPtr mLightAmbientColour; // Ambient light colour parameter.
339
- UniformParameterPtr mDerivedAmbientLightColour; // Derived ambient light colour parameter.
340
- UniformParameterPtr mSurfaceAmbientColour; // Surface ambient colour parameter.
341
- UniformParameterPtr mSurfaceDiffuseColour; // Surface diffuse colour parameter.
342
- UniformParameterPtr mSurfaceSpecularColour; // Surface specular colour parameter.
343
- UniformParameterPtr mSurfaceEmissiveColour; // Surface emissive colour parameter.
344
- UniformParameterPtr mSurfaceShininess; // Surface shininess parameter.
345
- static Light msBlankLight; // Shared blank light.
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& getType () const;
414
+ virtual const String& getType() const;
361
415
 
362
416
  /**
363
417
  @see SubRenderStateFactory::createInstance.
364
418
  */
365
- virtual SubRenderState* createInstance (ScriptCompiler* compiler, PropertyAbstractNode* prop, Pass* pass, SGScriptTranslator* translator);
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 writeInstance (MaterialSerializer* ser, SubRenderState* subRenderState, Pass* srcPass, Pass* dstPass);
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* createInstanceImpl ();
432
+ virtual SubRenderState* createInstanceImpl();
379
433
 
380
434
 
381
435
  };