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.
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;