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
@@ -59,12 +59,12 @@ public:
59
59
  Return true upon success.
60
60
  @param sceneMgr The scene manager that the shader generator will be bound to.
61
61
  */
62
- static bool initialize ();
62
+ static bool initialize();
63
63
 
64
64
  /**
65
65
  Finalize the Shader Generator instance.
66
66
  */
67
- static void finalize ();
67
+ static void finalize();
68
68
 
69
69
 
70
70
  /** Override standard Singleton retrieval.
@@ -82,7 +82,7 @@ public:
82
82
  but the implementation stays in this single compilation unit,
83
83
  preventing link errors.
84
84
  */
85
- static ShaderGenerator& getSingleton ();
85
+ static ShaderGenerator& getSingleton();
86
86
 
87
87
 
88
88
  /** Override standard Singleton retrieval.
@@ -100,70 +100,70 @@ public:
100
100
  but the implementation stays in this single compilation unit,
101
101
  preventing link errors.
102
102
  */
103
- static ShaderGenerator* getSingletonPtr ();
103
+ static ShaderGenerator* getSingletonPtr();
104
104
 
105
105
  /**
106
106
  Add a scene manager to the shader generator scene managers list.
107
107
  @param sceneMgr The scene manager to add to the list.
108
108
  */
109
- void addSceneManager (SceneManager* sceneMgr);
109
+ void addSceneManager(SceneManager* sceneMgr);
110
110
 
111
111
  /**
112
112
  Remove a scene manager from the shader generator scene managers list.
113
113
  @param sceneMgr The scene manager to remove from the list.
114
114
  */
115
- void removeSceneManager (SceneManager* sceneMgr);
115
+ void removeSceneManager(SceneManager* sceneMgr);
116
116
 
117
117
  /**
118
118
  Get the active scene manager that is doint the actual scene rendering.
119
119
  This attribute will be update on the call to preFindVisibleObjects.
120
120
  */
121
- SceneManager* getActiveSceneManager ();
121
+ SceneManager* getActiveSceneManager();
122
122
 
123
123
  /**
124
124
  Set the target shader language.
125
125
  @param shaderLanguage The output shader language to use.
126
126
  @remarks The default shader language is cg.
127
127
  */
128
- void setTargetLanguage (const String& shaderLanguage);
128
+ void setTargetLanguage(const String& shaderLanguage);
129
129
 
130
130
  /**
131
131
  Return the target shader language currently in use.
132
132
  */
133
- const String& getTargetLanguage () const { return mShaderLanguage; }
133
+ const String& getTargetLanguage() const { return mShaderLanguage; }
134
134
 
135
135
  /**
136
136
  Set the output vertex shader target profiles.
137
137
  @param vertexShaderProfile The target profiles for the vertex shader.
138
138
  */
139
- void setVertexShaderProfiles (const String& vertexShaderProfiles);
139
+ void setVertexShaderProfiles(const String& vertexShaderProfiles);
140
140
 
141
141
  /**
142
142
  Get the output vertex shader target profiles.
143
143
  */
144
- const String& getVertexShaderProfiles () const { return mVertexShaderProfiles; }
144
+ const String& getVertexShaderProfiles() const { return mVertexShaderProfiles; }
145
145
 
146
146
  /**
147
147
  Get the output vertex shader target profiles as list of strings.
148
148
  */
149
- const StringVector& getVertexShaderProfilesList () const { return mVertexShaderProfilesList; }
149
+ const StringVector& getVertexShaderProfilesList() const { return mVertexShaderProfilesList; }
150
150
 
151
151
 
152
152
  /**
153
153
  Set the output fragment shader target profiles.
154
154
  @param fragmentShaderProfile The target profiles for the fragment shader.
155
155
  */
156
- void setFragmentShaderProfiles (const String& fragmentShaderProfiles);
156
+ void setFragmentShaderProfiles(const String& fragmentShaderProfiles);
157
157
 
158
158
  /**
159
159
  Get the output fragment shader target profiles.
160
160
  */
161
- const String& getFragmentShaderProfiles () const { return mFragmentShaderProfiles; }
161
+ const String& getFragmentShaderProfiles() const { return mFragmentShaderProfiles; }
162
162
 
163
163
  /**
164
164
  Get the output fragment shader target profiles as list of strings.
165
165
  */
166
- const StringVector& getFragmentShaderProfilesList () const { return mFragmentShaderProfilesList; }
166
+ const StringVector& getFragmentShaderProfilesList() const { return mFragmentShaderProfilesList; }
167
167
 
168
168
  /**
169
169
  Set the output shader cache path. Generated shader code will be written to this path.
@@ -171,18 +171,18 @@ public:
171
171
  @param cachePath The cache path of the shader.
172
172
  The default is empty cache path.
173
173
  */
174
- void setShaderCachePath (const String& cachePath);
174
+ void setShaderCachePath(const String& cachePath);
175
175
 
176
176
  /**
177
177
  Get the output shader cache path.
178
178
  */
179
- const String& getShaderCachePath () const { return mShaderCachePath; }
179
+ const String& getShaderCachePath() const { return mShaderCachePath; }
180
180
 
181
181
  /**
182
182
  Flush the shader cache. This operation will cause all active sachems to be invalidated and will
183
183
  destroy any CPU/GPU program that created by this shader generator.
184
184
  */
185
- void flushShaderCache ();
185
+ void flushShaderCache();
186
186
 
187
187
  /**
188
188
  Return a global render state associated with the given scheme name.
@@ -192,7 +192,7 @@ public:
192
192
  regenerate shaders.
193
193
  @param schemeName The destination scheme name.
194
194
  */
195
- RenderState* getRenderState (const String& schemeName);
195
+ RenderState* getRenderState(const String& schemeName);
196
196
 
197
197
 
198
198
  typedef std::pair<RenderState*, bool> RenderStateCreateOrRetrieveResult;
@@ -218,8 +218,8 @@ public:
218
218
  @param groupName The specific material name.
219
219
  @param passIndex The pass index.
220
220
  */
221
- RenderState* getRenderState (const String& schemeName, const String& materialName, unsigned short passIndex);
222
- RenderState* getRenderState (const String& schemeName, const String& materialName, const String& groupName, unsigned short passIndex);
221
+ RenderState* getRenderState(const String& schemeName, const String& materialName, unsigned short passIndex);
222
+ RenderState* getRenderState(const String& schemeName, const String& materialName, const String& groupName, unsigned short passIndex);
223
223
 
224
224
  /**
225
225
  Add sub render state factory. Plugins or 3d party applications may implement sub classes of
@@ -227,12 +227,12 @@ public:
227
227
  of these sub classes.
228
228
  @param factory The factory to add.
229
229
  */
230
- void addSubRenderStateFactory (SubRenderStateFactory* factory);
230
+ void addSubRenderStateFactory(SubRenderStateFactory* factory);
231
231
 
232
232
  /**
233
233
  Returns the number of existing factories
234
234
  */
235
- size_t getNumSubRenderStateFactories() const;
235
+ size_t getNumSubRenderStateFactories() const;
236
236
 
237
237
  /**
238
238
  Returns a sub render state factory by index
@@ -249,20 +249,20 @@ public:
249
249
  Remove sub render state factory.
250
250
  @param factory The factory to remove.
251
251
  */
252
- void removeSubRenderStateFactory (SubRenderStateFactory* factory);
252
+ void removeSubRenderStateFactory(SubRenderStateFactory* factory);
253
253
 
254
254
  /**
255
255
  Create an instance of sub render state from a given type.
256
256
  @param type The type of sub render state to create.
257
257
  */
258
- SubRenderState* createSubRenderState (const String& type);
258
+ SubRenderState* createSubRenderState(const String& type);
259
259
 
260
260
 
261
261
  /**
262
262
  Destroy an instance of sub render state.
263
263
  @param subRenderState The instance to destroy.
264
264
  */
265
- void destroySubRenderState (SubRenderState* subRenderState);
265
+ void destroySubRenderState(SubRenderState* subRenderState);
266
266
 
267
267
 
268
268
  /**
@@ -273,8 +273,8 @@ public:
273
273
  @param srcTechniqueSchemeName The source technique scheme name.
274
274
  @param dstTechniqueSchemeName The destination shader based technique scheme name.
275
275
  */
276
- bool hasShaderBasedTechnique (const String& materialName, const String& srcTechniqueSchemeName, const String& dstTechniqueSchemeName) const;
277
- bool hasShaderBasedTechnique (const String& materialName, const String& groupName, const String& srcTechniqueSchemeName, const String& dstTechniqueSchemeName) const;
276
+ bool hasShaderBasedTechnique(const String& materialName, const String& srcTechniqueSchemeName, const String& dstTechniqueSchemeName) const;
277
+ bool hasShaderBasedTechnique(const String& materialName, const String& groupName, const String& srcTechniqueSchemeName, const String& dstTechniqueSchemeName) const;
278
278
 
279
279
  /**
280
280
  Create shader based technique from a given technique.
@@ -286,8 +286,8 @@ public:
286
286
  @param dstTechniqueSchemeName The destination shader based technique scheme name.
287
287
  @param overProgrammable If true a shader will be created even if the material has shaders
288
288
  */
289
- bool createShaderBasedTechnique (const String& materialName, const String& srcTechniqueSchemeName, const String& dstTechniqueSchemeName, bool overProgrammable = false);
290
- bool createShaderBasedTechnique (const String& materialName, const String& groupName, const String& srcTechniqueSchemeName, const String& dstTechniqueSchemeName, bool overProgrammable = false);
289
+ bool createShaderBasedTechnique(const String& materialName, const String& srcTechniqueSchemeName, const String& dstTechniqueSchemeName, bool overProgrammable = false);
290
+ bool createShaderBasedTechnique(const String& materialName, const String& groupName, const String& srcTechniqueSchemeName, const String& dstTechniqueSchemeName, bool overProgrammable = false);
291
291
 
292
292
 
293
293
  /**
@@ -299,8 +299,8 @@ public:
299
299
  @param srcTechniqueSchemeName The source technique scheme name.
300
300
  @param dstTechniqueSchemeName The destination shader based technique scheme name.
301
301
  */
302
- bool removeShaderBasedTechnique (const String& materialName, const String& srcTechniqueSchemeName, const String& dstTechniqueSchemeName);
303
- bool removeShaderBasedTechnique (const String& materialName, const String& groupName, const String& srcTechniqueSchemeName, const String& dstTechniqueSchemeName);
302
+ bool removeShaderBasedTechnique(const String& materialName, const String& srcTechniqueSchemeName, const String& dstTechniqueSchemeName);
303
+ bool removeShaderBasedTechnique(const String& materialName, const String& groupName, const String& srcTechniqueSchemeName, const String& dstTechniqueSchemeName);
304
304
 
305
305
 
306
306
  /**
@@ -309,7 +309,7 @@ public:
309
309
  @param materialName The source material name.
310
310
  @param groupName The source group name.
311
311
  */
312
- bool removeAllShaderBasedTechniques (const String& materialName, const String& groupName = ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME);
312
+ bool removeAllShaderBasedTechniques(const String& materialName, const String& groupName = ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME);
313
313
 
314
314
  /**
315
315
  Clone all shader based techniques from one material to another.
@@ -327,27 +327,27 @@ public:
327
327
  /**
328
328
  Remove all shader based techniques that created by this shader generator.
329
329
  */
330
- void removeAllShaderBasedTechniques ();
330
+ void removeAllShaderBasedTechniques();
331
331
 
332
332
  /**
333
333
  Create a scheme.
334
334
  @param schemeName The scheme name to create.
335
335
  */
336
- void createScheme (const String& schemeName);
336
+ void createScheme(const String& schemeName);
337
337
 
338
338
  /**
339
339
  Invalidate a given scheme. This action will lead to shader regeneration of all techniques belongs to the
340
340
  given scheme name.
341
341
  @param schemeName The scheme to invalidate.
342
342
  */
343
- void invalidateScheme (const String& schemeName);
343
+ void invalidateScheme(const String& schemeName);
344
344
 
345
345
  /**
346
346
  Validate a given scheme. This action will generate shader programs for all techniques of the
347
347
  given scheme name.
348
348
  @param schemeName The scheme to validate.
349
349
  */
350
- bool validateScheme (const String& schemeName);
350
+ bool validateScheme(const String& schemeName);
351
351
 
352
352
  /**
353
353
  Invalidate specific material scheme. This action will lead to shader regeneration of the technique belongs to the
@@ -356,7 +356,7 @@ public:
356
356
  @param materialName The material to invalidate.
357
357
  @param groupName The source group name.
358
358
  */
359
- void invalidateMaterial (const String& schemeName, const String& materialName, const String& groupName = ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME);
359
+ void invalidateMaterial(const String& schemeName, const String& materialName, const String& groupName = ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME);
360
360
 
361
361
  /**
362
362
  Validate specific material scheme. This action will generate shader programs for the technique of the
@@ -365,7 +365,7 @@ public:
365
365
  @param materialName The material to validate.
366
366
  @param groupName The source group name.
367
367
  */
368
- bool validateMaterial (const String& schemeName, const String& materialName, const String& groupName = ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME);
368
+ bool validateMaterial(const String& schemeName, const String& materialName, const String& groupName = ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME);
369
369
 
370
370
 
371
371
  /**
@@ -379,15 +379,15 @@ public:
379
379
  3. Add the return instance of serializer listener to the MaterialSerializer.
380
380
  4. Call one of the export methods of MaterialSerializer.
381
381
  */
382
- SGMaterialSerializerListener* getMaterialSerializerListener();
382
+ SGMaterialSerializerListener* getMaterialSerializerListener();
383
383
 
384
384
 
385
385
  /** Return the current number of generated vertex shaders. */
386
- size_t getVertexShaderCount () const;
386
+ size_t getVertexShaderCount() const;
387
387
 
388
388
 
389
389
  /** Return the current number of generated fragment shaders. */
390
- size_t getFragmentShaderCount () const;
390
+ size_t getFragmentShaderCount() const;
391
391
 
392
392
 
393
393
 
@@ -395,12 +395,12 @@ public:
395
395
  @see VSOutputCompactPolicy.
396
396
  @param policy The policy to set.
397
397
  */
398
- void setVertexShaderOutputsCompactPolicy (VSOutputCompactPolicy policy) { mVSOutputCompactPolicy = policy; }
398
+ void setVertexShaderOutputsCompactPolicy(VSOutputCompactPolicy policy) { mVSOutputCompactPolicy = policy; }
399
399
 
400
400
  /** Get the vertex shader outputs compaction policy.
401
401
  @see VSOutputCompactPolicy.
402
402
  */
403
- VSOutputCompactPolicy getVertexShaderOutputsCompactPolicy () const { return mVSOutputCompactPolicy; }
403
+ VSOutputCompactPolicy getVertexShaderOutputsCompactPolicy() const { return mVSOutputCompactPolicy; }
404
404
 
405
405
 
406
406
  /** Sets whether shaders are created for passes with shaders.
@@ -408,21 +408,21 @@ public:
408
408
  Not for when calling the createShaderBasedTechnique() function directly
409
409
  @param value The value to set this attribute pass.
410
410
  */
411
- void setCreateShaderOverProgrammablePass (bool value) { mCreateShaderOverProgrammablePass = value; }
411
+ void setCreateShaderOverProgrammablePass(bool value) { mCreateShaderOverProgrammablePass = value; }
412
412
 
413
413
  /** Returns whether shaders are created for passes with shaders.
414
414
  @see setCreateShaderOverProgrammablePass().
415
415
  */
416
- bool getCreateShaderOverProgrammablePass () const { return mCreateShaderOverProgrammablePass; }
416
+ bool getCreateShaderOverProgrammablePass() const { return mCreateShaderOverProgrammablePass; }
417
417
 
418
418
 
419
419
  /** Returns the amount of schemes used in the for RT shader generation
420
420
  */
421
- size_t getRTShaderSchemeCount () const;
421
+ size_t getRTShaderSchemeCount() const;
422
422
 
423
423
  /** Returns the scheme name used in the for RT shader generation by index
424
424
  */
425
- const String& getRTShaderScheme (size_t index) const;
425
+ const String& getRTShaderScheme(size_t index) const;
426
426
 
427
427
  /// Default material scheme of the shader generator.
428
428
  static String DEFAULT_SCHEME_NAME;
@@ -474,48 +474,54 @@ protected:
474
474
  class _OgreRTSSExport SGPass : public RTShaderSystemAlloc
475
475
  {
476
476
  public:
477
- SGPass (SGTechnique* parent, Pass* srcPass, Pass* dstPass);
478
- ~SGPass ();
477
+ SGPass(SGTechnique* parent, Pass* srcPass, Pass* dstPass);
478
+ ~SGPass();
479
479
 
480
480
  /** Build the render state. */
481
- void buildTargetRenderState ();
481
+ void buildTargetRenderState();
482
482
 
483
483
  /** Acquire the CPU/GPU programs for this pass. */
484
- void acquirePrograms ();
484
+ void acquirePrograms();
485
485
 
486
486
  /** Release the CPU/GPU programs of this pass. */
487
- void releasePrograms ();
487
+ void releasePrograms();
488
488
 
489
489
 
490
490
  /** Called when a single object is about to be rendered. */
491
- void notifyRenderSingleObject (Renderable* rend, const AutoParamDataSource* source, const LightList* pLightList, bool suppressRenderStateChanges);
491
+ void notifyRenderSingleObject(Renderable* rend, const AutoParamDataSource* source, const LightList* pLightList, bool suppressRenderStateChanges);
492
492
 
493
493
  /** Get source pass. */
494
- Pass* getSrcPass () { return mSrcPass; }
494
+ Pass* getSrcPass() { return mSrcPass; }
495
495
 
496
496
  /** Get destination pass. */
497
- Pass* getDstPass () { return mDstPass; }
497
+ Pass* getDstPass() { return mDstPass; }
498
498
 
499
499
  /** Get custom FPP sub state of this pass. */
500
- SubRenderState* getCustomFFPSubState (int subStateOrder);
500
+ SubRenderState* getCustomFFPSubState(int subStateOrder);
501
501
 
502
502
  /** Get custom render state of this pass. */
503
- RenderState* getCustomRenderState () { return mCustomRenderState; }
503
+ RenderState* getCustomRenderState() { return mCustomRenderState; }
504
504
 
505
505
  /** Set the custom render state of this pass. */
506
- void setCustomRenderState (RenderState* customRenderState) { mCustomRenderState = customRenderState; }
506
+ void setCustomRenderState(RenderState* customRenderState) { mCustomRenderState = customRenderState; }
507
507
 
508
- static String UserKey; // Key name for associating with a Pass instance.
508
+ // Key name for associating with a Pass instance.
509
+ static String UserKey;
509
510
 
510
511
  protected:
511
- SubRenderState* getCustomFFPSubState (int subStateOrder, const RenderState* renderState);
512
+ SubRenderState* getCustomFFPSubState(int subStateOrder, const RenderState* renderState);
512
513
 
513
514
  protected:
514
- SGTechnique* mParent; // Parent technique.
515
- Pass* mSrcPass; // Source pass.
516
- Pass* mDstPass; // Destination pass.
517
- RenderState* mCustomRenderState; // Custom render state.
518
- TargetRenderState* mTargetRenderState; // The compiled render state.
515
+ // Parent technique.
516
+ SGTechnique* mParent;
517
+ // Source pass.
518
+ Pass* mSrcPass;
519
+ // Destination pass.
520
+ Pass* mDstPass;
521
+ // Custom render state.
522
+ RenderState* mCustomRenderState;
523
+ // The compiled render state.
524
+ TargetRenderState* mTargetRenderState;
519
525
  };
520
526
 
521
527
 
@@ -523,61 +529,69 @@ protected:
523
529
  class _OgreRTSSExport SGTechnique : public RTShaderSystemAlloc
524
530
  {
525
531
  public:
526
- SGTechnique (SGMaterial* parent, Technique* srcTechnique, const String& dstTechniqueSchemeName);
527
- ~SGTechnique ();
532
+ SGTechnique(SGMaterial* parent, Technique* srcTechnique, const String& dstTechniqueSchemeName);
533
+ ~SGTechnique();
528
534
 
529
535
  /** Get the parent SGMaterial */
530
- const SGMaterial* getParent () const { return mParent; }
536
+ const SGMaterial* getParent() const { return mParent; }
531
537
 
532
538
  /** Get the source technique. */
533
- Technique* getSourceTechnique () { return mSrcTechnique; }
539
+ Technique* getSourceTechnique() { return mSrcTechnique; }
534
540
 
535
541
  /** Get the destination technique. */
536
- Technique* getDestinationTechnique () { return mDstTechnique; }
542
+ Technique* getDestinationTechnique() { return mDstTechnique; }
537
543
 
538
544
  /** Get the destination technique scheme name. */
539
- const String& getDestinationTechniqueSchemeName() const { return mDstTechniqueSchemeName; }
545
+ const String& getDestinationTechniqueSchemeName() const { return mDstTechniqueSchemeName; }
540
546
 
541
547
  /** Build the render state. */
542
- void buildTargetRenderState ();
548
+ void buildTargetRenderState();
543
549
 
544
550
  /** Acquire the CPU/GPU programs for this technique. */
545
- void acquirePrograms ();
551
+ void acquirePrograms();
546
552
 
547
553
  /** Release the CPU/GPU programs of this technique. */
548
- void releasePrograms ();
554
+ void releasePrograms();
549
555
 
550
556
  /** Tells the technique that it needs to generate shader code. */
551
- void setBuildDestinationTechnique (bool buildTechnique) { mBuildDstTechnique = buildTechnique; }
557
+ void setBuildDestinationTechnique(bool buildTechnique) { mBuildDstTechnique = buildTechnique; }
552
558
 
553
559
  /** Tells if the destination technique should be build. */
554
- bool getBuildDestinationTechnique () const { return mBuildDstTechnique; }
560
+ bool getBuildDestinationTechnique() const { return mBuildDstTechnique; }
555
561
 
556
562
  /** Get render state of specific pass.
557
563
  @param passIndex The pass index.
558
564
  */
559
- RenderState* getRenderState (unsigned short passIndex);
565
+ RenderState* getRenderState(unsigned short passIndex);
560
566
  /** Tells if a custom render state exists for the given pass. */
561
- bool hasRenderState (unsigned short passIndex);
567
+ bool hasRenderState(unsigned short passIndex);
562
568
 
563
- static String UserKey; // Key name for associating with a Technique instance.
569
+ // Key name for associating with a Technique instance.
570
+ static String UserKey;
564
571
 
565
572
  protected:
566
573
 
567
574
  /** Create the passes entries. */
568
- void createSGPasses ();
575
+ void createSGPasses();
569
576
 
570
577
  /** Destroy the passes entries. */
571
- void destroySGPasses ();
578
+ void destroySGPasses();
572
579
 
573
580
  protected:
574
- SGMaterial* mParent; // Parent material.
575
- Technique* mSrcTechnique; // Source technique.
576
- Technique* mDstTechnique; // Destination technique.
577
- SGPassList mPassEntries; // All passes entries.
578
- RenderStateList mCustomRenderStates; // The custom render states of all passes.
579
- bool mBuildDstTechnique; // Flag that tells if destination technique should be build.
580
- String mDstTechniqueSchemeName; // Scheme name of destination technique.
581
+ // Parent material.
582
+ SGMaterial* mParent;
583
+ // Source technique.
584
+ Technique* mSrcTechnique;
585
+ // Destination technique.
586
+ Technique* mDstTechnique;
587
+ // All passes entries.
588
+ SGPassList mPassEntries;
589
+ // The custom render states of all passes.
590
+ RenderStateList mCustomRenderStates;
591
+ // Flag that tells if destination technique should be build.
592
+ bool mBuildDstTechnique;
593
+ // Scheme name of destination technique.
594
+ String mDstTechniqueSchemeName;
581
595
  };
582
596
 
583
597
 
@@ -593,21 +607,24 @@ protected:
593
607
  }
594
608
 
595
609
  /** Get the material name. */
596
- const String& getMaterialName () const { return mName; }
610
+ const String& getMaterialName() const { return mName; }
597
611
 
598
612
  /** Get the group name. */
599
- const String& getGroupName () const { return mGroup; }
613
+ const String& getGroupName() const { return mGroup; }
600
614
 
601
615
  /** Get the const techniques list of this material. */
602
- const SGTechniqueList& getTechniqueList () const { return mTechniqueEntries; }
616
+ const SGTechniqueList& getTechniqueList() const { return mTechniqueEntries; }
603
617
 
604
618
  /** Get the techniques list of this material. */
605
- SGTechniqueList& getTechniqueList () { return mTechniqueEntries; }
619
+ SGTechniqueList& getTechniqueList() { return mTechniqueEntries; }
606
620
 
607
621
  protected:
608
- String mName; // The material name.
609
- String mGroup; // The group name.
610
- SGTechniqueList mTechniqueEntries; // All passes entries.
622
+ // The material name.
623
+ String mName;
624
+ // The group name.
625
+ String mGroup;
626
+ // All passes entries.
627
+ SGTechniqueList mTechniqueEntries;
611
628
  };
612
629
 
613
630
 
@@ -615,65 +632,70 @@ protected:
615
632
  class _OgreRTSSExport SGScheme : public RTShaderSystemAlloc
616
633
  {
617
634
  public:
618
- SGScheme (const String& schemeName);
619
- ~SGScheme ();
635
+ SGScheme(const String& schemeName);
636
+ ~SGScheme();
620
637
 
621
638
 
622
639
  /** Return true if this scheme dose not contains any techniques.
623
640
  */
624
- bool empty () const { return mTechniqueEntries.empty(); }
641
+ bool empty() const { return mTechniqueEntries.empty(); }
625
642
 
626
643
  /** Invalidate the whole scheme.
627
644
  @see ShaderGenerator::invalidateScheme.
628
645
  */
629
- void invalidate ();
646
+ void invalidate();
630
647
 
631
648
  /** Validate the whole scheme.
632
649
  @see ShaderGenerator::validateScheme.
633
650
  */
634
- void validate ();
651
+ void validate();
635
652
 
636
653
  /** Invalidate specific material.
637
654
  @see ShaderGenerator::invalidateMaterial.
638
655
  */
639
- void invalidate (const String& materialName, const String& groupName = ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME);
656
+ void invalidate(const String& materialName, const String& groupName = ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME);
640
657
 
641
658
  /** Validate specific material.
642
659
  @see ShaderGenerator::validateMaterial.
643
660
  */
644
- bool validate (const String& materialName, const String& groupName = ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME);
661
+ bool validate(const String& materialName, const String& groupName = ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME);
645
662
 
646
663
  /** Add a technique to current techniques list. */
647
- void addTechniqueEntry (SGTechnique* techEntry);
664
+ void addTechniqueEntry(SGTechnique* techEntry);
648
665
 
649
666
  /** Remove a technique from the current techniques list. */
650
- void removeTechniqueEntry (SGTechnique* techEntry);
667
+ void removeTechniqueEntry(SGTechnique* techEntry);
651
668
 
652
669
 
653
670
  /** Get global render state of this scheme.
654
671
  @see ShaderGenerator::getRenderState.
655
672
  */
656
- RenderState* getRenderState ();
673
+ RenderState* getRenderState();
657
674
 
658
675
  /** Get specific pass render state.
659
676
  @see ShaderGenerator::getRenderState.
660
677
  */
661
- RenderState* getRenderState (const String& materialName, const String& groupName, unsigned short passIndex);
678
+ RenderState* getRenderState(const String& materialName, const String& groupName, unsigned short passIndex);
662
679
 
663
680
  protected:
664
681
  /** Synchronize the current light settings of this scheme with the current settings of the scene. */
665
- void synchronizeWithLightSettings ();
682
+ void synchronizeWithLightSettings();
666
683
 
667
684
  /** Synchronize the fog settings of this scheme with the current settings of the scene. */
668
- void synchronizeWithFogSettings ();
685
+ void synchronizeWithFogSettings();
669
686
 
670
687
 
671
688
  protected:
672
- String mName; // Scheme name.
673
- SGTechniqueList mTechniqueEntries; // Technique entries.
674
- bool mOutOfDate; // Tells if this scheme is out of date.
675
- RenderState* mRenderState; // The global render state of this scheme.
676
- FogMode mFogMode; // Current fog mode.
689
+ // Scheme name.
690
+ String mName;
691
+ // Technique entries.
692
+ SGTechniqueList mTechniqueEntries;
693
+ // Tells if this scheme is out of date.
694
+ bool mOutOfDate;
695
+ // The global render state of this scheme.
696
+ RenderState* mRenderState;
697
+ // Current fog mode.
698
+ FogMode mFogMode;
677
699
  };
678
700
 
679
701
 
@@ -745,7 +767,8 @@ protected:
745
767
  }
746
768
 
747
769
  protected:
748
- ShaderGenerator* mOwner; // The shader generator instance.
770
+ // The shader generator instance.
771
+ ShaderGenerator* mOwner;
749
772
  };
750
773
 
751
774
  /** Shader generator ScriptTranslatorManager sub class. */
@@ -770,7 +793,8 @@ protected:
770
793
  }
771
794
 
772
795
  protected:
773
- ShaderGenerator* mOwner; // The shader generator instance.
796
+ // The shader generator instance.
797
+ ShaderGenerator* mOwner;
774
798
  };
775
799
 
776
800
  //-----------------------------------------------------------------------------
@@ -785,34 +809,34 @@ protected:
785
809
 
786
810
  protected:
787
811
  /** Class default constructor */
788
- ShaderGenerator ();
812
+ ShaderGenerator();
789
813
 
790
814
  /** Class destructor */
791
- ~ShaderGenerator ();
815
+ ~ShaderGenerator();
792
816
 
793
817
  /** Initialize the shader generator instance. */
794
- bool _initialize ();
818
+ bool _initialize();
795
819
 
796
820
  /** Finalize the shader generator instance. */
797
- void _finalize ();
821
+ void _finalize();
798
822
 
799
823
  /** Find source technique to generate shader based technique based on it. */
800
- Technique* findSourceTechnique (const String& materialName, const String& groupName, const String& srcTechniqueSchemeName);
824
+ Technique* findSourceTechnique(const String& materialName, const String& groupName, const String& srcTechniqueSchemeName);
801
825
 
802
826
  /** Checks if a given technique has passes with shaders. */
803
- bool isProgrammable (Technique* tech) const;
827
+ bool isProgrammable(Technique* tech) const;
804
828
 
805
829
  /** Called from the sub class of the RenderObjectLister when single object is rendered. */
806
- void notifyRenderSingleObject (Renderable* rend, const Pass* pass, const AutoParamDataSource* source, const LightList* pLightList, bool suppressRenderStateChanges);
830
+ void notifyRenderSingleObject(Renderable* rend, const Pass* pass, const AutoParamDataSource* source, const LightList* pLightList, bool suppressRenderStateChanges);
807
831
 
808
832
  /** Called from the sub class of the SceneManager::Listener when finding visible object process starts. */
809
- void preFindVisibleObjects (SceneManager* source, SceneManager::IlluminationRenderStage irs, Viewport* v);
833
+ void preFindVisibleObjects(SceneManager* source, SceneManager::IlluminationRenderStage irs, Viewport* v);
810
834
 
811
835
  /** Create sub render state core extensions factories */
812
- void createSubRenderStateExFactories ();
836
+ void createSubRenderStateExFactories();
813
837
 
814
838
  /** Destroy sub render state core extensions factories */
815
- void destroySubRenderStateExFactories ();
839
+ void destroySubRenderStateExFactories();
816
840
 
817
841
  /** Create an instance of the SubRenderState based on script properties using the
818
842
  current sub render state factories.
@@ -822,7 +846,7 @@ protected:
822
846
  @param pass The pass that is the parent context of this node.
823
847
  @param the translator for the specific SubRenderState
824
848
  */
825
- SubRenderState* createSubRenderState (ScriptCompiler* compiler, PropertyAbstractNode* prop, Pass* pass, SGScriptTranslator* translator);
849
+ SubRenderState* createSubRenderState(ScriptCompiler* compiler, PropertyAbstractNode* prop, Pass* pass, SGScriptTranslator* translator);
826
850
 
827
851
  /** Create an instance of the SubRenderState based on script properties using the
828
852
  current sub render state factories.
@@ -832,7 +856,7 @@ protected:
832
856
  @param texState The texture unit state that is the parent context of this node.
833
857
  @param the translator for the specific SubRenderState
834
858
  */
835
- SubRenderState* createSubRenderState (ScriptCompiler* compiler, PropertyAbstractNode* prop, TextureUnitState* texState, SGScriptTranslator* translator);
859
+ SubRenderState* createSubRenderState(ScriptCompiler* compiler, PropertyAbstractNode* prop, TextureUnitState* texState, SGScriptTranslator* translator);
836
860
 
837
861
  /**
838
862
  Add custom script translator.
@@ -840,20 +864,20 @@ protected:
840
864
  @param key The key name of the given translator.
841
865
  @param translator The translator to associate with the given key.
842
866
  */
843
- bool addCustomScriptTranslator (const String& key, ScriptTranslator* translator);
867
+ bool addCustomScriptTranslator(const String& key, ScriptTranslator* translator);
844
868
 
845
869
  /**
846
870
  Remove custom script translator.
847
871
  Return true upon success.
848
872
  @param key The key name of the translator to remove.
849
873
  */
850
- bool removeCustomScriptTranslator (const String& key);
874
+ bool removeCustomScriptTranslator(const String& key);
851
875
 
852
876
  /** Return number of script translators. */
853
- size_t getNumTranslators () const;
877
+ size_t getNumTranslators() const;
854
878
 
855
879
  /** Return a matching script translator. */
856
- ScriptTranslator* getTranslator (const AbstractNodePtr& node);
880
+ ScriptTranslator* getTranslator(const AbstractNodePtr& node);
857
881
 
858
882
 
859
883
  /** This method called by instance of SGMaterialSerializerListener and
@@ -861,7 +885,7 @@ protected:
861
885
  @param ser The material serializer.
862
886
  @param passEntry The SGPass instance.
863
887
  */
864
- void serializePassAttributes (MaterialSerializer* ser, SGPass* passEntry);
888
+ void serializePassAttributes(MaterialSerializer* ser, SGPass* passEntry);
865
889
 
866
890
  /** This method called by instance of SGMaterialSerializerListener and
867
891
  serialize a given textureUnitState entry attributes.
@@ -890,33 +914,60 @@ protected:
890
914
  bool getIsFinalizing() const;
891
915
  protected:
892
916
  OGRE_AUTO_MUTEX // Auto mutex.
893
- SceneManager* mActiveSceneMgr; // The active scene manager.
894
- SceneManagerMap mSceneManagerMap; // A map of all scene managers this generator is bound to.
895
- SGRenderObjectListener* mRenderObjectListener; // Render object listener.
896
- SGSceneManagerListener* mSceneManagerListener; // Scene manager listener.
897
- SGScriptTranslatorManager* mScriptTranslatorManager; // Script translator manager.
898
- SGMaterialSerializerListener* mMaterialSerializerListener; // Custom material Serializer listener - allows exporting material that contains shader generated techniques.
899
- SGScriptTranslatorMap mScriptTranslatorsMap; // A map of the registered custom script translators.
900
- SGScriptTranslator mCoreScriptTranslator; // The core translator of the RT Shader System.
901
- String mShaderLanguage; // The target shader language (currently only cg supported).
902
- String mVertexShaderProfiles; // The target vertex shader profile. Will be used as argument for program compilation.
903
- StringVector mVertexShaderProfilesList; // List of target vertex shader profiles.
904
- String mFragmentShaderProfiles; // The target fragment shader profile. Will be used as argument for program compilation.
905
- StringVector mFragmentShaderProfilesList; // List of target fragment shader profiles..
906
- String mShaderCachePath; // Path for caching the generated shaders.
907
- ProgramManager* mProgramManager; // Shader program manager.
908
- ProgramWriterManager* mProgramWriterManager; // Shader program writer manager.
909
- FFPRenderStateBuilder* mFFPRenderStateBuilder; // Fixed Function Render state builder.
910
- SGMaterialMap mMaterialEntriesMap; // Material entries map.
911
- SGSchemeMap mSchemeEntriesMap; // Scheme entries map.
912
- SGTechniqueMap mTechniqueEntriesMap; // All technique entries map.
913
- SubRenderStateFactoryMap mSubRenderStateFactories; // Sub render state registered factories.
914
- SubRenderStateFactoryMap mSubRenderStateExFactories; // Sub render state core extension factories.
915
- bool mActiveViewportValid; // True if active view port use a valid SGScheme.
916
- int mLightCount[3]; // Light count per light type.
917
- VSOutputCompactPolicy mVSOutputCompactPolicy; // Vertex shader outputs compact policy.
918
- bool mCreateShaderOverProgrammablePass; // Tells whether shaders are created for passes with shaders
919
- bool mIsFinalizing; // a flag to indicate finalizing
917
+ // The active scene manager.
918
+ SceneManager* mActiveSceneMgr;
919
+ // A map of all scene managers this generator is bound to.
920
+ SceneManagerMap mSceneManagerMap;
921
+ // Render object listener.
922
+ SGRenderObjectListener* mRenderObjectListener;
923
+ // Scene manager listener.
924
+ SGSceneManagerListener* mSceneManagerListener;
925
+ // Script translator manager.
926
+ SGScriptTranslatorManager* mScriptTranslatorManager;
927
+ // Custom material Serializer listener - allows exporting material that contains shader generated techniques.
928
+ SGMaterialSerializerListener* mMaterialSerializerListener;
929
+ // A map of the registered custom script translators.
930
+ SGScriptTranslatorMap mScriptTranslatorsMap;
931
+ // The core translator of the RT Shader System.
932
+ SGScriptTranslator mCoreScriptTranslator;
933
+ // The target shader language (currently only cg supported).
934
+ String mShaderLanguage;
935
+ // The target vertex shader profile. Will be used as argument for program compilation.
936
+ String mVertexShaderProfiles;
937
+ // List of target vertex shader profiles.
938
+ StringVector mVertexShaderProfilesList;
939
+ // The target fragment shader profile. Will be used as argument for program compilation.
940
+ String mFragmentShaderProfiles;
941
+ // List of target fragment shader profiles..
942
+ StringVector mFragmentShaderProfilesList;
943
+ // Path for caching the generated shaders.
944
+ String mShaderCachePath;
945
+ // Shader program manager.
946
+ ProgramManager* mProgramManager;
947
+ // Shader program writer manager.
948
+ ProgramWriterManager* mProgramWriterManager;
949
+ // Fixed Function Render state builder.
950
+ FFPRenderStateBuilder* mFFPRenderStateBuilder;
951
+ // Material entries map.
952
+ SGMaterialMap mMaterialEntriesMap;
953
+ // Scheme entries map.
954
+ SGSchemeMap mSchemeEntriesMap;
955
+ // All technique entries map.
956
+ SGTechniqueMap mTechniqueEntriesMap;
957
+ // Sub render state registered factories.
958
+ SubRenderStateFactoryMap mSubRenderStateFactories;
959
+ // Sub render state core extension factories.
960
+ SubRenderStateFactoryMap mSubRenderStateExFactories;
961
+ // True if active view port use a valid SGScheme.
962
+ bool mActiveViewportValid;
963
+ // Light count per light type.
964
+ int mLightCount[3];
965
+ // Vertex shader outputs compact policy.
966
+ VSOutputCompactPolicy mVSOutputCompactPolicy;
967
+ // Tells whether shaders are created for passes with shaders
968
+ bool mCreateShaderOverProgrammablePass;
969
+ // a flag to indicate finalizing
970
+ bool mIsFinalizing;
920
971
  private:
921
972
  friend class SGPass;
922
973
  friend class FFPRenderStateBuilder;