ruby-ogre 0.0.5-x86-linux → 0.1.0-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 (1620) hide show
  1. data/README.md +27 -17
  2. data/Rakefile +80 -248
  3. data/lib/{version.rb → ruby-ogre/version.rb} +1 -1
  4. data/ruby-ogre-push.gemspec +30 -0
  5. metadata +23 -1623
  6. data/INSTALL.md +0 -24
  7. data/bindings/ogre/interface/AnyVALUE.h +0 -21
  8. data/bindings/ogre/interface/GLX/OgreConfigDialogImp.i +0 -8
  9. data/bindings/ogre/interface/GLX/OgreErrorDialogImp.i +0 -8
  10. data/bindings/ogre/interface/GLX/OgreTimerImp.i +0 -8
  11. data/bindings/ogre/interface/Ogre.i +0 -8
  12. data/bindings/ogre/interface/OgreAlignedAllocator.i +0 -10
  13. data/bindings/ogre/interface/OgreAnimable.i +0 -6
  14. data/bindings/ogre/interface/OgreAnimation.i +0 -8
  15. data/bindings/ogre/interface/OgreAnimationBlender.i +0 -8
  16. data/bindings/ogre/interface/OgreAnimationState.i +0 -31
  17. data/bindings/ogre/interface/OgreAnimationTrack.i +0 -6
  18. data/bindings/ogre/interface/OgreAny.i +0 -381
  19. data/bindings/ogre/interface/OgreArchive.i +0 -6
  20. data/bindings/ogre/interface/OgreArchiveFactory.i +0 -10
  21. data/bindings/ogre/interface/OgreArchiveManager.i +0 -8
  22. data/bindings/ogre/interface/OgreAtomicWrappers.i +0 -8
  23. data/bindings/ogre/interface/OgreAutoParamDataSource.i +0 -8
  24. data/bindings/ogre/interface/OgreAxisAlignedBox.i +0 -6
  25. data/bindings/ogre/interface/OgreBillboard.i +0 -8
  26. data/bindings/ogre/interface/OgreBillboardChain.i +0 -8
  27. data/bindings/ogre/interface/OgreBillboardParticleRenderer.i +0 -8
  28. data/bindings/ogre/interface/OgreBillboardSet.i +0 -8
  29. data/bindings/ogre/interface/OgreBitwise.i +0 -10
  30. data/bindings/ogre/interface/OgreBlendMode.i +0 -6
  31. data/bindings/ogre/interface/OgreBone.i +0 -8
  32. data/bindings/ogre/interface/OgreBorderPanelOverlayElement.i +0 -14
  33. data/bindings/ogre/interface/OgreBuildSettings.i +0 -8
  34. data/bindings/ogre/interface/OgreCamera.i +0 -6
  35. data/bindings/ogre/interface/OgreCodec.i +0 -8
  36. data/bindings/ogre/interface/OgreColourValue.i +0 -6
  37. data/bindings/ogre/interface/OgreCommon.i +0 -12
  38. data/bindings/ogre/interface/OgreCompositionPass.i +0 -8
  39. data/bindings/ogre/interface/OgreCompositionTargetPass.i +0 -8
  40. data/bindings/ogre/interface/OgreCompositionTechnique.i +0 -13
  41. data/bindings/ogre/interface/OgreCompositor.i +0 -8
  42. data/bindings/ogre/interface/OgreCompositorChain.i +0 -8
  43. data/bindings/ogre/interface/OgreCompositorInstance.i +0 -8
  44. data/bindings/ogre/interface/OgreCompositorLogic.i +0 -8
  45. data/bindings/ogre/interface/OgreCompositorManager.i +0 -8
  46. data/bindings/ogre/interface/OgreConfig.i +0 -8
  47. data/bindings/ogre/interface/OgreConfigDialog.i +0 -8
  48. data/bindings/ogre/interface/OgreConfigFile.i +0 -88
  49. data/bindings/ogre/interface/OgreConfigOptionMap.i +0 -6
  50. data/bindings/ogre/interface/OgreController.i +0 -8
  51. data/bindings/ogre/interface/OgreControllerManager.i +0 -8
  52. data/bindings/ogre/interface/OgreConvexBody.i +0 -8
  53. data/bindings/ogre/interface/OgreCustomCompositionPass.i +0 -8
  54. data/bindings/ogre/interface/OgreDDSCodec.i +0 -8
  55. data/bindings/ogre/interface/OgreDataStream.i +0 -6
  56. data/bindings/ogre/interface/OgreDefaultHardwareBufferManager.i +0 -8
  57. data/bindings/ogre/interface/OgreDeflate.i +0 -8
  58. data/bindings/ogre/interface/OgreDepthBuffer.i +0 -8
  59. data/bindings/ogre/interface/OgreDistanceLodStrategy.i +0 -8
  60. data/bindings/ogre/interface/OgreDualQuaternion.i +0 -8
  61. data/bindings/ogre/interface/OgreDynLib.i +0 -8
  62. data/bindings/ogre/interface/OgreDynLibManager.i +0 -8
  63. data/bindings/ogre/interface/OgreEdgeListBuilder.i +0 -8
  64. data/bindings/ogre/interface/OgreEntity.i +0 -6
  65. data/bindings/ogre/interface/OgreErrorDialog.i +0 -8
  66. data/bindings/ogre/interface/OgreException.i +0 -8
  67. data/bindings/ogre/interface/OgreExternalTextureSource.i +0 -8
  68. data/bindings/ogre/interface/OgreExternalTextureSourceManager.i +0 -8
  69. data/bindings/ogre/interface/OgreFactoryObj.i +0 -8
  70. data/bindings/ogre/interface/OgreFileSystem.i +0 -8
  71. data/bindings/ogre/interface/OgreFont.i +0 -8
  72. data/bindings/ogre/interface/OgreFontManager.i +0 -8
  73. data/bindings/ogre/interface/OgreFrameListener.i +0 -9
  74. data/bindings/ogre/interface/OgreFreeImageCodec.i +0 -8
  75. data/bindings/ogre/interface/OgreFrustum.i +0 -6
  76. data/bindings/ogre/interface/OgreGpuProgram.i +0 -6
  77. data/bindings/ogre/interface/OgreGpuProgramManager.i +0 -8
  78. data/bindings/ogre/interface/OgreGpuProgramParams.i +0 -13
  79. data/bindings/ogre/interface/OgreGpuProgramUsage.i +0 -8
  80. data/bindings/ogre/interface/OgreHardwareBuffer.i +0 -6
  81. data/bindings/ogre/interface/OgreHardwareBufferManager.i +0 -8
  82. data/bindings/ogre/interface/OgreHardwareIndexBuffer.i +0 -6
  83. data/bindings/ogre/interface/OgreHardwareOcclusionQuery.i +0 -8
  84. data/bindings/ogre/interface/OgreHardwarePixelBuffer.i +0 -6
  85. data/bindings/ogre/interface/OgreHardwareVertexBuffer.i +0 -6
  86. data/bindings/ogre/interface/OgreHeaderPrefix.i +0 -8
  87. data/bindings/ogre/interface/OgreHeaderSuffix.i +0 -8
  88. data/bindings/ogre/interface/OgreHighLevelGpuProgram.i +0 -8
  89. data/bindings/ogre/interface/OgreHighLevelGpuProgramManager.i +0 -8
  90. data/bindings/ogre/interface/OgreImage.i +0 -6
  91. data/bindings/ogre/interface/OgreImageCodec.i +0 -8
  92. data/bindings/ogre/interface/OgreInstanceBatch.i +0 -8
  93. data/bindings/ogre/interface/OgreInstanceBatchHW.i +0 -8
  94. data/bindings/ogre/interface/OgreInstanceBatchHW_VTF.i +0 -8
  95. data/bindings/ogre/interface/OgreInstanceBatchShader.i +0 -8
  96. data/bindings/ogre/interface/OgreInstanceBatchVTF.i +0 -8
  97. data/bindings/ogre/interface/OgreInstanceManager.i +0 -8
  98. data/bindings/ogre/interface/OgreInstancedEntity.i +0 -8
  99. data/bindings/ogre/interface/OgreInstancedGeometry.i +0 -9
  100. data/bindings/ogre/interface/OgreIteratorRange.i +0 -8
  101. data/bindings/ogre/interface/OgreIteratorWrapper.i +0 -6
  102. data/bindings/ogre/interface/OgreIteratorWrappers.i +0 -8
  103. data/bindings/ogre/interface/OgreKeyFrame.i +0 -13
  104. data/bindings/ogre/interface/OgreLight.i +0 -6
  105. data/bindings/ogre/interface/OgreLodListener.i +0 -8
  106. data/bindings/ogre/interface/OgreLodStrategy.i +0 -8
  107. data/bindings/ogre/interface/OgreLodStrategyManager.i +0 -10
  108. data/bindings/ogre/interface/OgreLog.i +0 -11
  109. data/bindings/ogre/interface/OgreLogManager.i +0 -8
  110. data/bindings/ogre/interface/OgreManualObject.i +0 -8
  111. data/bindings/ogre/interface/OgreMaterial.i +0 -17
  112. data/bindings/ogre/interface/OgreMaterialManager.i +0 -6
  113. data/bindings/ogre/interface/OgreMaterialSerializer.i +0 -8
  114. data/bindings/ogre/interface/OgreMath.i +0 -5
  115. data/bindings/ogre/interface/OgreMatrix3.i +0 -8
  116. data/bindings/ogre/interface/OgreMatrix4.i +0 -6
  117. data/bindings/ogre/interface/OgreMemoryAllocatedObject.i +0 -8
  118. data/bindings/ogre/interface/OgreMemoryAllocatorConfig.i +0 -7
  119. data/bindings/ogre/interface/OgreMemoryNedAlloc.i +0 -8
  120. data/bindings/ogre/interface/OgreMemoryNedPooling.i +0 -6
  121. data/bindings/ogre/interface/OgreMemorySTLAllocator.i +0 -5
  122. data/bindings/ogre/interface/OgreMemoryStdAlloc.i +0 -8
  123. data/bindings/ogre/interface/OgreMemoryTracker.i +0 -8
  124. data/bindings/ogre/interface/OgreMesh.i +0 -11
  125. data/bindings/ogre/interface/OgreMeshFileFormat.i +0 -8
  126. data/bindings/ogre/interface/OgreMeshManager.i +0 -6
  127. data/bindings/ogre/interface/OgreMeshSerializer.i +0 -8
  128. data/bindings/ogre/interface/OgreMeshSerializerImpl.i +0 -8
  129. data/bindings/ogre/interface/OgreMovableObject.i +0 -12
  130. data/bindings/ogre/interface/OgreMovablePlane.i +0 -8
  131. data/bindings/ogre/interface/OgreNode.i +0 -8
  132. data/bindings/ogre/interface/OgreNumerics.i +0 -8
  133. data/bindings/ogre/interface/OgreOptimisedUtil.i +0 -8
  134. data/bindings/ogre/interface/OgreOverlay.i +0 -6
  135. data/bindings/ogre/interface/OgreOverlayContainer.i +0 -37
  136. data/bindings/ogre/interface/OgreOverlayElement.i +0 -6
  137. data/bindings/ogre/interface/OgreOverlayElementCommands.i +0 -8
  138. data/bindings/ogre/interface/OgreOverlayElementFactory.i +0 -8
  139. data/bindings/ogre/interface/OgreOverlayManager.i +0 -20
  140. data/bindings/ogre/interface/OgrePanelOverlayElement.i +0 -14
  141. data/bindings/ogre/interface/OgreParticle.i +0 -8
  142. data/bindings/ogre/interface/OgreParticleAffector.i +0 -8
  143. data/bindings/ogre/interface/OgreParticleAffectorFactory.i +0 -8
  144. data/bindings/ogre/interface/OgreParticleEmitter.i +0 -8
  145. data/bindings/ogre/interface/OgreParticleEmitterCommands.i +0 -8
  146. data/bindings/ogre/interface/OgreParticleEmitterFactory.i +0 -8
  147. data/bindings/ogre/interface/OgreParticleIterator.i +0 -8
  148. data/bindings/ogre/interface/OgreParticleScriptCompiler.i +0 -8
  149. data/bindings/ogre/interface/OgreParticleSystem.i +0 -8
  150. data/bindings/ogre/interface/OgreParticleSystemManager.i +0 -8
  151. data/bindings/ogre/interface/OgreParticleSystemRenderer.i +0 -10
  152. data/bindings/ogre/interface/OgrePass.i +0 -6
  153. data/bindings/ogre/interface/OgrePatchMesh.i +0 -6
  154. data/bindings/ogre/interface/OgrePatchSurface.i +0 -6
  155. data/bindings/ogre/interface/OgrePixelCountLodStrategy.i +0 -8
  156. data/bindings/ogre/interface/OgrePixelFormat.i +0 -6
  157. data/bindings/ogre/interface/OgrePlane.i +0 -6
  158. data/bindings/ogre/interface/OgrePlaneBoundedVolume.i +0 -6
  159. data/bindings/ogre/interface/OgrePlatform.i +0 -6
  160. data/bindings/ogre/interface/OgrePlatformInformation.i +0 -8
  161. data/bindings/ogre/interface/OgrePlugin.i +0 -8
  162. data/bindings/ogre/interface/OgrePolygon.i +0 -8
  163. data/bindings/ogre/interface/OgrePose.i +0 -6
  164. data/bindings/ogre/interface/OgrePredefinedControllers.i +0 -8
  165. data/bindings/ogre/interface/OgrePrefabFactory.i +0 -8
  166. data/bindings/ogre/interface/OgrePrerequisites.i +0 -11
  167. data/bindings/ogre/interface/OgreProfiler.i +0 -8
  168. data/bindings/ogre/interface/OgreProgressiveMesh.i +0 -8
  169. data/bindings/ogre/interface/OgreQuaternion.i +0 -6
  170. data/bindings/ogre/interface/OgreRadixSort.i +0 -8
  171. data/bindings/ogre/interface/OgreRay.i +0 -8
  172. data/bindings/ogre/interface/OgreRectangle.i +0 -6
  173. data/bindings/ogre/interface/OgreRectangle2D.i +0 -6
  174. data/bindings/ogre/interface/OgreRenderObjectListener.i +0 -10
  175. data/bindings/ogre/interface/OgreRenderOperation.i +0 -8
  176. data/bindings/ogre/interface/OgreRenderQueue.i +0 -6
  177. data/bindings/ogre/interface/OgreRenderQueueInvocation.i +0 -8
  178. data/bindings/ogre/interface/OgreRenderQueueListener.i +0 -10
  179. data/bindings/ogre/interface/OgreRenderQueueSortingGrouping.i +0 -11
  180. data/bindings/ogre/interface/OgreRenderSystem.i +0 -23
  181. data/bindings/ogre/interface/OgreRenderSystemCapabilities.i +0 -6
  182. data/bindings/ogre/interface/OgreRenderSystemCapabilitiesManager.i +0 -8
  183. data/bindings/ogre/interface/OgreRenderSystemCapabilitiesSerializer.i +0 -8
  184. data/bindings/ogre/interface/OgreRenderTarget.i +0 -6
  185. data/bindings/ogre/interface/OgreRenderTargetListener.i +0 -10
  186. data/bindings/ogre/interface/OgreRenderTexture.i +0 -8
  187. data/bindings/ogre/interface/OgreRenderToVertexBuffer.i +0 -8
  188. data/bindings/ogre/interface/OgreRenderWindow.i +0 -6
  189. data/bindings/ogre/interface/OgreRenderable.i +0 -6
  190. data/bindings/ogre/interface/OgreResource.i +0 -9
  191. data/bindings/ogre/interface/OgreResourceBackgroundQueue.i +0 -8
  192. data/bindings/ogre/interface/OgreResourceGroupManager.i +0 -20
  193. data/bindings/ogre/interface/OgreResourceManager.i +0 -30
  194. data/bindings/ogre/interface/OgreRibbonTrail.i +0 -17
  195. data/bindings/ogre/interface/OgreRoot.i +0 -44
  196. data/bindings/ogre/interface/OgreRotationalSpline.i +0 -8
  197. data/bindings/ogre/interface/OgreSceneManager.i +0 -59
  198. data/bindings/ogre/interface/OgreSceneManagerEnumerator.i +0 -11
  199. data/bindings/ogre/interface/OgreSceneNode.i +0 -9
  200. data/bindings/ogre/interface/OgreSceneQuery.i +0 -6
  201. data/bindings/ogre/interface/OgreScriptCompiler.i +0 -11
  202. data/bindings/ogre/interface/OgreScriptLexer.i +0 -8
  203. data/bindings/ogre/interface/OgreScriptLoader.i +0 -8
  204. data/bindings/ogre/interface/OgreScriptParser.i +0 -8
  205. data/bindings/ogre/interface/OgreScriptTranslator.i +0 -8
  206. data/bindings/ogre/interface/OgreSearchOps.i +0 -8
  207. data/bindings/ogre/interface/OgreSerializer.i +0 -6
  208. data/bindings/ogre/interface/OgreShadowCameraSetup.i +0 -6
  209. data/bindings/ogre/interface/OgreShadowCameraSetupFocused.i +0 -8
  210. data/bindings/ogre/interface/OgreShadowCameraSetupLiSPSM.i +0 -8
  211. data/bindings/ogre/interface/OgreShadowCameraSetupPSSM.i +0 -8
  212. data/bindings/ogre/interface/OgreShadowCameraSetupPlaneOptimal.i +0 -8
  213. data/bindings/ogre/interface/OgreShadowCaster.i +0 -8
  214. data/bindings/ogre/interface/OgreShadowTextureManager.i +0 -6
  215. data/bindings/ogre/interface/OgreShadowVolumeExtrudeProgram.i +0 -8
  216. data/bindings/ogre/interface/OgreSharedPtr.i +0 -6
  217. data/bindings/ogre/interface/OgreSimpleRenderable.i +0 -6
  218. data/bindings/ogre/interface/OgreSimpleSpline.i +0 -8
  219. data/bindings/ogre/interface/OgreSingleton.i +0 -8
  220. data/bindings/ogre/interface/OgreSkeleton.i +0 -6
  221. data/bindings/ogre/interface/OgreSkeletonFileFormat.i +0 -8
  222. data/bindings/ogre/interface/OgreSkeletonInstance.i +0 -6
  223. data/bindings/ogre/interface/OgreSkeletonManager.i +0 -8
  224. data/bindings/ogre/interface/OgreSkeletonSerializer.i +0 -8
  225. data/bindings/ogre/interface/OgreSmallVector.i +0 -8
  226. data/bindings/ogre/interface/OgreSphere.i +0 -8
  227. data/bindings/ogre/interface/OgreSpotShadowFadePng.i +0 -8
  228. data/bindings/ogre/interface/OgreStableHeaders.i +0 -8
  229. data/bindings/ogre/interface/OgreStaticFaceGroup.i +0 -8
  230. data/bindings/ogre/interface/OgreStaticGeometry.i +0 -13
  231. data/bindings/ogre/interface/OgreStaticPluginLoader.i +0 -8
  232. data/bindings/ogre/interface/OgreStdHeaders.i +0 -8
  233. data/bindings/ogre/interface/OgreStreamSerialiser.i +0 -8
  234. data/bindings/ogre/interface/OgreString.i +0 -6
  235. data/bindings/ogre/interface/OgreStringConverter.i +0 -8
  236. data/bindings/ogre/interface/OgreStringInterface.i +0 -8
  237. data/bindings/ogre/interface/OgreStringVector.i +0 -22
  238. data/bindings/ogre/interface/OgreSubEntity.i +0 -8
  239. data/bindings/ogre/interface/OgreSubMesh.i +0 -8
  240. data/bindings/ogre/interface/OgreTagPoint.i +0 -8
  241. data/bindings/ogre/interface/OgreTangentSpaceCalc.i +0 -8
  242. data/bindings/ogre/interface/OgreTechnique.i +0 -18
  243. data/bindings/ogre/interface/OgreTextAreaOverlayElement.i +0 -8
  244. data/bindings/ogre/interface/OgreTexture.i +0 -6
  245. data/bindings/ogre/interface/OgreTextureManager.i +0 -6
  246. data/bindings/ogre/interface/OgreTextureUnitState.i +0 -6
  247. data/bindings/ogre/interface/OgreTimer.i +0 -8
  248. data/bindings/ogre/interface/OgreUTFString.i +0 -26
  249. data/bindings/ogre/interface/OgreUnifiedHighLevelGpuProgram.i +0 -10
  250. data/bindings/ogre/interface/OgreUserObjectBindings.i +0 -8
  251. data/bindings/ogre/interface/OgreVector2.i +0 -8
  252. data/bindings/ogre/interface/OgreVector3.i +0 -9
  253. data/bindings/ogre/interface/OgreVector4.i +0 -8
  254. data/bindings/ogre/interface/OgreVertexBoneAssignment.i +0 -6
  255. data/bindings/ogre/interface/OgreVertexIndexData.i +0 -8
  256. data/bindings/ogre/interface/OgreViewport.i +0 -6
  257. data/bindings/ogre/interface/OgreWindowEventUtilities.i +0 -6
  258. data/bindings/ogre/interface/OgreWireBoundingBox.i +0 -8
  259. data/bindings/ogre/interface/OgreWorkQueue.i +0 -8
  260. data/bindings/ogre/interface/OgreZip.i +0 -12
  261. data/bindings/ogre/interface/Paging/OgreGrid2DPageStrategy.i +0 -8
  262. data/bindings/ogre/interface/Paging/OgreGrid3DPageStrategy.i +0 -8
  263. data/bindings/ogre/interface/Paging/OgrePage.i +0 -8
  264. data/bindings/ogre/interface/Paging/OgrePageConnection.i +0 -8
  265. data/bindings/ogre/interface/Paging/OgrePageContent.i +0 -8
  266. data/bindings/ogre/interface/Paging/OgrePageContentCollection.i +0 -8
  267. data/bindings/ogre/interface/Paging/OgrePageContentCollectionFactory.i +0 -8
  268. data/bindings/ogre/interface/Paging/OgrePageContentFactory.i +0 -8
  269. data/bindings/ogre/interface/Paging/OgrePageFileFormats.i +0 -8
  270. data/bindings/ogre/interface/Paging/OgrePageManager.i +0 -8
  271. data/bindings/ogre/interface/Paging/OgrePageStrategy.i +0 -8
  272. data/bindings/ogre/interface/Paging/OgrePagedWorld.i +0 -8
  273. data/bindings/ogre/interface/Paging/OgrePagedWorldSection.i +0 -8
  274. data/bindings/ogre/interface/Paging/OgrePaging.i +0 -8
  275. data/bindings/ogre/interface/Paging/OgrePagingPrerequisites.i +0 -8
  276. data/bindings/ogre/interface/Paging/OgreSimplePageContentCollection.i +0 -8
  277. data/bindings/ogre/interface/RTShaderSystem/OgreRTShaderSystem.i +0 -8
  278. data/bindings/ogre/interface/RTShaderSystem/OgreShaderCGProgramProcessor.i +0 -8
  279. data/bindings/ogre/interface/RTShaderSystem/OgreShaderCGProgramWriter.i +0 -8
  280. data/bindings/ogre/interface/RTShaderSystem/OgreShaderExDualQuaternionSkinning.i +0 -8
  281. data/bindings/ogre/interface/RTShaderSystem/OgreShaderExHardwareSkinning.i +0 -10
  282. data/bindings/ogre/interface/RTShaderSystem/OgreShaderExHardwareSkinningTechnique.i +0 -8
  283. data/bindings/ogre/interface/RTShaderSystem/OgreShaderExIntegratedPSSM3.i +0 -8
  284. data/bindings/ogre/interface/RTShaderSystem/OgreShaderExLayeredBlending.i +0 -11
  285. data/bindings/ogre/interface/RTShaderSystem/OgreShaderExLinearSkinning.i +0 -8
  286. data/bindings/ogre/interface/RTShaderSystem/OgreShaderExNormalMapLighting.i +0 -8
  287. data/bindings/ogre/interface/RTShaderSystem/OgreShaderExPerPixelLighting.i +0 -8
  288. data/bindings/ogre/interface/RTShaderSystem/OgreShaderExTextureAtlasSampler.i +0 -10
  289. data/bindings/ogre/interface/RTShaderSystem/OgreShaderFFPColour.i +0 -8
  290. data/bindings/ogre/interface/RTShaderSystem/OgreShaderFFPFog.i +0 -8
  291. data/bindings/ogre/interface/RTShaderSystem/OgreShaderFFPLighting.i +0 -8
  292. data/bindings/ogre/interface/RTShaderSystem/OgreShaderFFPRenderState.i +0 -8
  293. data/bindings/ogre/interface/RTShaderSystem/OgreShaderFFPRenderStateBuilder.i +0 -11
  294. data/bindings/ogre/interface/RTShaderSystem/OgreShaderFFPTexturing.i +0 -8
  295. data/bindings/ogre/interface/RTShaderSystem/OgreShaderFFPTransform.i +0 -8
  296. data/bindings/ogre/interface/RTShaderSystem/OgreShaderFunction.i +0 -8
  297. data/bindings/ogre/interface/RTShaderSystem/OgreShaderFunctionAtom.i +0 -8
  298. data/bindings/ogre/interface/RTShaderSystem/OgreShaderGLSLESProgramProcessor.i +0 -8
  299. data/bindings/ogre/interface/RTShaderSystem/OgreShaderGLSLESProgramWriter.i +0 -11
  300. data/bindings/ogre/interface/RTShaderSystem/OgreShaderGLSLProgramProcessor.i +0 -8
  301. data/bindings/ogre/interface/RTShaderSystem/OgreShaderGLSLProgramWriter.i +0 -8
  302. data/bindings/ogre/interface/RTShaderSystem/OgreShaderGenerator.i +0 -8
  303. data/bindings/ogre/interface/RTShaderSystem/OgreShaderHLSLProgramProcessor.i +0 -8
  304. data/bindings/ogre/interface/RTShaderSystem/OgreShaderHLSLProgramWriter.i +0 -8
  305. data/bindings/ogre/interface/RTShaderSystem/OgreShaderMaterialSerializerListener.i +0 -8
  306. data/bindings/ogre/interface/RTShaderSystem/OgreShaderParameter.i +0 -8
  307. data/bindings/ogre/interface/RTShaderSystem/OgreShaderPrerequisites.i +0 -8
  308. data/bindings/ogre/interface/RTShaderSystem/OgreShaderProgram.i +0 -8
  309. data/bindings/ogre/interface/RTShaderSystem/OgreShaderProgramManager.i +0 -8
  310. data/bindings/ogre/interface/RTShaderSystem/OgreShaderProgramProcessor.i +0 -8
  311. data/bindings/ogre/interface/RTShaderSystem/OgreShaderProgramSet.i +0 -8
  312. data/bindings/ogre/interface/RTShaderSystem/OgreShaderProgramWriter.i +0 -8
  313. data/bindings/ogre/interface/RTShaderSystem/OgreShaderProgramWriterManager.i +0 -8
  314. data/bindings/ogre/interface/RTShaderSystem/OgreShaderRenderState.i +0 -8
  315. data/bindings/ogre/interface/RTShaderSystem/OgreShaderScriptTranslator.i +0 -8
  316. data/bindings/ogre/interface/RTShaderSystem/OgreShaderSubRenderState.i +0 -8
  317. data/bindings/ogre/interface/Rakefile +0 -22
  318. data/bindings/ogre/interface/Terrain/OgreTerrain.i +0 -14
  319. data/bindings/ogre/interface/Terrain/OgreTerrainGroup.i +0 -79
  320. data/bindings/ogre/interface/Terrain/OgreTerrainLayerBlendMap.i +0 -8
  321. data/bindings/ogre/interface/Terrain/OgreTerrainMaterialGenerator.i +0 -8
  322. data/bindings/ogre/interface/Terrain/OgreTerrainMaterialGeneratorA.i +0 -8
  323. data/bindings/ogre/interface/Terrain/OgreTerrainPagedWorldSection.i +0 -8
  324. data/bindings/ogre/interface/Terrain/OgreTerrainPaging.i +0 -8
  325. data/bindings/ogre/interface/Terrain/OgreTerrainPrerequisites.i +0 -8
  326. data/bindings/ogre/interface/Terrain/OgreTerrainQuadTreeNode.i +0 -8
  327. data/bindings/ogre/interface/Threading/OgreDefaultWorkQueue.i +0 -8
  328. data/bindings/ogre/interface/Threading/OgreDefaultWorkQueueStandard.i +0 -8
  329. data/bindings/ogre/interface/Threading/OgreThreadDefines.i +0 -8
  330. data/bindings/ogre/interface/Threading/OgreThreadDefinesNone.i +0 -8
  331. data/bindings/ogre/interface/Threading/OgreThreadHeaders.i +0 -8
  332. data/bindings/ogre/interface/changeFileName +0 -6
  333. data/bindings/ogre/interface/ogre.i +0 -6
  334. data/bindings/ogre/interface/ogre_all.i +0 -363
  335. data/bindings/ogre/interface/ogre_wrap.cpp +0 -552973
  336. data/bindings/ogre/interface/ogre_wrap.h +0 -79
  337. data/bindings/ogre/interface/ogre_wrap.o +0 -0
  338. data/bindings/ogrebites/interface/Rakefile +0 -22
  339. data/bindings/ogrebites/interface/SdkCameraMan.i +0 -6
  340. data/bindings/ogrebites/interface/SdkTrays.i +0 -60
  341. data/bindings/ogrebites/interface/ogrebites.i +0 -26
  342. data/bindings/ogrebites/interface/ogrebites_wrap.cpp +0 -21112
  343. data/bindings/ogrebites/interface/ogrebites_wrap.h +0 -34
  344. data/bindings/ogrebites/interface/ogrebites_wrap.o +0 -0
  345. data/bindings/ois/interface/OIS_Effect.i +0 -8
  346. data/bindings/ois/interface/OIS_Event.i +0 -8
  347. data/bindings/ois/interface/OIS_Exception.i +0 -8
  348. data/bindings/ois/interface/OIS_FactoryCreator.i +0 -8
  349. data/bindings/ois/interface/OIS_ForceFeedback.i +0 -8
  350. data/bindings/ois/interface/OIS_InputManager.i +0 -20
  351. data/bindings/ois/interface/OIS_Interface.i +0 -8
  352. data/bindings/ois/interface/OIS_JoyStick.i +0 -8
  353. data/bindings/ois/interface/OIS_Keyboard.i +0 -15
  354. data/bindings/ois/interface/OIS_Mouse.i +0 -10
  355. data/bindings/ois/interface/OIS_Object.i +0 -22
  356. data/bindings/ois/interface/OIS_Prereqs.i +0 -20
  357. data/bindings/ois/interface/Rakefile +0 -22
  358. data/bindings/ois/interface/ois.i +0 -3
  359. data/bindings/ois/interface/ois_all.i +0 -23
  360. data/bindings/ois/interface/ois_wrap.cpp +0 -19311
  361. data/bindings/ois/interface/ois_wrap.h +0 -40
  362. data/bindings/ois/interface/ois_wrap.o +0 -0
  363. data/bindings/procedural/interface/ProceduralBoxGenerator.i +0 -12
  364. data/bindings/procedural/interface/ProceduralCapsuleGenerator.i +0 -12
  365. data/bindings/procedural/interface/ProceduralConeGenerator.i +0 -12
  366. data/bindings/procedural/interface/ProceduralCylinderGenerator.i +0 -12
  367. data/bindings/procedural/interface/ProceduralExtruder.i +0 -8
  368. data/bindings/procedural/interface/ProceduralGeometryHelpers.i +0 -15
  369. data/bindings/procedural/interface/ProceduralHeader.i +0 -8
  370. data/bindings/procedural/interface/ProceduralIcoSphereGenerator.i +0 -12
  371. data/bindings/procedural/interface/ProceduralLathe.i +0 -8
  372. data/bindings/procedural/interface/ProceduralMeshGenerator.i +0 -9
  373. data/bindings/procedural/interface/ProceduralMultiShape.i +0 -8
  374. data/bindings/procedural/interface/ProceduralPath.i +0 -8
  375. data/bindings/procedural/interface/ProceduralPathGenerators.i +0 -10
  376. data/bindings/procedural/interface/ProceduralPlaneGenerator.i +0 -12
  377. data/bindings/procedural/interface/ProceduralPlatform.i +0 -8
  378. data/bindings/procedural/interface/ProceduralRoot.i +0 -23
  379. data/bindings/procedural/interface/ProceduralRoundedBoxGenerator.i +0 -12
  380. data/bindings/procedural/interface/ProceduralShape.i +0 -8
  381. data/bindings/procedural/interface/ProceduralShapeGenerators.i +0 -10
  382. data/bindings/procedural/interface/ProceduralSphereGenerator.i +0 -11
  383. data/bindings/procedural/interface/ProceduralSplines.i +0 -8
  384. data/bindings/procedural/interface/ProceduralStableHeaders.i +0 -8
  385. data/bindings/procedural/interface/ProceduralTorusGenerator.i +0 -12
  386. data/bindings/procedural/interface/ProceduralTorusKnotGenerator.i +0 -12
  387. data/bindings/procedural/interface/ProceduralTrack.i +0 -8
  388. data/bindings/procedural/interface/ProceduralTriangleBuffer.i +0 -13
  389. data/bindings/procedural/interface/ProceduralTriangulator.i +0 -8
  390. data/bindings/procedural/interface/ProceduralTubeGenerator.i +0 -12
  391. data/bindings/procedural/interface/ProceduralUtils.i +0 -8
  392. data/bindings/procedural/interface/Rakefile +0 -22
  393. data/bindings/procedural/interface/procedural.i +0 -41
  394. data/bindings/procedural/interface/procedural_wrap.cpp +0 -36079
  395. data/bindings/procedural/interface/procedural_wrap.h +0 -19
  396. data/bindings/procedural/interface/procedural_wrap.o +0 -0
  397. data/deps/include/OGRE/ExampleApplication.h +0 -431
  398. data/deps/include/OGRE/ExampleFrameListener.h +0 -516
  399. data/deps/include/OGRE/ExampleLoadingBar.h +0 -192
  400. data/deps/include/OGRE/FileSystemLayer.h +0 -75
  401. data/deps/include/OGRE/GLX/OgreConfigDialogImp.h +0 -75
  402. data/deps/include/OGRE/GLX/OgreErrorDialogImp.h +0 -52
  403. data/deps/include/OGRE/GLX/OgreTimerImp.h +0 -79
  404. data/deps/include/OGRE/Ogre.h +0 -133
  405. data/deps/include/OGRE/OgreAlignedAllocator.h +0 -107
  406. data/deps/include/OGRE/OgreAnimable.h +0 -335
  407. data/deps/include/OGRE/OgreAnimation.h +0 -544
  408. data/deps/include/OGRE/OgreAnimationState.h +0 -295
  409. data/deps/include/OGRE/OgreAnimationTrack.h +0 -580
  410. data/deps/include/OGRE/OgreAny.h +0 -440
  411. data/deps/include/OGRE/OgreArchive.h +0 -240
  412. data/deps/include/OGRE/OgreArchiveFactory.h +0 -70
  413. data/deps/include/OGRE/OgreArchiveManager.h +0 -139
  414. data/deps/include/OGRE/OgreAtomicWrappers.h +0 -441
  415. data/deps/include/OGRE/OgreAutoParamDataSource.h +0 -265
  416. data/deps/include/OGRE/OgreAxisAlignedBox.h +0 -841
  417. data/deps/include/OGRE/OgreBillboard.h +0 -225
  418. data/deps/include/OGRE/OgreBillboardChain.h +0 -387
  419. data/deps/include/OGRE/OgreBillboardParticleRenderer.h +0 -263
  420. data/deps/include/OGRE/OgreBillboardSet.h +0 -878
  421. data/deps/include/OGRE/OgreBitwise.h +0 -331
  422. data/deps/include/OGRE/OgreBlendMode.h +0 -266
  423. data/deps/include/OGRE/OgreBone.h +0 -154
  424. data/deps/include/OGRE/OgreBorderPanelOverlayElement.h +0 -352
  425. data/deps/include/OGRE/OgreBuildSettings.h +0 -62
  426. data/deps/include/OGRE/OgreCamera.h +0 -680
  427. data/deps/include/OGRE/OgreCodec.h +0 -178
  428. data/deps/include/OGRE/OgreColourValue.h +0 -334
  429. data/deps/include/OGRE/OgreCommon.h +0 -870
  430. data/deps/include/OGRE/OgreCompositionPass.h +0 -356
  431. data/deps/include/OGRE/OgreCompositionTargetPass.h +0 -174
  432. data/deps/include/OGRE/OgreCompositionTechnique.h +0 -188
  433. data/deps/include/OGRE/OgreCompositor.h +0 -235
  434. data/deps/include/OGRE/OgreCompositorChain.h +0 -241
  435. data/deps/include/OGRE/OgreCompositorInstance.h +0 -373
  436. data/deps/include/OGRE/OgreCompositorLogic.h +0 -68
  437. data/deps/include/OGRE/OgreCompositorManager.h +0 -291
  438. data/deps/include/OGRE/OgreConfig.h +0 -189
  439. data/deps/include/OGRE/OgreConfigDialog.h +0 -55
  440. data/deps/include/OGRE/OgreConfigFile.h +0 -110
  441. data/deps/include/OGRE/OgreConfigOptionMap.h +0 -63
  442. data/deps/include/OGRE/OgreController.h +0 -233
  443. data/deps/include/OGRE/OgreControllerManager.h +0 -294
  444. data/deps/include/OGRE/OgreConvexBody.h +0 -260
  445. data/deps/include/OGRE/OgreCustomCompositionPass.h +0 -65
  446. data/deps/include/OGRE/OgreDDSCodec.h +0 -98
  447. data/deps/include/OGRE/OgreDataStream.h +0 -664
  448. data/deps/include/OGRE/OgreDefaultHardwareBufferManager.h +0 -140
  449. data/deps/include/OGRE/OgreDeflate.h +0 -133
  450. data/deps/include/OGRE/OgreDepthBuffer.h +0 -155
  451. data/deps/include/OGRE/OgreDistanceLodStrategy.h +0 -137
  452. data/deps/include/OGRE/OgreDualQuaternion.h +0 -184
  453. data/deps/include/OGRE/OgreDynLib.h +0 -124
  454. data/deps/include/OGRE/OgreDynLibManager.h +0 -117
  455. data/deps/include/OGRE/OgreEdgeListBuilder.h +0 -269
  456. data/deps/include/OGRE/OgreEntity.h +0 -866
  457. data/deps/include/OGRE/OgreErrorDialog.h +0 -55
  458. data/deps/include/OGRE/OgreException.h +0 -351
  459. data/deps/include/OGRE/OgreExternalTextureSource.h +0 -191
  460. data/deps/include/OGRE/OgreExternalTextureSourceManager.h +0 -124
  461. data/deps/include/OGRE/OgreFactoryObj.h +0 -72
  462. data/deps/include/OGRE/OgreFileSystem.h +0 -144
  463. data/deps/include/OGRE/OgreFont.h +0 -478
  464. data/deps/include/OGRE/OgreFontManager.h +0 -102
  465. data/deps/include/OGRE/OgreFrameListener.h +0 -140
  466. data/deps/include/OGRE/OgreFreeImageCodec.h +0 -87
  467. data/deps/include/OGRE/OgreFrustum.h +0 -673
  468. data/deps/include/OGRE/OgreGpuProgram.h +0 -487
  469. data/deps/include/OGRE/OgreGpuProgramManager.h +0 -262
  470. data/deps/include/OGRE/OgreGpuProgramParams.h +0 -1840
  471. data/deps/include/OGRE/OgreGpuProgramUsage.h +0 -149
  472. data/deps/include/OGRE/OgreHardwareBuffer.h +0 -356
  473. data/deps/include/OGRE/OgreHardwareBufferManager.h +0 -539
  474. data/deps/include/OGRE/OgreHardwareIndexBuffer.h +0 -89
  475. data/deps/include/OGRE/OgreHardwareOcclusionQuery.h +0 -132
  476. data/deps/include/OGRE/OgreHardwarePixelBuffer.h +0 -208
  477. data/deps/include/OGRE/OgreHardwareVertexBuffer.h +0 -581
  478. data/deps/include/OGRE/OgreHeaderPrefix.h +0 -82
  479. data/deps/include/OGRE/OgreHeaderSuffix.h +0 -44
  480. data/deps/include/OGRE/OgreHighLevelGpuProgram.h +0 -194
  481. data/deps/include/OGRE/OgreHighLevelGpuProgramManager.h +0 -158
  482. data/deps/include/OGRE/OgreImage.h +0 -510
  483. data/deps/include/OGRE/OgreImageCodec.h +0 -89
  484. data/deps/include/OGRE/OgreInstanceBatch.h +0 -348
  485. data/deps/include/OGRE/OgreInstanceBatchHW.h +0 -110
  486. data/deps/include/OGRE/OgreInstanceBatchHW_VTF.h +0 -113
  487. data/deps/include/OGRE/OgreInstanceBatchShader.h +0 -99
  488. data/deps/include/OGRE/OgreInstanceBatchVTF.h +0 -226
  489. data/deps/include/OGRE/OgreInstanceManager.h +0 -285
  490. data/deps/include/OGRE/OgreInstancedEntity.h +0 -277
  491. data/deps/include/OGRE/OgreInstancedGeometry.h +0 -890
  492. data/deps/include/OGRE/OgreIteratorRange.h +0 -332
  493. data/deps/include/OGRE/OgreIteratorWrapper.h +0 -383
  494. data/deps/include/OGRE/OgreIteratorWrappers.h +0 -35
  495. data/deps/include/OGRE/OgreKeyFrame.h +0 -257
  496. data/deps/include/OGRE/OgreLight.h +0 -597
  497. data/deps/include/OGRE/OgreLodListener.h +0 -207
  498. data/deps/include/OGRE/OgreLodStrategy.h +0 -132
  499. data/deps/include/OGRE/OgreLodStrategyManager.h +0 -133
  500. data/deps/include/OGRE/OgreLog.h +0 -263
  501. data/deps/include/OGRE/OgreLogManager.h +0 -175
  502. data/deps/include/OGRE/OgreManualObject.h +0 -572
  503. data/deps/include/OGRE/OgreMaterial.h +0 -741
  504. data/deps/include/OGRE/OgreMaterialManager.h +0 -304
  505. data/deps/include/OGRE/OgreMaterialSerializer.h +0 -447
  506. data/deps/include/OGRE/OgreMath.h +0 -743
  507. data/deps/include/OGRE/OgreMatrix3.h +0 -286
  508. data/deps/include/OGRE/OgreMatrix4.h +0 -660
  509. data/deps/include/OGRE/OgreMemoryAllocatedObject.h +0 -129
  510. data/deps/include/OGRE/OgreMemoryAllocatorConfig.h +0 -493
  511. data/deps/include/OGRE/OgreMemoryNedAlloc.h +0 -140
  512. data/deps/include/OGRE/OgreMemoryNedPooling.h +0 -143
  513. data/deps/include/OGRE/OgreMemorySTLAllocator.h +0 -225
  514. data/deps/include/OGRE/OgreMemoryStdAlloc.h +0 -155
  515. data/deps/include/OGRE/OgreMemoryTracker.h +0 -197
  516. data/deps/include/OGRE/OgreMesh.h +0 -922
  517. data/deps/include/OGRE/OgreMeshFileFormat.h +0 -295
  518. data/deps/include/OGRE/OgreMeshManager.h +0 -497
  519. data/deps/include/OGRE/OgreMeshSerializer.h +0 -206
  520. data/deps/include/OGRE/OgreMeshSerializerImpl.h +0 -274
  521. data/deps/include/OGRE/OgreMovableObject.h +0 -641
  522. data/deps/include/OGRE/OgreMovablePlane.h +0 -97
  523. data/deps/include/OGRE/OgreNode.h +0 -774
  524. data/deps/include/OGRE/OgreNumerics.h +0 -66
  525. data/deps/include/OGRE/OgreOptimisedUtil.h +0 -232
  526. data/deps/include/OGRE/OgreOverlay.h +0 -280
  527. data/deps/include/OGRE/OgreOverlayContainer.h +0 -152
  528. data/deps/include/OGRE/OgreOverlayElement.h +0 -501
  529. data/deps/include/OGRE/OgreOverlayElementCommands.h +0 -122
  530. data/deps/include/OGRE/OgreOverlayElementFactory.h +0 -116
  531. data/deps/include/OGRE/OgreOverlayManager.h +0 -256
  532. data/deps/include/OGRE/OgrePanelOverlayElement.h +0 -161
  533. data/deps/include/OGRE/OgreParticle.h +0 -154
  534. data/deps/include/OGRE/OgreParticleAffector.h +0 -127
  535. data/deps/include/OGRE/OgreParticleAffectorFactory.h +0 -81
  536. data/deps/include/OGRE/OgreParticleEmitter.h +0 -524
  537. data/deps/include/OGRE/OgreParticleEmitterCommands.h +0 -215
  538. data/deps/include/OGRE/OgreParticleEmitterFactory.h +0 -84
  539. data/deps/include/OGRE/OgreParticleIterator.h +0 -68
  540. data/deps/include/OGRE/OgreParticleScriptCompiler.h +0 -92
  541. data/deps/include/OGRE/OgreParticleSystem.h +0 -913
  542. data/deps/include/OGRE/OgreParticleSystemManager.h +0 -406
  543. data/deps/include/OGRE/OgreParticleSystemRenderer.h +0 -143
  544. data/deps/include/OGRE/OgrePass.h +0 -1775
  545. data/deps/include/OGRE/OgrePatchMesh.h +0 -164
  546. data/deps/include/OGRE/OgrePatchSurface.h +0 -240
  547. data/deps/include/OGRE/OgrePixelCountLodStrategy.h +0 -113
  548. data/deps/include/OGRE/OgrePixelFormat.h +0 -513
  549. data/deps/include/OGRE/OgrePlane.h +0 -166
  550. data/deps/include/OGRE/OgrePlaneBoundedVolume.h +0 -135
  551. data/deps/include/OGRE/OgrePlatform.h +0 -288
  552. data/deps/include/OGRE/OgrePlatformInformation.h +0 -202
  553. data/deps/include/OGRE/OgrePlugin.h +0 -139
  554. data/deps/include/OGRE/OgrePolygon.h +0 -145
  555. data/deps/include/OGRE/OgrePose.h +0 -141
  556. data/deps/include/OGRE/OgrePredefinedControllers.h +0 -292
  557. data/deps/include/OGRE/OgrePrefabFactory.h +0 -73
  558. data/deps/include/OGRE/OgrePrerequisites.h +0 -563
  559. data/deps/include/OGRE/OgreProfiler.h +0 -549
  560. data/deps/include/OGRE/OgreProgressiveMesh.h +0 -416
  561. data/deps/include/OGRE/OgreQuaternion.h +0 -330
  562. data/deps/include/OGRE/OgreRadixSort.h +0 -330
  563. data/deps/include/OGRE/OgreRay.h +0 -122
  564. data/deps/include/OGRE/OgreRectangle.h +0 -77
  565. data/deps/include/OGRE/OgreRectangle2D.h +0 -101
  566. data/deps/include/OGRE/OgreRenderObjectListener.h +0 -64
  567. data/deps/include/OGRE/OgreRenderOperation.h +0 -100
  568. data/deps/include/OGRE/OgreRenderQueue.h +0 -516
  569. data/deps/include/OGRE/OgreRenderQueueInvocation.h +0 -225
  570. data/deps/include/OGRE/OgreRenderQueueListener.h +0 -106
  571. data/deps/include/OGRE/OgreRenderQueueSortingGrouping.h +0 -733
  572. data/deps/include/OGRE/OgreRenderSystem.h +0 -1589
  573. data/deps/include/OGRE/OgreRenderSystemCapabilities.h +0 -727
  574. data/deps/include/OGRE/OgreRenderSystemCapabilitiesManager.h +0 -129
  575. data/deps/include/OGRE/OgreRenderSystemCapabilitiesSerializer.h +0 -248
  576. data/deps/include/OGRE/OgreRenderTarget.h +0 -534
  577. data/deps/include/OGRE/OgreRenderTargetListener.h +0 -146
  578. data/deps/include/OGRE/OgreRenderTexture.h +0 -140
  579. data/deps/include/OGRE/OgreRenderToVertexBuffer.h +0 -151
  580. data/deps/include/OGRE/OgreRenderWindow.h +0 -225
  581. data/deps/include/OGRE/OgreRenderable.h +0 -428
  582. data/deps/include/OGRE/OgreResource.h +0 -536
  583. data/deps/include/OGRE/OgreResourceBackgroundQueue.h +0 -359
  584. data/deps/include/OGRE/OgreResourceGroupManager.h +0 -1092
  585. data/deps/include/OGRE/OgreResourceManager.h +0 -538
  586. data/deps/include/OGRE/OgreRibbonTrail.h +0 -245
  587. data/deps/include/OGRE/OgreRoot.h +0 -1075
  588. data/deps/include/OGRE/OgreRotationalSpline.h +0 -136
  589. data/deps/include/OGRE/OgreSceneManager.h +0 -3670
  590. data/deps/include/OGRE/OgreSceneManagerEnumerator.h +0 -233
  591. data/deps/include/OGRE/OgreSceneNode.h +0 -472
  592. data/deps/include/OGRE/OgreSceneQuery.h +0 -564
  593. data/deps/include/OGRE/OgreScriptCompiler.h +0 -851
  594. data/deps/include/OGRE/OgreScriptLexer.h +0 -96
  595. data/deps/include/OGRE/OgreScriptLoader.h +0 -96
  596. data/deps/include/OGRE/OgreScriptParser.h +0 -63
  597. data/deps/include/OGRE/OgreScriptTranslator.h +0 -286
  598. data/deps/include/OGRE/OgreSearchOps.h +0 -69
  599. data/deps/include/OGRE/OgreSerializer.h +0 -120
  600. data/deps/include/OGRE/OgreShadowCameraSetup.h +0 -107
  601. data/deps/include/OGRE/OgreShadowCameraSetupFocused.h +0 -289
  602. data/deps/include/OGRE/OgreShadowCameraSetupLiSPSM.h +0 -254
  603. data/deps/include/OGRE/OgreShadowCameraSetupPSSM.h +0 -126
  604. data/deps/include/OGRE/OgreShadowCameraSetupPlaneOptimal.h +0 -88
  605. data/deps/include/OGRE/OgreShadowCaster.h +0 -225
  606. data/deps/include/OGRE/OgreShadowTextureManager.h +0 -156
  607. data/deps/include/OGRE/OgreShadowVolumeExtrudeProgram.h +0 -286
  608. data/deps/include/OGRE/OgreSharedPtr.h +0 -278
  609. data/deps/include/OGRE/OgreSimpleRenderable.h +0 -111
  610. data/deps/include/OGRE/OgreSimpleSpline.h +0 -137
  611. data/deps/include/OGRE/OgreSingleton.h +0 -104
  612. data/deps/include/OGRE/OgreSkeleton.h +0 -539
  613. data/deps/include/OGRE/OgreSkeletonFileFormat.h +0 -117
  614. data/deps/include/OGRE/OgreSkeletonInstance.h +0 -163
  615. data/deps/include/OGRE/OgreSkeletonManager.h +0 -105
  616. data/deps/include/OGRE/OgreSkeletonSerializer.h +0 -151
  617. data/deps/include/OGRE/OgreSmallVector.h +0 -814
  618. data/deps/include/OGRE/OgreSphere.h +0 -145
  619. data/deps/include/OGRE/OgreSpotShadowFadePng.h +0 -647
  620. data/deps/include/OGRE/OgreStableHeaders.h +0 -82
  621. data/deps/include/OGRE/OgreStaticFaceGroup.h +0 -141
  622. data/deps/include/OGRE/OgreStaticGeometry.h +0 -781
  623. data/deps/include/OGRE/OgreStaticPluginLoader.h +0 -205
  624. data/deps/include/OGRE/OgreStdHeaders.h +0 -128
  625. data/deps/include/OGRE/OgreStreamSerialiser.h +0 -386
  626. data/deps/include/OGRE/OgreString.h +0 -223
  627. data/deps/include/OGRE/OgreStringConverter.h +0 -275
  628. data/deps/include/OGRE/OgreStringInterface.h +0 -335
  629. data/deps/include/OGRE/OgreStringVector.h +0 -53
  630. data/deps/include/OGRE/OgreSubEntity.h +0 -288
  631. data/deps/include/OGRE/OgreSubMesh.h +0 -294
  632. data/deps/include/OGRE/OgreTagPoint.h +0 -123
  633. data/deps/include/OGRE/OgreTangentSpaceCalc.h +0 -269
  634. data/deps/include/OGRE/OgreTechnique.h +0 -714
  635. data/deps/include/OGRE/OgreTextAreaOverlayElement.h +0 -258
  636. data/deps/include/OGRE/OgreTexture.h +0 -496
  637. data/deps/include/OGRE/OgreTextureManager.h +0 -508
  638. data/deps/include/OGRE/OgreTextureUnitState.h +0 -1265
  639. data/deps/include/OGRE/OgreTimer.h +0 -49
  640. data/deps/include/OGRE/OgreUTFString.h +0 -1113
  641. data/deps/include/OGRE/OgreUnifiedHighLevelGpuProgram.h +0 -177
  642. data/deps/include/OGRE/OgreUserObjectBindings.h +0 -140
  643. data/deps/include/OGRE/OgreVector2.h +0 -609
  644. data/deps/include/OGRE/OgreVector3.h +0 -818
  645. data/deps/include/OGRE/OgreVector4.h +0 -414
  646. data/deps/include/OGRE/OgreVertexBoneAssignment.h +0 -63
  647. data/deps/include/OGRE/OgreVertexIndexData.h +0 -323
  648. data/deps/include/OGRE/OgreViewport.h +0 -433
  649. data/deps/include/OGRE/OgreWindowEventUtilities.h +0 -188
  650. data/deps/include/OGRE/OgreWireBoundingBox.h +0 -87
  651. data/deps/include/OGRE/OgreWorkQueue.h +0 -556
  652. data/deps/include/OGRE/OgreZip.h +0 -196
  653. data/deps/include/OGRE/Paging/OgreGrid2DPageStrategy.h +0 -250
  654. data/deps/include/OGRE/Paging/OgreGrid3DPageStrategy.h +0 -222
  655. data/deps/include/OGRE/Paging/OgrePage.h +0 -205
  656. data/deps/include/OGRE/Paging/OgrePageConnection.h +0 -50
  657. data/deps/include/OGRE/Paging/OgrePageContent.h +0 -90
  658. data/deps/include/OGRE/Paging/OgrePageContentCollection.h +0 -103
  659. data/deps/include/OGRE/Paging/OgrePageContentCollectionFactory.h +0 -62
  660. data/deps/include/OGRE/Paging/OgrePageContentFactory.h +0 -67
  661. data/deps/include/OGRE/Paging/OgrePageFileFormats.h +0 -223
  662. data/deps/include/OGRE/Paging/OgrePageManager.h +0 -481
  663. data/deps/include/OGRE/Paging/OgrePageStrategy.h +0 -138
  664. data/deps/include/OGRE/Paging/OgrePagedWorld.h +0 -252
  665. data/deps/include/OGRE/Paging/OgrePagedWorldSection.h +0 -316
  666. data/deps/include/OGRE/Paging/OgrePaging.h +0 -45
  667. data/deps/include/OGRE/Paging/OgrePagingPrerequisites.h +0 -84
  668. data/deps/include/OGRE/Paging/OgreSimplePageContentCollection.h +0 -137
  669. data/deps/include/OGRE/Plugins/BSPSceneManager/OgreBspLevel.h +0 -278
  670. data/deps/include/OGRE/Plugins/BSPSceneManager/OgreBspNode.h +0 -212
  671. data/deps/include/OGRE/Plugins/BSPSceneManager/OgreBspPrerequisites.h +0 -65
  672. data/deps/include/OGRE/Plugins/BSPSceneManager/OgreBspResourceManager.h +0 -110
  673. data/deps/include/OGRE/Plugins/BSPSceneManager/OgreBspSceneManager.h +0 -280
  674. data/deps/include/OGRE/Plugins/BSPSceneManager/OgreBspSceneManagerPlugin.h +0 -67
  675. data/deps/include/OGRE/Plugins/BSPSceneManager/OgreBspSceneNode.h +0 -79
  676. data/deps/include/OGRE/Plugins/BSPSceneManager/OgreQuake3Level.h +0 -167
  677. data/deps/include/OGRE/Plugins/BSPSceneManager/OgreQuake3Shader.h +0 -119
  678. data/deps/include/OGRE/Plugins/BSPSceneManager/OgreQuake3ShaderManager.h +0 -125
  679. data/deps/include/OGRE/Plugins/BSPSceneManager/OgreQuake3Types.h +0 -250
  680. data/deps/include/OGRE/Plugins/CgProgramManager/OgreCgFxScriptLoader.h +0 -1544
  681. data/deps/include/OGRE/Plugins/CgProgramManager/OgreCgPlugin.h +0 -65
  682. data/deps/include/OGRE/Plugins/CgProgramManager/OgreCgPrerequisites.h +0 -62
  683. data/deps/include/OGRE/Plugins/CgProgramManager/OgreCgProgram.h +0 -149
  684. data/deps/include/OGRE/Plugins/CgProgramManager/OgreCgProgramFactory.h +0 -55
  685. data/deps/include/OGRE/Plugins/OctreeSceneManager/OgreOctree.h +0 -164
  686. data/deps/include/OGRE/Plugins/OctreeSceneManager/OgreOctreeCamera.h +0 -89
  687. data/deps/include/OGRE/Plugins/OctreeSceneManager/OgreOctreeNode.h +0 -148
  688. data/deps/include/OGRE/Plugins/OctreeSceneManager/OgreOctreePlugin.h +0 -64
  689. data/deps/include/OGRE/Plugins/OctreeSceneManager/OgreOctreePrerequisites.h +0 -59
  690. data/deps/include/OGRE/Plugins/OctreeSceneManager/OgreOctreeSceneManager.h +0 -253
  691. data/deps/include/OGRE/Plugins/OctreeSceneManager/OgreOctreeSceneQuery.h +0 -102
  692. data/deps/include/OGRE/Plugins/OctreeZone/OgreOctreeZone.h +0 -264
  693. data/deps/include/OGRE/Plugins/OctreeZone/OgreOctreeZoneOctree.h +0 -203
  694. data/deps/include/OGRE/Plugins/OctreeZone/OgreOctreeZonePlugin.h +0 -72
  695. data/deps/include/OGRE/Plugins/OctreeZone/OgreOctreeZonePrerequisites.h +0 -67
  696. data/deps/include/OGRE/Plugins/PCZSceneManager/OgreAntiPortal.h +0 -75
  697. data/deps/include/OGRE/Plugins/PCZSceneManager/OgreCapsule.h +0 -68
  698. data/deps/include/OGRE/Plugins/PCZSceneManager/OgreDefaultZone.h +0 -154
  699. data/deps/include/OGRE/Plugins/PCZSceneManager/OgrePCPlane.h +0 -94
  700. data/deps/include/OGRE/Plugins/PCZSceneManager/OgrePCZCamera.h +0 -113
  701. data/deps/include/OGRE/Plugins/PCZSceneManager/OgrePCZFrustum.h +0 -136
  702. data/deps/include/OGRE/Plugins/PCZSceneManager/OgrePCZLight.h +0 -137
  703. data/deps/include/OGRE/Plugins/PCZSceneManager/OgrePCZPlugin.h +0 -77
  704. data/deps/include/OGRE/Plugins/PCZSceneManager/OgrePCZPrerequisites.h +0 -63
  705. data/deps/include/OGRE/Plugins/PCZSceneManager/OgrePCZSceneManager.h +0 -410
  706. data/deps/include/OGRE/Plugins/PCZSceneManager/OgrePCZSceneNode.h +0 -135
  707. data/deps/include/OGRE/Plugins/PCZSceneManager/OgrePCZSceneQuery.h +0 -134
  708. data/deps/include/OGRE/Plugins/PCZSceneManager/OgrePCZone.h +0 -316
  709. data/deps/include/OGRE/Plugins/PCZSceneManager/OgrePCZoneFactory.h +0 -126
  710. data/deps/include/OGRE/Plugins/PCZSceneManager/OgrePortal.h +0 -106
  711. data/deps/include/OGRE/Plugins/PCZSceneManager/OgrePortalBase.h +0 -303
  712. data/deps/include/OGRE/Plugins/PCZSceneManager/OgreSegment.h +0 -81
  713. data/deps/include/OGRE/Plugins/ParticleFX/OgreAreaEmitter.h +0 -139
  714. data/deps/include/OGRE/Plugins/ParticleFX/OgreBoxEmitter.h +0 -60
  715. data/deps/include/OGRE/Plugins/ParticleFX/OgreBoxEmitterFactory.h +0 -66
  716. data/deps/include/OGRE/Plugins/ParticleFX/OgreColourFaderAffector.h +0 -167
  717. data/deps/include/OGRE/Plugins/ParticleFX/OgreColourFaderAffector2.h +0 -226
  718. data/deps/include/OGRE/Plugins/ParticleFX/OgreColourFaderAffectorFactory.h +0 -56
  719. data/deps/include/OGRE/Plugins/ParticleFX/OgreColourFaderAffectorFactory2.h +0 -56
  720. data/deps/include/OGRE/Plugins/ParticleFX/OgreColourImageAffector.h +0 -80
  721. data/deps/include/OGRE/Plugins/ParticleFX/OgreColourImageAffectorFactory.h +0 -56
  722. data/deps/include/OGRE/Plugins/ParticleFX/OgreColourInterpolatorAffector.h +0 -97
  723. data/deps/include/OGRE/Plugins/ParticleFX/OgreColourInterpolatorAffectorFactory.h +0 -56
  724. data/deps/include/OGRE/Plugins/ParticleFX/OgreCylinderEmitter.h +0 -68
  725. data/deps/include/OGRE/Plugins/ParticleFX/OgreCylinderEmitterFactory.h +0 -67
  726. data/deps/include/OGRE/Plugins/ParticleFX/OgreDeflectorPlaneAffector.h +0 -114
  727. data/deps/include/OGRE/Plugins/ParticleFX/OgreDeflectorPlaneAffectorFactory.h +0 -56
  728. data/deps/include/OGRE/Plugins/ParticleFX/OgreDirectionRandomiserAffector.h +0 -109
  729. data/deps/include/OGRE/Plugins/ParticleFX/OgreDirectionRandomiserAffectorFactory.h +0 -54
  730. data/deps/include/OGRE/Plugins/ParticleFX/OgreEllipsoidEmitter.h +0 -64
  731. data/deps/include/OGRE/Plugins/ParticleFX/OgreEllipsoidEmitterFactory.h +0 -67
  732. data/deps/include/OGRE/Plugins/ParticleFX/OgreHollowEllipsoidEmitter.h +0 -126
  733. data/deps/include/OGRE/Plugins/ParticleFX/OgreHollowEllipsoidEmitterFactory.h +0 -67
  734. data/deps/include/OGRE/Plugins/ParticleFX/OgreLinearForceAffector.h +0 -120
  735. data/deps/include/OGRE/Plugins/ParticleFX/OgreLinearForceAffectorFactory.h +0 -56
  736. data/deps/include/OGRE/Plugins/ParticleFX/OgreParticleFXPlugin.h +0 -66
  737. data/deps/include/OGRE/Plugins/ParticleFX/OgreParticleFXPrerequisites.h +0 -68
  738. data/deps/include/OGRE/Plugins/ParticleFX/OgrePointEmitter.h +0 -62
  739. data/deps/include/OGRE/Plugins/ParticleFX/OgrePointEmitterFactory.h +0 -66
  740. data/deps/include/OGRE/Plugins/ParticleFX/OgreRingEmitter.h +0 -111
  741. data/deps/include/OGRE/Plugins/ParticleFX/OgreRingEmitterFactory.h +0 -67
  742. data/deps/include/OGRE/Plugins/ParticleFX/OgreRotationAffector.h +0 -131
  743. data/deps/include/OGRE/Plugins/ParticleFX/OgreRotationAffectorFactory.h +0 -56
  744. data/deps/include/OGRE/Plugins/ParticleFX/OgreScaleAffector.h +0 -84
  745. data/deps/include/OGRE/Plugins/ParticleFX/OgreScaleAffectorFactory.h +0 -56
  746. data/deps/include/OGRE/RTShaderSystem/OgreRTShaderSystem.h +0 -76
  747. data/deps/include/OGRE/RTShaderSystem/OgreShaderCGProgramProcessor.h +0 -85
  748. data/deps/include/OGRE/RTShaderSystem/OgreShaderCGProgramWriter.h +0 -147
  749. data/deps/include/OGRE/RTShaderSystem/OgreShaderExDualQuaternionSkinning.h +0 -127
  750. data/deps/include/OGRE/RTShaderSystem/OgreShaderExHardwareSkinning.h +0 -358
  751. data/deps/include/OGRE/RTShaderSystem/OgreShaderExHardwareSkinningTechnique.h +0 -156
  752. data/deps/include/OGRE/RTShaderSystem/OgreShaderExIntegratedPSSM3.h +0 -231
  753. data/deps/include/OGRE/RTShaderSystem/OgreShaderExLayeredBlending.h +0 -261
  754. data/deps/include/OGRE/RTShaderSystem/OgreShaderExLinearSkinning.h +0 -97
  755. data/deps/include/OGRE/RTShaderSystem/OgreShaderExNormalMapLighting.h +0 -445
  756. data/deps/include/OGRE/RTShaderSystem/OgreShaderExPerPixelLighting.h +0 -308
  757. data/deps/include/OGRE/RTShaderSystem/OgreShaderExTextureAtlasSampler.h +0 -372
  758. data/deps/include/OGRE/RTShaderSystem/OgreShaderFFPColour.h +0 -189
  759. data/deps/include/OGRE/RTShaderSystem/OgreShaderFFPFog.h +0 -214
  760. data/deps/include/OGRE/RTShaderSystem/OgreShaderFFPLighting.h +0 -266
  761. data/deps/include/OGRE/RTShaderSystem/OgreShaderFFPRenderState.h +0 -134
  762. data/deps/include/OGRE/RTShaderSystem/OgreShaderFFPRenderStateBuilder.h +0 -147
  763. data/deps/include/OGRE/RTShaderSystem/OgreShaderFFPTexturing.h +0 -281
  764. data/deps/include/OGRE/RTShaderSystem/OgreShaderFFPTransform.h +0 -121
  765. data/deps/include/OGRE/RTShaderSystem/OgreShaderFunction.h +0 -234
  766. data/deps/include/OGRE/RTShaderSystem/OgreShaderFunctionAtom.h +0 -256
  767. data/deps/include/OGRE/RTShaderSystem/OgreShaderGLSLESProgramProcessor.h +0 -93
  768. data/deps/include/OGRE/RTShaderSystem/OgreShaderGLSLESProgramWriter.h +0 -202
  769. data/deps/include/OGRE/RTShaderSystem/OgreShaderGLSLProgramProcessor.h +0 -98
  770. data/deps/include/OGRE/RTShaderSystem/OgreShaderGLSLProgramWriter.h +0 -152
  771. data/deps/include/OGRE/RTShaderSystem/OgreShaderGenerator.h +0 -987
  772. data/deps/include/OGRE/RTShaderSystem/OgreShaderHLSLProgramProcessor.h +0 -84
  773. data/deps/include/OGRE/RTShaderSystem/OgreShaderHLSLProgramWriter.h +0 -147
  774. data/deps/include/OGRE/RTShaderSystem/OgreShaderMaterialSerializerListener.h +0 -111
  775. data/deps/include/OGRE/RTShaderSystem/OgreShaderParameter.h +0 -665
  776. data/deps/include/OGRE/RTShaderSystem/OgreShaderPrerequisites.h +0 -120
  777. data/deps/include/OGRE/RTShaderSystem/OgreShaderProgram.h +0 -224
  778. data/deps/include/OGRE/RTShaderSystem/OgreShaderProgramManager.h +0 -243
  779. data/deps/include/OGRE/RTShaderSystem/OgreShaderProgramProcessor.h +0 -277
  780. data/deps/include/OGRE/RTShaderSystem/OgreShaderProgramSet.h +0 -102
  781. data/deps/include/OGRE/RTShaderSystem/OgreShaderProgramWriter.h +0 -110
  782. data/deps/include/OGRE/RTShaderSystem/OgreShaderProgramWriterManager.h +0 -130
  783. data/deps/include/OGRE/RTShaderSystem/OgreShaderRenderState.h +0 -224
  784. data/deps/include/OGRE/RTShaderSystem/OgreShaderScriptTranslator.h +0 -145
  785. data/deps/include/OGRE/RTShaderSystem/OgreShaderSubRenderState.h +0 -324
  786. data/deps/include/OGRE/RenderSystems/GL/GL/gl.h +0 -1918
  787. data/deps/include/OGRE/RenderSystems/GL/GL/glew.h +0 -16131
  788. data/deps/include/OGRE/RenderSystems/GL/GL/glext.h +0 -6030
  789. data/deps/include/OGRE/RenderSystems/GL/GL/glxew.h +0 -1587
  790. data/deps/include/OGRE/RenderSystems/GL/GL/glxext.h +0 -681
  791. data/deps/include/OGRE/RenderSystems/GL/GL/glxtokens.h +0 -231
  792. data/deps/include/OGRE/RenderSystems/GL/GL/wglew.h +0 -1363
  793. data/deps/include/OGRE/RenderSystems/GL/GL/wglext.h +0 -608
  794. data/deps/include/OGRE/RenderSystems/GL/GLX/OgreGLUtil.h +0 -43
  795. data/deps/include/OGRE/RenderSystems/GL/GLX/OgreGLXContext.h +0 -62
  796. data/deps/include/OGRE/RenderSystems/GL/GLX/OgreGLXGLSupport.h +0 -201
  797. data/deps/include/OGRE/RenderSystems/GL/GLX/OgreGLXRenderTexture.h +0 -52
  798. data/deps/include/OGRE/RenderSystems/GL/GLX/OgreGLXUtils.h +0 -102
  799. data/deps/include/OGRE/RenderSystems/GL/GLX/OgreGLXWindow.h +0 -126
  800. data/deps/include/OGRE/RenderSystems/GL/OgreGLATIFSInit.h +0 -41
  801. data/deps/include/OGRE/RenderSystems/GL/OgreGLContext.h +0 -75
  802. data/deps/include/OGRE/RenderSystems/GL/OgreGLDefaultHardwareBufferManager.h +0 -135
  803. data/deps/include/OGRE/RenderSystems/GL/OgreGLDepthBuffer.h +0 -71
  804. data/deps/include/OGRE/RenderSystems/GL/OgreGLFBOMultiRenderTarget.h +0 -59
  805. data/deps/include/OGRE/RenderSystems/GL/OgreGLFBORenderTexture.h +0 -200
  806. data/deps/include/OGRE/RenderSystems/GL/OgreGLFrameBufferObject.h +0 -105
  807. data/deps/include/OGRE/RenderSystems/GL/OgreGLGpuNvparseProgram.h +0 -69
  808. data/deps/include/OGRE/RenderSystems/GL/OgreGLGpuProgram.h +0 -120
  809. data/deps/include/OGRE/RenderSystems/GL/OgreGLGpuProgramManager.h +0 -68
  810. data/deps/include/OGRE/RenderSystems/GL/OgreGLHardwareBufferManager.h +0 -141
  811. data/deps/include/OGRE/RenderSystems/GL/OgreGLHardwareIndexBuffer.h +0 -70
  812. data/deps/include/OGRE/RenderSystems/GL/OgreGLHardwareOcclusionQuery.h +0 -108
  813. data/deps/include/OGRE/RenderSystems/GL/OgreGLHardwarePixelBuffer.h +0 -138
  814. data/deps/include/OGRE/RenderSystems/GL/OgreGLHardwareVertexBuffer.h +0 -69
  815. data/deps/include/OGRE/RenderSystems/GL/OgreGLPBRenderTexture.h +0 -106
  816. data/deps/include/OGRE/RenderSystems/GL/OgreGLPBuffer.h +0 -62
  817. data/deps/include/OGRE/RenderSystems/GL/OgreGLPixelFormat.h +0 -100
  818. data/deps/include/OGRE/RenderSystems/GL/OgreGLPlugin.h +0 -63
  819. data/deps/include/OGRE/RenderSystems/GL/OgreGLPrerequisites.h +0 -105
  820. data/deps/include/OGRE/RenderSystems/GL/OgreGLRenderSystem.h +0 -530
  821. data/deps/include/OGRE/RenderSystems/GL/OgreGLRenderTexture.h +0 -141
  822. data/deps/include/OGRE/RenderSystems/GL/OgreGLRenderToVertexBuffer.h +0 -72
  823. data/deps/include/OGRE/RenderSystems/GL/OgreGLSLExtSupport.h +0 -66
  824. data/deps/include/OGRE/RenderSystems/GL/OgreGLSLGpuProgram.h +0 -104
  825. data/deps/include/OGRE/RenderSystems/GL/OgreGLSLLinkProgram.h +0 -149
  826. data/deps/include/OGRE/RenderSystems/GL/OgreGLSLLinkProgramManager.h +0 -144
  827. data/deps/include/OGRE/RenderSystems/GL/OgreGLSLPreprocessor.h +0 -524
  828. data/deps/include/OGRE/RenderSystems/GL/OgreGLSLProgram.h +0 -200
  829. data/deps/include/OGRE/RenderSystems/GL/OgreGLSLProgramFactory.h +0 -60
  830. data/deps/include/OGRE/RenderSystems/GL/OgreGLSupport.h +0 -137
  831. data/deps/include/OGRE/RenderSystems/GL/OgreGLTexture.h +0 -191
  832. data/deps/include/OGRE/RenderSystems/GL/OgreGLTextureManager.h +0 -69
  833. data/deps/include/OGRE/Sample.h +0 -330
  834. data/deps/include/OGRE/SampleContext.h +0 -874
  835. data/deps/include/OGRE/SamplePlugin.h +0 -99
  836. data/deps/include/OGRE/SdkCameraMan.h +0 -367
  837. data/deps/include/OGRE/SdkSample.h +0 -552
  838. data/deps/include/OGRE/SdkTrays.h +0 -3168
  839. data/deps/include/OGRE/Terrain/OgreTerrain.h +0 -2076
  840. data/deps/include/OGRE/Terrain/OgreTerrainGroup.h +0 -545
  841. data/deps/include/OGRE/Terrain/OgreTerrainLayerBlendMap.h +0 -199
  842. data/deps/include/OGRE/Terrain/OgreTerrainMaterialGenerator.h +0 -404
  843. data/deps/include/OGRE/Terrain/OgreTerrainMaterialGeneratorA.h +0 -279
  844. data/deps/include/OGRE/Terrain/OgreTerrainPagedWorldSection.h +0 -165
  845. data/deps/include/OGRE/Terrain/OgreTerrainPaging.h +0 -135
  846. data/deps/include/OGRE/Terrain/OgreTerrainPrerequisites.h +0 -68
  847. data/deps/include/OGRE/Terrain/OgreTerrainQuadTreeNode.h +0 -413
  848. data/deps/include/OGRE/Threading/OgreDefaultWorkQueue.h +0 -42
  849. data/deps/include/OGRE/Threading/OgreDefaultWorkQueueStandard.h +0 -82
  850. data/deps/include/OGRE/Threading/OgreThreadDefines.h +0 -41
  851. data/deps/include/OGRE/Threading/OgreThreadDefinesNone.h +0 -59
  852. data/deps/include/OGRE/Threading/OgreThreadHeaders.h +0 -39
  853. data/deps/include/OGRE/asm_math.h +0 -376
  854. data/deps/include/OIS/OIS.h +0 -41
  855. data/deps/include/OIS/OISConfig.h +0 -75
  856. data/deps/include/OIS/OISEffect.h +0 -278
  857. data/deps/include/OIS/OISEvents.h +0 -43
  858. data/deps/include/OIS/OISException.h +0 -78
  859. data/deps/include/OIS/OISFactoryCreator.h +0 -81
  860. data/deps/include/OIS/OISForceFeedback.h +0 -120
  861. data/deps/include/OIS/OISInputManager.h +0 -205
  862. data/deps/include/OIS/OISInterface.h +0 -47
  863. data/deps/include/OIS/OISJoyStick.h +0 -228
  864. data/deps/include/OIS/OISKeyboard.h +0 -312
  865. data/deps/include/OIS/OISMouse.h +0 -138
  866. data/deps/include/OIS/OISMultiTouch.h +0 -169
  867. data/deps/include/OIS/OISObject.h +0 -95
  868. data/deps/include/OIS/OISPrereqs.h +0 -226
  869. data/deps/include/OgreProcedural/Procedural.h +0 -54
  870. data/deps/include/OgreProcedural/ProceduralBoxGenerator.h +0 -110
  871. data/deps/include/OgreProcedural/ProceduralCapsuleGenerator.h +0 -103
  872. data/deps/include/OgreProcedural/ProceduralConeGenerator.h +0 -90
  873. data/deps/include/OgreProcedural/ProceduralCylinderGenerator.h +0 -99
  874. data/deps/include/OgreProcedural/ProceduralExtruder.h +0 -131
  875. data/deps/include/OgreProcedural/ProceduralGeometryHelpers.h +0 -171
  876. data/deps/include/OgreProcedural/ProceduralIcoSphereGenerator.h +0 -76
  877. data/deps/include/OgreProcedural/ProceduralLathe.h +0 -129
  878. data/deps/include/OgreProcedural/ProceduralMeshGenerator.h +0 -286
  879. data/deps/include/OgreProcedural/ProceduralMultiShape.h +0 -126
  880. data/deps/include/OgreProcedural/ProceduralPath.h +0 -322
  881. data/deps/include/OgreProcedural/ProceduralPathGenerators.h +0 -281
  882. data/deps/include/OgreProcedural/ProceduralPlaneGenerator.h +0 -93
  883. data/deps/include/OgreProcedural/ProceduralPlatform.h +0 -54
  884. data/deps/include/OgreProcedural/ProceduralRoot.h +0 -65
  885. data/deps/include/OgreProcedural/ProceduralRoundedBoxGenerator.h +0 -118
  886. data/deps/include/OgreProcedural/ProceduralShape.h +0 -532
  887. data/deps/include/OgreProcedural/ProceduralShapeGenerators.h +0 -362
  888. data/deps/include/OgreProcedural/ProceduralSphereGenerator.h +0 -80
  889. data/deps/include/OgreProcedural/ProceduralSplines.h +0 -168
  890. data/deps/include/OgreProcedural/ProceduralStableHeaders.h +0 -28
  891. data/deps/include/OgreProcedural/ProceduralTorusGenerator.h +0 -88
  892. data/deps/include/OgreProcedural/ProceduralTorusKnotGenerator.h +0 -106
  893. data/deps/include/OgreProcedural/ProceduralTrack.h +0 -122
  894. data/deps/include/OgreProcedural/ProceduralTriangleBuffer.h +0 -328
  895. data/deps/include/OgreProcedural/ProceduralTriangulator.h +0 -173
  896. data/deps/include/OgreProcedural/ProceduralTubeGenerator.h +0 -96
  897. data/deps/include/OgreProcedural/ProceduralUtils.h +0 -185
  898. data/deps/lib/OGRE/Plugin_BSPSceneManager.so +0 -0
  899. data/deps/lib/OGRE/Plugin_BSPSceneManager.so.1.8.0 +0 -0
  900. data/deps/lib/OGRE/Plugin_BSPSceneManager.so.1.8.1 +0 -0
  901. data/deps/lib/OGRE/Plugin_CgProgramManager.so +0 -0
  902. data/deps/lib/OGRE/Plugin_CgProgramManager.so.1.8.0 +0 -0
  903. data/deps/lib/OGRE/Plugin_CgProgramManager.so.1.8.1 +0 -0
  904. data/deps/lib/OGRE/Plugin_OctreeSceneManager.so +0 -0
  905. data/deps/lib/OGRE/Plugin_OctreeSceneManager.so.1.8.0 +0 -0
  906. data/deps/lib/OGRE/Plugin_OctreeSceneManager.so.1.8.1 +0 -0
  907. data/deps/lib/OGRE/Plugin_OctreeZone.so +0 -0
  908. data/deps/lib/OGRE/Plugin_OctreeZone.so.1.8.0 +0 -0
  909. data/deps/lib/OGRE/Plugin_OctreeZone.so.1.8.1 +0 -0
  910. data/deps/lib/OGRE/Plugin_PCZSceneManager.so +0 -0
  911. data/deps/lib/OGRE/Plugin_PCZSceneManager.so.1.8.0 +0 -0
  912. data/deps/lib/OGRE/Plugin_PCZSceneManager.so.1.8.1 +0 -0
  913. data/deps/lib/OGRE/Plugin_ParticleFX.so +0 -0
  914. data/deps/lib/OGRE/Plugin_ParticleFX.so.1.8.0 +0 -0
  915. data/deps/lib/OGRE/Plugin_ParticleFX.so.1.8.1 +0 -0
  916. data/deps/lib/OGRE/RenderSystem_GL.so +0 -0
  917. data/deps/lib/OGRE/RenderSystem_GL.so.1.8.0 +0 -0
  918. data/deps/lib/OGRE/RenderSystem_GL.so.1.8.1 +0 -0
  919. data/deps/lib/libOIS-1.3.0.so +0 -0
  920. data/deps/lib/libOIS.so +0 -0
  921. data/deps/lib/libOgreMain.so +0 -0
  922. data/deps/lib/libOgreMain.so.1.8.0 +0 -0
  923. data/deps/lib/libOgreMain.so.1.8.1 +0 -0
  924. data/deps/lib/libOgrePaging.so +0 -0
  925. data/deps/lib/libOgrePaging.so.1.8.0 +0 -0
  926. data/deps/lib/libOgrePaging.so.1.8.1 +0 -0
  927. data/deps/lib/libOgreProcedural.so +0 -0
  928. data/deps/lib/libOgreRTShaderSystem.so +0 -0
  929. data/deps/lib/libOgreRTShaderSystem.so.1.8.0 +0 -0
  930. data/deps/lib/libOgreRTShaderSystem.so.1.8.1 +0 -0
  931. data/deps/lib/libOgreTerrain.so +0 -0
  932. data/deps/lib/libOgreTerrain.so.1.8.0 +0 -0
  933. data/deps/lib/libOgreTerrain.so.1.8.1 +0 -0
  934. data/deps/share/OGRE/media/DeferredShadingMedia/COPYING +0 -18
  935. data/deps/share/OGRE/media/DeferredShadingMedia/DeferredShading/post/Ambient_ps.cg +0 -68
  936. data/deps/share/OGRE/media/DeferredShadingMedia/DeferredShading/post/LightMaterial_ps.cg +0 -187
  937. data/deps/share/OGRE/media/DeferredShadingMedia/DeferredShading/post/LightMaterial_vs.cg +0 -53
  938. data/deps/share/OGRE/media/DeferredShadingMedia/DeferredShading/post/ShowColour_ps.cg +0 -41
  939. data/deps/share/OGRE/media/DeferredShadingMedia/DeferredShading/post/ShowDS_ps.cg +0 -40
  940. data/deps/share/OGRE/media/DeferredShadingMedia/DeferredShading/post/ShowNormal_ps.cg +0 -39
  941. data/deps/share/OGRE/media/DeferredShadingMedia/DeferredShading/post/vs.cg +0 -54
  942. data/deps/share/OGRE/media/DeferredShadingMedia/ShadowCaster.cg +0 -25
  943. data/deps/share/OGRE/media/DeferredShadingMedia/ShadowCaster.material +0 -15
  944. data/deps/share/OGRE/media/DeferredShadingMedia/ShadowCaster.program +0 -24
  945. data/deps/share/OGRE/media/DeferredShadingMedia/deferred.compositor +0 -147
  946. data/deps/share/OGRE/media/DeferredShadingMedia/deferred_post.material +0 -148
  947. data/deps/share/OGRE/media/DeferredShadingMedia/deferred_post.program +0 -85
  948. data/deps/share/OGRE/media/DeferredShadingMedia/deferred_post_minilight.material +0 -71
  949. data/deps/share/OGRE/media/DeferredShadingMedia/deferreddemo.material +0 -73
  950. data/deps/share/OGRE/media/DeferredShadingMedia/ssao.cg +0 -178
  951. data/deps/share/OGRE/media/DeferredShadingMedia/ssao.compositor +0 -93
  952. data/deps/share/OGRE/media/DeferredShadingMedia/ssao.material +0 -148
  953. data/deps/share/OGRE/media/PCZAppMedia/Carpet_Diamond_Olive.jpg +0 -0
  954. data/deps/share/OGRE/media/PCZAppMedia/Metal_Brass_Ceiling.jpg +0 -0
  955. data/deps/share/OGRE/media/PCZAppMedia/Metal_Embossed.jpg +0 -0
  956. data/deps/share/OGRE/media/PCZAppMedia/Metal_Rusted.jpg +0 -0
  957. data/deps/share/OGRE/media/PCZAppMedia/Metal_Rusted1.jpg +0 -0
  958. data/deps/share/OGRE/media/PCZAppMedia/Metal_Steel_Textured.jpg +0 -0
  959. data/deps/share/OGRE/media/PCZAppMedia/Metal_Steel_Textured_White.jpg +0 -0
  960. data/deps/share/OGRE/media/PCZAppMedia/ROOM.material +0 -149
  961. data/deps/share/OGRE/media/PCZAppMedia/ROOM_NX.mesh +0 -0
  962. data/deps/share/OGRE/media/PCZAppMedia/ROOM_NY.mesh +0 -0
  963. data/deps/share/OGRE/media/PCZAppMedia/ROOM_NZ.mesh +0 -0
  964. data/deps/share/OGRE/media/PCZAppMedia/ROOM_PX.mesh +0 -0
  965. data/deps/share/OGRE/media/PCZAppMedia/ROOM_PY.mesh +0 -0
  966. data/deps/share/OGRE/media/PCZAppMedia/ROOM_PZ.mesh +0 -0
  967. data/deps/share/OGRE/media/PCZAppMedia/Roofing_Tile_Spanish.jpg +0 -0
  968. data/deps/share/OGRE/media/PCZAppMedia/Translucent_Glass_Tinted.jpg +0 -0
  969. data/deps/share/OGRE/media/PCZAppMedia/Translucent_Glass_Tinted1.jpg +0 -0
  970. data/deps/share/OGRE/media/PCZAppMedia/Wood_Floor.jpg +0 -0
  971. data/deps/share/OGRE/media/PCZAppMedia/building_exterior.mesh +0 -0
  972. data/deps/share/OGRE/media/PCZAppMedia/room_nxnynz.mesh +0 -0
  973. data/deps/share/OGRE/media/PCZAppMedia/room_nxpx.mesh +0 -0
  974. data/deps/share/OGRE/media/PCZAppMedia/room_nxpxnypynzpz.mesh +0 -0
  975. data/deps/share/OGRE/media/PCZAppMedia/room_nxpxnz.mesh +0 -0
  976. data/deps/share/OGRE/media/PCZAppMedia/room_nxpxnzpz.mesh +0 -0
  977. data/deps/share/OGRE/media/PCZAppMedia/room_nxpxpz.mesh +0 -0
  978. data/deps/share/OGRE/media/PCZAppMedia/room_nxpynz.mesh +0 -0
  979. data/deps/share/OGRE/media/PCZAppMedia/room_nxpz.mesh +0 -0
  980. data/deps/share/OGRE/media/PCZAppMedia/room_nypy.mesh +0 -0
  981. data/deps/share/OGRE/media/PCZAppMedia/room_nypy_4y.mesh +0 -0
  982. data/deps/share/OGRE/media/PCZAppMedia/room_nzpz.mesh +0 -0
  983. data/deps/share/OGRE/media/PCZAppMedia/room_pxnynz.mesh +0 -0
  984. data/deps/share/OGRE/media/PCZAppMedia/room_pxpynz.mesh +0 -0
  985. data/deps/share/OGRE/media/PCZAppMedia/room_pxpz.mesh +0 -0
  986. data/deps/share/OGRE/media/PCZAppMedia/terrain2.cfg +0 -71
  987. data/deps/share/OGRE/media/PCZAppMedia/terrain2.png +0 -0
  988. data/deps/share/OGRE/media/RTShaderLib/FFPLib_Common.cg +0 -248
  989. data/deps/share/OGRE/media/RTShaderLib/FFPLib_Common.glsl +0 -248
  990. data/deps/share/OGRE/media/RTShaderLib/FFPLib_Common.glsles +0 -231
  991. data/deps/share/OGRE/media/RTShaderLib/FFPLib_Common.hlsl +0 -219
  992. data/deps/share/OGRE/media/RTShaderLib/FFPLib_Fog.cg +0 -138
  993. data/deps/share/OGRE/media/RTShaderLib/FFPLib_Fog.glsl +0 -139
  994. data/deps/share/OGRE/media/RTShaderLib/FFPLib_Fog.glsles +0 -141
  995. data/deps/share/OGRE/media/RTShaderLib/FFPLib_Fog.hlsl +0 -138
  996. data/deps/share/OGRE/media/RTShaderLib/FFPLib_Lighting.cg +0 -225
  997. data/deps/share/OGRE/media/RTShaderLib/FFPLib_Lighting.glsl +0 -226
  998. data/deps/share/OGRE/media/RTShaderLib/FFPLib_Lighting.glsles +0 -227
  999. data/deps/share/OGRE/media/RTShaderLib/FFPLib_Lighting.hlsl +0 -225
  1000. data/deps/share/OGRE/media/RTShaderLib/FFPLib_Texturing.cg +0 -319
  1001. data/deps/share/OGRE/media/RTShaderLib/FFPLib_Texturing.glsl +0 -334
  1002. data/deps/share/OGRE/media/RTShaderLib/FFPLib_Texturing.glsles +0 -355
  1003. data/deps/share/OGRE/media/RTShaderLib/FFPLib_Texturing.hlsl +0 -319
  1004. data/deps/share/OGRE/media/RTShaderLib/FFPLib_Transform.cg +0 -78
  1005. data/deps/share/OGRE/media/RTShaderLib/FFPLib_Transform.glsl +0 -71
  1006. data/deps/share/OGRE/media/RTShaderLib/FFPLib_Transform.glsles +0 -65
  1007. data/deps/share/OGRE/media/RTShaderLib/FFPLib_Transform.hlsl +0 -71
  1008. data/deps/share/OGRE/media/RTShaderLib/SGXLib_DualQuaternion.cg +0 -130
  1009. data/deps/share/OGRE/media/RTShaderLib/SGXLib_DualQuaternion.glsl +0 -132
  1010. data/deps/share/OGRE/media/RTShaderLib/SGXLib_IntegratedPSSM.cg +0 -81
  1011. data/deps/share/OGRE/media/RTShaderLib/SGXLib_IntegratedPSSM.glsl +0 -107
  1012. data/deps/share/OGRE/media/RTShaderLib/SGXLib_IntegratedPSSM.glsles +0 -112
  1013. data/deps/share/OGRE/media/RTShaderLib/SGXLib_IntegratedPSSM.hlsl +0 -81
  1014. data/deps/share/OGRE/media/RTShaderLib/SGXLib_LayeredBlending.cg +0 -728
  1015. data/deps/share/OGRE/media/RTShaderLib/SGXLib_LayeredBlending.glsl +0 -825
  1016. data/deps/share/OGRE/media/RTShaderLib/SGXLib_LayeredBlending.glsles +0 -889
  1017. data/deps/share/OGRE/media/RTShaderLib/SGXLib_LayeredBlending.hlsl +0 -730
  1018. data/deps/share/OGRE/media/RTShaderLib/SGXLib_NormalMapLighting.cg +0 -257
  1019. data/deps/share/OGRE/media/RTShaderLib/SGXLib_NormalMapLighting.glsl +0 -269
  1020. data/deps/share/OGRE/media/RTShaderLib/SGXLib_NormalMapLighting.glsles +0 -264
  1021. data/deps/share/OGRE/media/RTShaderLib/SGXLib_NormalMapLighting.hlsl +0 -257
  1022. data/deps/share/OGRE/media/RTShaderLib/SGXLib_PerPixelLighting.cg +0 -226
  1023. data/deps/share/OGRE/media/RTShaderLib/SGXLib_PerPixelLighting.glsl +0 -228
  1024. data/deps/share/OGRE/media/RTShaderLib/SGXLib_PerPixelLighting.glsles +0 -223
  1025. data/deps/share/OGRE/media/RTShaderLib/SGXLib_PerPixelLighting.hlsl +0 -226
  1026. data/deps/share/OGRE/media/RTShaderLib/SGXLib_TextureAtlas.cg +0 -122
  1027. data/deps/share/OGRE/media/RTShaderLib/SGXLib_TextureAtlas.glsl +0 -124
  1028. data/deps/share/OGRE/media/RTShaderLib/SGXLib_TextureAtlas.glsles +0 -122
  1029. data/deps/share/OGRE/media/RTShaderLib/SGXLib_TextureAtlas.hlsl +0 -122
  1030. data/deps/share/OGRE/media/RTShaderLib/SampleLib_InstancedViewports.cg +0 -76
  1031. data/deps/share/OGRE/media/RTShaderLib/SampleLib_InstancedViewports.glsl +0 -93
  1032. data/deps/share/OGRE/media/RTShaderLib/SampleLib_InstancedViewports.hlsl +0 -76
  1033. data/deps/share/OGRE/media/RTShaderLib/SampleLib_ReflectionMap.cg +0 -62
  1034. data/deps/share/OGRE/media/RTShaderLib/SampleLib_ReflectionMap.glsl +0 -65
  1035. data/deps/share/OGRE/media/RTShaderLib/SampleLib_ReflectionMap.glsles +0 -67
  1036. data/deps/share/OGRE/media/RTShaderLib/SampleLib_ReflectionMap.hlsl +0 -62
  1037. data/deps/share/OGRE/media/RTShaderLib/cache/dummy.txt +0 -1
  1038. data/deps/share/OGRE/media/RTShaderLib/materials/DualQuaternionSkinning_Shadow.cg +0 -292
  1039. data/deps/share/OGRE/media/RTShaderLib/materials/DualQuaternionSkinning_Shadow.material +0 -384
  1040. data/deps/share/OGRE/media/RTShaderLib/materials/DualQuaternionSkinning_ShadowFourWeights.glsl +0 -29
  1041. data/deps/share/OGRE/media/RTShaderLib/materials/DualQuaternionSkinning_ShadowOneWeight.glsl +0 -28
  1042. data/deps/share/OGRE/media/RTShaderLib/materials/DualQuaternionSkinning_ShadowPassThrough_ps.glsl +0 -9
  1043. data/deps/share/OGRE/media/RTShaderLib/materials/DualQuaternionSkinning_ShadowPassThrough_vs.glsl +0 -15
  1044. data/deps/share/OGRE/media/RTShaderLib/materials/DualQuaternionSkinning_ShadowThreeWeights.glsl +0 -29
  1045. data/deps/share/OGRE/media/RTShaderLib/materials/DualQuaternionSkinning_ShadowTwoWeights.glsl +0 -29
  1046. data/deps/share/OGRE/media/RTShaderLib/materials/HardwareSkinningShadow.cg +0 -111
  1047. data/deps/share/OGRE/media/RTShaderLib/materials/HardwareSkinningShadow.material +0 -265
  1048. data/deps/share/OGRE/media/RTShaderLib/materials/HardwareSkinningShadow_Fragment.glsl +0 -6
  1049. data/deps/share/OGRE/media/RTShaderLib/materials/HardwareSkinningShadow_TwoWeights.glsl +0 -18
  1050. data/deps/share/OGRE/media/RTShaderLib/materials/RTShaderSystem.material +0 -221
  1051. data/deps/share/OGRE/media/fonts/bluebold.ttf +0 -0
  1052. data/deps/share/OGRE/media/fonts/bluecond.ttf +0 -0
  1053. data/deps/share/OGRE/media/fonts/bluehigh.ttf +0 -0
  1054. data/deps/share/OGRE/media/fonts/bluehighway-10.font +0 -2
  1055. data/deps/share/OGRE/media/fonts/bluehighway-12.font +0 -2
  1056. data/deps/share/OGRE/media/fonts/bluehighway-8.font +0 -2
  1057. data/deps/share/OGRE/media/fonts/read_me.html +0 -2
  1058. data/deps/share/OGRE/media/fonts/sample.fontdef +0 -11
  1059. data/deps/share/OGRE/media/fonts/solo5.ttf +0 -0
  1060. data/deps/share/OGRE/media/materials/programs/ASCIIFP.cg +0 -32
  1061. data/deps/share/OGRE/media/materials/programs/ASCIIFP.glsles +0 -31
  1062. data/deps/share/OGRE/media/materials/programs/AmbientOneTexture.glsl +0 -13
  1063. data/deps/share/OGRE/media/materials/programs/AmbientOneTexture.glsles +0 -20
  1064. data/deps/share/OGRE/media/materials/programs/AmbientOneTextureWithUV.glsles +0 -23
  1065. data/deps/share/OGRE/media/materials/programs/Bloom2_ps20.glsl +0 -27
  1066. data/deps/share/OGRE/media/materials/programs/Bloom2_ps20.glsles +0 -30
  1067. data/deps/share/OGRE/media/materials/programs/Bloom2_ps20.hlsl +0 -58
  1068. data/deps/share/OGRE/media/materials/programs/Bloom_ps20.hlsl +0 -52
  1069. data/deps/share/OGRE/media/materials/programs/Bloom_vs11.hlsl +0 -21
  1070. data/deps/share/OGRE/media/materials/programs/Blur0_ps20.hlsl +0 -31
  1071. data/deps/share/OGRE/media/materials/programs/Blur0_vs.glsl +0 -15
  1072. data/deps/share/OGRE/media/materials/programs/Blur0_vs.glsles +0 -22
  1073. data/deps/share/OGRE/media/materials/programs/Blur0_vs11.hlsl +0 -22
  1074. data/deps/share/OGRE/media/materials/programs/Blur1_ps20.hlsl +0 -28
  1075. data/deps/share/OGRE/media/materials/programs/Blur1_vs.glsl +0 -15
  1076. data/deps/share/OGRE/media/materials/programs/Blur1_vs.glsles +0 -22
  1077. data/deps/share/OGRE/media/materials/programs/Blur1_vs11.hlsl +0 -19
  1078. data/deps/share/OGRE/media/materials/programs/BlurH_ps20.glsl +0 -56
  1079. data/deps/share/OGRE/media/materials/programs/BlurH_ps20.glsles +0 -58
  1080. data/deps/share/OGRE/media/materials/programs/BlurH_ps20.hlsl +0 -51
  1081. data/deps/share/OGRE/media/materials/programs/BlurV_ps20.glsl +0 -60
  1082. data/deps/share/OGRE/media/materials/programs/BlurV_ps20.glsles +0 -63
  1083. data/deps/share/OGRE/media/materials/programs/BlurV_ps20.hlsl +0 -51
  1084. data/deps/share/OGRE/media/materials/programs/Blur_ps.glsl +0 -14
  1085. data/deps/share/OGRE/media/materials/programs/Blur_ps.glsles +0 -18
  1086. data/deps/share/OGRE/media/materials/programs/Blur_vs.glsl +0 -14
  1087. data/deps/share/OGRE/media/materials/programs/Blur_vs.glsles +0 -24
  1088. data/deps/share/OGRE/media/materials/programs/Blur_vs11.hlsl +0 -19
  1089. data/deps/share/OGRE/media/materials/programs/BrightBloom2_ps20.glsl +0 -29
  1090. data/deps/share/OGRE/media/materials/programs/BrightBloom2_ps20.glsles +0 -32
  1091. data/deps/share/OGRE/media/materials/programs/BrightBloom2_ps20.hlsl +0 -20
  1092. data/deps/share/OGRE/media/materials/programs/ColdCasterFp.glsles +0 -11
  1093. data/deps/share/OGRE/media/materials/programs/ColdCasterVp.glsles +0 -18
  1094. data/deps/share/OGRE/media/materials/programs/Combine_fp.cg +0 -15
  1095. data/deps/share/OGRE/media/materials/programs/Combine_fp.glsles +0 -17
  1096. data/deps/share/OGRE/media/materials/programs/Common.cg +0 -81
  1097. data/deps/share/OGRE/media/materials/programs/DOF_ps.cg +0 -47
  1098. data/deps/share/OGRE/media/materials/programs/DOF_ps.glsles +0 -94
  1099. data/deps/share/OGRE/media/materials/programs/DepthShadowmap.hlsl +0 -309
  1100. data/deps/share/OGRE/media/materials/programs/DepthShadowmapCasterFp.glsl +0 -16
  1101. data/deps/share/OGRE/media/materials/programs/DepthShadowmapCasterFp.glsles +0 -19
  1102. data/deps/share/OGRE/media/materials/programs/DepthShadowmapCasterVp.glsl +0 -24
  1103. data/deps/share/OGRE/media/materials/programs/DepthShadowmapCasterVp.glsles +0 -27
  1104. data/deps/share/OGRE/media/materials/programs/DepthShadowmapNormalMapReceiverFp.glsl +0 -84
  1105. data/deps/share/OGRE/media/materials/programs/DepthShadowmapNormalMapReceiverFp.glsles +0 -86
  1106. data/deps/share/OGRE/media/materials/programs/DepthShadowmapNormalMapReceiverVp.glsl +0 -42
  1107. data/deps/share/OGRE/media/materials/programs/DepthShadowmapNormalMapReceiverVp.glsles +0 -51
  1108. data/deps/share/OGRE/media/materials/programs/DepthShadowmapReceiverFp.glsl +0 -66
  1109. data/deps/share/OGRE/media/materials/programs/DepthShadowmapReceiverFp.glsles +0 -67
  1110. data/deps/share/OGRE/media/materials/programs/DepthShadowmapReceiverVp.glsl +0 -32
  1111. data/deps/share/OGRE/media/materials/programs/DepthShadowmapReceiverVp.glsles +0 -42
  1112. data/deps/share/OGRE/media/materials/programs/DiffuseOneTexture.glsles +0 -17
  1113. data/deps/share/OGRE/media/materials/programs/DitherFP.cg +0 -18
  1114. data/deps/share/OGRE/media/materials/programs/DitherFP.glsles +0 -25
  1115. data/deps/share/OGRE/media/materials/programs/DualQuaternion.cg +0 -159
  1116. data/deps/share/OGRE/media/materials/programs/DualQuaternion.glsl +0 -42
  1117. data/deps/share/OGRE/media/materials/programs/DualQuaternion_Common.cg +0 -85
  1118. data/deps/share/OGRE/media/materials/programs/DualQuaternion_Common.glsl +0 -70
  1119. data/deps/share/OGRE/media/materials/programs/DualQuaternion_ShadowCaster.glsl +0 -29
  1120. data/deps/share/OGRE/media/materials/programs/DualQuaternion_TwoPhase.glsl +0 -77
  1121. data/deps/share/OGRE/media/materials/programs/DualQuaternion_TwoPhaseShadowCaster.glsl +0 -41
  1122. data/deps/share/OGRE/media/materials/programs/EmbossedFp.glsles +0 -18
  1123. data/deps/share/OGRE/media/materials/programs/Example_Basic.cg +0 -400
  1124. data/deps/share/OGRE/media/materials/programs/Example_Basic.hlsl +0 -273
  1125. data/deps/share/OGRE/media/materials/programs/Example_BasicFp.glsles +0 -620
  1126. data/deps/share/OGRE/media/materials/programs/Example_BasicVp.glsles +0 -620
  1127. data/deps/share/OGRE/media/materials/programs/Example_BumpMapping.cg +0 -235
  1128. data/deps/share/OGRE/media/materials/programs/Example_BumpMappingFp.glsles +0 -29
  1129. data/deps/share/OGRE/media/materials/programs/Example_BumpMappingShadowRcvFp.glsles +0 -34
  1130. data/deps/share/OGRE/media/materials/programs/Example_BumpMappingShadowRcvVp.glsles +0 -55
  1131. data/deps/share/OGRE/media/materials/programs/Example_BumpMappingSpecularFp.glsles +0 -41
  1132. data/deps/share/OGRE/media/materials/programs/Example_BumpMappingSpecularVp.glsles +0 -50
  1133. data/deps/share/OGRE/media/materials/programs/Example_BumpMappingVp.glsles +0 -50
  1134. data/deps/share/OGRE/media/materials/programs/Example_CelShading.cg +0 -64
  1135. data/deps/share/OGRE/media/materials/programs/Example_CelShadingFp.glsles +0 -25
  1136. data/deps/share/OGRE/media/materials/programs/Example_CelShadingVp.glsles +0 -50
  1137. data/deps/share/OGRE/media/materials/programs/Example_Fresnel.cg +0 -116
  1138. data/deps/share/OGRE/media/materials/programs/Example_FresnelFp.glsles +0 -40
  1139. data/deps/share/OGRE/media/materials/programs/Example_FresnelPS.asm +0 -72
  1140. data/deps/share/OGRE/media/materials/programs/Example_FresnelVp.glsles +0 -39
  1141. data/deps/share/OGRE/media/materials/programs/Example_Projection.cg +0 -28
  1142. data/deps/share/OGRE/media/materials/programs/Example_ProjectionFp.glsles +0 -56
  1143. data/deps/share/OGRE/media/materials/programs/Example_ProjectionVp.glsles +0 -26
  1144. data/deps/share/OGRE/media/materials/programs/Example_TextureArrayPS.asm +0 -10
  1145. data/deps/share/OGRE/media/materials/programs/Example_TextureArrayPS.glsl +0 -17
  1146. data/deps/share/OGRE/media/materials/programs/Example_TextureArrayPS.hlsl4 +0 -33
  1147. data/deps/share/OGRE/media/materials/programs/Example_TextureArrayVS.cg +0 -14
  1148. data/deps/share/OGRE/media/materials/programs/Example_TextureArrayVS.glsl +0 -11
  1149. data/deps/share/OGRE/media/materials/programs/GlassFP.cg +0 -9
  1150. data/deps/share/OGRE/media/materials/programs/GlassFP.glsles +0 -15
  1151. data/deps/share/OGRE/media/materials/programs/Grass.cg +0 -283
  1152. data/deps/share/OGRE/media/materials/programs/GrassAmbientFp.glsles +0 -22
  1153. data/deps/share/OGRE/media/materials/programs/GrassAmbientVp.glsles +0 -41
  1154. data/deps/share/OGRE/media/materials/programs/GrassCasterFp.glsles +0 -33
  1155. data/deps/share/OGRE/media/materials/programs/GrassCasterVp.glsles +0 -32
  1156. data/deps/share/OGRE/media/materials/programs/GrassFp.glsles +0 -25
  1157. data/deps/share/OGRE/media/materials/programs/GrassReceiverFp.glsles +0 -47
  1158. data/deps/share/OGRE/media/materials/programs/GrassReceiverVp.glsles +0 -57
  1159. data/deps/share/OGRE/media/materials/programs/GrassTexVp.glsles +0 -26
  1160. data/deps/share/OGRE/media/materials/programs/GrassVp.glsles +0 -38
  1161. data/deps/share/OGRE/media/materials/programs/GrayScale.cg +0 -20
  1162. data/deps/share/OGRE/media/materials/programs/GrayScale.glsles +0 -13
  1163. data/deps/share/OGRE/media/materials/programs/HWBasicInstancing.cg +0 -69
  1164. data/deps/share/OGRE/media/materials/programs/HWBasicInstancing.vert +0 -69
  1165. data/deps/share/OGRE/media/materials/programs/HW_VTFInstancing.cg +0 -124
  1166. data/deps/share/OGRE/media/materials/programs/HW_VTFInstancing.vert +0 -131
  1167. data/deps/share/OGRE/media/materials/programs/HalftoneFP.cg +0 -19
  1168. data/deps/share/OGRE/media/materials/programs/HalftoneFP.glsles +0 -24
  1169. data/deps/share/OGRE/media/materials/programs/HeatBlurFp.glsles +0 -63
  1170. data/deps/share/OGRE/media/materials/programs/HeatBlurVp.glsles +0 -16
  1171. data/deps/share/OGRE/media/materials/programs/HeatCasterFp.glsles +0 -11
  1172. data/deps/share/OGRE/media/materials/programs/HeatCasterVp.glsles +0 -18
  1173. data/deps/share/OGRE/media/materials/programs/HeatVision.cg +0 -230
  1174. data/deps/share/OGRE/media/materials/programs/Instancing.frag +0 -66
  1175. data/deps/share/OGRE/media/materials/programs/Instancing.program +0 -84
  1176. data/deps/share/OGRE/media/materials/programs/InstancingMisc.cg +0 -63
  1177. data/deps/share/OGRE/media/materials/programs/InstancingMisc.vert +0 -62
  1178. data/deps/share/OGRE/media/materials/programs/InstancingVertexInterpolators.cg +0 -34
  1179. data/deps/share/OGRE/media/materials/programs/Instancing_ps.cg +0 -57
  1180. data/deps/share/OGRE/media/materials/programs/InvertFP.cg +0 -6
  1181. data/deps/share/OGRE/media/materials/programs/InvertFP.glsles +0 -13
  1182. data/deps/share/OGRE/media/materials/programs/LaplaceFP.cg +0 -37
  1183. data/deps/share/OGRE/media/materials/programs/LaplaceFP.glsles +0 -40
  1184. data/deps/share/OGRE/media/materials/programs/LightToHeatFp.glsles +0 -39
  1185. data/deps/share/OGRE/media/materials/programs/LightToHeatVp.glsles +0 -17
  1186. data/deps/share/OGRE/media/materials/programs/NightVisionFP.cg +0 -27
  1187. data/deps/share/OGRE/media/materials/programs/NightVisionFP.glsles +0 -26
  1188. data/deps/share/OGRE/media/materials/programs/Ocean2GLSL.frag +0 -71
  1189. data/deps/share/OGRE/media/materials/programs/Ocean2GLSL.vert +0 -91
  1190. data/deps/share/OGRE/media/materials/programs/Ocean2GLSLES.frag +0 -76
  1191. data/deps/share/OGRE/media/materials/programs/Ocean2GLSLES.vert +0 -101
  1192. data/deps/share/OGRE/media/materials/programs/Ocean2HLSL_Cg.frag +0 -85
  1193. data/deps/share/OGRE/media/materials/programs/Ocean2HLSL_Cg.vert +0 -108
  1194. data/deps/share/OGRE/media/materials/programs/OffsetMapping.cg +0 -84
  1195. data/deps/share/OGRE/media/materials/programs/OffsetMapping.hlsl +0 -135
  1196. data/deps/share/OGRE/media/materials/programs/OffsetMappingFp.glsl +0 -69
  1197. data/deps/share/OGRE/media/materials/programs/OffsetMappingFp.glsles +0 -43
  1198. data/deps/share/OGRE/media/materials/programs/OffsetMappingShadowsFp.glsles +0 -70
  1199. data/deps/share/OGRE/media/materials/programs/OffsetMappingShadowsVp.glsles +0 -63
  1200. data/deps/share/OGRE/media/materials/programs/OffsetMappingVp.glsl +0 -54
  1201. data/deps/share/OGRE/media/materials/programs/OffsetMappingVp.glsles +0 -50
  1202. data/deps/share/OGRE/media/materials/programs/OffsetMapping_specular.asm +0 -44
  1203. data/deps/share/OGRE/media/materials/programs/OffsetMapping_specular.glsles +0 -49
  1204. data/deps/share/OGRE/media/materials/programs/OldMovieFP.cg +0 -55
  1205. data/deps/share/OGRE/media/materials/programs/OldMovieFP.glsles +0 -58
  1206. data/deps/share/OGRE/media/materials/programs/OldTV.cg +0 -42
  1207. data/deps/share/OGRE/media/materials/programs/ParticleGS.cg +0 -324
  1208. data/deps/share/OGRE/media/materials/programs/ParticleGS.hlsl +0 -316
  1209. data/deps/share/OGRE/media/materials/programs/PassthroughFP.cg +0 -14
  1210. data/deps/share/OGRE/media/materials/programs/PassthroughFP.glsl +0 -9
  1211. data/deps/share/OGRE/media/materials/programs/PassthroughFP.glsles +0 -14
  1212. data/deps/share/OGRE/media/materials/programs/PassthroughVP.glsl +0 -5
  1213. data/deps/share/OGRE/media/materials/programs/PassthroughVP.glsles +0 -13
  1214. data/deps/share/OGRE/media/materials/programs/PosterizeFP.cg +0 -17
  1215. data/deps/share/OGRE/media/materials/programs/PosterizeFP.glsles +0 -22
  1216. data/deps/share/OGRE/media/materials/programs/Radial_Blur_FP.cg +0 -58
  1217. data/deps/share/OGRE/media/materials/programs/Radial_Blur_FP.glsles +0 -62
  1218. data/deps/share/OGRE/media/materials/programs/Radial_Blur_FP.hlsl +0 -58
  1219. data/deps/share/OGRE/media/materials/programs/ShaderInstancing.cg +0 -101
  1220. data/deps/share/OGRE/media/materials/programs/ShaderInstancing.vert +0 -117
  1221. data/deps/share/OGRE/media/materials/programs/SharpenEdgesFP.cg +0 -23
  1222. data/deps/share/OGRE/media/materials/programs/SharpenEdgesFP.glsles +0 -31
  1223. data/deps/share/OGRE/media/materials/programs/ShowNormals.glsles +0 -16
  1224. data/deps/share/OGRE/media/materials/programs/ShowTangents.glsles +0 -16
  1225. data/deps/share/OGRE/media/materials/programs/ShowUV.glsles +0 -12
  1226. data/deps/share/OGRE/media/materials/programs/ShowUVdir3D.glsles +0 -14
  1227. data/deps/share/OGRE/media/materials/programs/StdQuad_Tex2_vp.glsles +0 -23
  1228. data/deps/share/OGRE/media/materials/programs/StdQuad_Tex2a_vp.glsles +0 -23
  1229. data/deps/share/OGRE/media/materials/programs/StdQuad_Tex3_vp.glsles +0 -25
  1230. data/deps/share/OGRE/media/materials/programs/StdQuad_Tex4_vp.glsles +0 -27
  1231. data/deps/share/OGRE/media/materials/programs/StdQuad_vp.cg +0 -113
  1232. data/deps/share/OGRE/media/materials/programs/StdQuad_vp.glsl +0 -11
  1233. data/deps/share/OGRE/media/materials/programs/StdQuad_vp.glsles +0 -17
  1234. data/deps/share/OGRE/media/materials/programs/StdQuad_vp.hlsl +0 -20
  1235. data/deps/share/OGRE/media/materials/programs/Swizzle.gp +0 -39
  1236. data/deps/share/OGRE/media/materials/programs/SwizzleGP.cg +0 -14
  1237. data/deps/share/OGRE/media/materials/programs/SwizzleGP.glsl +0 -40
  1238. data/deps/share/OGRE/media/materials/programs/SwizzleGP.glsles +0 -80
  1239. data/deps/share/OGRE/media/materials/programs/TilingFP.cg +0 -33
  1240. data/deps/share/OGRE/media/materials/programs/TilingFP.glsles +0 -36
  1241. data/deps/share/OGRE/media/materials/programs/VTFInstancing.cg +0 -107
  1242. data/deps/share/OGRE/media/materials/programs/VTFInstancing.vert +0 -113
  1243. data/deps/share/OGRE/media/materials/programs/crowdVp.glsl +0 -62
  1244. data/deps/share/OGRE/media/materials/programs/crowdVp.glsles +0 -68
  1245. data/deps/share/OGRE/media/materials/programs/depthshadowobject.cg +0 -185
  1246. data/deps/share/OGRE/media/materials/programs/depthshadowobjectFp.glsles +0 -183
  1247. data/deps/share/OGRE/media/materials/programs/depthshadowobjectVp.glsles +0 -183
  1248. data/deps/share/OGRE/media/materials/programs/hdr.cg +0 -25
  1249. data/deps/share/OGRE/media/materials/programs/hdr.hlsl +0 -165
  1250. data/deps/share/OGRE/media/materials/programs/hdrFp.glsles +0 -15
  1251. data/deps/share/OGRE/media/materials/programs/hdr_bloom.glsl +0 -22
  1252. data/deps/share/OGRE/media/materials/programs/hdr_bloom.glsles +0 -25
  1253. data/deps/share/OGRE/media/materials/programs/hdr_downscale2x2luminence.glsl +0 -24
  1254. data/deps/share/OGRE/media/materials/programs/hdr_downscale2x2luminence.glsles +0 -26
  1255. data/deps/share/OGRE/media/materials/programs/hdr_downscale3x3.glsl +0 -26
  1256. data/deps/share/OGRE/media/materials/programs/hdr_downscale3x3.glsles +0 -30
  1257. data/deps/share/OGRE/media/materials/programs/hdr_downscale3x3brightpass.glsl +0 -37
  1258. data/deps/share/OGRE/media/materials/programs/hdr_downscale3x3brightpass.glsles +0 -64
  1259. data/deps/share/OGRE/media/materials/programs/hdr_finalToneMapping.glsl +0 -28
  1260. data/deps/share/OGRE/media/materials/programs/hdr_finalToneMapping.glsles +0 -54
  1261. data/deps/share/OGRE/media/materials/programs/hdr_tonemap_util.glsl +0 -29
  1262. data/deps/share/OGRE/media/materials/programs/hdrutils.hlsl +0 -65
  1263. data/deps/share/OGRE/media/materials/programs/instancing.cg +0 -125
  1264. data/deps/share/OGRE/media/materials/programs/instancingVp.glsl +0 -39
  1265. data/deps/share/OGRE/media/materials/programs/instancingVp.glsles +0 -51
  1266. data/deps/share/OGRE/media/materials/programs/isosurf.cg +0 -155
  1267. data/deps/share/OGRE/media/materials/programs/isosurf.hlsl +0 -145
  1268. data/deps/share/OGRE/media/materials/programs/mrttestfp.hlsl +0 -48
  1269. data/deps/share/OGRE/media/materials/programs/mrttestfp_quad.glsl +0 -17
  1270. data/deps/share/OGRE/media/materials/programs/mrttestfp_quad.glsles +0 -20
  1271. data/deps/share/OGRE/media/materials/programs/mrttestfp_scene.glsl +0 -20
  1272. data/deps/share/OGRE/media/materials/programs/mrttestfp_scene.glsles +0 -21
  1273. data/deps/share/OGRE/media/materials/programs/oceanGLSL.frag +0 -45
  1274. data/deps/share/OGRE/media/materials/programs/oceanGLSL.vert +0 -32
  1275. data/deps/share/OGRE/media/materials/programs/oceanHLSL_Cg.frag +0 -45
  1276. data/deps/share/OGRE/media/materials/programs/oceanHLSL_Cg.vert +0 -41
  1277. data/deps/share/OGRE/media/materials/programs/particlesgs.fx +0 -367
  1278. data/deps/share/OGRE/media/materials/programs/pssm.cg +0 -164
  1279. data/deps/share/OGRE/media/materials/programs/pssm.hlsl +0 -167
  1280. data/deps/share/OGRE/media/materials/programs/pssmCasterFp.glsles +0 -13
  1281. data/deps/share/OGRE/media/materials/programs/pssmCasterVp.glsles +0 -21
  1282. data/deps/share/OGRE/media/materials/programs/pssmFp.glsles +0 -0
  1283. data/deps/share/OGRE/media/materials/programs/pssmReceiverFp.glsles +0 -92
  1284. data/deps/share/OGRE/media/materials/programs/pssmReceiverVp.glsles +0 -63
  1285. data/deps/share/OGRE/media/materials/programs/pssmVp.glsles +0 -0
  1286. data/deps/share/OGRE/media/materials/programs/shadows.cg +0 -144
  1287. data/deps/share/OGRE/media/materials/programs/shadows.glsl +0 -146
  1288. data/deps/share/OGRE/media/materials/programs/skinningTwoWeightsShadowCasterVp.glsl +0 -42
  1289. data/deps/share/OGRE/media/materials/programs/skinningTwoWeightsShadowCasterVp.glsles +0 -46
  1290. data/deps/share/OGRE/media/materials/programs/skinningTwoWeightsVp.glsl +0 -61
  1291. data/deps/share/OGRE/media/materials/programs/skinningTwoWeightsVp.glsles +0 -63
  1292. data/deps/share/OGRE/media/materials/programs/varianceshadowcasterfp.cg +0 -65
  1293. data/deps/share/OGRE/media/materials/programs/varianceshadowcasterfp.glsles +0 -132
  1294. data/deps/share/OGRE/media/materials/programs/varianceshadowcastervp.cg +0 -44
  1295. data/deps/share/OGRE/media/materials/programs/varianceshadowcastervp.glsles +0 -88
  1296. data/deps/share/OGRE/media/materials/programs/varianceshadowreceiverfp.cg +0 -107
  1297. data/deps/share/OGRE/media/materials/programs/varianceshadowreceiverfp.glsles +0 -214
  1298. data/deps/share/OGRE/media/materials/programs/varianceshadowreceivervp.cg +0 -47
  1299. data/deps/share/OGRE/media/materials/programs/varianceshadowreceivervp.glsles +0 -94
  1300. data/deps/share/OGRE/media/materials/scripts/ASCII.material +0 -55
  1301. data/deps/share/OGRE/media/materials/scripts/ASMSwizzle.material +0 -19
  1302. data/deps/share/OGRE/media/materials/scripts/BlackAndWhite.material +0 -45
  1303. data/deps/share/OGRE/media/materials/scripts/Bloom.material +0 -217
  1304. data/deps/share/OGRE/media/materials/scripts/Bloom2.material +0 -360
  1305. data/deps/share/OGRE/media/materials/scripts/CGSwizzle.material +0 -20
  1306. data/deps/share/OGRE/media/materials/scripts/CompositorDemo.material +0 -18
  1307. data/deps/share/OGRE/media/materials/scripts/DOF.material +0 -94
  1308. data/deps/share/OGRE/media/materials/scripts/DepthShadowmap.material +0 -747
  1309. data/deps/share/OGRE/media/materials/scripts/Dither.material +0 -57
  1310. data/deps/share/OGRE/media/materials/scripts/DualQuaternion.material +0 -112
  1311. data/deps/share/OGRE/media/materials/scripts/DualQuaternion.program +0 -154
  1312. data/deps/share/OGRE/media/materials/scripts/Embossed.material +0 -44
  1313. data/deps/share/OGRE/media/materials/scripts/Example-Water.material +0 -183
  1314. data/deps/share/OGRE/media/materials/scripts/Examples-Advanced.material +0 -842
  1315. data/deps/share/OGRE/media/materials/scripts/Examples-DynTex.material +0 -38
  1316. data/deps/share/OGRE/media/materials/scripts/Examples-Water.material +0 -183
  1317. data/deps/share/OGRE/media/materials/scripts/Examples.compositor +0 -788
  1318. data/deps/share/OGRE/media/materials/scripts/Examples.material +0 -2035
  1319. data/deps/share/OGRE/media/materials/scripts/Examples.program +0 -340
  1320. data/deps/share/OGRE/media/materials/scripts/GLSLSwizzle.material +0 -37
  1321. data/deps/share/OGRE/media/materials/scripts/Glass.material +0 -56
  1322. data/deps/share/OGRE/media/materials/scripts/HWInstancing.material +0 -131
  1323. data/deps/share/OGRE/media/materials/scripts/HW_VTFInstancing.material +0 -445
  1324. data/deps/share/OGRE/media/materials/scripts/HW_VTF_LUTInstancing.material +0 -438
  1325. data/deps/share/OGRE/media/materials/scripts/Halftone.material +0 -56
  1326. data/deps/share/OGRE/media/materials/scripts/HeatVision.material +0 -317
  1327. data/deps/share/OGRE/media/materials/scripts/Hurt.material +0 -18
  1328. data/deps/share/OGRE/media/materials/scripts/InstancingMisc.material +0 -81
  1329. data/deps/share/OGRE/media/materials/scripts/Invert.material +0 -47
  1330. data/deps/share/OGRE/media/materials/scripts/IsoSurf.material +0 -127
  1331. data/deps/share/OGRE/media/materials/scripts/Laplace.material +0 -49
  1332. data/deps/share/OGRE/media/materials/scripts/MRTtest.material +0 -133
  1333. data/deps/share/OGRE/media/materials/scripts/MotionBlur.material +0 -101
  1334. data/deps/share/OGRE/media/materials/scripts/NightVision.material +0 -49
  1335. data/deps/share/OGRE/media/materials/scripts/Ocean.controls +0 -90
  1336. data/deps/share/OGRE/media/materials/scripts/Ocean.material +0 -618
  1337. data/deps/share/OGRE/media/materials/scripts/OffsetMapping.material +0 -447
  1338. data/deps/share/OGRE/media/materials/scripts/Ogre.material +0 -66
  1339. data/deps/share/OGRE/media/materials/scripts/OldMovie.material +0 -85
  1340. data/deps/share/OGRE/media/materials/scripts/OldTV.material +0 -59
  1341. data/deps/share/OGRE/media/materials/scripts/ParticleGS.material +0 -200
  1342. data/deps/share/OGRE/media/materials/scripts/Penguin.material +0 -13
  1343. data/deps/share/OGRE/media/materials/scripts/Posterize.material +0 -46
  1344. data/deps/share/OGRE/media/materials/scripts/RZR-002.material +0 -15
  1345. data/deps/share/OGRE/media/materials/scripts/RadialBlur.material +0 -49
  1346. data/deps/share/OGRE/media/materials/scripts/SSAO/CreaseShading.cg +0 -65
  1347. data/deps/share/OGRE/media/materials/scripts/SSAO/CreaseShading.material +0 -57
  1348. data/deps/share/OGRE/media/materials/scripts/SSAO/Crytek.cg +0 -88
  1349. data/deps/share/OGRE/media/materials/scripts/SSAO/Crytek.material +0 -57
  1350. data/deps/share/OGRE/media/materials/scripts/SSAO/GBuffer.cg +0 -40
  1351. data/deps/share/OGRE/media/materials/scripts/SSAO/GBuffer.material +0 -61
  1352. data/deps/share/OGRE/media/materials/scripts/SSAO/HemisphereMC.cg +0 -86
  1353. data/deps/share/OGRE/media/materials/scripts/SSAO/HemisphereMC.material +0 -60
  1354. data/deps/share/OGRE/media/materials/scripts/SSAO/HorizonBased.cg +0 -95
  1355. data/deps/share/OGRE/media/materials/scripts/SSAO/HorizonBased.material +0 -58
  1356. data/deps/share/OGRE/media/materials/scripts/SSAO/SSAO.compositor +0 -224
  1357. data/deps/share/OGRE/media/materials/scripts/SSAO/SSAOPost.cg +0 -153
  1358. data/deps/share/OGRE/media/materials/scripts/SSAO/SSAOPost.compositor +0 -77
  1359. data/deps/share/OGRE/media/materials/scripts/SSAO/SSAOPost.material +0 -239
  1360. data/deps/share/OGRE/media/materials/scripts/SSAO/ShowDepth.cg +0 -13
  1361. data/deps/share/OGRE/media/materials/scripts/SSAO/ShowDepth.material +0 -47
  1362. data/deps/share/OGRE/media/materials/scripts/SSAO/ShowNormals.cg +0 -11
  1363. data/deps/share/OGRE/media/materials/scripts/SSAO/ShowNormals.material +0 -40
  1364. data/deps/share/OGRE/media/materials/scripts/SSAO/ShowViewPos.cg +0 -11
  1365. data/deps/share/OGRE/media/materials/scripts/SSAO/ShowViewPos.material +0 -40
  1366. data/deps/share/OGRE/media/materials/scripts/SSAO/UnsharpMask.cg +0 -79
  1367. data/deps/share/OGRE/media/materials/scripts/SSAO/UnsharpMask.material +0 -141
  1368. data/deps/share/OGRE/media/materials/scripts/SSAO/Volumetric.cg +0 -82
  1369. data/deps/share/OGRE/media/materials/scripts/SSAO/Volumetric.material +0 -59
  1370. data/deps/share/OGRE/media/materials/scripts/ShaderInstancing.material +0 -380
  1371. data/deps/share/OGRE/media/materials/scripts/ShaderSystem.material +0 -20
  1372. data/deps/share/OGRE/media/materials/scripts/SharpenEdges.material +0 -66
  1373. data/deps/share/OGRE/media/materials/scripts/StdQuad_vp.program +0 -162
  1374. data/deps/share/OGRE/media/materials/scripts/TextureAtlasSampleOrg.tai +0 -36
  1375. data/deps/share/OGRE/media/materials/scripts/TextureAtlasSampleWrap.tai +0 -36
  1376. data/deps/share/OGRE/media/materials/scripts/Tiling.material +0 -50
  1377. data/deps/share/OGRE/media/materials/scripts/VTFInstancing.material +0 -438
  1378. data/deps/share/OGRE/media/materials/scripts/VarianceShadowmap.material +0 -103
  1379. data/deps/share/OGRE/media/materials/scripts/facial.material +0 -98
  1380. data/deps/share/OGRE/media/materials/scripts/hdr.material +0 -332
  1381. data/deps/share/OGRE/media/materials/scripts/instancing.material +0 -185
  1382. data/deps/share/OGRE/media/materials/scripts/pssm.material +0 -226
  1383. data/deps/share/OGRE/media/materials/scripts/shadows.material +0 -130
  1384. data/deps/share/OGRE/media/materials/scripts/sibenik.material +0 -305
  1385. data/deps/share/OGRE/media/materials/scripts/smoke.material +0 -19
  1386. data/deps/share/OGRE/media/materials/textures/10points.png +0 -0
  1387. data/deps/share/OGRE/media/materials/textures/1D_Noise.png +0 -0
  1388. data/deps/share/OGRE/media/materials/textures/1D_Noise2.png +0 -0
  1389. data/deps/share/OGRE/media/materials/textures/1d_SPIRAL.png +0 -0
  1390. data/deps/share/OGRE/media/materials/textures/1d_debug.png +0 -0
  1391. data/deps/share/OGRE/media/materials/textures/8x8PagesSplotches2.png +0 -0
  1392. data/deps/share/OGRE/media/materials/textures/ASCII.dds +0 -0
  1393. data/deps/share/OGRE/media/materials/textures/BeachStones.jpg +0 -0
  1394. data/deps/share/OGRE/media/materials/textures/BumpyMetal.jpg +0 -0
  1395. data/deps/share/OGRE/media/materials/textures/Chrome.jpg +0 -0
  1396. data/deps/share/OGRE/media/materials/textures/Dirt.jpg +0 -0
  1397. data/deps/share/OGRE/media/materials/textures/Dr_Bunsen_Head.jpg +0 -0
  1398. data/deps/share/OGRE/media/materials/textures/GLX_icon.png +0 -0
  1399. data/deps/share/OGRE/media/materials/textures/GreenSkin.jpg +0 -0
  1400. data/deps/share/OGRE/media/materials/textures/HeatLookup.tga +0 -0
  1401. data/deps/share/OGRE/media/materials/textures/HeatNoise.tga +0 -0
  1402. data/deps/share/OGRE/media/materials/textures/KAMEN-stup.jpg +0 -0
  1403. data/deps/share/OGRE/media/materials/textures/KAMEN320x240-bump.jpg +0 -0
  1404. data/deps/share/OGRE/media/materials/textures/KAMEN320x240.jpg +0 -0
  1405. data/deps/share/OGRE/media/materials/textures/LowRes.png +0 -0
  1406. data/deps/share/OGRE/media/materials/textures/MRAMOR-bump.jpg +0 -0
  1407. data/deps/share/OGRE/media/materials/textures/MRAMOR6X6.jpg +0 -0
  1408. data/deps/share/OGRE/media/materials/textures/MtlPlat2.jpg +0 -0
  1409. data/deps/share/OGRE/media/materials/textures/NMBalls.png +0 -0
  1410. data/deps/share/OGRE/media/materials/textures/NMBumpsOut.png +0 -0
  1411. data/deps/share/OGRE/media/materials/textures/NMHollyBumps.png +0 -0
  1412. data/deps/share/OGRE/media/materials/textures/NMStripes.png +0 -0
  1413. data/deps/share/OGRE/media/materials/textures/NPRMetallic.tga +0 -0
  1414. data/deps/share/OGRE/media/materials/textures/NoiseVolume.dds +0 -0
  1415. data/deps/share/OGRE/media/materials/textures/Panels_Diffuse.png +0 -0
  1416. data/deps/share/OGRE/media/materials/textures/Panels_Normal_Obj.png +0 -0
  1417. data/deps/share/OGRE/media/materials/textures/Panels_Normal_Tangent.png +0 -0
  1418. data/deps/share/OGRE/media/materials/textures/Panels_reflection.png +0 -0
  1419. data/deps/share/OGRE/media/materials/textures/Panels_refmask.png +0 -0
  1420. data/deps/share/OGRE/media/materials/textures/RZR-002.png +0 -0
  1421. data/deps/share/OGRE/media/materials/textures/Random3D.dds +0 -0
  1422. data/deps/share/OGRE/media/materials/textures/RustedMetal.jpg +0 -0
  1423. data/deps/share/OGRE/media/materials/textures/RustyBarrel.png +0 -0
  1424. data/deps/share/OGRE/media/materials/textures/RustySteel.jpg +0 -0
  1425. data/deps/share/OGRE/media/materials/textures/SSAO/4InterleavedKMeansDisk8x4.png +0 -0
  1426. data/deps/share/OGRE/media/materials/textures/SSAO/gray256.png +0 -0
  1427. data/deps/share/OGRE/media/materials/textures/SSAO/importance4InterleavedSphereHemisphere8x4.png +0 -0
  1428. data/deps/share/OGRE/media/materials/textures/SSAO/rand1x32.png +0 -0
  1429. data/deps/share/OGRE/media/materials/textures/SSAO/randCosSinJitter4x4.png +0 -0
  1430. data/deps/share/OGRE/media/materials/textures/SSAO/regularSphereJittered4.png +0 -0
  1431. data/deps/share/OGRE/media/materials/textures/Sepia1D.tga +0 -0
  1432. data/deps/share/OGRE/media/materials/textures/SmallLeaf_BP.png +0 -0
  1433. data/deps/share/OGRE/media/materials/textures/TextureAtlasSampleOrg0.png +0 -0
  1434. data/deps/share/OGRE/media/materials/textures/TextureAtlasSampleWrap0.png +0 -0
  1435. data/deps/share/OGRE/media/materials/textures/Water01.jpg +0 -0
  1436. data/deps/share/OGRE/media/materials/textures/Water02.jpg +0 -0
  1437. data/deps/share/OGRE/media/materials/textures/WaterNormal1.tga +0 -0
  1438. data/deps/share/OGRE/media/materials/textures/WaterNormal2.tga +0 -0
  1439. data/deps/share/OGRE/media/materials/textures/WoodPallet.png +0 -0
  1440. data/deps/share/OGRE/media/materials/textures/atheneNormalMap.png +0 -0
  1441. data/deps/share/OGRE/media/materials/textures/aureola.png +0 -0
  1442. data/deps/share/OGRE/media/materials/textures/basic_droplet.png +0 -0
  1443. data/deps/share/OGRE/media/materials/textures/blue_jaiqua.jpg +0 -0
  1444. data/deps/share/OGRE/media/materials/textures/cel_shading_diffuse.png +0 -0
  1445. data/deps/share/OGRE/media/materials/textures/cel_shading_edge.png +0 -0
  1446. data/deps/share/OGRE/media/materials/textures/cel_shading_specular.png +0 -0
  1447. data/deps/share/OGRE/media/materials/textures/checker.png +0 -0
  1448. data/deps/share/OGRE/media/materials/textures/circuit.dds +0 -0
  1449. data/deps/share/OGRE/media/materials/textures/clouds.jpg +0 -0
  1450. data/deps/share/OGRE/media/materials/textures/cursor.png +0 -0
  1451. data/deps/share/OGRE/media/materials/textures/dark_grid.png +0 -0
  1452. data/deps/share/OGRE/media/materials/textures/dirt01.jpg +0 -0
  1453. data/deps/share/OGRE/media/materials/textures/dkyellow.png +0 -0
  1454. data/deps/share/OGRE/media/materials/textures/droplet.png +0 -0
  1455. data/deps/share/OGRE/media/materials/textures/egyptrockyfull.jpg +0 -0
  1456. data/deps/share/OGRE/media/materials/textures/flare.png +0 -0
  1457. data/deps/share/OGRE/media/materials/textures/flare_alpha.dds +0 -0
  1458. data/deps/share/OGRE/media/materials/textures/flaretrail.png +0 -0
  1459. data/deps/share/OGRE/media/materials/textures/frost.png +0 -0
  1460. data/deps/share/OGRE/media/materials/textures/fw12b.jpg +0 -0
  1461. data/deps/share/OGRE/media/materials/textures/gras_02.png +0 -0
  1462. data/deps/share/OGRE/media/materials/textures/grassWalpha.tga +0 -0
  1463. data/deps/share/OGRE/media/materials/textures/grass_1024.jpg +0 -0
  1464. data/deps/share/OGRE/media/materials/textures/img1.png +0 -0
  1465. data/deps/share/OGRE/media/materials/textures/img2.png +0 -0
  1466. data/deps/share/OGRE/media/materials/textures/leaf.png +0 -0
  1467. data/deps/share/OGRE/media/materials/textures/nm_bk.png +0 -0
  1468. data/deps/share/OGRE/media/materials/textures/nm_dn.png +0 -0
  1469. data/deps/share/OGRE/media/materials/textures/nm_fr.png +0 -0
  1470. data/deps/share/OGRE/media/materials/textures/nm_lf.png +0 -0
  1471. data/deps/share/OGRE/media/materials/textures/nm_rt.png +0 -0
  1472. data/deps/share/OGRE/media/materials/textures/nm_up.png +0 -0
  1473. data/deps/share/OGRE/media/materials/textures/normalNoiseColor.png +0 -0
  1474. data/deps/share/OGRE/media/materials/textures/nskingr.jpg +0 -0
  1475. data/deps/share/OGRE/media/materials/textures/nvidia/TextureUsageAgreement.txt +0 -26
  1476. data/deps/share/OGRE/media/materials/textures/nvidia/dirt_grayrocky_diffusespecular.dds +0 -0
  1477. data/deps/share/OGRE/media/materials/textures/nvidia/dirt_grayrocky_normalheight.dds +0 -0
  1478. data/deps/share/OGRE/media/materials/textures/nvidia/grass_green-01_diffusespecular.dds +0 -0
  1479. data/deps/share/OGRE/media/materials/textures/nvidia/grass_green-01_normalheight.dds +0 -0
  1480. data/deps/share/OGRE/media/materials/textures/nvidia/growth_weirdfungus-03_diffusespecular.dds +0 -0
  1481. data/deps/share/OGRE/media/materials/textures/nvidia/growth_weirdfungus-03_normalheight.dds +0 -0
  1482. data/deps/share/OGRE/media/materials/textures/ogreborder.png +0 -0
  1483. data/deps/share/OGRE/media/materials/textures/ogreborderUp.png +0 -0
  1484. data/deps/share/OGRE/media/materials/textures/ogrebordercenter.png +0 -0
  1485. data/deps/share/OGRE/media/materials/textures/ogregui.tga +0 -0
  1486. data/deps/share/OGRE/media/materials/textures/ogrelogo-small.jpg +0 -0
  1487. data/deps/share/OGRE/media/materials/textures/ogrelogo.png +0 -0
  1488. data/deps/share/OGRE/media/materials/textures/particle.dds +0 -0
  1489. data/deps/share/OGRE/media/materials/textures/penguin.jpg +0 -0
  1490. data/deps/share/OGRE/media/materials/textures/perlinvolume.dds +0 -0
  1491. data/deps/share/OGRE/media/materials/textures/r2skin.jpg +0 -0
  1492. data/deps/share/OGRE/media/materials/textures/radial.png +0 -0
  1493. data/deps/share/OGRE/media/materials/textures/random.png +0 -0
  1494. data/deps/share/OGRE/media/materials/textures/ribbonband.png +0 -0
  1495. data/deps/share/OGRE/media/materials/textures/rockwall.tga +0 -0
  1496. data/deps/share/OGRE/media/materials/textures/rockwall_NH.tga +0 -0
  1497. data/deps/share/OGRE/media/materials/textures/scr-back.png +0 -0
  1498. data/deps/share/OGRE/media/materials/textures/scr-down-p.png +0 -0
  1499. data/deps/share/OGRE/media/materials/textures/scr-down.png +0 -0
  1500. data/deps/share/OGRE/media/materials/textures/scr-thumb.png +0 -0
  1501. data/deps/share/OGRE/media/materials/textures/scr-up-p.png +0 -0
  1502. data/deps/share/OGRE/media/materials/textures/scr-up.png +0 -0
  1503. data/deps/share/OGRE/media/materials/textures/smoke.png +0 -0
  1504. data/deps/share/OGRE/media/materials/textures/smokecolors.png +0 -0
  1505. data/deps/share/OGRE/media/materials/textures/snow_1024.jpg +0 -0
  1506. data/deps/share/OGRE/media/materials/textures/spacesky.jpg +0 -0
  1507. data/deps/share/OGRE/media/materials/textures/spheremap.png +0 -0
  1508. data/deps/share/OGRE/media/materials/textures/spine_strips.dds +0 -0
  1509. data/deps/share/OGRE/media/materials/textures/spotlight_image.png +0 -0
  1510. data/deps/share/OGRE/media/materials/textures/steelhead.png +0 -0
  1511. data/deps/share/OGRE/media/materials/textures/strugotine.jpg +0 -0
  1512. data/deps/share/OGRE/media/materials/textures/terr_dirt-grass.jpg +0 -0
  1513. data/deps/share/OGRE/media/materials/textures/terr_rock-dirt.jpg +0 -0
  1514. data/deps/share/OGRE/media/materials/textures/terr_rock6.jpg +0 -0
  1515. data/deps/share/OGRE/media/materials/textures/terrain.png +0 -0
  1516. data/deps/share/OGRE/media/materials/textures/terrain_detail.jpg +0 -0
  1517. data/deps/share/OGRE/media/materials/textures/terrain_texture.jpg +0 -0
  1518. data/deps/share/OGRE/media/materials/textures/texmap2.jpg +0 -0
  1519. data/deps/share/OGRE/media/materials/textures/tusk.jpg +0 -0
  1520. data/deps/share/OGRE/media/materials/textures/waveNM.png +0 -0
  1521. data/deps/share/OGRE/media/materials/textures/waves2.dds +0 -0
  1522. data/deps/share/OGRE/media/materials/textures/white.bmp +0 -0
  1523. data/deps/share/OGRE/media/models/Barrel.mesh +0 -0
  1524. data/deps/share/OGRE/media/models/RZR-002.mesh +0 -0
  1525. data/deps/share/OGRE/media/models/ShaderSystem.mesh +0 -0
  1526. data/deps/share/OGRE/media/models/WoodPallet.mesh +0 -0
  1527. data/deps/share/OGRE/media/models/athene.mesh +0 -0
  1528. data/deps/share/OGRE/media/models/column.mesh +0 -0
  1529. data/deps/share/OGRE/media/models/cornell.mesh +0 -0
  1530. data/deps/share/OGRE/media/models/cube.mesh +0 -0
  1531. data/deps/share/OGRE/media/models/facial.mesh +0 -0
  1532. data/deps/share/OGRE/media/models/fish.mesh +0 -0
  1533. data/deps/share/OGRE/media/models/fish.skeleton +0 -0
  1534. data/deps/share/OGRE/media/models/geosphere4500.mesh +0 -0
  1535. data/deps/share/OGRE/media/models/geosphere8000.mesh +0 -0
  1536. data/deps/share/OGRE/media/models/jaiqua.mesh +0 -0
  1537. data/deps/share/OGRE/media/models/jaiqua.skeleton +0 -0
  1538. data/deps/share/OGRE/media/models/knot.mesh +0 -0
  1539. data/deps/share/OGRE/media/models/ninja.mesh +0 -0
  1540. data/deps/share/OGRE/media/models/ninja.skeleton +0 -0
  1541. data/deps/share/OGRE/media/models/ogrehead.mesh +0 -0
  1542. data/deps/share/OGRE/media/models/penguin.mesh +0 -0
  1543. data/deps/share/OGRE/media/models/penguin.skeleton +0 -0
  1544. data/deps/share/OGRE/media/models/razor.mesh +0 -0
  1545. data/deps/share/OGRE/media/models/robot.mesh +0 -0
  1546. data/deps/share/OGRE/media/models/robot.skeleton +0 -0
  1547. data/deps/share/OGRE/media/models/sibenik.mesh +0 -0
  1548. data/deps/share/OGRE/media/models/sphere.mesh +0 -0
  1549. data/deps/share/OGRE/media/models/spine.mesh +0 -0
  1550. data/deps/share/OGRE/media/models/spine.mesh.skeleton +0 -0
  1551. data/deps/share/OGRE/media/models/tudorhouse.mesh +0 -0
  1552. data/deps/share/OGRE/media/packs/SdkTrays.zip +0 -0
  1553. data/deps/share/OGRE/media/packs/Sinbad.zip +0 -0
  1554. data/deps/share/OGRE/media/packs/chiropteraDM.pk3 +0 -0
  1555. data/deps/share/OGRE/media/packs/chiropteraDM.txt +0 -99
  1556. data/deps/share/OGRE/media/packs/cubemap.zip +0 -0
  1557. data/deps/share/OGRE/media/packs/cubemapsJS.zip +0 -0
  1558. data/deps/share/OGRE/media/packs/dragon.zip +0 -0
  1559. data/deps/share/OGRE/media/packs/fresneldemo.zip +0 -0
  1560. data/deps/share/OGRE/media/packs/ogredance.zip +0 -0
  1561. data/deps/share/OGRE/media/packs/ogretestmap.zip +0 -0
  1562. data/deps/share/OGRE/media/packs/profiler.zip +0 -0
  1563. data/deps/share/OGRE/media/packs/skybox.zip +0 -0
  1564. data/deps/share/OGRE/media/particle/Examples-Water.particle +0 -35
  1565. data/deps/share/OGRE/media/particle/Examples.particle +0 -381
  1566. data/deps/share/OGRE/media/particle/emitted_emitter.particle +0 -56
  1567. data/deps/share/OGRE/media/particle/smoke.particle +0 -44
  1568. data/deps/share/OGRE/media/terrain.cfg +0 -71
  1569. data/deps/share/OGRE/media/thumbnails/thumb_bezier.png +0 -0
  1570. data/deps/share/OGRE/media/thumbnails/thumb_bsp.png +0 -0
  1571. data/deps/share/OGRE/media/thumbnails/thumb_bump.png +0 -0
  1572. data/deps/share/OGRE/media/thumbnails/thumb_camtrack.png +0 -0
  1573. data/deps/share/OGRE/media/thumbnails/thumb_cel.png +0 -0
  1574. data/deps/share/OGRE/media/thumbnails/thumb_char.png +0 -0
  1575. data/deps/share/OGRE/media/thumbnails/thumb_comp.png +0 -0
  1576. data/deps/share/OGRE/media/thumbnails/thumb_cubemap.png +0 -0
  1577. data/deps/share/OGRE/media/thumbnails/thumb_deferred.png +0 -0
  1578. data/deps/share/OGRE/media/thumbnails/thumb_dualquaternionskinning.png +0 -0
  1579. data/deps/share/OGRE/media/thumbnails/thumb_dyntex.png +0 -0
  1580. data/deps/share/OGRE/media/thumbnails/thumb_error.png +0 -0
  1581. data/deps/share/OGRE/media/thumbnails/thumb_facial.png +0 -0
  1582. data/deps/share/OGRE/media/thumbnails/thumb_fresnel.png +0 -0
  1583. data/deps/share/OGRE/media/thumbnails/thumb_grass.png +0 -0
  1584. data/deps/share/OGRE/media/thumbnails/thumb_instancing.png +0 -0
  1585. data/deps/share/OGRE/media/thumbnails/thumb_isosurf.png +0 -0
  1586. data/deps/share/OGRE/media/thumbnails/thumb_lighting.png +0 -0
  1587. data/deps/share/OGRE/media/thumbnails/thumb_newinstancing.png +0 -0
  1588. data/deps/share/OGRE/media/thumbnails/thumb_ocean.png +0 -0
  1589. data/deps/share/OGRE/media/thumbnails/thumb_particlegs.png +0 -0
  1590. data/deps/share/OGRE/media/thumbnails/thumb_particles.png +0 -0
  1591. data/deps/share/OGRE/media/thumbnails/thumb_playpen.png +0 -0
  1592. data/deps/share/OGRE/media/thumbnails/thumb_shadersystem.png +0 -0
  1593. data/deps/share/OGRE/media/thumbnails/thumb_shadows.png +0 -0
  1594. data/deps/share/OGRE/media/thumbnails/thumb_skelanim.png +0 -0
  1595. data/deps/share/OGRE/media/thumbnails/thumb_skybox.png +0 -0
  1596. data/deps/share/OGRE/media/thumbnails/thumb_skydome.png +0 -0
  1597. data/deps/share/OGRE/media/thumbnails/thumb_skyplane.png +0 -0
  1598. data/deps/share/OGRE/media/thumbnails/thumb_smoke.png +0 -0
  1599. data/deps/share/OGRE/media/thumbnails/thumb_spheremap.png +0 -0
  1600. data/deps/share/OGRE/media/thumbnails/thumb_ssao.png +0 -0
  1601. data/deps/share/OGRE/media/thumbnails/thumb_terrain.png +0 -0
  1602. data/deps/share/OGRE/media/thumbnails/thumb_texarray.png +0 -0
  1603. data/deps/share/OGRE/media/thumbnails/thumb_texfx.png +0 -0
  1604. data/deps/share/OGRE/media/thumbnails/thumb_trans.png +0 -0
  1605. data/deps/share/OGRE/media/thumbnails/thumb_visual_tests.png +0 -0
  1606. data/deps/share/OGRE/media/thumbnails/thumb_voltex.png +0 -0
  1607. data/deps/share/OGRE/media/thumbnails/thumb_water.png +0 -0
  1608. data/lib/ogre.so +0 -0
  1609. data/lib/ogre_config.rb +0 -37
  1610. data/lib/ogrebites.so +0 -0
  1611. data/lib/ois.so +0 -0
  1612. data/lib/procedural.so +0 -0
  1613. data/sample/charactor/camera_mover.rb +0 -184
  1614. data/sample/charactor/plugins.cfg +0 -17
  1615. data/sample/charactor/resources.cfg +0 -22
  1616. data/sample/charactor/sinbad +0 -5
  1617. data/sample/charactor/sinbad.rb +0 -250
  1618. data/sample/charactor/sinbad.win +0 -5
  1619. data/sample/charactor/sinbad_character.rb +0 -379
  1620. data/sample/charactor/ui_listener.rb +0 -65
@@ -1,136 +0,0 @@
1
- /*
2
- -----------------------------------------------------------------------------
3
- This source file is part of OGRE
4
- (Object-oriented Graphics Rendering Engine)
5
- For the latest info, see http://www.ogre3d.org/
6
-
7
- Copyright (c) 2000-2012 Torus Knot Software Ltd
8
-
9
- Permission is hereby granted, free of charge, to any person obtaining a copy
10
- of this software and associated documentation files (the "Software"), to deal
11
- in the Software without restriction, including without limitation the rights
12
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
- copies of the Software, and to permit persons to whom the Software is
14
- furnished to do so, subject to the following conditions:
15
-
16
- The above copyright notice and this permission notice shall be included in
17
- all copies or substantial portions of the Software.
18
-
19
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
- THE SOFTWARE.
26
- -----------------------------------------------------------------------------
27
- */
28
- #ifndef __RotationalSpline_H__
29
- #define __RotationalSpline_H__
30
-
31
- #include "OgrePrerequisites.h"
32
- #include "OgreQuaternion.h"
33
-
34
- namespace Ogre {
35
-
36
- /** \addtogroup Core
37
- * @{
38
- */
39
- /** \addtogroup Math
40
- * @{
41
- */
42
- /** This class interpolates orientations (rotations) along a spline using
43
- derivatives of quaternions.
44
- @remarks
45
- Like the SimpleSpline class, this class is about interpolating values
46
- smoothly over a spline. Whilst SimpleSpline deals with positions (the normal
47
- sense we think about splines), this class interpolates orientations. The
48
- theory is identical, except we're now in 4-dimensional space instead of 3.
49
- @par
50
- In positional splines, we use the points and tangents on those points to generate
51
- control points for the spline. In this case, we use quaternions and derivatives
52
- of the quaternions (i.e. the rate and direction of change at each point). This is the
53
- same as SimpleSpline since a tangent is a derivative of a position. We effectively
54
- generate an extra quaternion in between each actual quaternion which when take with
55
- the original quaternion forms the 'tangent' of that quaternion.
56
- */
57
- class _OgreExport RotationalSpline
58
- {
59
- public:
60
- RotationalSpline();
61
- ~RotationalSpline();
62
-
63
- /** Adds a control point to the end of the spline. */
64
- void addPoint(const Quaternion& p);
65
-
66
- /** Gets the detail of one of the control points of the spline. */
67
- const Quaternion& getPoint(unsigned short index) const;
68
-
69
- /** Gets the number of control points in the spline. */
70
- unsigned short getNumPoints(void) const;
71
-
72
- /** Clears all the points in the spline. */
73
- void clear(void);
74
-
75
- /** Updates a single point in the spline.
76
- @remarks
77
- This point must already exist in the spline.
78
- */
79
- void updatePoint(unsigned short index, const Quaternion& value);
80
-
81
- /** Returns an interpolated point based on a parametric value over the whole series.
82
- @remarks
83
- Given a t value between 0 and 1 representing the parametric distance along the
84
- whole length of the spline, this method returns an interpolated point.
85
- @param t Parametric value.
86
- @param useShortestPath Defines if rotation should take the shortest possible path
87
- */
88
- Quaternion interpolate(Real t, bool useShortestPath=true);
89
-
90
- /** Interpolates a single segment of the spline given a parametric value.
91
- @param fromIndex The point index to treat as t=0. fromIndex + 1 is deemed to be t=1
92
- @param t Parametric value
93
- @param useShortestPath Defines if rotation should take the shortest possible path
94
- */
95
- Quaternion interpolate(unsigned int fromIndex, Real t, bool useShortestPath=true);
96
-
97
- /** Tells the spline whether it should automatically calculate tangents on demand
98
- as points are added.
99
- @remarks
100
- The spline calculates tangents at each point automatically based on the input points.
101
- Normally it does this every time a point changes. However, if you have a lot of points
102
- to add in one go, you probably don't want to incur this overhead and would prefer to
103
- defer the calculation until you are finished setting all the points. You can do this
104
- by calling this method with a parameter of 'false'. Just remember to manually call
105
- the recalcTangents method when you are done.
106
- @param autoCalc If true, tangents are calculated for you whenever a point changes. If false,
107
- you must call reclacTangents to recalculate them when it best suits.
108
- */
109
- void setAutoCalculate(bool autoCalc);
110
-
111
- /** Recalculates the tangents associated with this spline.
112
- @remarks
113
- If you tell the spline not to update on demand by calling setAutoCalculate(false)
114
- then you must call this after completing your updates to the spline points.
115
- */
116
- void recalcTangents(void);
117
-
118
- protected:
119
-
120
- bool mAutoCalc;
121
-
122
-
123
-
124
- vector<Quaternion>::type mPoints;
125
- vector<Quaternion>::type mTangents;
126
-
127
- };
128
-
129
- /** @} */
130
- /** @} */
131
-
132
- }
133
-
134
-
135
- #endif
136
-
@@ -1,3670 +0,0 @@
1
- /*-------------------------------------------------------------------------
2
- This source file is a part of OGRE
3
- (Object-oriented Graphics Rendering Engine)
4
-
5
- For the latest info, see http://www.ogre3d.org/
6
-
7
- Copyright (c) 2000-2012 Torus Knot Software Ltd
8
- Permission is hereby granted, free of charge, to any person obtaining a copy
9
- of this software and associated documentation files (the "Software"), to deal
10
- in the Software without restriction, including without limitation the rights
11
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
- copies of the Software, and to permit persons to whom the Software is
13
- furnished to do so, subject to the following conditions:
14
-
15
- The above copyright notice and this permission notice shall be included in
16
- all copies or substantial portions of the Software.
17
-
18
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
- THE SOFTWARE
25
-
26
- You may alternatively use this source under the terms of a specific version of
27
- the OGRE Unrestricted License provided you have obtained such a license from
28
- Torus Knot Software Ltd.
29
- -------------------------------------------------------------------------*/
30
- #ifndef __SceneManager_H__
31
- #define __SceneManager_H__
32
-
33
- // Precompiler options
34
- #include "OgrePrerequisites.h"
35
-
36
- #include "OgreString.h"
37
- #include "OgreSceneNode.h"
38
- #include "OgrePlane.h"
39
- #include "OgreQuaternion.h"
40
- #include "OgreColourValue.h"
41
- #include "OgreCommon.h"
42
- #include "OgreSceneQuery.h"
43
- #include "OgreAutoParamDataSource.h"
44
- #include "OgreAnimationState.h"
45
- #include "OgreRenderQueue.h"
46
- #include "OgreRenderQueueSortingGrouping.h"
47
- #include "OgreRectangle2D.h"
48
- #include "OgrePixelFormat.h"
49
- #include "OgreResourceGroupManager.h"
50
- #include "OgreTexture.h"
51
- #include "OgreShadowCameraSetup.h"
52
- #include "OgreShadowTextureManager.h"
53
- #include "OgreCamera.h"
54
- #include "OgreInstancedGeometry.h"
55
- #include "OgreLodListener.h"
56
- #include "OgreInstanceManager.h"
57
- #include "OgreRenderSystem.h"
58
- namespace Ogre {
59
- /** \addtogroup Core
60
- * @{
61
- */
62
- /** \addtogroup Scene
63
- * @{
64
- */
65
-
66
- /** Structure for holding a position & orientation pair. */
67
- struct ViewPoint
68
- {
69
- Vector3 position;
70
- Quaternion orientation;
71
- };
72
-
73
- // Forward declarations
74
- class DefaultIntersectionSceneQuery;
75
- class DefaultRaySceneQuery;
76
- class DefaultSphereSceneQuery;
77
- class DefaultAxisAlignedBoxSceneQuery;
78
- class CompositorChain;
79
-
80
- /** Structure collecting together information about the visible objects
81
- that have been discovered in a scene.
82
- */
83
- struct _OgreExport VisibleObjectsBoundsInfo
84
- {
85
- /// The axis-aligned bounds of the visible objects
86
- AxisAlignedBox aabb;
87
- /// The axis-aligned bounds of the visible shadow receiver objects
88
- AxisAlignedBox receiverAabb;
89
- /// The closest a visible object is to the camera
90
- Real minDistance;
91
- /// The farthest a visible objects is from the camera
92
- Real maxDistance;
93
- /// The closest a object in the frustum regardless of visibility / shadow caster flags
94
- Real minDistanceInFrustum;
95
- /// The farthest object in the frustum regardless of visibility / shadow caster flags
96
- Real maxDistanceInFrustum;
97
-
98
- VisibleObjectsBoundsInfo();
99
- void reset();
100
- void merge(const AxisAlignedBox& boxBounds, const Sphere& sphereBounds,
101
- const Camera* cam, bool receiver=true);
102
- /** Merge an object that is not being rendered because it's not a shadow caster,
103
- but is a shadow receiver so should be included in the range.
104
- */
105
- void mergeNonRenderedButInFrustum(const AxisAlignedBox& boxBounds,
106
- const Sphere& sphereBounds, const Camera* cam);
107
-
108
-
109
- };
110
-
111
- /** Manages the organisation and rendering of a 'scene' i.e. a collection
112
- of objects and potentially world geometry.
113
- @remarks
114
- This class defines the interface and the basic behaviour of a
115
- 'Scene Manager'. A SceneManager organises the culling and rendering of
116
- the scene, in conjunction with the RenderQueue. This class is designed
117
- to be extended through subclassing in order to provide more specialised
118
- scene organisation structures for particular needs. The default
119
- SceneManager culls based on a hierarchy of node bounding boxes, other
120
- implementations can use an octree (@see OctreeSceneManager), a BSP
121
- tree (@see BspSceneManager), and many other options. New SceneManager
122
- implementations can be added at runtime by plugins, see
123
- SceneManagerEnumerator for the interfaces for adding new SceneManager
124
- types.
125
- @par
126
- There is a distinction between 'objects' (which subclass MovableObject,
127
- and are movable, discrete objects in the world), and 'world geometry',
128
- which is large, generally static geometry. World geometry tends to
129
- influence the SceneManager organisational structure (e.g. lots of indoor
130
- static geometry might result in a spatial tree structure) and as such
131
- world geometry is generally tied to a given SceneManager implementation,
132
- whilst MovableObject instances can be used with any SceneManager.
133
- Subclasses are free to define world geometry however they please.
134
- @par
135
- Multiple SceneManager instances can exist at one time, each one with
136
- a distinct scene. Which SceneManager is used to render a scene is
137
- dependent on the Camera, which will always call back the SceneManager
138
- which created it to render the scene.
139
- */
140
- class _OgreExport SceneManager : public SceneMgtAlloc
141
- {
142
- public:
143
- /// Query type mask which will be used for world geometry @see SceneQuery
144
- static uint32 WORLD_GEOMETRY_TYPE_MASK;
145
- /// Query type mask which will be used for entities @see SceneQuery
146
- static uint32 ENTITY_TYPE_MASK;
147
- /// Query type mask which will be used for effects like billboardsets / particle systems @see SceneQuery
148
- static uint32 FX_TYPE_MASK;
149
- /// Query type mask which will be used for StaticGeometry @see SceneQuery
150
- static uint32 STATICGEOMETRY_TYPE_MASK;
151
- /// Query type mask which will be used for lights @see SceneQuery
152
- static uint32 LIGHT_TYPE_MASK;
153
- /// Query type mask which will be used for frusta and cameras @see SceneQuery
154
- static uint32 FRUSTUM_TYPE_MASK;
155
- /// User type mask limit
156
- static uint32 USER_TYPE_MASK_LIMIT;
157
- /** Comparator for material map, for sorting materials into render order (e.g. transparent last).
158
- */
159
- struct materialLess
160
- {
161
- _OgreExport bool operator()(const Material* x, const Material* y) const;
162
- };
163
- /// Comparator for sorting lights relative to a point
164
- struct lightLess
165
- {
166
- _OgreExport bool operator()(const Light* a, const Light* b) const;
167
- };
168
-
169
- /// Describes the stage of rendering when performing complex illumination
170
- enum IlluminationRenderStage
171
- {
172
- /// No special illumination stage
173
- IRS_NONE,
174
- /// Render to texture stage, used for texture based shadows
175
- IRS_RENDER_TO_TEXTURE,
176
- /// Render from shadow texture to receivers stage
177
- IRS_RENDER_RECEIVER_PASS
178
- };
179
-
180
- /** Enumeration of the possible modes allowed for processing the special case
181
- render queue list.
182
- @see SceneManager::setSpecialCaseRenderQueueMode
183
- */
184
- enum SpecialCaseRenderQueueMode
185
- {
186
- /// Render only the queues in the special case list
187
- SCRQM_INCLUDE,
188
- /// Render all except the queues in the special case list
189
- SCRQM_EXCLUDE
190
- };
191
-
192
- struct SkyDomeGenParameters
193
- {
194
- Real skyDomeCurvature;
195
- Real skyDomeTiling;
196
- Real skyDomeDistance;
197
- int skyDomeXSegments;
198
- int skyDomeYSegments;
199
- int skyDomeYSegments_keep;
200
- };
201
-
202
- struct SkyPlaneGenParameters
203
- {
204
- Real skyPlaneScale;
205
- Real skyPlaneTiling;
206
- Real skyPlaneBow;
207
- int skyPlaneXSegments;
208
- int skyPlaneYSegments;
209
- };
210
-
211
- struct SkyBoxGenParameters
212
- {
213
- Real skyBoxDistance;
214
- };
215
-
216
- /** Class that allows listening in on the various stages of SceneManager
217
- processing, so that custom behaviour can be implemented from outside.
218
- */
219
- class Listener
220
- {
221
- public:
222
- Listener() {}
223
- virtual ~Listener() {}
224
-
225
- /** Called prior to updating the scene graph in this SceneManager.
226
- @remarks
227
- This is called before updating the scene graph for a camera.
228
- @param source The SceneManager instance raising this event.
229
- @param camera The camera being updated.
230
- */
231
- virtual void preUpdateSceneGraph(SceneManager* source, Camera* camera)
232
- { (void)source; (void)camera; }
233
-
234
- /** Called after updating the scene graph in this SceneManager.
235
- @remarks
236
- This is called after updating the scene graph for a camera.
237
- @param source The SceneManager instance raising this event.
238
- @param camera The camera being updated.
239
- */
240
- virtual void postUpdateSceneGraph(SceneManager* source, Camera* camera)
241
- { (void)source; (void)camera; }
242
-
243
- /** Called prior to searching for visible objects in this SceneManager.
244
- @remarks
245
- Note that the render queue at this stage will be full of the last
246
- render's contents and will be cleared after this method is called.
247
- @param source The SceneManager instance raising this event.
248
- @param irs The stage of illumination being dealt with. IRS_NONE for
249
- a regular render, IRS_RENDER_TO_TEXTURE for a shadow caster render.
250
- @param v The viewport being updated. You can get the camera from here.
251
- */
252
- virtual void preFindVisibleObjects(SceneManager* source,
253
- IlluminationRenderStage irs, Viewport* v)
254
- { (void)source; (void)irs; (void)v; }
255
-
256
- /** Called after searching for visible objects in this SceneManager.
257
- @remarks
258
- Note that the render queue at this stage will be full of the current
259
- scenes contents, ready for rendering. You may manually add renderables
260
- to this queue if you wish.
261
- @param source The SceneManager instance raising this event.
262
- @param irs The stage of illumination being dealt with. IRS_NONE for
263
- a regular render, IRS_RENDER_TO_TEXTURE for a shadow caster render.
264
- @param v The viewport being updated. You can get the camera from here.
265
- */
266
- virtual void postFindVisibleObjects(SceneManager* source,
267
- IlluminationRenderStage irs, Viewport* v)
268
- { (void)source; (void)irs; (void)v; }
269
-
270
- /** Event raised after all shadow textures have been rendered into for
271
- all queues / targets but before any other geometry has been rendered
272
- (including main scene geometry and any additional shadow receiver
273
- passes).
274
- @remarks
275
- This callback is useful for those that wish to perform some
276
- additional processing on shadow textures before they are used to
277
- render shadows. For example you could perform some filtering by
278
- rendering the existing shadow textures into another alternative
279
- shadow texture with a shader.]
280
- @note
281
- This event will only be fired when texture shadows are in use.
282
- @param numberOfShadowTextures The number of shadow textures in use
283
- */
284
- virtual void shadowTexturesUpdated(size_t numberOfShadowTextures)
285
- { (void)numberOfShadowTextures; }
286
-
287
- /** This event occurs just before the view & projection matrices are
288
- set for rendering into a shadow texture.
289
- @remarks
290
- You can use this event hook to perform some custom processing,
291
- such as altering the camera being used for rendering the light's
292
- view, including setting custom view & projection matrices if you
293
- want to perform an advanced shadow technique.
294
- @note
295
- This event will only be fired when texture shadows are in use.
296
- @param light Pointer to the light for which shadows are being rendered
297
- @param camera Pointer to the camera being used to render
298
- @param iteration For lights that use multiple shadow textures, the iteration number
299
- */
300
- virtual void shadowTextureCasterPreViewProj(Light* light,
301
- Camera* camera, size_t iteration)
302
- { (void)light; (void)camera; (void)iteration; }
303
-
304
- /** This event occurs just before the view & projection matrices are
305
- set for re-rendering a shadow receiver.
306
- @remarks
307
- You can use this event hook to perform some custom processing,
308
- such as altering the projection frustum being used for rendering
309
- the shadow onto the receiver to perform an advanced shadow
310
- technique.
311
- @note
312
- This event will only be fired when texture shadows are in use.
313
- @param light Pointer to the light for which shadows are being rendered
314
- @param frustum Pointer to the projection frustum being used to project
315
- the shadow texture
316
- */
317
- virtual void shadowTextureReceiverPreViewProj(Light* light,
318
- Frustum* frustum)
319
- { (void)light; (void)frustum; }
320
-
321
- /** Hook to allow the listener to override the ordering of lights for
322
- the entire frustum.
323
- @remarks
324
- Whilst ordinarily lights are sorted per rendered object
325
- (@see MovableObject::queryLights), texture shadows adds another issue
326
- in that, given there is a finite number of shadow textures, we must
327
- choose which lights to render texture shadows from based on the entire
328
- frustum. These lights should always be listed first in every objects
329
- own list, followed by any other lights which will not cast texture
330
- shadows (either because they have shadow casting off, or there aren't
331
- enough shadow textures to service them).
332
- @par
333
- This hook allows you to override the detailed ordering of the lights
334
- per frustum. The default ordering is shadow casters first (which you
335
- must also respect if you override this method), and ordered
336
- by distance from the camera within those 2 groups. Obviously the closest
337
- lights with shadow casting enabled will be listed first. Only lights
338
- within the range of the frustum will be in the list.
339
- @param lightList The list of lights within range of the frustum which you
340
- may sort.
341
- @return true if you sorted the list, false otherwise.
342
- */
343
- virtual bool sortLightsAffectingFrustum(LightList& lightList)
344
- { (void)lightList; return false; }
345
-
346
- /** Event notifying the listener of the SceneManager's destruction. */
347
- virtual void sceneManagerDestroyed(SceneManager* source)
348
- { (void)source; }
349
- };
350
-
351
- /** Inner helper class to implement the visitor pattern for rendering objects
352
- in a queue.
353
- */
354
- class _OgreExport SceneMgrQueuedRenderableVisitor : public QueuedRenderableVisitor
355
- {
356
- protected:
357
- /// Pass that was actually used at the grouping level
358
- const Pass* mUsedPass;
359
- public:
360
- SceneMgrQueuedRenderableVisitor()
361
- :transparentShadowCastersMode(false) {}
362
- ~SceneMgrQueuedRenderableVisitor() {}
363
- void visit(Renderable* r);
364
- bool visit(const Pass* p);
365
- void visit(RenderablePass* rp);
366
-
367
- /// Target SM to send renderables to
368
- SceneManager* targetSceneMgr;
369
- /// Are we in transparent shadow caster mode?
370
- bool transparentShadowCastersMode;
371
- /// Automatic light handling?
372
- bool autoLights;
373
- /// Manual light list
374
- const LightList* manualLightList;
375
- /// Scissoring if requested?
376
- bool scissoring;
377
-
378
- };
379
- /// Allow visitor helper to access protected methods
380
- friend class SceneMgrQueuedRenderableVisitor;
381
-
382
- protected:
383
-
384
- /// Subclasses can override this to ensure their specialised SceneNode is used.
385
- virtual SceneNode* createSceneNodeImpl(void);
386
- /// Subclasses can override this to ensure their specialised SceneNode is used.
387
- virtual SceneNode* createSceneNodeImpl(const String& name);
388
-
389
- /// Instance name
390
- String mName;
391
-
392
- /// Queue of objects for rendering
393
- RenderQueue* mRenderQueue;
394
- bool mLastRenderQueueInvocationCustom;
395
-
396
- /// Current ambient light, cached for RenderSystem
397
- ColourValue mAmbientLight;
398
-
399
- /// The rendering system to send the scene to
400
- RenderSystem *mDestRenderSystem;
401
-
402
- typedef map<String, Camera* >::type CameraList;
403
-
404
- /** Central list of cameras - for easy memory management and lookup.
405
- */
406
- CameraList mCameras;
407
-
408
- typedef map<String, StaticGeometry* >::type StaticGeometryList;
409
- StaticGeometryList mStaticGeometryList;
410
- typedef map<String, InstancedGeometry* >::type InstancedGeometryList;
411
- InstancedGeometryList mInstancedGeometryList;
412
-
413
- typedef map<String, InstanceManager*>::type InstanceManagerMap;
414
- InstanceManagerMap mInstanceManagerMap;
415
-
416
- typedef map<String, SceneNode*>::type SceneNodeList;
417
-
418
- /** Central list of SceneNodes - for easy memory management.
419
- @note
420
- Note that this list is used only for memory management; the structure of the scene
421
- is held using the hierarchy of SceneNodes starting with the root node. However you
422
- can look up nodes this way.
423
- */
424
- SceneNodeList mSceneNodes;
425
-
426
- /// Camera in progress
427
- Camera* mCameraInProgress;
428
- /// Current Viewport
429
- Viewport* mCurrentViewport;
430
-
431
- /// Root scene node
432
- SceneNode* mSceneRoot;
433
-
434
- /// Autotracking scene nodes
435
- typedef set<SceneNode*>::type AutoTrackingSceneNodes;
436
- AutoTrackingSceneNodes mAutoTrackingSceneNodes;
437
-
438
- // Sky params
439
- // Sky plane
440
- Entity* mSkyPlaneEntity;
441
- Entity* mSkyDomeEntity[5];
442
- ManualObject* mSkyBoxObj;
443
-
444
- SceneNode* mSkyPlaneNode;
445
- SceneNode* mSkyDomeNode;
446
- SceneNode* mSkyBoxNode;
447
-
448
- // Sky plane
449
- bool mSkyPlaneEnabled;
450
- uint8 mSkyPlaneRenderQueue;
451
- Plane mSkyPlane;
452
- SkyPlaneGenParameters mSkyPlaneGenParameters;
453
- // Sky box
454
- bool mSkyBoxEnabled;
455
- uint8 mSkyBoxRenderQueue;
456
- Quaternion mSkyBoxOrientation;
457
- SkyBoxGenParameters mSkyBoxGenParameters;
458
- // Sky dome
459
- bool mSkyDomeEnabled;
460
- uint8 mSkyDomeRenderQueue;
461
- Quaternion mSkyDomeOrientation;
462
- SkyDomeGenParameters mSkyDomeGenParameters;
463
-
464
- // Fog
465
- FogMode mFogMode;
466
- ColourValue mFogColour;
467
- Real mFogStart;
468
- Real mFogEnd;
469
- Real mFogDensity;
470
-
471
- typedef set<uint8>::type SpecialCaseRenderQueueList;
472
- SpecialCaseRenderQueueList mSpecialCaseQueueList;
473
- SpecialCaseRenderQueueMode mSpecialCaseQueueMode;
474
- uint8 mWorldGeometryRenderQueue;
475
-
476
- unsigned long mLastFrameNumber;
477
- Matrix4 mTempXform[256];
478
- bool mResetIdentityView;
479
- bool mResetIdentityProj;
480
-
481
- bool mNormaliseNormalsOnScale;
482
- bool mFlipCullingOnNegativeScale;
483
- CullingMode mPassCullingMode;
484
-
485
- protected:
486
-
487
- /** Visible objects bounding box list.
488
- @remarks
489
- Holds an ABB for each camera that contains the physical extends of the visible
490
- scene elements by each camera. The map is crucial for shadow algorithms which
491
- have a focus step to limit the shadow sample distribution to only valid visible
492
- scene elements.
493
- */
494
- typedef map< const Camera*, VisibleObjectsBoundsInfo>::type CamVisibleObjectsMap;
495
- CamVisibleObjectsMap mCamVisibleObjectsMap;
496
-
497
- /** ShadowCamera to light mapping */
498
- typedef map< const Camera*, const Light* >::type ShadowCamLightMapping;
499
- ShadowCamLightMapping mShadowCamLightMapping;
500
-
501
- /// Array defining shadow count per light type.
502
- size_t mShadowTextureCountPerType[3];
503
-
504
- /// Array defining shadow texture index in light list.
505
- vector<size_t>::type mShadowTextureIndexLightList;
506
-
507
- /// Cached light information, used to tracking light's changes
508
- struct _OgreExport LightInfo
509
- {
510
- Light* light; // Just a pointer for comparison, the light might destroyed for some reason
511
- int type; // Use int instead of Light::LightTypes to avoid header file dependence
512
- Real range; // Sets to zero if directional light
513
- Vector3 position; // Sets to zero if directional light
514
- uint32 lightMask; // Light mask
515
-
516
- bool operator== (const LightInfo& rhs) const
517
- {
518
- return light == rhs.light && type == rhs.type &&
519
- range == rhs.range && position == rhs.position && lightMask == rhs.lightMask;
520
- }
521
-
522
- bool operator!= (const LightInfo& rhs) const
523
- {
524
- return !(*this == rhs);
525
- }
526
- };
527
-
528
- typedef vector<LightInfo>::type LightInfoList;
529
-
530
- LightList mLightsAffectingFrustum;
531
- LightInfoList mCachedLightInfos;
532
- LightInfoList mTestLightInfos; // potentially new list
533
- ulong mLightsDirtyCounter;
534
- LightList mShadowTextureCurrentCasterLightList;
535
-
536
- typedef map<String, MovableObject*>::type MovableObjectMap;
537
- /// Simple structure to hold MovableObject map and a mutex to go with it.
538
- struct MovableObjectCollection
539
- {
540
- MovableObjectMap map;
541
- OGRE_MUTEX(mutex)
542
- };
543
- typedef map<String, MovableObjectCollection*>::type MovableObjectCollectionMap;
544
- MovableObjectCollectionMap mMovableObjectCollectionMap;
545
- NameGenerator mMovableNameGenerator;
546
- /** Gets the movable object collection for the given type name.
547
- @remarks
548
- This method create new collection if the collection does not exist.
549
- */
550
- MovableObjectCollection* getMovableObjectCollection(const String& typeName);
551
- /** Gets the movable object collection for the given type name.
552
- @remarks
553
- This method throw exception if the collection does not exist.
554
- */
555
- const MovableObjectCollection* getMovableObjectCollection(const String& typeName) const;
556
- /// Mutex over the collection of MovableObject types
557
- OGRE_MUTEX(mMovableObjectCollectionMapMutex)
558
-
559
- /** Internal method for initialising the render queue.
560
- @remarks
561
- Subclasses can use this to install their own RenderQueue implementation.
562
- */
563
- virtual void initRenderQueue(void);
564
- /// A pass designed to let us render shadow colour on white for texture shadows
565
- Pass* mShadowCasterPlainBlackPass;
566
- /// A pass designed to let us render shadow receivers for texture shadows
567
- Pass* mShadowReceiverPass;
568
- /** Internal method for turning a regular pass into a shadow caster pass.
569
- @remarks
570
- This is only used for texture shadows, basically we're trying to
571
- ensure that objects are rendered solid black.
572
- This method will usually return the standard solid black pass for
573
- all fixed function passes, but will merge in a vertex program
574
- and fudge the AutoParamDataSource to set black lighting for
575
- passes with vertex programs.
576
- */
577
- virtual const Pass* deriveShadowCasterPass(const Pass* pass);
578
- /** Internal method for turning a regular pass into a shadow receiver pass.
579
- @remarks
580
- This is only used for texture shadows, basically we're trying to
581
- ensure that objects are rendered with a projective texture.
582
- This method will usually return a standard single-texture pass for
583
- all fixed function passes, but will merge in a vertex program
584
- for passes with vertex programs.
585
- */
586
- virtual const Pass* deriveShadowReceiverPass(const Pass* pass);
587
-
588
- /** Internal method to validate whether a Pass should be allowed to render.
589
- @remarks
590
- Called just before a pass is about to be used for rendering a group to
591
- allow the SceneManager to omit it if required. A return value of false
592
- skips this pass.
593
- */
594
- virtual bool validatePassForRendering(const Pass* pass);
595
-
596
- /** Internal method to validate whether a Renderable should be allowed to render.
597
- @remarks
598
- Called just before a pass is about to be used for rendering a Renderable to
599
- allow the SceneManager to omit it if required. A return value of false
600
- skips it.
601
- */
602
- virtual bool validateRenderableForRendering(const Pass* pass, const Renderable* rend);
603
-
604
- enum BoxPlane
605
- {
606
- BP_FRONT = 0,
607
- BP_BACK = 1,
608
- BP_LEFT = 2,
609
- BP_RIGHT = 3,
610
- BP_UP = 4,
611
- BP_DOWN = 5
612
- };
613
-
614
- /* Internal utility method for creating the planes of a skybox.
615
- */
616
- virtual MeshPtr createSkyboxPlane(
617
- BoxPlane bp,
618
- Real distance,
619
- const Quaternion& orientation,
620
- const String& groupName);
621
-
622
- /* Internal utility method for creating the planes of a skydome.
623
- */
624
- virtual MeshPtr createSkydomePlane(
625
- BoxPlane bp,
626
- Real curvature, Real tiling, Real distance,
627
- const Quaternion& orientation,
628
- int xsegments, int ysegments, int ySegmentsToKeep,
629
- const String& groupName);
630
-
631
- // Flag indicating whether SceneNodes will be rendered as a set of 3 axes
632
- bool mDisplayNodes;
633
-
634
- /// Storage of animations, lookup by name
635
- typedef map<String, Animation*>::type AnimationList;
636
- AnimationList mAnimationsList;
637
- OGRE_MUTEX(mAnimationsListMutex)
638
- AnimationStateSet mAnimationStates;
639
-
640
-
641
- /** Internal method used by _renderSingleObject to deal with renderables
642
- which override the camera's own view / projection materices. */
643
- virtual void useRenderableViewProjMode(const Renderable* pRend, bool fixedFunction);
644
-
645
- /** Internal method used by _renderSingleObject to deal with renderables
646
- which override the camera's own view / projection matrices. */
647
- virtual void resetViewProjMode(bool fixedFunction);
648
-
649
- typedef vector<RenderQueueListener*>::type RenderQueueListenerList;
650
- RenderQueueListenerList mRenderQueueListeners;
651
-
652
- typedef vector<RenderObjectListener*>::type RenderObjectListenerList;
653
- RenderObjectListenerList mRenderObjectListeners;
654
- typedef vector<Listener*>::type ListenerList;
655
- ListenerList mListeners;
656
- /// Internal method for firing the queue start event
657
- virtual void firePreRenderQueues();
658
- /// Internal method for firing the queue end event
659
- virtual void firePostRenderQueues();
660
- /// Internal method for firing the queue start event, returns true if queue is to be skipped
661
- virtual bool fireRenderQueueStarted(uint8 id, const String& invocation);
662
- /// Internal method for firing the queue end event, returns true if queue is to be repeated
663
- virtual bool fireRenderQueueEnded(uint8 id, const String& invocation);
664
- /// Internal method for firing when rendering a single object.
665
- virtual void fireRenderSingleObject(Renderable* rend, const Pass* pass, const AutoParamDataSource* source,
666
- const LightList* pLightList, bool suppressRenderStateChanges);
667
-
668
- /// Internal method for firing the texture shadows updated event
669
- virtual void fireShadowTexturesUpdated(size_t numberOfShadowTextures);
670
- /// Internal method for firing the pre caster texture shadows event
671
- virtual void fireShadowTexturesPreCaster(Light* light, Camera* camera, size_t iteration);
672
- /// Internal method for firing the pre receiver texture shadows event
673
- virtual void fireShadowTexturesPreReceiver(Light* light, Frustum* f);
674
- /// Internal method for firing pre update scene graph event
675
- virtual void firePreUpdateSceneGraph(Camera* camera);
676
- /// Internal method for firing post update scene graph event
677
- virtual void firePostUpdateSceneGraph(Camera* camera);
678
- /// Internal method for firing find visible objects event
679
- virtual void firePreFindVisibleObjects(Viewport* v);
680
- /// Internal method for firing find visible objects event
681
- virtual void firePostFindVisibleObjects(Viewport* v);
682
- /// Internal method for firing destruction event
683
- virtual void fireSceneManagerDestroyed();
684
- /** Internal method for setting the destination viewport for the next render. */
685
- virtual void setViewport(Viewport *vp);
686
-
687
- /** Flag that indicates if all of the scene node's bounding boxes should be shown as a wireframe. */
688
- bool mShowBoundingBoxes;
689
-
690
- /** Internal method for rendering all objects using the default queue sequence. */
691
- virtual void renderVisibleObjectsDefaultSequence(void);
692
- /** Internal method for rendering all objects using a custom queue sequence. */
693
- virtual void renderVisibleObjectsCustomSequence(RenderQueueInvocationSequence* s);
694
- /** Internal method for preparing the render queue for use with each render. */
695
- virtual void prepareRenderQueue(void);
696
-
697
-
698
- /** Internal utility method for rendering a single object.
699
- @remarks
700
- Assumes that the pass has already been set up.
701
- @param rend The renderable to issue to the pipeline
702
- @param pass The pass which is being used
703
- @param lightScissoringClipping If true, passes that have the getLightScissorEnabled
704
- and/or getLightClipPlanesEnabled flags will cause calculation and setting of
705
- scissor rectangle and user clip planes.
706
- @param doLightIteration If true, this method will issue the renderable to
707
- the pipeline possibly multiple times, if the pass indicates it should be
708
- done once per light
709
- @param manualLightList Only applicable if doLightIteration is false, this
710
- method allows you to pass in a previously determined set of lights
711
- which will be used for a single render of this object.
712
- */
713
- virtual void renderSingleObject(Renderable* rend, const Pass* pass,
714
- bool lightScissoringClipping, bool doLightIteration, const LightList* manualLightList = 0);
715
-
716
- /** Internal method for creating the AutoParamDataSource instance. */
717
- virtual AutoParamDataSource* createAutoParamDataSource(void) const
718
- {
719
- return OGRE_NEW AutoParamDataSource();
720
- }
721
-
722
- /// Utility class for calculating automatic parameters for gpu programs
723
- AutoParamDataSource* mAutoParamDataSource;
724
-
725
- CompositorChain* mActiveCompositorChain;
726
- bool mLateMaterialResolving;
727
-
728
- ShadowTechnique mShadowTechnique;
729
- bool mDebugShadows;
730
- ColourValue mShadowColour;
731
- Pass* mShadowDebugPass;
732
- Pass* mShadowStencilPass;
733
- Pass* mShadowModulativePass;
734
- bool mShadowMaterialInitDone;
735
- HardwareIndexBufferSharedPtr mShadowIndexBuffer;
736
- size_t mShadowIndexBufferSize;
737
- Rectangle2D* mFullScreenQuad;
738
- Real mShadowDirLightExtrudeDist;
739
- IlluminationRenderStage mIlluminationStage;
740
- ShadowTextureConfigList mShadowTextureConfigList;
741
- bool mShadowTextureConfigDirty;
742
- ShadowTextureList mShadowTextures;
743
- TexturePtr mNullShadowTexture;
744
- typedef vector<Camera*>::type ShadowTextureCameraList;
745
- ShadowTextureCameraList mShadowTextureCameras;
746
- Texture* mCurrentShadowTexture;
747
- bool mShadowUseInfiniteFarPlane;
748
- bool mShadowCasterRenderBackFaces;
749
- bool mShadowAdditiveLightClip;
750
- /// Struct for cacheing light clipping information for re-use in a frame
751
- struct LightClippingInfo
752
- {
753
- RealRect scissorRect;
754
- PlaneList clipPlanes;
755
- bool scissorValid;
756
- unsigned long clipPlanesValid;
757
- LightClippingInfo() : scissorValid(false), clipPlanesValid(false) {}
758
-
759
- };
760
- typedef map<Light*, LightClippingInfo>::type LightClippingInfoMap;
761
- LightClippingInfoMap mLightClippingInfoMap;
762
- unsigned long mLightClippingInfoMapFrameNumber;
763
-
764
- /// default shadow camera setup
765
- ShadowCameraSetupPtr mDefaultShadowCameraSetup;
766
-
767
- /** Default sorting routine which sorts lights which cast shadows
768
- to the front of a list, sub-sorting by distance.
769
- @remarks
770
- Since shadow textures are generated from lights based on the
771
- frustum rather than individual objects, a shadow and camera-wise sort is
772
- required to pick the best lights near the start of the list. Up to
773
- the number of shadow textures will be generated from this.
774
- */
775
- struct lightsForShadowTextureLess
776
- {
777
- _OgreExport bool operator()(const Light* l1, const Light* l2) const;
778
- };
779
-
780
-
781
- /** Internal method for locating a list of lights which could be affecting the frustum.
782
- @remarks
783
- Custom scene managers are encouraged to override this method to make use of their
784
- scene partitioning scheme to more efficiently locate lights, and to eliminate lights
785
- which may be occluded by word geometry.
786
- */
787
- virtual void findLightsAffectingFrustum(const Camera* camera);
788
- /// Internal method for setting up materials for shadows
789
- virtual void initShadowVolumeMaterials(void);
790
- /// Internal method for creating shadow textures (texture-based shadows)
791
- virtual void ensureShadowTexturesCreated();
792
- /// Internal method for destroying shadow textures (texture-based shadows)
793
- virtual void destroyShadowTextures(void);
794
-
795
- typedef vector<InstanceManager*>::type InstanceManagerVec;
796
- InstanceManagerVec mDirtyInstanceManagers;
797
- InstanceManagerVec mDirtyInstanceMgrsTmp;
798
-
799
- /** Updates all instance managaers with dirty instance batches. @see _addDirtyInstanceManager */
800
- void updateDirtyInstanceManagers(void);
801
-
802
- public:
803
- /// Method for preparing shadow textures ready for use in a regular render
804
- /// Do not call manually unless before frame start or rendering is paused
805
- /// If lightList is not supplied, will render all lights in frustum
806
- virtual void prepareShadowTextures(Camera* cam, Viewport* vp, const LightList* lightList = 0);
807
-
808
- //A render context, used to store internal data for pausing/resuming rendering
809
- struct RenderContext
810
- {
811
- RenderQueue* renderQueue;
812
- Viewport* viewport;
813
- Camera* camera;
814
- CompositorChain* activeChain;
815
- RenderSystem::RenderSystemContext* rsContext;
816
- };
817
-
818
- /** Pause rendering of the frame. This has to be called when inside a renderScene call
819
- (Usually using a listener of some sort)
820
- */
821
- virtual RenderContext* _pauseRendering();
822
- /** Resume rendering of the frame. This has to be called after a _pauseRendering call
823
- @param context The rendring context, as returned by the _pauseRendering call
824
- */
825
- virtual void _resumeRendering(RenderContext* context);
826
-
827
- protected:
828
- /** Internal method for rendering all the objects for a given light into the
829
- stencil buffer.
830
- @param light The light source
831
- @param cam The camera being viewed from
832
- @param calcScissor Whether the method should set up any scissor state, or
833
- false if that's already been done
834
- */
835
- virtual void renderShadowVolumesToStencil(const Light* light, const Camera* cam,
836
- bool calcScissor);
837
- /** Internal utility method for setting stencil state for rendering shadow volumes.
838
- @param secondpass Is this the second pass?
839
- @param zfail Should we be using the zfail method?
840
- @param twosided Should we use a 2-sided stencil?
841
- */
842
- virtual void setShadowVolumeStencilState(bool secondpass, bool zfail, bool twosided);
843
- /** Render a set of shadow renderables. */
844
- void renderShadowVolumeObjects(ShadowCaster::ShadowRenderableListIterator iShadowRenderables,
845
- Pass* pass, const LightList *manualLightList, unsigned long flags,
846
- bool secondpass, bool zfail, bool twosided);
847
- typedef vector<ShadowCaster*>::type ShadowCasterList;
848
- ShadowCasterList mShadowCasterList;
849
- SphereSceneQuery* mShadowCasterSphereQuery;
850
- AxisAlignedBoxSceneQuery* mShadowCasterAABBQuery;
851
- Real mDefaultShadowFarDist;
852
- Real mDefaultShadowFarDistSquared;
853
- Real mShadowTextureOffset; // proportion of texture offset in view direction e.g. 0.4
854
- Real mShadowTextureFadeStart; // as a proportion e.g. 0.6
855
- Real mShadowTextureFadeEnd; // as a proportion e.g. 0.9
856
- bool mShadowTextureSelfShadow;
857
- Pass* mShadowTextureCustomCasterPass;
858
- Pass* mShadowTextureCustomReceiverPass;
859
- String mShadowTextureCustomCasterVertexProgram;
860
- String mShadowTextureCustomCasterFragmentProgram;
861
- String mShadowTextureCustomReceiverVertexProgram;
862
- String mShadowTextureCustomReceiverFragmentProgram;
863
- GpuProgramParametersSharedPtr mShadowTextureCustomCasterVPParams;
864
- GpuProgramParametersSharedPtr mShadowTextureCustomCasterFPParams;
865
- GpuProgramParametersSharedPtr mShadowTextureCustomReceiverVPParams;
866
- GpuProgramParametersSharedPtr mShadowTextureCustomReceiverFPParams;
867
-
868
- /// Visibility mask used to show / hide objects
869
- uint32 mVisibilityMask;
870
- bool mFindVisibleObjects;
871
-
872
- /// Suppress render state changes?
873
- bool mSuppressRenderStateChanges;
874
- /// Suppress shadows?
875
- bool mSuppressShadows;
876
-
877
-
878
- GpuProgramParametersSharedPtr mInfiniteExtrusionParams;
879
- GpuProgramParametersSharedPtr mFiniteExtrusionParams;
880
-
881
- /// Inner class to use as callback for shadow caster scene query
882
- class _OgreExport ShadowCasterSceneQueryListener : public SceneQueryListener, public SceneMgtAlloc
883
- {
884
- protected:
885
- SceneManager* mSceneMgr;
886
- ShadowCasterList* mCasterList;
887
- bool mIsLightInFrustum;
888
- const PlaneBoundedVolumeList* mLightClipVolumeList;
889
- const Camera* mCamera;
890
- const Light* mLight;
891
- Real mFarDistSquared;
892
- public:
893
- ShadowCasterSceneQueryListener(SceneManager* sm) : mSceneMgr(sm),
894
- mCasterList(0), mIsLightInFrustum(false), mLightClipVolumeList(0),
895
- mCamera(0) {}
896
- // Prepare the listener for use with a set of parameters
897
- void prepare(bool lightInFrustum,
898
- const PlaneBoundedVolumeList* lightClipVolumes,
899
- const Light* light, const Camera* cam, ShadowCasterList* casterList,
900
- Real farDistSquared)
901
- {
902
- mCasterList = casterList;
903
- mIsLightInFrustum = lightInFrustum;
904
- mLightClipVolumeList = lightClipVolumes;
905
- mCamera = cam;
906
- mLight = light;
907
- mFarDistSquared = farDistSquared;
908
- }
909
- bool queryResult(MovableObject* object);
910
- bool queryResult(SceneQuery::WorldFragment* fragment);
911
- };
912
-
913
- ShadowCasterSceneQueryListener* mShadowCasterQueryListener;
914
-
915
- /** Internal method for locating a list of shadow casters which
916
- could be affecting the frustum for a given light.
917
- @remarks
918
- Custom scene managers are encouraged to override this method to add optimisations,
919
- and to add their own custom shadow casters (perhaps for world geometry)
920
- */
921
- virtual const ShadowCasterList& findShadowCastersForLight(const Light* light,
922
- const Camera* camera);
923
- /** Render a group in the ordinary way */
924
- virtual void renderBasicQueueGroupObjects(RenderQueueGroup* pGroup,
925
- QueuedRenderableCollection::OrganisationMode om);
926
- /** Render a group with the added complexity of additive stencil shadows. */
927
- virtual void renderAdditiveStencilShadowedQueueGroupObjects(RenderQueueGroup* group,
928
- QueuedRenderableCollection::OrganisationMode om);
929
- /** Render a group with the added complexity of modulative stencil shadows. */
930
- virtual void renderModulativeStencilShadowedQueueGroupObjects(RenderQueueGroup* group,
931
- QueuedRenderableCollection::OrganisationMode om);
932
- /** Render a group rendering only shadow casters. */
933
- virtual void renderTextureShadowCasterQueueGroupObjects(RenderQueueGroup* group,
934
- QueuedRenderableCollection::OrganisationMode om);
935
- /** Render a group rendering only shadow receivers. */
936
- virtual void renderTextureShadowReceiverQueueGroupObjects(RenderQueueGroup* group,
937
- QueuedRenderableCollection::OrganisationMode om);
938
- /** Render a group with the added complexity of modulative texture shadows. */
939
- virtual void renderModulativeTextureShadowedQueueGroupObjects(RenderQueueGroup* group,
940
- QueuedRenderableCollection::OrganisationMode om);
941
-
942
- /** Render a group with additive texture shadows. */
943
- virtual void renderAdditiveTextureShadowedQueueGroupObjects(RenderQueueGroup* group,
944
- QueuedRenderableCollection::OrganisationMode om);
945
- /** Render a set of objects, see renderSingleObject for param definitions */
946
- virtual void renderObjects(const QueuedRenderableCollection& objs,
947
- QueuedRenderableCollection::OrganisationMode om, bool lightScissoringClipping,
948
- bool doLightIteration, const LightList* manualLightList = 0);
949
- /** Render those objects in the transparent pass list which have shadow casting forced on
950
- @remarks
951
- This function is intended to be used to render the shadows of transparent objects which have
952
- transparency_casts_shadows set to 'on' in their material
953
- */
954
- virtual void renderTransparentShadowCasterObjects(const QueuedRenderableCollection& objs,
955
- QueuedRenderableCollection::OrganisationMode om, bool lightScissoringClipping,
956
- bool doLightIteration, const LightList* manualLightList = 0);
957
-
958
- /** Update the state of the global render queue splitting based on a shadow
959
- option change. */
960
- virtual void updateRenderQueueSplitOptions(void);
961
- /** Update the state of the render queue group splitting based on a shadow
962
- option change. */
963
- virtual void updateRenderQueueGroupSplitOptions(RenderQueueGroup* group,
964
- bool suppressShadows, bool suppressRenderState);
965
-
966
- /// Set up a scissor rectangle from a group of lights
967
- virtual ClipResult buildAndSetScissor(const LightList& ll, const Camera* cam);
968
- /// Update a scissor rectangle from a single light
969
- virtual void buildScissor(const Light* l, const Camera* cam, RealRect& rect);
970
- virtual void resetScissor();
971
- /// Build a set of user clip planes from a single non-directional light
972
- virtual ClipResult buildAndSetLightClip(const LightList& ll);
973
- virtual void buildLightClip(const Light* l, PlaneList& planes);
974
- virtual void resetLightClip();
975
- virtual void checkCachedLightClippingInfo();
976
-
977
- /// The active renderable visitor class - subclasses could override this
978
- SceneMgrQueuedRenderableVisitor* mActiveQueuedRenderableVisitor;
979
- /// Storage for default renderable visitor
980
- SceneMgrQueuedRenderableVisitor mDefaultQueuedRenderableVisitor;
981
-
982
- /// Whether to use camera-relative rendering
983
- bool mCameraRelativeRendering;
984
- Matrix4 mCachedViewMatrix;
985
- Vector3 mCameraRelativePosition;
986
-
987
- /// Last light sets
988
- uint32 mLastLightHash;
989
- unsigned short mLastLightLimit;
990
- uint32 mLastLightHashGpuProgram;
991
- /// Gpu params that need rebinding (mask of GpuParamVariability)
992
- uint16 mGpuParamsDirty;
993
-
994
- virtual void useLights(const LightList& lights, unsigned short limit);
995
- virtual void setViewMatrix(const Matrix4& m);
996
- virtual void useLightsGpuProgram(const Pass* pass, const LightList* lights);
997
- virtual void bindGpuProgram(GpuProgram* prog);
998
- virtual void updateGpuProgramParameters(const Pass* p);
999
-
1000
-
1001
-
1002
-
1003
-
1004
-
1005
-
1006
-
1007
- /// Set of registered lod listeners
1008
- typedef set<LodListener*>::type LodListenerSet;
1009
- LodListenerSet mLodListeners;
1010
-
1011
- /// List of movable object lod changed events
1012
- typedef vector<MovableObjectLodChangedEvent>::type MovableObjectLodChangedEventList;
1013
- MovableObjectLodChangedEventList mMovableObjectLodChangedEvents;
1014
-
1015
- /// List of entity mesh lod changed events
1016
- typedef vector<EntityMeshLodChangedEvent>::type EntityMeshLodChangedEventList;
1017
- EntityMeshLodChangedEventList mEntityMeshLodChangedEvents;
1018
-
1019
- /// List of entity material lod changed events
1020
- typedef vector<EntityMaterialLodChangedEvent>::type EntityMaterialLodChangedEventList;
1021
- EntityMaterialLodChangedEventList mEntityMaterialLodChangedEvents;
1022
-
1023
- public:
1024
- /** Constructor.
1025
- */
1026
- SceneManager(const String& instanceName);
1027
-
1028
- /** Default destructor.
1029
- */
1030
- virtual ~SceneManager();
1031
-
1032
-
1033
- /** Mutex to protect the scene graph from simultaneous access from
1034
- multiple threads.
1035
- @remarks
1036
- If you are updating the scene in a separate thread from the rendering
1037
- thread, then you should lock this mutex before making any changes to
1038
- the scene graph - that means creating, modifying or deleting a
1039
- scene node, or attaching / detaching objects. It is <b>your</b>
1040
- responsibility to take out this lock, the detail methods on the nodes
1041
- will not do it for you (for the reasons discussed below).
1042
- @par
1043
- Note that locking this mutex will prevent the scene being rendered until
1044
- it is unlocked again. Therefore you should do this sparingly. Try
1045
- to create any objects you need separately and fully prepare them
1046
- before doing all your scene graph work in one go, thus keeping this
1047
- lock for the shortest time possible.
1048
- @note
1049
- A single global lock is used rather than a per-node lock since
1050
- it keeps the number of locks required during rendering down to a
1051
- minimum. Obtaining a lock, even if there is no contention, is not free
1052
- so for performance it is good to do it as little as possible.
1053
- Since modifying the scene in a separate thread is a fairly
1054
- rare occurrence (relative to rendering), it is better to keep the
1055
- locking required during rendering lower than to make update locks
1056
- more granular.
1057
- */
1058
- OGRE_MUTEX(sceneGraphMutex)
1059
-
1060
- /** Return the instance name of this SceneManager. */
1061
- const String& getName(void) const { return mName; }
1062
-
1063
- /** Retrieve the type name of this scene manager.
1064
- @remarks
1065
- This method has to be implemented by subclasses. It should
1066
- return the type name of this SceneManager which agrees with
1067
- the type name of the SceneManagerFactory which created it.
1068
- */
1069
- virtual const String& getTypeName(void) const = 0;
1070
-
1071
- /** Creates a camera to be managed by this scene manager.
1072
- @remarks
1073
- This camera must be added to the scene at a later time using
1074
- the attachObject method of the SceneNode class.
1075
- @param
1076
- name Name to give the new camera.
1077
- */
1078
- virtual Camera* createCamera(const String& name);
1079
-
1080
- /** Retrieves a pointer to the named camera.
1081
- @note Throws an exception if the named instance does not exist
1082
- */
1083
- virtual Camera* getCamera(const String& name) const;
1084
-
1085
- /** Returns whether a camera with the given name exists.
1086
- */
1087
- virtual bool hasCamera(const String& name) const;
1088
-
1089
- /** Removes a camera from the scene.
1090
- @remarks
1091
- This method removes a previously added camera from the scene.
1092
- The camera is deleted so the caller must ensure no references
1093
- to it's previous instance (e.g. in a SceneNode) are used.
1094
- @param
1095
- cam Pointer to the camera to remove
1096
- */
1097
- virtual void destroyCamera(Camera *cam);
1098
-
1099
- /** Removes a camera from the scene.
1100
- @remarks
1101
- This method removes an camera from the scene based on the
1102
- camera's name rather than a pointer.
1103
- */
1104
- virtual void destroyCamera(const String& name);
1105
-
1106
- /** Removes (and destroys) all cameras from the scene.
1107
- @remarks
1108
- Some cameras are internal created to dealing with texture shadow,
1109
- their aren't supposed to destroy outside. So, while you are using
1110
- texture shadow, don't call this method, or you can set the shadow
1111
- technique other than texture-based, which will destroy all internal
1112
- created shadow cameras and textures.
1113
- */
1114
- virtual void destroyAllCameras(void);
1115
-
1116
- /** Creates a light for use in the scene.
1117
- @remarks
1118
- Lights can either be in a fixed position and independent of the
1119
- scene graph, or they can be attached to SceneNodes so they derive
1120
- their position from the parent node. Either way, they are created
1121
- using this method so that the SceneManager manages their
1122
- existence.
1123
- @param
1124
- name The name of the new light, to identify it later.
1125
- */
1126
- virtual Light* createLight(const String& name);
1127
-
1128
- /** Creates a light with a generated name. */
1129
- virtual Light* createLight();
1130
-
1131
- /** Returns a pointer to the named Light which has previously been added to the scene.
1132
- @note Throws an exception if the named instance does not exist
1133
- */
1134
- virtual Light* getLight(const String& name) const;
1135
-
1136
- /** Returns whether a light with the given name exists.
1137
- */
1138
- virtual bool hasLight(const String& name) const;
1139
-
1140
- /** Retrieve a set of clipping planes for a given light.
1141
- */
1142
- virtual const PlaneList& getLightClippingPlanes(Light* l);
1143
-
1144
- /** Retrieve a scissor rectangle for a given light and camera.
1145
- */
1146
- virtual const RealRect& getLightScissorRect(Light* l, const Camera* cam);
1147
-
1148
- /** Removes the named light from the scene and destroys it.
1149
- @remarks
1150
- Any pointers held to this light after calling this method will be invalid.
1151
- */
1152
- virtual void destroyLight(const String& name);
1153
-
1154
- /** Removes the light from the scene and destroys it based on a pointer.
1155
- @remarks
1156
- Any pointers held to this light after calling this method will be invalid.
1157
- */
1158
- virtual void destroyLight(Light* light);
1159
- /** Removes and destroys all lights in the scene.
1160
- */
1161
- virtual void destroyAllLights(void);
1162
-
1163
- /** Advance method to increase the lights dirty counter due lights changed.
1164
- @remarks
1165
- Scene manager tracking lights that affecting the frustum, if changes
1166
- detected (the changes includes light list itself and the light's position
1167
- and attenuation range), then increase the lights dirty counter.
1168
- @par
1169
- For some reason, you can call this method to force whole scene objects
1170
- re-populate their light list. But near in mind, call to this method
1171
- will harm performance, so should avoid if possible.
1172
- */
1173
- virtual void _notifyLightsDirty(void);
1174
-
1175
- /** Advance method to gets the lights dirty counter.
1176
- @remarks
1177
- Scene manager tracking lights that affecting the frustum, if changes
1178
- detected (the changes includes light list itself and the light's position
1179
- and attenuation range), then increase the lights dirty counter.
1180
- @par
1181
- When implementing customise lights finding algorithm relied on either
1182
- SceneManager::_getLightsAffectingFrustum or SceneManager::_populateLightList,
1183
- might check this value for sure that the light list are really need to
1184
- re-populate, otherwise, returns cached light list (if exists) for better
1185
- performance.
1186
- */
1187
- ulong _getLightsDirtyCounter(void) const { return mLightsDirtyCounter; }
1188
-
1189
- /** Get the list of lights which could be affecting the frustum.
1190
- @remarks
1191
- Note that default implementation of this method returns a cached light list,
1192
- which is populated when rendering the scene. So by default the list of lights
1193
- is only available during scene rendering.
1194
- */
1195
- virtual const LightList& _getLightsAffectingFrustum(void) const;
1196
-
1197
- /** Populate a light list with an ordered set of the lights which are closest
1198
- to the position specified.
1199
- @remarks
1200
- Note that since directional lights have no position, they are always considered
1201
- closer than any point lights and as such will always take precedence.
1202
- @par
1203
- Subclasses of the default SceneManager may wish to take into account other issues
1204
- such as possible visibility of the light if that information is included in their
1205
- data structures. This basic scenemanager simply orders by distance, eliminating
1206
- those lights which are out of range or could not be affecting the frustum (i.e.
1207
- only the lights returned by SceneManager::_getLightsAffectingFrustum are take into
1208
- account).
1209
- @par
1210
- The number of items in the list max exceed the maximum number of lights supported
1211
- by the renderer, but the extraneous ones will never be used. In fact the limit will
1212
- be imposed by Pass::getMaxSimultaneousLights.
1213
- @param position The position at which to evaluate the list of lights
1214
- @param radius The bounding radius to test
1215
- @param destList List to be populated with ordered set of lights; will be cleared by
1216
- this method before population.
1217
- @param lightMask The mask with which to include / exclude lights
1218
- */
1219
- virtual void _populateLightList(const Vector3& position, Real radius, LightList& destList, uint32 lightMask = 0xFFFFFFFF);
1220
-
1221
- /** Populates a light list with an ordered set of the lights which are closest
1222
- to the position of the SceneNode given.
1223
- @remarks
1224
- Note that since directional lights have no position, they are always considered
1225
- closer than any point lights and as such will always take precedence.
1226
- This overloaded version will take the SceneNode's position and use the second method
1227
- to populate the list.
1228
- @par
1229
- Subclasses of the default SceneManager may wish to take into account other issues
1230
- such as possible visibility of the light if that information is included in their
1231
- data structures. This basic scenemanager simply orders by distance, eliminating
1232
- those lights which are out of range or could not be affecting the frustum (i.e.
1233
- only the lights returned by SceneManager::_getLightsAffectingFrustum are take into
1234
- account).
1235
- @par
1236
- Also note that subclasses of the SceneNode might be used here to provide cached
1237
- scene related data, accelerating the list population (for example light lists for
1238
- SceneNodes could be cached inside subclassed SceneNode objects).
1239
- @par
1240
- The number of items in the list may exceed the maximum number of lights supported
1241
- by the renderer, but the extraneous ones will never be used. In fact the limit will
1242
- be imposed by Pass::getMaxSimultaneousLights.
1243
- @param sn The SceneNode for which to evaluate the list of lights
1244
- @param radius The bounding radius to test
1245
- @param destList List to be populated with ordered set of lights; will be cleared by
1246
- this method before population.
1247
- @param lightMask The mask with which to include / exclude lights
1248
- */
1249
- virtual void _populateLightList(const SceneNode* sn, Real radius, LightList& destList, uint32 lightMask = 0xFFFFFFFF);
1250
-
1251
- /** Creates an instance of a SceneNode.
1252
- @remarks
1253
- Note that this does not add the SceneNode to the scene hierarchy.
1254
- This method is for convenience, since it allows an instance to
1255
- be created for which the SceneManager is responsible for
1256
- allocating and releasing memory, which is convenient in complex
1257
- scenes.
1258
- @par
1259
- To include the returned SceneNode in the scene, use the addChild
1260
- method of the SceneNode which is to be it's parent.
1261
- @par
1262
- Note that this method takes no parameters, and the node created is unnamed (it is
1263
- actually given a generated name, which you can retrieve if you want).
1264
- If you wish to create a node with a specific name, call the alternative method
1265
- which takes a name parameter.
1266
- */
1267
- virtual SceneNode* createSceneNode(void);
1268
-
1269
- /** Creates an instance of a SceneNode with a given name.
1270
- @remarks
1271
- Note that this does not add the SceneNode to the scene hierarchy.
1272
- This method is for convenience, since it allows an instance to
1273
- be created for which the SceneManager is responsible for
1274
- allocating and releasing memory, which is convenient in complex
1275
- scenes.
1276
- @par
1277
- To include the returned SceneNode in the scene, use the addChild
1278
- method of the SceneNode which is to be it's parent.
1279
- @par
1280
- Note that this method takes a name parameter, which makes the node easier to
1281
- retrieve directly again later.
1282
- */
1283
- virtual SceneNode* createSceneNode(const String& name);
1284
-
1285
- /** Destroys a SceneNode with a given name.
1286
- @remarks
1287
- This allows you to physically delete an individual SceneNode if you want to.
1288
- Note that this is not normally recommended, it's better to allow SceneManager
1289
- to delete the nodes when the scene is cleared.
1290
- */
1291
- virtual void destroySceneNode(const String& name);
1292
-
1293
- /** Destroys a SceneNode.
1294
- @remarks
1295
- This allows you to physically delete an individual SceneNode if you want to.
1296
- Note that this is not normally recommended, it's better to allow SceneManager
1297
- to delete the nodes when the scene is cleared.
1298
- */
1299
- virtual void destroySceneNode(SceneNode* sn);
1300
- /** Gets the SceneNode at the root of the scene hierarchy.
1301
- @remarks
1302
- The entire scene is held as a hierarchy of nodes, which
1303
- allows things like relative transforms, general changes in
1304
- rendering state etc (See the SceneNode class for more info).
1305
- In this basic SceneManager class, the application using
1306
- Ogre is free to structure this hierarchy however it likes,
1307
- since it has no real significance apart from making transforms
1308
- relative to each node (more specialised subclasses will
1309
- provide utility methods for building specific node structures
1310
- e.g. loading a BSP tree).
1311
- @par
1312
- However, in all cases there is only ever one root node of
1313
- the hierarchy, and this method returns a pointer to it.
1314
- */
1315
- virtual SceneNode* getRootSceneNode(void);
1316
-
1317
- /** Retrieves a named SceneNode from the scene graph.
1318
- @remarks
1319
- If you chose to name a SceneNode as you created it, or if you
1320
- happened to make a note of the generated name, you can look it
1321
- up wherever it is in the scene graph using this method.
1322
- @note Throws an exception if the named instance does not exist
1323
- */
1324
- virtual SceneNode* getSceneNode(const String& name) const;
1325
-
1326
- /** Returns whether a scene node with the given name exists.
1327
- */
1328
- virtual bool hasSceneNode(const String& name) const;
1329
-
1330
-
1331
- /** Create an Entity (instance of a discrete mesh).
1332
- @param
1333
- entityName The name to be given to the entity (must be unique).
1334
- @param
1335
- meshName The name of the Mesh it is to be based on (e.g. 'knot.oof'). The
1336
- mesh will be loaded if it is not already.
1337
- */
1338
- virtual Entity* createEntity(const String& entityName, const String& meshName, const String& groupName = ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME );
1339
-
1340
- /** Create an Entity (instance of a discrete mesh).
1341
- @param
1342
- entityName The name to be given to the entity (must be unique).
1343
- @param
1344
- pMesh The pointer to the Mesh it is to be based on.
1345
- */
1346
- virtual Entity* createEntity(const String& entityName, const MeshPtr& pMesh );
1347
-
1348
- /** Create an Entity (instance of a discrete mesh) with an autogenerated name.
1349
- @param
1350
- meshName The name of the Mesh it is to be based on (e.g. 'knot.oof'). The
1351
- mesh will be loaded if it is not already.
1352
- */
1353
- virtual Entity* createEntity(const String& meshName);
1354
-
1355
- /** Create an Entity (instance of a discrete mesh) with an autogenerated name.
1356
- @param
1357
- pMesh The pointer to the Mesh it is to be based on.
1358
- */
1359
- virtual Entity* createEntity(const MeshPtr& pMesh);
1360
-
1361
- /** Prefab shapes available without loading a model.
1362
- @note
1363
- Minimal implementation at present.
1364
- @todo
1365
- Add more prefabs (teapots, teapots!!!)
1366
- */
1367
- enum PrefabType {
1368
- PT_PLANE,
1369
- PT_CUBE,
1370
- PT_SPHERE
1371
- };
1372
-
1373
- /** Create an Entity (instance of a discrete mesh) from a range of prefab shapes.
1374
- @param
1375
- entityName The name to be given to the entity (must be unique).
1376
- @param
1377
- ptype The prefab type.
1378
- */
1379
- virtual Entity* createEntity(const String& entityName, PrefabType ptype);
1380
-
1381
- /** Create an Entity (instance of a discrete mesh) from a range of prefab shapes, generating the name.
1382
- @param ptype The prefab type.
1383
- */
1384
- virtual Entity* createEntity(PrefabType ptype);
1385
- /** Retrieves a pointer to the named Entity.
1386
- @note Throws an exception if the named instance does not exist
1387
- */
1388
- virtual Entity* getEntity(const String& name) const;
1389
- /** Returns whether an entity with the given name exists.
1390
- */
1391
- virtual bool hasEntity(const String& name) const;
1392
-
1393
- /** Removes & destroys an Entity from the SceneManager.
1394
- @warning
1395
- Must only be done if the Entity is not attached
1396
- to a SceneNode. It may be safer to wait to clear the whole
1397
- scene if you are unsure use clearScene.
1398
- @see
1399
- SceneManager::clearScene
1400
- */
1401
- virtual void destroyEntity(Entity* ent);
1402
-
1403
- /** Removes & destroys an Entity from the SceneManager by name.
1404
- @warning
1405
- Must only be done if the Entity is not attached
1406
- to a SceneNode. It may be safer to wait to clear the whole
1407
- scene if you are unsure use clearScene.
1408
- @see
1409
- SceneManager::clearScene
1410
- */
1411
- virtual void destroyEntity(const String& name);
1412
-
1413
- /** Removes & destroys all Entities.
1414
- @warning
1415
- Again, use caution since no Entity must be referred to
1416
- elsewhere e.g. attached to a SceneNode otherwise a crash
1417
- is likely. Use clearScene if you are unsure (it clears SceneNode
1418
- entries too.)
1419
- @see
1420
- SceneManager::clearScene
1421
- */
1422
- virtual void destroyAllEntities(void);
1423
-
1424
- /** Create a ManualObject, an object which you populate with geometry
1425
- manually through a GL immediate-mode style interface.
1426
- @param
1427
- name The name to be given to the object (must be unique).
1428
- */
1429
- virtual ManualObject* createManualObject(const String& name);
1430
- /** Create a ManualObject, an object which you populate with geometry
1431
- manually through a GL immediate-mode style interface, generating the name.
1432
- */
1433
- virtual ManualObject* createManualObject();
1434
- /** Retrieves a pointer to the named ManualObject.
1435
- @note Throws an exception if the named instance does not exist
1436
- */
1437
- virtual ManualObject* getManualObject(const String& name) const;
1438
- /** Returns whether a manual object with the given name exists.
1439
- */
1440
- virtual bool hasManualObject(const String& name) const;
1441
-
1442
- /** Removes & destroys a ManualObject from the SceneManager.
1443
- */
1444
- virtual void destroyManualObject(ManualObject* obj);
1445
- /** Removes & destroys a ManualObject from the SceneManager.
1446
- */
1447
- virtual void destroyManualObject(const String& name);
1448
- /** Removes & destroys all ManualObjects from the SceneManager.
1449
- */
1450
- virtual void destroyAllManualObjects(void);
1451
- /** Create a BillboardChain, an object which you can use to render
1452
- a linked chain of billboards.
1453
- @param
1454
- name The name to be given to the object (must be unique).
1455
- */
1456
- virtual BillboardChain* createBillboardChain(const String& name);
1457
- /** Create a BillboardChain, an object which you can use to render
1458
- a linked chain of billboards, with a generated name.
1459
- */
1460
- virtual BillboardChain* createBillboardChain();
1461
- /** Retrieves a pointer to the named BillboardChain.
1462
- @note Throws an exception if the named instance does not exist
1463
- */
1464
- virtual BillboardChain* getBillboardChain(const String& name) const;
1465
- /** Returns whether a billboard chain with the given name exists.
1466
- */
1467
- virtual bool hasBillboardChain(const String& name) const;
1468
-
1469
- /** Removes & destroys a BillboardChain from the SceneManager.
1470
- */
1471
- virtual void destroyBillboardChain(BillboardChain* obj);
1472
- /** Removes & destroys a BillboardChain from the SceneManager.
1473
- */
1474
- virtual void destroyBillboardChain(const String& name);
1475
- /** Removes & destroys all BillboardChains from the SceneManager.
1476
- */
1477
- virtual void destroyAllBillboardChains(void);
1478
- /** Create a RibbonTrail, an object which you can use to render
1479
- a linked chain of billboards which follows one or more nodes.
1480
- @param
1481
- name The name to be given to the object (must be unique).
1482
- */
1483
- virtual RibbonTrail* createRibbonTrail(const String& name);
1484
- /** Create a RibbonTrail, an object which you can use to render
1485
- a linked chain of billboards which follows one or more nodes, generating the name.
1486
- */
1487
- virtual RibbonTrail* createRibbonTrail();
1488
- /** Retrieves a pointer to the named RibbonTrail.
1489
- @note Throws an exception if the named instance does not exist
1490
- */
1491
- virtual RibbonTrail* getRibbonTrail(const String& name) const;
1492
- /** Returns whether a ribbon trail with the given name exists.
1493
- */
1494
- virtual bool hasRibbonTrail(const String& name) const;
1495
-
1496
- /** Removes & destroys a RibbonTrail from the SceneManager.
1497
- */
1498
- virtual void destroyRibbonTrail(RibbonTrail* obj);
1499
- /** Removes & destroys a RibbonTrail from the SceneManager.
1500
- */
1501
- virtual void destroyRibbonTrail(const String& name);
1502
- /** Removes & destroys all RibbonTrails from the SceneManager.
1503
- */
1504
- virtual void destroyAllRibbonTrails(void);
1505
-
1506
- /** Creates a particle system based on a template.
1507
- @remarks
1508
- This method creates a new ParticleSystem instance based on the named template
1509
- (defined through ParticleSystemManager::createTemplate) and returns a
1510
- pointer to the caller. The caller should not delete this object, it will be freed at system shutdown,
1511
- or can be released earlier using the destroyParticleSystem method.
1512
- @par
1513
- Each system created from a template takes the template's settings at the time of creation,
1514
- but is completely separate from the template from there on.
1515
- @par
1516
- Creating a particle system does not make it a part of the scene. As with other MovableObject
1517
- subclasses, a ParticleSystem is not rendered until it is attached to a SceneNode.
1518
- @par
1519
- This is probably the more useful particle system creation method since it does not require manual
1520
- setup of the system. Note that the initial quota is based on the template but may be changed later.
1521
- @param
1522
- name The name to give the new particle system instance.
1523
- @param
1524
- templateName The name of the template to base the new instance on.
1525
- */
1526
- virtual ParticleSystem* createParticleSystem(const String& name,
1527
- const String& templateName);
1528
- /** Create a blank particle system.
1529
- @remarks
1530
- This method creates a new, blank ParticleSystem instance and returns a pointer to it.
1531
- The caller should not delete this object, it will be freed at system shutdown, or can
1532
- be released earlier using the destroyParticleSystem method.
1533
- @par
1534
- The instance returned from this method won't actually do anything because on creation a
1535
- particle system has no emitters. The caller should manipulate the instance through it's
1536
- ParticleSystem methods to actually create a real particle effect.
1537
- @par
1538
- Creating a particle system does not make it a part of the scene. As with other MovableObject
1539
- subclasses, a ParticleSystem is not rendered until it is attached to a SceneNode.
1540
- @param
1541
- name The name to give the ParticleSystem.
1542
- @param
1543
- quota The maximum number of particles to allow in this system.
1544
- @param
1545
- resourceGroup The resource group which will be used to load dependent resources
1546
- */
1547
- virtual ParticleSystem* createParticleSystem(const String& name,
1548
- size_t quota = 500,
1549
- const String& resourceGroup = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
1550
-
1551
- /** Create a blank particle system with a generated name.
1552
- @remarks
1553
- This method creates a new, blank ParticleSystem instance and returns a pointer to it.
1554
- The caller should not delete this object, it will be freed at system shutdown, or can
1555
- be released earlier using the destroyParticleSystem method.
1556
- @par
1557
- The instance returned from this method won't actually do anything because on creation a
1558
- particle system has no emitters. The caller should manipulate the instance through it's
1559
- ParticleSystem methods to actually create a real particle effect.
1560
- @par
1561
- Creating a particle system does not make it a part of the scene. As with other MovableObject
1562
- subclasses, a ParticleSystem is not rendered until it is attached to a SceneNode.
1563
- @param
1564
- quota The maximum number of particles to allow in this system.
1565
- @param
1566
- resourceGroup The resource group which will be used to load dependent resources
1567
- */
1568
- virtual ParticleSystem* createParticleSystem(size_t quota = 500,
1569
- const String& resourceGroup = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
1570
- /** Retrieves a pointer to the named ParticleSystem.
1571
- @note Throws an exception if the named instance does not exist
1572
- */
1573
- virtual ParticleSystem* getParticleSystem(const String& name) const;
1574
- /** Returns whether a particle system with the given name exists.
1575
- */
1576
- virtual bool hasParticleSystem(const String& name) const;
1577
-
1578
- /** Removes & destroys a ParticleSystem from the SceneManager.
1579
- */
1580
- virtual void destroyParticleSystem(ParticleSystem* obj);
1581
- /** Removes & destroys a ParticleSystem from the SceneManager.
1582
- */
1583
- virtual void destroyParticleSystem(const String& name);
1584
- /** Removes & destroys all ParticleSystems from the SceneManager.
1585
- */
1586
- virtual void destroyAllParticleSystems(void);
1587
-
1588
- /** Empties the entire scene, inluding all SceneNodes, Entities, Lights,
1589
- BillboardSets etc. Cameras are not deleted at this stage since
1590
- they are still referenced by viewports, which are not destroyed during
1591
- this process.
1592
- */
1593
- virtual void clearScene(void);
1594
-
1595
- /** Sets the ambient light level to be used for the scene.
1596
- @remarks
1597
- This sets the colour and intensity of the ambient light in the scene, i.e. the
1598
- light which is 'sourceless' and illuminates all objects equally.
1599
- The colour of an object is affected by a combination of the light in the scene,
1600
- and the amount of light that object reflects (in this case based on the Material::ambient
1601
- property).
1602
- @remarks
1603
- By default the ambient light in the scene is ColourValue::Black, i.e. no ambient light. This
1604
- means that any objects rendered with a Material which has lighting enabled (see Material::setLightingEnabled)
1605
- will not be visible unless you have some dynamic lights in your scene.
1606
- */
1607
- void setAmbientLight(const ColourValue& colour);
1608
-
1609
- /** Returns the ambient light level to be used for the scene.
1610
- */
1611
- const ColourValue& getAmbientLight(void) const;
1612
-
1613
- /** Sets the source of the 'world' geometry, i.e. the large, mainly static geometry
1614
- making up the world e.g. rooms, landscape etc.
1615
- This function can be called before setWorldGeometry in a background thread, do to
1616
- some slow tasks (e.g. IO) that do not involve the backend render system.
1617
- @remarks
1618
- Depending on the type of SceneManager (subclasses will be specialised
1619
- for particular world geometry types) you have requested via the Root or
1620
- SceneManagerEnumerator classes, you can pass a filename to this method and it
1621
- will attempt to load the world-level geometry for use. If you try to load
1622
- an inappropriate type of world data an exception will be thrown. The default
1623
- SceneManager cannot handle any sort of world geometry and so will always
1624
- throw an exception. However subclasses like BspSceneManager can load
1625
- particular types of world geometry e.g. "q3dm1.bsp".
1626
-
1627
- */
1628
- virtual void prepareWorldGeometry(const String& filename);
1629
-
1630
- /** Sets the source of the 'world' geometry, i.e. the large, mainly
1631
- static geometry making up the world e.g. rooms, landscape etc.
1632
- This function can be called before setWorldGeometry in a background thread, do to
1633
- some slow tasks (e.g. IO) that do not involve the backend render system.
1634
- @remarks
1635
- Depending on the type of SceneManager (subclasses will be
1636
- specialised for particular world geometry types) you have
1637
- requested via the Root or SceneManagerEnumerator classes, you
1638
- can pass a stream to this method and it will attempt to load
1639
- the world-level geometry for use. If the manager can only
1640
- handle one input format the typeName parameter is not required.
1641
- The stream passed will be read (and it's state updated).
1642
- @param stream Data stream containing data to load
1643
- @param typeName String identifying the type of world geometry
1644
- contained in the stream - not required if this manager only
1645
- supports one type of world geometry.
1646
- */
1647
- virtual void prepareWorldGeometry(DataStreamPtr& stream,
1648
- const String& typeName = StringUtil::BLANK);
1649
-
1650
- /** Sets the source of the 'world' geometry, i.e. the large, mainly static geometry
1651
- making up the world e.g. rooms, landscape etc.
1652
- @remarks
1653
- Depending on the type of SceneManager (subclasses will be specialised
1654
- for particular world geometry types) you have requested via the Root or
1655
- SceneManagerEnumerator classes, you can pass a filename to this method and it
1656
- will attempt to load the world-level geometry for use. If you try to load
1657
- an inappropriate type of world data an exception will be thrown. The default
1658
- SceneManager cannot handle any sort of world geometry and so will always
1659
- throw an exception. However subclasses like BspSceneManager can load
1660
- particular types of world geometry e.g. "q3dm1.bsp".
1661
- */
1662
- virtual void setWorldGeometry(const String& filename);
1663
-
1664
- /** Sets the source of the 'world' geometry, i.e. the large, mainly
1665
- static geometry making up the world e.g. rooms, landscape etc.
1666
- @remarks
1667
- Depending on the type of SceneManager (subclasses will be
1668
- specialised for particular world geometry types) you have
1669
- requested via the Root or SceneManagerEnumerator classes, you
1670
- can pass a stream to this method and it will attempt to load
1671
- the world-level geometry for use. If the manager can only
1672
- handle one input format the typeName parameter is not required.
1673
- The stream passed will be read (and it's state updated).
1674
- @param stream Data stream containing data to load
1675
- @param typeName String identifying the type of world geometry
1676
- contained in the stream - not required if this manager only
1677
- supports one type of world geometry.
1678
- */
1679
- virtual void setWorldGeometry(DataStreamPtr& stream,
1680
- const String& typeName = StringUtil::BLANK);
1681
-
1682
- /** Estimate the number of loading stages required to load the named
1683
- world geometry.
1684
- @remarks
1685
- This method should be overridden by SceneManagers that provide
1686
- custom world geometry that can take some time to load. They should
1687
- return from this method a count of the number of stages of progress
1688
- they can report on whilst loading. During real loading (setWorldGeometry),
1689
- they should call ResourceGroupManager::_notifyWorldGeometryProgress exactly
1690
- that number of times when loading the geometry for real.
1691
- @note
1692
- The default is to return 0, ie to not report progress.
1693
- */
1694
- virtual size_t estimateWorldGeometry(const String& filename)
1695
- { (void)filename; return 0; }
1696
-
1697
- /** Estimate the number of loading stages required to load the named
1698
- world geometry.
1699
- @remarks
1700
- Operates just like the version of this method which takes a
1701
- filename, but operates on a stream instead. Note that since the
1702
- stream is updated, you'll need to reset the stream or reopen it
1703
- when it comes to loading it for real.
1704
- @param stream Data stream containing data to load
1705
- @param typeName String identifying the type of world geometry
1706
- contained in the stream - not required if this manager only
1707
- supports one type of world geometry.
1708
- */
1709
- virtual size_t estimateWorldGeometry(DataStreamPtr& stream,
1710
- const String& typeName = StringUtil::BLANK)
1711
- { (void)stream; (void)typeName; return 0; }
1712
-
1713
- /** Asks the SceneManager to provide a suggested viewpoint from which the scene should be viewed.
1714
- @remarks
1715
- Typically this method returns the origin unless a) world geometry has been loaded using
1716
- SceneManager::setWorldGeometry and b) that world geometry has suggested 'start' points.
1717
- If there is more than one viewpoint which the scene manager can suggest, it will always suggest
1718
- the first one unless the random parameter is true.
1719
- @param
1720
- random If true, and there is more than one possible suggestion, a random one will be used. If false
1721
- the same one will always be suggested.
1722
- @return
1723
- On success, true is returned.
1724
- @par
1725
- On failiure, false is returned.
1726
- */
1727
- virtual ViewPoint getSuggestedViewpoint(bool random = false);
1728
-
1729
- /** Method for setting a specific option of the Scene Manager. These options are usually
1730
- specific for a certain implemntation of the Scene Manager class, and may (and probably
1731
- will) not exist across different implementations.
1732
- @param
1733
- strKey The name of the option to set
1734
- @param
1735
- pValue A pointer to the value - the size should be calculated by the scene manager
1736
- based on the key
1737
- @return
1738
- On success, true is returned.
1739
- @par
1740
- On failiure, false is returned.
1741
- */
1742
- virtual bool setOption( const String& strKey, const void* pValue )
1743
- { (void)strKey; (void)pValue; return false; }
1744
-
1745
- /** Method for getting the value of an implementation-specific Scene Manager option.
1746
- @param
1747
- strKey The name of the option
1748
- @param
1749
- pDestValue A pointer to a memory location where the value will
1750
- be copied. Currently, the memory will be allocated by the
1751
- scene manager, but this may change
1752
- @return
1753
- On success, true is returned and pDestValue points to the value of the given
1754
- option.
1755
- @par
1756
- On failiure, false is returned and pDestValue is set to NULL.
1757
- */
1758
- virtual bool getOption( const String& strKey, void* pDestValue )
1759
- { (void)strKey; (void)pDestValue; return false; }
1760
-
1761
- /** Method for verifying wether the scene manager has an implementation-specific
1762
- option.
1763
- @param
1764
- strKey The name of the option to check for.
1765
- @return
1766
- If the scene manager contains the given option, true is returned.
1767
- @remarks
1768
- If it does not, false is returned.
1769
- */
1770
- virtual bool hasOption( const String& strKey ) const
1771
- { (void)strKey; return false; }
1772
-
1773
- /** Method for getting all possible values for a specific option. When this list is too large
1774
- (i.e. the option expects, for example, a float), the return value will be true, but the
1775
- list will contain just one element whose size will be set to 0.
1776
- Otherwise, the list will be filled with all the possible values the option can
1777
- accept.
1778
- @param
1779
- strKey The name of the option to get the values for.
1780
- @param
1781
- refValueList A reference to a list that will be filled with the available values.
1782
- @return
1783
- On success (the option exists), true is returned.
1784
- @par
1785
- On failure, false is returned.
1786
- */
1787
- virtual bool getOptionValues( const String& strKey, StringVector& refValueList )
1788
- { (void)strKey; (void)refValueList; return false; }
1789
-
1790
- /** Method for getting all the implementation-specific options of the scene manager.
1791
- @param
1792
- refKeys A reference to a list that will be filled with all the available options.
1793
- @return
1794
- On success, true is returned. On failiure, false is returned.
1795
- */
1796
- virtual bool getOptionKeys( StringVector& refKeys )
1797
- { (void)refKeys; return false; }
1798
-
1799
- /** Internal method for updating the scene graph ie the tree of SceneNode instances managed by this class.
1800
- @remarks
1801
- This must be done before issuing objects to the rendering pipeline, since derived transformations from
1802
- parent nodes are not updated until required. This SceneManager is a basic implementation which simply
1803
- updates all nodes from the root. This ensures the scene is up to date but requires all the nodes
1804
- to be updated even if they are not visible. Subclasses could trim this such that only potentially visible
1805
- nodes are updated.
1806
- */
1807
- virtual void _updateSceneGraph(Camera* cam);
1808
-
1809
- /** Internal method which parses the scene to find visible objects to render.
1810
- @remarks
1811
- If you're implementing a custom scene manager, this is the most important method to
1812
- override since it's here you can apply your custom world partitioning scheme. Once you
1813
- have added the appropriate objects to the render queue, you can let the default
1814
- SceneManager objects _renderVisibleObjects handle the actual rendering of the objects
1815
- you pick.
1816
- @par
1817
- Any visible objects will be added to a rendering queue, which is indexed by material in order
1818
- to ensure objects with the same material are rendered together to minimise render state changes.
1819
- */
1820
- virtual void _findVisibleObjects(Camera* cam, VisibleObjectsBoundsInfo* visibleBounds, bool onlyShadowCasters);
1821
-
1822
- /** Internal method for applying animations to scene nodes.
1823
- @remarks
1824
- Uses the internally stored AnimationState objects to apply animation to SceneNodes.
1825
- */
1826
- virtual void _applySceneAnimations(void);
1827
-
1828
- /** Sends visible objects found in _findVisibleObjects to the rendering engine.
1829
- */
1830
- virtual void _renderVisibleObjects(void);
1831
-
1832
- /** Prompts the class to send its contents to the renderer.
1833
- @remarks
1834
- This method prompts the scene manager to send the
1835
- contents of the scene it manages to the rendering
1836
- pipeline, possibly preceded by some sorting, culling
1837
- or other scene management tasks. Note that this method is not normally called
1838
- directly by the user application; it is called automatically
1839
- by the Ogre rendering loop.
1840
- @param camera Pointer to a camera from whose viewpoint the scene is to
1841
- be rendered.
1842
- @param vp The target viewport
1843
- @param includeOverlays Whether or not overlay objects should be rendered
1844
- */
1845
- virtual void _renderScene(Camera* camera, Viewport* vp, bool includeOverlays);
1846
-
1847
- /** Internal method for queueing the sky objects with the params as
1848
- previously set through setSkyBox, setSkyPlane and setSkyDome.
1849
- */
1850
- virtual void _queueSkiesForRendering(Camera* cam);
1851
-
1852
-
1853
-
1854
- /** Notifies the scene manager of its destination render system
1855
- @remarks
1856
- Called automatically by RenderSystem::addSceneManager
1857
- this method simply notifies the manager of the render
1858
- system to which its output must be directed.
1859
- @param
1860
- sys Pointer to the RenderSystem subclass to be used as a render target.
1861
- */
1862
- virtual void _setDestinationRenderSystem(RenderSystem* sys);
1863
-
1864
- /** Enables / disables a 'sky plane' i.e. a plane at constant
1865
- distance from the camera representing the sky.
1866
- @remarks
1867
- You can create sky planes yourself using the standard mesh and
1868
- entity methods, but this creates a plane which the camera can
1869
- never get closer or further away from - it moves with the camera.
1870
- (NB you could create this effect by creating a world plane which
1871
- was attached to the same SceneNode as the Camera too, but this
1872
- would only apply to a single camera whereas this plane applies to
1873
- any camera using this scene manager).
1874
- @note
1875
- To apply scaling, scrolls etc to the sky texture(s) you
1876
- should use the TextureUnitState class methods.
1877
- @param
1878
- enable True to enable the plane, false to disable it
1879
- @param
1880
- plane Details of the plane, i.e. it's normal and it's
1881
- distance from the camera.
1882
- @param
1883
- materialName The name of the material the plane will use
1884
- @param
1885
- scale The scaling applied to the sky plane - higher values
1886
- mean a bigger sky plane - you may want to tweak this
1887
- depending on the size of plane.d and the other
1888
- characteristics of your scene
1889
- @param
1890
- tiling How many times to tile the texture across the sky.
1891
- Applies to all texture layers. If you need finer control use
1892
- the TextureUnitState texture coordinate transformation methods.
1893
- @param
1894
- drawFirst If true, the plane is drawn before all other
1895
- geometry in the scene, without updating the depth buffer.
1896
- This is the safest rendering method since all other objects
1897
- will always appear in front of the sky. However this is not
1898
- the most efficient way if most of the sky is often occluded
1899
- by other objects. If this is the case, you can set this
1900
- parameter to false meaning it draws <em>after</em> all other
1901
- geometry which can be an optimisation - however you must
1902
- ensure that the plane.d value is large enough that no objects
1903
- will 'poke through' the sky plane when it is rendered.
1904
- @param
1905
- bow If zero, the plane will be completely flat (like previous
1906
- versions. If above zero, the plane will be curved, allowing
1907
- the sky to appear below camera level. Curved sky planes are
1908
- simular to skydomes, but are more compatible with fog.
1909
- @param xsegments, ysegments
1910
- Determines the number of segments the plane will have to it. This
1911
- is most important when you are bowing the plane, but may also be useful
1912
- if you need tesselation on the plane to perform per-vertex effects.
1913
- @param groupName
1914
- The name of the resource group to which to assign the plane mesh.
1915
- */
1916
-
1917
- virtual void setSkyPlane(
1918
- bool enable,
1919
- const Plane& plane, const String& materialName, Real scale = 1000,
1920
- Real tiling = 10, bool drawFirst = true, Real bow = 0,
1921
- int xsegments = 1, int ysegments = 1,
1922
- const String& groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
1923
- /** Enables / disables a 'sky plane' i.e. a plane at constant
1924
- distance from the camera representing the sky.
1925
- @remarks
1926
- You can create sky planes yourself using the standard mesh and
1927
- entity methods, but this creates a plane which the camera can
1928
- never get closer or further away from - it moves with the camera.
1929
- (NB you could create this effect by creating a world plane which
1930
- was attached to the same SceneNode as the Camera too, but this
1931
- would only apply to a single camera whereas this plane applies to
1932
- any camera using this scene manager).
1933
- @note
1934
- To apply scaling, scrolls etc to the sky texture(s) you
1935
- should use the TextureUnitState class methods.
1936
- @param
1937
- enable True to enable the plane, false to disable it
1938
- @param
1939
- plane Details of the plane, i.e. it's normal and it's
1940
- distance from the camera.
1941
- @param
1942
- materialName The name of the material the plane will use
1943
- @param
1944
- scale The scaling applied to the sky plane - higher values
1945
- mean a bigger sky plane - you may want to tweak this
1946
- depending on the size of plane.d and the other
1947
- characteristics of your scene
1948
- @param
1949
- tiling How many times to tile the texture across the sky.
1950
- Applies to all texture layers. If you need finer control use
1951
- the TextureUnitState texture coordinate transformation methods.
1952
- @param
1953
- renderQueue The render queue to use when rendering this object
1954
- @param
1955
- bow If zero, the plane will be completely flat (like previous
1956
- versions. If above zero, the plane will be curved, allowing
1957
- the sky to appear below camera level. Curved sky planes are
1958
- simular to skydomes, but are more compatible with fog.
1959
- @param xsegments, ysegments
1960
- Determines the number of segments the plane will have to it. This
1961
- is most important when you are bowing the plane, but may also be useful
1962
- if you need tesselation on the plane to perform per-vertex effects.
1963
- @param groupName
1964
- The name of the resource group to which to assign the plane mesh.
1965
- */
1966
- virtual void _setSkyPlane(
1967
- bool enable,
1968
- const Plane& plane, const String& materialName, Real scale = 1000,
1969
- Real tiling = 10, uint8 renderQueue = RENDER_QUEUE_SKIES_EARLY, Real bow = 0,
1970
- int xsegments = 1, int ysegments = 1,
1971
- const String& groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
1972
-
1973
- /** Enables / disables a 'sky plane' */
1974
- virtual void setSkyPlaneEnabled(bool enable) { mSkyPlaneEnabled = enable; }
1975
-
1976
- /** Return whether a key plane is enabled */
1977
- virtual bool isSkyPlaneEnabled(void) const { return mSkyPlaneEnabled; }
1978
-
1979
- /** Get the sky plane node, if enabled. */
1980
- virtual SceneNode* getSkyPlaneNode(void) const { return mSkyPlaneNode; }
1981
-
1982
- /** Get the parameters used to construct the SkyPlane, if any **/
1983
- virtual const SkyPlaneGenParameters& getSkyPlaneGenParameters(void) const { return mSkyPlaneGenParameters; }
1984
-
1985
- /** Enables / disables a 'sky box' i.e. a 6-sided box at constant
1986
- distance from the camera representing the sky.
1987
- @remarks
1988
- You could create a sky box yourself using the standard mesh and
1989
- entity methods, but this creates a plane which the camera can
1990
- never get closer or further away from - it moves with the camera.
1991
- (NB you could create this effect by creating a world box which
1992
- was attached to the same SceneNode as the Camera too, but this
1993
- would only apply to a single camera whereas this skybox applies
1994
- to any camera using this scene manager).
1995
- @par
1996
- The material you use for the skybox can either contain layers
1997
- which are single textures, or they can be cubic textures, i.e.
1998
- made up of 6 images, one for each plane of the cube. See the
1999
- TextureUnitState class for more information.
2000
- @param
2001
- enable True to enable the skybox, false to disable it
2002
- @param
2003
- materialName The name of the material the box will use
2004
- @param
2005
- distance Distance in world coorinates from the camera to
2006
- each plane of the box. The default is normally OK.
2007
- @param
2008
- drawFirst If true, the box is drawn before all other
2009
- geometry in the scene, without updating the depth buffer.
2010
- This is the safest rendering method since all other objects
2011
- will always appear in front of the sky. However this is not
2012
- the most efficient way if most of the sky is often occluded
2013
- by other objects. If this is the case, you can set this
2014
- parameter to false meaning it draws <em>after</em> all other
2015
- geometry which can be an optimisation - however you must
2016
- ensure that the distance value is large enough that no
2017
- objects will 'poke through' the sky box when it is rendered.
2018
- @param
2019
- orientation Optional parameter to specify the orientation
2020
- of the box. By default the 'top' of the box is deemed to be
2021
- in the +y direction, and the 'front' at the -z direction.
2022
- You can use this parameter to rotate the sky if you want.
2023
- @param groupName
2024
- The name of the resource group to which to assign the plane mesh.
2025
- */
2026
- virtual void setSkyBox(
2027
- bool enable, const String& materialName, Real distance = 5000,
2028
- bool drawFirst = true, const Quaternion& orientation = Quaternion::IDENTITY,
2029
- const String& groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
2030
-
2031
- /** Enables / disables a 'sky box' i.e. a 6-sided box at constant
2032
- distance from the camera representing the sky.
2033
- @remarks
2034
- You could create a sky box yourself using the standard mesh and
2035
- entity methods, but this creates a plane which the camera can
2036
- never get closer or further away from - it moves with the camera.
2037
- (NB you could create this effect by creating a world box which
2038
- was attached to the same SceneNode as the Camera too, but this
2039
- would only apply to a single camera whereas this skybox applies
2040
- to any camera using this scene manager).
2041
- @par
2042
- The material you use for the skybox can either contain layers
2043
- which are single textures, or they can be cubic textures, i.e.
2044
- made up of 6 images, one for each plane of the cube. See the
2045
- TextureUnitState class for more information.
2046
- @param
2047
- enable True to enable the skybox, false to disable it
2048
- @param
2049
- materialName The name of the material the box will use
2050
- @param
2051
- distance Distance in world coorinates from the camera to
2052
- each plane of the box. The default is normally OK.
2053
- @param
2054
- renderQueue The render queue to use when rendering this object
2055
- @param
2056
- orientation Optional parameter to specify the orientation
2057
- of the box. By default the 'top' of the box is deemed to be
2058
- in the +y direction, and the 'front' at the -z direction.
2059
- You can use this parameter to rotate the sky if you want.
2060
- @param groupName
2061
- The name of the resource group to which to assign the plane mesh.
2062
- */
2063
- virtual void _setSkyBox(
2064
- bool enable, const String& materialName, Real distance = 5000,
2065
- uint8 renderQueue = RENDER_QUEUE_SKIES_EARLY, const Quaternion& orientation = Quaternion::IDENTITY,
2066
- const String& groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
2067
-
2068
- /** Enables / disables a 'sky box' */
2069
- virtual void setSkyBoxEnabled(bool enable) { mSkyBoxEnabled = enable; }
2070
-
2071
- /** Return whether a skybox is enabled */
2072
- virtual bool isSkyBoxEnabled(void) const { return mSkyBoxEnabled; }
2073
-
2074
- /** Get the skybox node, if enabled. */
2075
- virtual SceneNode* getSkyBoxNode(void) const { return mSkyBoxNode; }
2076
-
2077
- /** Get the parameters used to generate the current SkyBox, if any */
2078
- virtual const SkyBoxGenParameters& getSkyBoxGenParameters(void) const { return mSkyBoxGenParameters; }
2079
-
2080
- /** Enables / disables a 'sky dome' i.e. an illusion of a curved sky.
2081
- @remarks
2082
- A sky dome is actually formed by 5 sides of a cube, but with
2083
- texture coordinates generated such that the surface appears
2084
- curved like a dome. Sky domes are appropriate where you need a
2085
- realistic looking sky where the scene is not going to be
2086
- 'fogged', and there is always a 'floor' of some sort to prevent
2087
- the viewer looking below the horizon (the distortion effect below
2088
- the horizon can be pretty horrible, and there is never anyhting
2089
- directly below the viewer). If you need a complete wrap-around
2090
- background, use the setSkyBox method instead. You can actually
2091
- combine a sky box and a sky dome if you want, to give a positional
2092
- backdrop with an overlayed curved cloud layer.
2093
- @par
2094
- Sky domes work well with 2D repeating textures like clouds. You
2095
- can change the apparent 'curvature' of the sky depending on how
2096
- your scene is viewed - lower curvatures are better for 'open'
2097
- scenes like landscapes, whilst higher curvatures are better for
2098
- say FPS levels where you don't see a lot of the sky at once and
2099
- the exaggerated curve looks good.
2100
- @param
2101
- enable True to enable the skydome, false to disable it
2102
- @param
2103
- materialName The name of the material the dome will use
2104
- @param
2105
- curvature The curvature of the dome. Good values are
2106
- between 2 and 65. Higher values are more curved leading to
2107
- a smoother effect, lower values are less curved meaning
2108
- more distortion at the horizons but a better distance effect.
2109
- @param
2110
- tiling How many times to tile the texture(s) across the
2111
- dome.
2112
- @param
2113
- distance Distance in world coorinates from the camera to
2114
- each plane of the box the dome is rendered on. The default
2115
- is normally OK.
2116
- @param
2117
- drawFirst If true, the dome is drawn before all other
2118
- geometry in the scene, without updating the depth buffer.
2119
- This is the safest rendering method since all other objects
2120
- will always appear in front of the sky. However this is not
2121
- the most efficient way if most of the sky is often occluded
2122
- by other objects. If this is the case, you can set this
2123
- parameter to false meaning it draws <em>after</em> all other
2124
- geometry which can be an optimisation - however you must
2125
- ensure that the distance value is large enough that no
2126
- objects will 'poke through' the sky when it is rendered.
2127
- @param
2128
- orientation Optional parameter to specify the orientation
2129
- of the dome. By default the 'top' of the dome is deemed to
2130
- be in the +y direction, and the 'front' at the -z direction.
2131
- You can use this parameter to rotate the sky if you want.
2132
- @param groupName
2133
- The name of the resource group to which to assign the plane mesh.
2134
- */
2135
- virtual void setSkyDome(
2136
- bool enable, const String& materialName, Real curvature = 10,
2137
- Real tiling = 8, Real distance = 4000, bool drawFirst = true,
2138
- const Quaternion& orientation = Quaternion::IDENTITY,
2139
- int xsegments = 16, int ysegments = 16, int ysegments_keep = -1,
2140
- const String& groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
2141
-
2142
- /** Enables / disables a 'sky dome' i.e. an illusion of a curved sky.
2143
- @remarks
2144
- A sky dome is actually formed by 5 sides of a cube, but with
2145
- texture coordinates generated such that the surface appears
2146
- curved like a dome. Sky domes are appropriate where you need a
2147
- realistic looking sky where the scene is not going to be
2148
- 'fogged', and there is always a 'floor' of some sort to prevent
2149
- the viewer looking below the horizon (the distortion effect below
2150
- the horizon can be pretty horrible, and there is never anyhting
2151
- directly below the viewer). If you need a complete wrap-around
2152
- background, use the setSkyBox method instead. You can actually
2153
- combine a sky box and a sky dome if you want, to give a positional
2154
- backdrop with an overlayed curved cloud layer.
2155
- @par
2156
- Sky domes work well with 2D repeating textures like clouds. You
2157
- can change the apparent 'curvature' of the sky depending on how
2158
- your scene is viewed - lower curvatures are better for 'open'
2159
- scenes like landscapes, whilst higher curvatures are better for
2160
- say FPS levels where you don't see a lot of the sky at once and
2161
- the exaggerated curve looks good.
2162
- @param
2163
- enable True to enable the skydome, false to disable it
2164
- @param
2165
- materialName The name of the material the dome will use
2166
- @param
2167
- curvature The curvature of the dome. Good values are
2168
- between 2 and 65. Higher values are more curved leading to
2169
- a smoother effect, lower values are less curved meaning
2170
- more distortion at the horizons but a better distance effect.
2171
- @param
2172
- tiling How many times to tile the texture(s) across the
2173
- dome.
2174
- @param
2175
- distance Distance in world coorinates from the camera to
2176
- each plane of the box the dome is rendered on. The default
2177
- is normally OK.
2178
- @param
2179
- renderQueue The render queue to use when rendering this object
2180
- @param
2181
- orientation Optional parameter to specify the orientation
2182
- of the dome. By default the 'top' of the dome is deemed to
2183
- be in the +y direction, and the 'front' at the -z direction.
2184
- You can use this parameter to rotate the sky if you want.
2185
- @param groupName
2186
- The name of the resource group to which to assign the plane mesh.
2187
- */
2188
- virtual void _setSkyDome(
2189
- bool enable, const String& materialName, Real curvature = 10,
2190
- Real tiling = 8, Real distance = 4000, uint8 renderQueue = RENDER_QUEUE_SKIES_EARLY,
2191
- const Quaternion& orientation = Quaternion::IDENTITY,
2192
- int xsegments = 16, int ysegments = 16, int ysegments_keep = -1,
2193
- const String& groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
2194
-
2195
- /** Enables / disables a 'sky dome' */
2196
- virtual void setSkyDomeEnabled(bool enable) { mSkyDomeEnabled = enable; }
2197
-
2198
- /** Return whether a skydome is enabled */
2199
- virtual bool isSkyDomeEnabled(void) const { return mSkyDomeEnabled; }
2200
-
2201
- /** Get the sky dome node, if enabled. */
2202
- virtual SceneNode* getSkyDomeNode(void) const { return mSkyDomeNode; }
2203
-
2204
- /** Get the parameters used to generate the current SkyDome, if any */
2205
- virtual const SkyDomeGenParameters& getSkyDomeGenParameters(void) const { return mSkyDomeGenParameters; }
2206
-
2207
- /** Sets the fogging mode applied to the scene.
2208
- @remarks
2209
- This method sets up the scene-wide fogging effect. These settings
2210
- apply to all geometry rendered, UNLESS the material with which it
2211
- is rendered has it's own fog settings (see Material::setFog).
2212
- @param
2213
- mode Set up the mode of fog as described in the FogMode
2214
- enum, or set to FOG_NONE to turn off.
2215
- @param
2216
- colour The colour of the fog. Either set this to the same
2217
- as your viewport background colour, or to blend in with a
2218
- skydome or skybox.
2219
- @param
2220
- expDensity The density of the fog in FOG_EXP or FOG_EXP2
2221
- mode, as a value between 0 and 1. The default is 0.001.
2222
- @param
2223
- linearStart Distance in world units at which linear fog starts to
2224
- encroach. Only applicable if mode is
2225
- FOG_LINEAR.
2226
- @param
2227
- linearEnd Distance in world units at which linear fog becomes completely
2228
- opaque. Only applicable if mode is
2229
- FOG_LINEAR.
2230
- */
2231
- void setFog(
2232
- FogMode mode = FOG_NONE, const ColourValue& colour = ColourValue::White,
2233
- Real expDensity = 0.001, Real linearStart = 0.0, Real linearEnd = 1.0);
2234
-
2235
- /** Returns the fog mode for the scene.
2236
- */
2237
- virtual FogMode getFogMode(void) const;
2238
-
2239
- /** Returns the fog colour for the scene.
2240
- */
2241
- virtual const ColourValue& getFogColour(void) const;
2242
-
2243
- /** Returns the fog start distance for the scene.
2244
- */
2245
- virtual Real getFogStart(void) const;
2246
-
2247
- /** Returns the fog end distance for the scene.
2248
- */
2249
- virtual Real getFogEnd(void) const;
2250
-
2251
- /** Returns the fog density for the scene.
2252
- */
2253
- virtual Real getFogDensity(void) const;
2254
-
2255
-
2256
- /** Creates a new BillboardSet for use with this scene manager.
2257
- @remarks
2258
- This method creates a new BillboardSet which is registered with
2259
- the SceneManager. The SceneManager will destroy this object when
2260
- it shuts down or when the SceneManager::clearScene method is
2261
- called, so the caller does not have to worry about destroying
2262
- this object (in fact, it definitely should not do this).
2263
- @par
2264
- See the BillboardSet documentations for full details of the
2265
- returned class.
2266
- @param
2267
- name The name to give to this billboard set. Must be unique.
2268
- @param
2269
- poolSize The initial size of the pool of billboards (see BillboardSet for more information)
2270
- @see
2271
- BillboardSet
2272
- */
2273
- virtual BillboardSet* createBillboardSet(const String& name, unsigned int poolSize = 20);
2274
-
2275
- /** Creates a new BillboardSet for use with this scene manager, with a generated name.
2276
- @param
2277
- poolSize The initial size of the pool of billboards (see BillboardSet for more information)
2278
- @see
2279
- BillboardSet
2280
- */
2281
- virtual BillboardSet* createBillboardSet(unsigned int poolSize = 20);
2282
- /** Retrieves a pointer to the named BillboardSet.
2283
- @note Throws an exception if the named instance does not exist
2284
- */
2285
- virtual BillboardSet* getBillboardSet(const String& name) const;
2286
- /** Returns whether a billboardset with the given name exists.
2287
- */
2288
- virtual bool hasBillboardSet(const String& name) const;
2289
-
2290
- /** Removes & destroys an BillboardSet from the SceneManager.
2291
- @warning
2292
- Must only be done if the BillboardSet is not attached
2293
- to a SceneNode. It may be safer to wait to clear the whole
2294
- scene. If you are unsure, use clearScene.
2295
- */
2296
- virtual void destroyBillboardSet(BillboardSet* set);
2297
-
2298
- /** Removes & destroys an BillboardSet from the SceneManager by name.
2299
- @warning
2300
- Must only be done if the BillboardSet is not attached
2301
- to a SceneNode. It may be safer to wait to clear the whole
2302
- scene. If you are unsure, use clearScene.
2303
- */
2304
- virtual void destroyBillboardSet(const String& name);
2305
-
2306
- /** Removes & destroys all BillboardSets.
2307
- @warning
2308
- Again, use caution since no BillboardSet must be referred to
2309
- elsewhere e.g. attached to a SceneNode otherwise a crash
2310
- is likely. Use clearScene if you are unsure (it clears SceneNode
2311
- entries too.)
2312
- @see
2313
- SceneManager::clearScene
2314
- */
2315
- virtual void destroyAllBillboardSets(void);
2316
-
2317
- /** Tells the SceneManager whether it should render the SceneNodes which
2318
- make up the scene as well as the objects in the scene.
2319
- @remarks
2320
- This method is mainly for debugging purposes. If you set this to 'true',
2321
- each node will be rendered as a set of 3 axes to allow you to easily see
2322
- the orientation of the nodes.
2323
- */
2324
- virtual void setDisplaySceneNodes(bool display);
2325
- /** Returns true if all scene nodes axis are to be displayed */
2326
- virtual bool getDisplaySceneNodes(void) const {return mDisplayNodes;}
2327
-
2328
- /** Creates an animation which can be used to animate scene nodes.
2329
- @remarks
2330
- An animation is a collection of 'tracks' which over time change the position / orientation
2331
- of Node objects. In this case, the animation will likely have tracks to modify the position
2332
- / orientation of SceneNode objects, e.g. to make objects move along a path.
2333
- @par
2334
- You don't need to use an Animation object to move objects around - you can do it yourself
2335
- using the methods of the Node in your FrameListener class. However, when you need relatively
2336
- complex scripted animation, this is the class to use since it will interpolate between
2337
- keyframes for you and generally make the whole process easier to manage.
2338
- @par
2339
- A single animation can affect multiple Node objects (each AnimationTrack affects a single Node).
2340
- In addition, through animation blending a single Node can be affected by multiple animations,
2341
- athough this is more useful when performing skeletal animation (see Skeleton::createAnimation).
2342
- @par
2343
- Note that whilst it uses the same classes, the animations created here are kept separate from the
2344
- skeletal animations of meshes (each Skeleton owns those animations).
2345
- @param name The name of the animation, must be unique within this SceneManager.
2346
- @param length The total length of the animation.
2347
- */
2348
- virtual Animation* createAnimation(const String& name, Real length);
2349
-
2350
- /** Looks up an Animation object previously created with createAnimation.
2351
- @note Throws an exception if the named instance does not exist
2352
- */
2353
- virtual Animation* getAnimation(const String& name) const;
2354
- /** Returns whether an animation with the given name exists.
2355
- */
2356
- virtual bool hasAnimation(const String& name) const;
2357
-
2358
- /** Destroys an Animation.
2359
- @remarks
2360
- You should ensure that none of your code is referencing this animation objects since the
2361
- memory will be freed.
2362
- */
2363
- virtual void destroyAnimation(const String& name);
2364
-
2365
- /** Removes all animations created using this SceneManager. */
2366
- virtual void destroyAllAnimations(void);
2367
-
2368
- /** Create an AnimationState object for managing application of animations.
2369
- @remarks
2370
- You can create Animation objects for animating SceneNode obejcts using the
2371
- createAnimation method. However, in order to actually apply those animations
2372
- you have to call methods on Node and Animation in a particular order (namely
2373
- Node::resetToInitialState and Animation::apply). To make this easier and to
2374
- help track the current time position of animations, the AnimationState object
2375
- is provided. </p>
2376
- So if you don't want to control animation application manually, call this method,
2377
- update the returned object as you like every frame and let SceneManager apply
2378
- the animation state for you.
2379
- @par
2380
- Remember, AnimationState objects are disabled by default at creation time.
2381
- Turn them on when you want them using their setEnabled method.
2382
- @par
2383
- Note that any SceneNode affected by this automatic animation will have it's state
2384
- reset to it's initial position before application of the animation. Unless specifically
2385
- modified using Node::setInitialState the Node assumes it's initial state is at the
2386
- origin. If you want the base state of the SceneNode to be elsewhere, make your changes
2387
- to the node using the standard transform methods, then call setInitialState to
2388
- 'bake' this reference position into the node.
2389
- @par
2390
- If the target of your animation is to be a generic AnimableValue, you
2391
- should ensure that it has a base value set (unlike nodes this has no
2392
- default). @see AnimableValue::setAsBaseValue.
2393
- @param animName The name of an animation created already with createAnimation.
2394
- */
2395
- virtual AnimationState* createAnimationState(const String& animName);
2396
-
2397
- /** Retrieves animation state as previously created using createAnimationState.
2398
- @note Throws an exception if the named instance does not exist
2399
- */
2400
- virtual AnimationState* getAnimationState(const String& animName) const;
2401
- /** Returns whether an animation state with the given name exists.
2402
- */
2403
- virtual bool hasAnimationState(const String& name) const;
2404
-
2405
- /** Destroys an AnimationState.
2406
- @remarks
2407
- You should ensure that none of your code is referencing this animation
2408
- state object since the memory will be freed.
2409
- */
2410
- virtual void destroyAnimationState(const String& name);
2411
-
2412
- /** Removes all animation states created using this SceneManager. */
2413
- virtual void destroyAllAnimationStates(void);
2414
-
2415
- /** Manual rendering method, for advanced users only.
2416
- @remarks
2417
- This method allows you to send rendering commands through the pipeline on
2418
- demand, bypassing OGRE's normal world processing. You should only use this if you
2419
- really know what you're doing; OGRE does lots of things for you that you really should
2420
- let it do. However, there are times where it may be useful to have this manual interface,
2421
- for example overlaying something on top of the scene rendered by OGRE.
2422
- @par
2423
- Because this is an instant rendering method, timing is important. The best
2424
- time to call it is from a RenderTargetListener event handler.
2425
- @par
2426
- Don't call this method a lot, it's designed for rare (1 or 2 times per frame) use.
2427
- Calling it regularly per frame will cause frame rate drops!
2428
- @param rend A RenderOperation object describing the rendering op
2429
- @param pass The Pass to use for this render
2430
- @param vp Pointer to the viewport to render to, or 0 to use the current viewport
2431
- @param worldMatrix The transform to apply from object to world space
2432
- @param viewMatrix The transform to apply from world to view space
2433
- @param projMatrix The transform to apply from view to screen space
2434
- @param doBeginEndFrame If true, beginFrame() and endFrame() are called,
2435
- otherwise not. You should leave this as false if you are calling
2436
- this within the main render loop.
2437
- */
2438
- virtual void manualRender(RenderOperation* rend, Pass* pass, Viewport* vp,
2439
- const Matrix4& worldMatrix, const Matrix4& viewMatrix, const Matrix4& projMatrix,
2440
- bool doBeginEndFrame = false) ;
2441
-
2442
- /** Manual rendering method for rendering a single object.
2443
- @remarks
2444
- @param rend The renderable to issue to the pipeline
2445
- @param pass The pass to use
2446
- @param vp Pointer to the viewport to render to, or 0 to use the existing viewport
2447
- @param doBeginEndFrame If true, beginFrame() and endFrame() are called,
2448
- otherwise not. You should leave this as false if you are calling
2449
- this within the main render loop.
2450
- @param viewMatrix The transform to apply from world to view space
2451
- @param projMatrix The transform to apply from view to screen space
2452
- @param lightScissoringClipping If true, passes that have the getLightScissorEnabled
2453
- and/or getLightClipPlanesEnabled flags will cause calculation and setting of
2454
- scissor rectangle and user clip planes.
2455
- @param doLightIteration If true, this method will issue the renderable to
2456
- the pipeline possibly multiple times, if the pass indicates it should be
2457
- done once per light
2458
- @param manualLightList Only applicable if doLightIteration is false, this
2459
- method allows you to pass in a previously determined set of lights
2460
- which will be used for a single render of this object.
2461
- */
2462
- virtual void manualRender(Renderable* rend, const Pass* pass, Viewport* vp,
2463
- const Matrix4& viewMatrix, const Matrix4& projMatrix, bool doBeginEndFrame = false, bool lightScissoringClipping = true,
2464
- bool doLightIteration = true, const LightList* manualLightList = 0);
2465
-
2466
- /** Retrieves the internal render queue, for advanced users only.
2467
- @remarks
2468
- The render queue is mainly used internally to manage the scene object
2469
- rendering queue, it also exports some methods to allow advanced users
2470
- to configure the behavior of rendering process.
2471
- Most methods provided by RenderQueue are supposed to be used
2472
- internally only, you should reference to the RenderQueue API for
2473
- more information. Do not access this directly unless you know what
2474
- you are doing.
2475
- */
2476
- virtual RenderQueue* getRenderQueue(void);
2477
-
2478
- /** Registers a new RenderQueueListener which will be notified when render queues
2479
- are processed.
2480
- */
2481
- virtual void addRenderQueueListener(RenderQueueListener* newListener);
2482
-
2483
- /** Removes a listener previously added with addRenderQueueListener. */
2484
- virtual void removeRenderQueueListener(RenderQueueListener* delListener);
2485
-
2486
- /** Registers a new Render Object Listener which will be notified when rendering an object.
2487
- */
2488
- virtual void addRenderObjectListener(RenderObjectListener* newListener);
2489
- /** Removes a listener previously added with addRenderObjectListener. */
2490
- virtual void removeRenderObjectListener(RenderObjectListener* delListener);
2491
-
2492
- /** Adds an item to the 'special case' render queue list.
2493
- @remarks
2494
- Normally all render queues are rendered, in their usual sequence,
2495
- only varying if a RenderQueueListener nominates for the queue to be
2496
- repeated or skipped. This method allows you to add a render queue to
2497
- a 'special case' list, which varies the behaviour. The effect of this
2498
- list depends on the 'mode' in which this list is in, which might be
2499
- to exclude these render queues, or to include them alone (excluding
2500
- all other queues). This allows you to perform broad selective
2501
- rendering without requiring a RenderQueueListener.
2502
- @param qid The identifier of the queue which should be added to the
2503
- special case list. Nothing happens if the queue is already in the list.
2504
- */
2505
- virtual void addSpecialCaseRenderQueue(uint8 qid);
2506
- /** Removes an item to the 'special case' render queue list.
2507
- @see SceneManager::addSpecialCaseRenderQueue
2508
- @param qid The identifier of the queue which should be removed from the
2509
- special case list. Nothing happens if the queue is not in the list.
2510
- */
2511
- virtual void removeSpecialCaseRenderQueue(uint8 qid);
2512
- /** Clears the 'special case' render queue list.
2513
- @see SceneManager::addSpecialCaseRenderQueue
2514
- */
2515
- virtual void clearSpecialCaseRenderQueues(void);
2516
- /** Sets the way the special case render queue list is processed.
2517
- @see SceneManager::addSpecialCaseRenderQueue
2518
- @param mode The mode of processing
2519
- */
2520
- virtual void setSpecialCaseRenderQueueMode(SpecialCaseRenderQueueMode mode);
2521
- /** Gets the way the special case render queue list is processed. */
2522
- virtual SpecialCaseRenderQueueMode getSpecialCaseRenderQueueMode(void);
2523
- /** Returns whether or not the named queue will be rendered based on the
2524
- current 'special case' render queue list and mode.
2525
- @see SceneManager::addSpecialCaseRenderQueue
2526
- @param qid The identifier of the queue which should be tested
2527
- @return true if the queue will be rendered, false otherwise
2528
- */
2529
- virtual bool isRenderQueueToBeProcessed(uint8 qid);
2530
-
2531
- /** Sets the render queue that the world geometry (if any) this SceneManager
2532
- renders will be associated with.
2533
- @remarks
2534
- SceneManagers which provide 'world geometry' should place it in a
2535
- specialised render queue in order to make it possible to enable /
2536
- disable it easily using the addSpecialCaseRenderQueue method. Even
2537
- if the SceneManager does not use the render queues to render the
2538
- world geometry, it should still pick a queue to represent it's manual
2539
- rendering, and check isRenderQueueToBeProcessed before rendering.
2540
- @note
2541
- Setting this may not affect the actual ordering of rendering the
2542
- world geometry, if the world geometry is being rendered manually
2543
- by the SceneManager. If the SceneManager feeds world geometry into
2544
- the queues, however, the ordering will be affected.
2545
- */
2546
- virtual void setWorldGeometryRenderQueue(uint8 qid);
2547
- /** Gets the render queue that the world geometry (if any) this SceneManager
2548
- renders will be associated with.
2549
- @remarks
2550
- SceneManagers which provide 'world geometry' should place it in a
2551
- specialised render queue in order to make it possible to enable /
2552
- disable it easily using the addSpecialCaseRenderQueue method. Even
2553
- if the SceneManager does not use the render queues to render the
2554
- world geometry, it should still pick a queue to represent it's manual
2555
- rendering, and check isRenderQueueToBeProcessed before rendering.
2556
- */
2557
- virtual uint8 getWorldGeometryRenderQueue(void);
2558
-
2559
- /** Allows all bounding boxes of scene nodes to be displayed. */
2560
- virtual void showBoundingBoxes(bool bShow);
2561
-
2562
- /** Returns if all bounding boxes of scene nodes are to be displayed */
2563
- virtual bool getShowBoundingBoxes() const;
2564
-
2565
- /** Internal method for notifying the manager that a SceneNode is autotracking. */
2566
- virtual void _notifyAutotrackingSceneNode(SceneNode* node, bool autoTrack);
2567
-
2568
-
2569
- /** Creates an AxisAlignedBoxSceneQuery for this scene manager.
2570
- @remarks
2571
- This method creates a new instance of a query object for this scene manager,
2572
- for an axis aligned box region. See SceneQuery and AxisAlignedBoxSceneQuery
2573
- for full details.
2574
- @par
2575
- The instance returned from this method must be destroyed by calling
2576
- SceneManager::destroyQuery when it is no longer required.
2577
- @param box Details of the box which describes the region for this query.
2578
- @param mask The query mask to apply to this query; can be used to filter out
2579
- certain objects; see SceneQuery for details.
2580
- */
2581
- virtual AxisAlignedBoxSceneQuery*
2582
- createAABBQuery(const AxisAlignedBox& box, unsigned long mask = 0xFFFFFFFF);
2583
- /** Creates a SphereSceneQuery for this scene manager.
2584
- @remarks
2585
- This method creates a new instance of a query object for this scene manager,
2586
- for a spherical region. See SceneQuery and SphereSceneQuery
2587
- for full details.
2588
- @par
2589
- The instance returned from this method must be destroyed by calling
2590
- SceneManager::destroyQuery when it is no longer required.
2591
- @param sphere Details of the sphere which describes the region for this query.
2592
- @param mask The query mask to apply to this query; can be used to filter out
2593
- certain objects; see SceneQuery for details.
2594
- */
2595
- virtual SphereSceneQuery*
2596
- createSphereQuery(const Sphere& sphere, unsigned long mask = 0xFFFFFFFF);
2597
- /** Creates a PlaneBoundedVolumeListSceneQuery for this scene manager.
2598
- @remarks
2599
- This method creates a new instance of a query object for this scene manager,
2600
- for a region enclosed by a set of planes (normals pointing inwards).
2601
- See SceneQuery and PlaneBoundedVolumeListSceneQuery for full details.
2602
- @par
2603
- The instance returned from this method must be destroyed by calling
2604
- SceneManager::destroyQuery when it is no longer required.
2605
- @param volumes Details of the volumes which describe the region for this query.
2606
- @param mask The query mask to apply to this query; can be used to filter out
2607
- certain objects; see SceneQuery for details.
2608
- */
2609
- virtual PlaneBoundedVolumeListSceneQuery*
2610
- createPlaneBoundedVolumeQuery(const PlaneBoundedVolumeList& volumes, unsigned long mask = 0xFFFFFFFF);
2611
-
2612
-
2613
- /** Creates a RaySceneQuery for this scene manager.
2614
- @remarks
2615
- This method creates a new instance of a query object for this scene manager,
2616
- looking for objects which fall along a ray. See SceneQuery and RaySceneQuery
2617
- for full details.
2618
- @par
2619
- The instance returned from this method must be destroyed by calling
2620
- SceneManager::destroyQuery when it is no longer required.
2621
- @param ray Details of the ray which describes the region for this query.
2622
- @param mask The query mask to apply to this query; can be used to filter out
2623
- certain objects; see SceneQuery for details.
2624
- */
2625
- virtual RaySceneQuery*
2626
- createRayQuery(const Ray& ray, unsigned long mask = 0xFFFFFFFF);
2627
- //PyramidSceneQuery* createPyramidQuery(const Pyramid& p, unsigned long mask = 0xFFFFFFFF);
2628
- /** Creates an IntersectionSceneQuery for this scene manager.
2629
- @remarks
2630
- This method creates a new instance of a query object for locating
2631
- intersecting objects. See SceneQuery and IntersectionSceneQuery
2632
- for full details.
2633
- @par
2634
- The instance returned from this method must be destroyed by calling
2635
- SceneManager::destroyQuery when it is no longer required.
2636
- @param mask The query mask to apply to this query; can be used to filter out
2637
- certain objects; see SceneQuery for details.
2638
- */
2639
- virtual IntersectionSceneQuery*
2640
- createIntersectionQuery(unsigned long mask = 0xFFFFFFFF);
2641
-
2642
- /** Destroys a scene query of any type. */
2643
- virtual void destroyQuery(SceneQuery* query);
2644
-
2645
- typedef MapIterator<CameraList> CameraIterator;
2646
- typedef MapIterator<AnimationList> AnimationIterator;
2647
-
2648
- /** Returns a specialised MapIterator over all cameras in the scene.
2649
- */
2650
- CameraIterator getCameraIterator(void) {
2651
- return CameraIterator(mCameras.begin(), mCameras.end());
2652
- }
2653
- /** Returns a const version of the camera list.
2654
- */
2655
- const CameraList& getCameras() const { return mCameras; }
2656
- /** Returns a specialised MapIterator over all animations in the scene. */
2657
- AnimationIterator getAnimationIterator(void) {
2658
- return AnimationIterator(mAnimationsList.begin(), mAnimationsList.end());
2659
- }
2660
- /** Returns a const version of the animation list.
2661
- */
2662
- const AnimationList& getAnimations() const { return mAnimationsList; }
2663
- /** Returns a specialised MapIterator over all animation states in the scene. */
2664
- AnimationStateIterator getAnimationStateIterator(void) {
2665
- return mAnimationStates.getAnimationStateIterator();
2666
- }
2667
-
2668
- /** Sets the general shadow technique to be used in this scene.
2669
- @remarks
2670
- There are multiple ways to generate shadows in a scene, and each has
2671
- strengths and weaknesses.
2672
- <ul><li>Stencil-based approaches can be used to
2673
- draw very long, extreme shadows without loss of precision and the 'additive'
2674
- version can correctly show the shadowing of complex effects like bump mapping
2675
- because they physically exclude the light from those areas. However, the edges
2676
- are very sharp and stencils cannot handle transparency, and they involve a
2677
- fair amount of CPU work in order to calculate the shadow volumes, especially
2678
- when animated objects are involved.</li>
2679
- <li>Texture-based approaches are good for handling transparency (they can, for
2680
- example, correctly shadow a mesh which uses alpha to represent holes), and they
2681
- require little CPU overhead, and can happily shadow geometry which is deformed
2682
- by a vertex program, unlike stencil shadows. However, they have a fixed precision
2683
- which can introduce 'jaggies' at long range and have fillrate issues of their own.</li>
2684
- </ul>
2685
- @par
2686
- We support 2 kinds of stencil shadows, and 2 kinds of texture-based shadows, and one
2687
- simple decal approach. The 2 stencil approaches differ in the amount of multipass work
2688
- that is required - the modulative approach simply 'darkens' areas in shadow after the
2689
- main render, which is the least expensive, whilst the additive approach has to perform
2690
- a render per light and adds the cumulative effect, which is more expensive but more
2691
- accurate. The texture based shadows both work in roughly the same way, the only difference is
2692
- that the shadowmap approach is slightly more accurate, but requires a more recent
2693
- graphics card.
2694
- @par
2695
- Note that because mixing many shadow techniques can cause problems, only one technique
2696
- is supported at once. Also, you should call this method at the start of the
2697
- scene setup.
2698
- @param technique The shadowing technique to use for the scene.
2699
- */
2700
- virtual void setShadowTechnique(ShadowTechnique technique);
2701
-
2702
- /** Gets the current shadow technique. */
2703
- virtual ShadowTechnique getShadowTechnique(void) const { return mShadowTechnique; }
2704
-
2705
- /** Enables / disables the rendering of debug information for shadows. */
2706
- virtual void setShowDebugShadows(bool debug) { mDebugShadows = debug; }
2707
- /** Are debug shadows shown? */
2708
- virtual bool getShowDebugShadows(void ) const { return mDebugShadows; }
2709
-
2710
- /** Set the colour used to modulate areas in shadow.
2711
- @remarks This is only applicable for shadow techniques which involve
2712
- darkening the area in shadow, as opposed to masking out the light.
2713
- This colour provided is used as a modulative value to darken the
2714
- areas.
2715
- */
2716
- virtual void setShadowColour(const ColourValue& colour);
2717
- /** Get the colour used to modulate areas in shadow.
2718
- @remarks This is only applicable for shadow techniques which involve
2719
- darkening the area in shadow, as opposed to masking out the light.
2720
- This colour provided is used as a modulative value to darken the
2721
- areas.
2722
- */
2723
- virtual const ColourValue& getShadowColour(void) const;
2724
- /** Sets the distance a shadow volume is extruded for a directional light.
2725
- @remarks
2726
- Although directional lights are essentially infinite, there are many
2727
- reasons to limit the shadow extrusion distance to a finite number,
2728
- not least of which is compatibility with older cards (which do not
2729
- support infinite positions), and shadow caster elimination.
2730
- @par
2731
- The default value is 10,000 world units. This does not apply to
2732
- point lights or spotlights, since they extrude up to their
2733
- attenuation range.
2734
- */
2735
- virtual void setShadowDirectionalLightExtrusionDistance(Real dist);
2736
- /** Gets the distance a shadow volume is extruded for a directional light.
2737
- */
2738
- virtual Real getShadowDirectionalLightExtrusionDistance(void) const;
2739
- /** Sets the default maximum distance away from the camera that shadows
2740
- will be visible. You have to call this function before you create lights
2741
- or the default distance of zero will be used.
2742
- @remarks
2743
- Shadow techniques can be expensive, therefore it is a good idea
2744
- to limit them to being rendered close to the camera if possible,
2745
- and to skip the expense of rendering shadows for distance objects.
2746
- This method allows you to set the distance at which shadows will no
2747
- longer be rendered.
2748
- @note
2749
- Each shadow technique can interpret this subtely differently.
2750
- For example, one technique may use this to eliminate casters,
2751
- another might use it to attenuate the shadows themselves.
2752
- You should tweak this value to suit your chosen shadow technique
2753
- and scene setup.
2754
- */
2755
- virtual void setShadowFarDistance(Real distance);
2756
- /** Gets the default maximum distance away from the camera that shadows
2757
- will be visible.
2758
- */
2759
- virtual Real getShadowFarDistance(void) const
2760
- { return mDefaultShadowFarDist; }
2761
- virtual Real getShadowFarDistanceSquared(void) const
2762
- { return mDefaultShadowFarDistSquared; }
2763
-
2764
- /** Sets the maximum size of the index buffer used to render shadow
2765
- primitives.
2766
- @remarks
2767
- This method allows you to tweak the size of the index buffer used
2768
- to render shadow primitives (including stencil shadow volumes). The
2769
- default size is 51,200 entries, which is 100k of GPU memory, or
2770
- enough to render approximately 17,000 triangles. You can reduce this
2771
- as long as you do not have any models / world geometry chunks which
2772
- could require more than the amount you set.
2773
- @par
2774
- The maximum number of triangles required to render a single shadow
2775
- volume (including light and dark caps when needed) will be 3x the
2776
- number of edges on the light silhouette, plus the number of
2777
- light-facing triangles. On average, half the
2778
- triangles will be facing toward the light, but the number of
2779
- triangles in the silhouette entirely depends on the mesh -
2780
- angular meshes will have a higher silhouette tris/mesh tris
2781
- ratio than a smooth mesh. You can estimate the requirements for
2782
- your particular mesh by rendering it alone in a scene with shadows
2783
- enabled and a single light - rotate it or the light and make a note
2784
- of how high the triangle count goes (remembering to subtract the
2785
- mesh triangle count)
2786
- @param size The number of indexes; divide this by 3 to determine the
2787
- number of triangles.
2788
- */
2789
- virtual void setShadowIndexBufferSize(size_t size);
2790
- /// Get the size of the shadow index buffer
2791
- virtual size_t getShadowIndexBufferSize(void) const
2792
- { return mShadowIndexBufferSize; }
2793
- /** Set the size of the texture used for all texture-based shadows.
2794
- @remarks
2795
- The larger the shadow texture, the better the detail on
2796
- texture based shadows, but obviously this takes more memory.
2797
- The default size is 512. Sizes must be a power of 2.
2798
- @note This is the simple form, see setShadowTextureConfig for the more
2799
- complex form.
2800
- */
2801
- virtual void setShadowTextureSize(unsigned short size);
2802
-
2803
- /** Set the detailed configuration for a shadow texture.
2804
- @param shadowIndex The index of the texture to configure, must be < the
2805
- number of shadow textures setting
2806
- @param width, height The dimensions of the texture
2807
- @param format The pixel format of the texture
2808
- @param fsaa The level of multisampling to use. Ignored if the device does not support it.
2809
- @param depthBufferPoolId The pool # it should query the depth buffers from
2810
- */
2811
- virtual void setShadowTextureConfig(size_t shadowIndex, unsigned short width,
2812
- unsigned short height, PixelFormat format, unsigned short fsaa = 0, uint16 depthBufferPoolId=1);
2813
- /** Set the detailed configuration for a shadow texture.
2814
- @param shadowIndex The index of the texture to configure, must be < the
2815
- number of shadow textures setting
2816
- @param config Configuration structure
2817
- */
2818
- virtual void setShadowTextureConfig(size_t shadowIndex,
2819
- const ShadowTextureConfig& config);
2820
-
2821
- /** Get an iterator over the current shadow texture settings. */
2822
- ConstShadowTextureConfigIterator getShadowTextureConfigIterator() const;
2823
-
2824
- /** Set the pixel format of the textures used for texture-based shadows.
2825
- @remarks
2826
- By default, a colour texture is used (PF_X8R8G8B8) for texture shadows,
2827
- but if you want to use more advanced texture shadow types you can
2828
- alter this. If you do, you will have to also call
2829
- setShadowTextureCasterMaterial and setShadowTextureReceiverMaterial
2830
- to provide shader-based materials to use these customised shadow
2831
- texture formats.
2832
- @note This is the simple form, see setShadowTextureConfig for the more
2833
- complex form.
2834
- */
2835
- virtual void setShadowTexturePixelFormat(PixelFormat fmt);
2836
- /** Set the level of multisample AA of the textures used for texture-based shadows.
2837
- @remarks
2838
- By default, the level of multisample AA is zero.
2839
- @note This is the simple form, see setShadowTextureConfig for the more
2840
- complex form.
2841
- */
2842
- virtual void setShadowTextureFSAA(unsigned short fsaa);
2843
-
2844
- /** Set the number of textures allocated for texture-based shadows.
2845
- @remarks
2846
- The default number of textures assigned to deal with texture based
2847
- shadows is 1; however this means you can only have one light casting
2848
- shadows at the same time. You can increase this number in order to
2849
- make this more flexible, but be aware of the texture memory it will use.
2850
- */
2851
- virtual void setShadowTextureCount(size_t count);
2852
- /// Get the number of the textures allocated for texture based shadows
2853
- size_t getShadowTextureCount(void) const {return mShadowTextureConfigList.size(); }
2854
-
2855
- /** Set the number of shadow textures a light type uses.
2856
- @remarks
2857
- The default for all light types is 1. This means that each light uses only 1 shadow
2858
- texture. Call this if you need more than 1 shadow texture per light, E.G. PSSM.
2859
- @note
2860
- This feature only works with the Integrated shadow technique.
2861
- Also remember to increase the total number of shadow textures you request
2862
- appropriately (e.g. via setShadowTextureCount)!!
2863
- */
2864
- void setShadowTextureCountPerLightType(Light::LightTypes type, size_t count)
2865
- { mShadowTextureCountPerType[type] = count; }
2866
- /// Get the number of shadow textures is assigned for the given light type.
2867
- size_t getShadowTextureCountPerLightType(Light::LightTypes type) const
2868
- {return mShadowTextureCountPerType[type]; }
2869
-
2870
- /** Sets the size and count of textures used in texture-based shadows.
2871
- @remarks
2872
- @see setShadowTextureSize and setShadowTextureCount for details, this
2873
- method just allows you to change both at once, which can save on
2874
- reallocation if the textures have already been created.
2875
- @note This is the simple form, see setShadowTextureConfig for the more
2876
- complex form.
2877
- */
2878
- virtual void setShadowTextureSettings(unsigned short size, unsigned short count,
2879
- PixelFormat fmt = PF_X8R8G8B8, unsigned short fsaa = 0, uint16 depthBufferPoolId=1);
2880
-
2881
- /** Get a reference to the shadow texture currently in use at the given index.
2882
- @note
2883
- If you change shadow settings, this reference may no longer
2884
- be correct, so be sure not to hold the returned reference over
2885
- texture shadow configuration changes.
2886
- */
2887
- virtual const TexturePtr& getShadowTexture(size_t shadowIndex);
2888
-
2889
- /** Sets the proportional distance which a texture shadow which is generated from a
2890
- directional light will be offset into the camera view to make best use of texture space.
2891
- @remarks
2892
- When generating a shadow texture from a directional light, an approximation is used
2893
- since it is not possible to render the entire scene to one texture.
2894
- The texture is projected onto an area centred on the camera, and is
2895
- the shadow far distance * 2 in length (it is square). This wastes
2896
- a lot of texture space outside the frustum though, so this offset allows
2897
- you to move the texture in front of the camera more. However, be aware
2898
- that this can cause a little shadow 'jittering' during rotation, and
2899
- that if you move it too far then you'll start to get artefacts close
2900
- to the camera. The value is represented as a proportion of the shadow
2901
- far distance, and the default is 0.6.
2902
- */
2903
- virtual void setShadowDirLightTextureOffset(Real offset) { mShadowTextureOffset = offset;}
2904
- /** Gets the proportional distance which a texture shadow which is generated from a
2905
- directional light will be offset into the camera view to make best use of texture space.
2906
- */
2907
- virtual Real getShadowDirLightTextureOffset(void) const { return mShadowTextureOffset; }
2908
- /** Sets the proportional distance at which texture shadows begin to fade out.
2909
- @remarks
2910
- To hide the edges where texture shadows end (in directional lights)
2911
- Ogre will fade out the shadow in the distance. This value is a proportional
2912
- distance of the entire shadow visibility distance at which the shadow
2913
- begins to fade out. The default is 0.7
2914
- */
2915
- virtual void setShadowTextureFadeStart(Real fadeStart)
2916
- { mShadowTextureFadeStart = fadeStart; }
2917
- /** Sets the proportional distance at which texture shadows finish to fading out.
2918
- @remarks
2919
- To hide the edges where texture shadows end (in directional lights)
2920
- Ogre will fade out the shadow in the distance. This value is a proportional
2921
- distance of the entire shadow visibility distance at which the shadow
2922
- is completely invisible. The default is 0.9.
2923
- */
2924
- virtual void setShadowTextureFadeEnd(Real fadeEnd)
2925
- { mShadowTextureFadeEnd = fadeEnd; }
2926
-
2927
- /** Sets whether or not texture shadows should attempt to self-shadow.
2928
- @remarks
2929
- The default implementation of texture shadows uses a fixed-function
2930
- colour texture projection approach for maximum compatibility, and
2931
- as such cannot support self-shadowing. However, if you decide to
2932
- implement a more complex shadowing technique using the
2933
- setShadowTextureCasterMaterial and setShadowTextureReceiverMaterial
2934
- there is a possibility you may be able to support
2935
- self-shadowing (e.g by implementing a shader-based shadow map). In
2936
- this case you might want to enable this option.
2937
- @param selfShadow Whether to attempt self-shadowing with texture shadows
2938
- */
2939
- virtual void setShadowTextureSelfShadow(bool selfShadow);
2940
-
2941
- /// Gets whether or not texture shadows attempt to self-shadow.
2942
- virtual bool getShadowTextureSelfShadow(void) const
2943
- { return mShadowTextureSelfShadow; }
2944
- /** Sets the default material to use for rendering shadow casters.
2945
- @remarks
2946
- By default shadow casters are rendered into the shadow texture using
2947
- an automatically generated fixed-function pass. This allows basic
2948
- projective texture shadows, but it's possible to use more advanced
2949
- shadow techniques by overriding the caster and receiver materials, for
2950
- example providing vertex and fragment programs to implement shadow
2951
- maps.
2952
- @par
2953
- You can rely on the ambient light in the scene being set to the
2954
- requested texture shadow colour, if that's useful.
2955
- @note
2956
- Individual objects may also override the vertex program in
2957
- your default material if their materials include
2958
- shadow_caster_vertex_program_ref, shadow_receiver_vertex_program_ref
2959
- shadow_caster_material entries, so if you use both make sure they are compatible.
2960
- @note
2961
- Only a single pass is allowed in your material, although multiple
2962
- techniques may be used for hardware fallback.
2963
- */
2964
- virtual void setShadowTextureCasterMaterial(const String& name);
2965
- /** Sets the default material to use for rendering shadow receivers.
2966
- @remarks
2967
- By default shadow receivers are rendered as a post-pass using basic
2968
- modulation. This allows basic projective texture shadows, but it's
2969
- possible to use more advanced shadow techniques by overriding the
2970
- caster and receiver materials, for example providing vertex and
2971
- fragment programs to implement shadow maps.
2972
- @par
2973
- You can rely on texture unit 0 containing the shadow texture, and
2974
- for the unit to be set to use projective texturing from the light
2975
- (only useful if you're using fixed-function, which is unlikely;
2976
- otherwise you should rely on the texture_viewproj_matrix auto binding)
2977
- @note
2978
- Individual objects may also override the vertex program in
2979
- your default material if their materials include
2980
- shadow_caster_vertex_program_ref shadow_receiver_vertex_program_ref
2981
- shadow_receiver_material entries, so if you use both make sure they are compatible.
2982
- @note
2983
- Only a single pass is allowed in your material, although multiple
2984
- techniques may be used for hardware fallback.
2985
- */
2986
- virtual void setShadowTextureReceiverMaterial(const String& name);
2987
-
2988
- /** Sets whether or not shadow casters should be rendered into shadow
2989
- textures using their back faces rather than their front faces.
2990
- @remarks
2991
- Rendering back faces rather than front faces into a shadow texture
2992
- can help minimise depth comparison issues, if you're using depth
2993
- shadowmapping. You will probably still need some biasing but you
2994
- won't need as much. For solid objects the result is the same anyway,
2995
- if you have objects with holes you may want to turn this option off.
2996
- The default is to enable this option.
2997
- */
2998
- virtual void setShadowCasterRenderBackFaces(bool bf) { mShadowCasterRenderBackFaces = bf; }
2999
-
3000
- /** Gets whether or not shadow casters should be rendered into shadow
3001
- textures using their back faces rather than their front faces.
3002
- */
3003
- virtual bool getShadowCasterRenderBackFaces() const { return mShadowCasterRenderBackFaces; }
3004
-
3005
- /** Set the shadow camera setup to use for all lights which don't have
3006
- their own shadow camera setup.
3007
- @see ShadowCameraSetup
3008
- */
3009
- virtual void setShadowCameraSetup(const ShadowCameraSetupPtr& shadowSetup);
3010
-
3011
- /** Get the shadow camera setup in use for all lights which don't have
3012
- their own shadow camera setup.
3013
- @see ShadowCameraSetup
3014
- */
3015
- virtual const ShadowCameraSetupPtr& getShadowCameraSetup() const;
3016
-
3017
- /** Sets whether we should use an inifinite camera far plane
3018
- when rendering stencil shadows.
3019
- @remarks
3020
- Stencil shadow coherency is very reliant on the shadow volume
3021
- not being clipped by the far plane. If this clipping happens, you
3022
- get a kind of 'negative' shadow effect. The best way to achieve
3023
- coherency is to move the far plane of the camera out to infinity,
3024
- thus preventing the far plane from clipping the shadow volumes.
3025
- When combined with vertex program extrusion of the volume to
3026
- infinity, which Ogre does when available, this results in very
3027
- robust shadow volumes. For this reason, when you enable stencil
3028
- shadows, Ogre automatically changes your camera settings to
3029
- project to infinity if the card supports it. You can disable this
3030
- behaviour if you like by calling this method; although you can
3031
- never enable infinite projection if the card does not support it.
3032
- @par
3033
- If you disable infinite projection, or it is not available,
3034
- you need to be far more careful with your light attenuation /
3035
- directional light extrusion distances to avoid clipping artefacts
3036
- at the far plane.
3037
- @note
3038
- Recent cards will generally support infinite far plane projection.
3039
- However, we have found some cases where they do not, especially
3040
- on Direct3D. There is no standard capability we can check to
3041
- validate this, so we use some heuristics based on experience:
3042
- <UL>
3043
- <LI>OpenGL always seems to support it no matter what the card</LI>
3044
- <LI>Direct3D on non-vertex program capable systems (including
3045
- vertex program capable cards on Direct3D7) does not
3046
- support it</LI>
3047
- <LI>Direct3D on GeForce3 and GeForce4 Ti does not seem to support
3048
- infinite projection<LI>
3049
- </UL>
3050
- Therefore in the RenderSystem implementation, we may veto the use
3051
- of an infinite far plane based on these heuristics.
3052
- */
3053
- virtual void setShadowUseInfiniteFarPlane(bool enable) {
3054
- mShadowUseInfiniteFarPlane = enable; }
3055
-
3056
- /** Is there a stencil shadow based shadowing technique in use? */
3057
- virtual bool isShadowTechniqueStencilBased(void) const
3058
- { return (mShadowTechnique & SHADOWDETAILTYPE_STENCIL) != 0; }
3059
- /** Is there a texture shadow based shadowing technique in use? */
3060
- virtual bool isShadowTechniqueTextureBased(void) const
3061
- { return (mShadowTechnique & SHADOWDETAILTYPE_TEXTURE) != 0; }
3062
- /** Is there a modulative shadowing technique in use? */
3063
- virtual bool isShadowTechniqueModulative(void) const
3064
- { return (mShadowTechnique & SHADOWDETAILTYPE_MODULATIVE) != 0; }
3065
- /** Is there an additive shadowing technique in use? */
3066
- virtual bool isShadowTechniqueAdditive(void) const
3067
- { return (mShadowTechnique & SHADOWDETAILTYPE_ADDITIVE) != 0; }
3068
- /** Is the shadow technique integrated into primary materials? */
3069
- virtual bool isShadowTechniqueIntegrated(void) const
3070
- { return (mShadowTechnique & SHADOWDETAILTYPE_INTEGRATED) != 0; }
3071
- /** Is there any shadowing technique in use? */
3072
- virtual bool isShadowTechniqueInUse(void) const
3073
- { return mShadowTechnique != SHADOWTYPE_NONE; }
3074
- /** Sets whether when using a built-in additive shadow mode, user clip
3075
- planes should be used to restrict light rendering.
3076
- */
3077
- virtual void setShadowUseLightClipPlanes(bool enabled) { mShadowAdditiveLightClip = enabled; }
3078
- /** Gets whether when using a built-in additive shadow mode, user clip
3079
- planes should be used to restrict light rendering.
3080
- */
3081
- virtual bool getShadowUseLightClipPlanes() const { return mShadowAdditiveLightClip; }
3082
-
3083
- /** Sets the active compositor chain of the current scene being rendered.
3084
- @note CompositorChain does this automatically, no need to call manually.
3085
- */
3086
- virtual void _setActiveCompositorChain(CompositorChain* chain) { mActiveCompositorChain = chain; }
3087
-
3088
- /** Sets whether to use late material resolving or not. If set, materials will be resolved
3089
- from the materials at the pass-setting stage and not at the render queue building stage.
3090
- This is useful when the active material scheme during the render queue building stage
3091
- is different from the one during the rendering stage.
3092
- */
3093
- virtual void setLateMaterialResolving(bool isLate) { mLateMaterialResolving = isLate; }
3094
-
3095
- /** Gets whether using late material resolving or not.
3096
- @see setLateMaterialResolving */
3097
- virtual bool isLateMaterialResolving() const { return mLateMaterialResolving; }
3098
-
3099
- /** Gets the active compositor chain of the current scene being rendered */
3100
- virtual CompositorChain* _getActiveCompositorChain() const { return mActiveCompositorChain; }
3101
-
3102
- /** Add a listener which will get called back on scene manager events.
3103
- */
3104
- virtual void addListener(Listener* s);
3105
- /** Remove a listener
3106
- */
3107
- virtual void removeListener(Listener* s);
3108
-
3109
- /** Creates a StaticGeometry instance suitable for use with this
3110
- SceneManager.
3111
- @remarks
3112
- StaticGeometry is a way of batching up geometry into a more
3113
- efficient form at the expense of being able to move it. Please
3114
- read the StaticGeometry class documentation for full information.
3115
- @param name The name to give the new object
3116
- @return The new StaticGeometry instance
3117
- */
3118
- virtual StaticGeometry* createStaticGeometry(const String& name);
3119
- /** Retrieve a previously created StaticGeometry instance.
3120
- @note Throws an exception if the named instance does not exist
3121
- */
3122
- virtual StaticGeometry* getStaticGeometry(const String& name) const;
3123
- /** Returns whether a static geometry instance with the given name exists. */
3124
- virtual bool hasStaticGeometry(const String& name) const;
3125
- /** Remove & destroy a StaticGeometry instance. */
3126
- virtual void destroyStaticGeometry(StaticGeometry* geom);
3127
- /** Remove & destroy a StaticGeometry instance. */
3128
- virtual void destroyStaticGeometry(const String& name);
3129
- /** Remove & destroy all StaticGeometry instances. */
3130
- virtual void destroyAllStaticGeometry(void);
3131
-
3132
- /** Creates a InstancedGeometry instance suitable for use with this
3133
- SceneManager.
3134
- @remarks
3135
- InstancedGeometry is a way of batching up geometry into a more
3136
- efficient form, and still be able to move it. Please
3137
- read the InstancedGeometry class documentation for full information.
3138
- @param name The name to give the new object
3139
- @return The new InstancedGeometry instance
3140
- */
3141
- virtual InstancedGeometry* createInstancedGeometry(const String& name);
3142
- /** Retrieve a previously created InstancedGeometry instance. */
3143
- virtual InstancedGeometry* getInstancedGeometry(const String& name) const;
3144
- /** Remove & destroy a InstancedGeometry instance. */
3145
- virtual void destroyInstancedGeometry(InstancedGeometry* geom);
3146
- /** Remove & destroy a InstancedGeometry instance. */
3147
- virtual void destroyInstancedGeometry(const String& name);
3148
- /** Remove & destroy all InstancedGeometry instances. */
3149
- virtual void destroyAllInstancedGeometry(void);
3150
-
3151
- /** Creates an InstanceManager interface to create & manipulate instanced entities
3152
- You need to call this function at least once before start calling createInstancedEntity
3153
- to build up an instance based on the given mesh.
3154
- @remarks
3155
- Instancing is a way of batching up geometry into a much more
3156
- efficient form, but with some limitations, and still be able to move & animate it.
3157
- Please @see InstanceManager class documentation for full information.
3158
- @param customName Custom name for referencing. Must be unique
3159
- @param meshName The mesh name the instances will be based upon
3160
- @param groupName The resource name where the mesh lives
3161
- @param Technique to use, which may be shader based, or hardware based.
3162
- @param numInstancesPerBatch Suggested number of instances per batch. The actual number
3163
- may end up being lower if the technique doesn't support having so many. It can't be zero
3164
- @param flags @see InstanceManagerFlags
3165
- @param InstanceManager only supports using one submesh from the base mesh. This parameter
3166
- says which submesh to pick (must be <= Mesh::getNumSubMeshes())
3167
- @return The new InstanceManager instance
3168
- */
3169
- virtual InstanceManager* createInstanceManager( const String &customName, const String &meshName,
3170
- const String &groupName,
3171
- InstanceManager::InstancingTechnique technique,
3172
- size_t numInstancesPerBatch, uint16 flags=0,
3173
- unsigned short subMeshIdx=0 );
3174
-
3175
- /** Retrieves an existing InstanceManager by it's name.
3176
- @note Throws an exception if the named InstanceManager does not exist
3177
- */
3178
- virtual InstanceManager* getInstanceManager( const String &managerName ) const;
3179
-
3180
- /** Returns whether an InstanceManager with the given name exists. */
3181
- virtual bool hasInstanceManager( const String &managerName ) const;
3182
-
3183
- /** Destroys an InstanceManager <b>if</b> it was created with createInstanceManager()
3184
- @remarks
3185
- Be sure you don't have any InstancedEntity referenced somewhere which was created with
3186
- this manager, since it will become a dangling pointer.
3187
- @param customName Name of the manager to remove
3188
- */
3189
- virtual void destroyInstanceManager( const String &name );
3190
- virtual void destroyInstanceManager( InstanceManager *instanceManager );
3191
-
3192
- virtual void destroyAllInstanceManagers(void);
3193
-
3194
- /** @see InstanceManager::getMaxOrBestNumInstancesPerBatch
3195
- @remarks
3196
- If you've already created an InstanceManager, you can call it's
3197
- getMaxOrBestNumInstancesPerBatch() function directly.
3198
- Another (not recommended) way to know if the technique is unsupported is by creating
3199
- an InstanceManager and use createInstancedEntity, which will return null pointer.
3200
- The input parameter "numInstancesPerBatch" is a suggested value when using IM_VTFBESTFIT
3201
- flag (in that case it should be non-zero)
3202
- @return
3203
- The ideal (or maximum, depending on flags) number of instances per batch for
3204
- the given technique. Zero if technique is unsupported or errors were spotted
3205
- */
3206
- virtual size_t getNumInstancesPerBatch( const String &meshName, const String &groupName,
3207
- const String &materialName,
3208
- InstanceManager::InstancingTechnique technique,
3209
- size_t numInstancesPerBatch, uint16 flags=0,
3210
- unsigned short subMeshIdx=0 );
3211
-
3212
- /** Creates an InstancedEntity based on an existing InstanceManager (@see createInstanceManager)
3213
- @remarks
3214
- * Return value may be null if the InstanceManger technique isn't supported
3215
- * Try to keep the number of entities with different materials <b>to a minimum</b>
3216
- * For more information @see InstancedManager @see InstancedBatch, @see InstancedEntity
3217
- * Alternatively you can call InstancedManager::createInstanceEntity using the returned
3218
- pointer from createInstanceManager
3219
- @param materialName Material name
3220
- @param managerName Name of the instance manager
3221
- @return An InstancedEntity ready to be attached to a SceneNode
3222
- */
3223
- virtual InstancedEntity* createInstancedEntity( const String &materialName,
3224
- const String &managerName );
3225
-
3226
- /** Removes an InstancedEntity, @see SceneManager::createInstancedEntity &
3227
- @see InstanceBatch::removeInstancedEntity
3228
- @param instancedEntity Instance to remove
3229
- */
3230
- virtual void destroyInstancedEntity( InstancedEntity *instancedEntity );
3231
-
3232
- /** Called by an InstanceManager when it has at least one InstanceBatch that needs their bounds
3233
- to be updated for proper culling
3234
- @param dirtyManager The manager with dirty batches to update
3235
- */
3236
- void _addDirtyInstanceManager( InstanceManager *dirtyManager );
3237
-
3238
- /** Create a movable object of the type specified.
3239
- @remarks
3240
- This is the generalised form of MovableObject creation where you can
3241
- create a MovableObject of any specialised type generically, including
3242
- any new types registered using plugins.
3243
- @param name The name to give the object. Must be unique within type.
3244
- @param typeName The type of object to create
3245
- @param params Optional name/value pair list to give extra parameters to
3246
- the created object.
3247
- */
3248
- virtual MovableObject* createMovableObject(const String& name,
3249
- const String& typeName, const NameValuePairList* params = 0);
3250
- /** Create a movable object of the type specified without a name.
3251
- @remarks
3252
- This is the generalised form of MovableObject creation where you can
3253
- create a MovableObject of any specialised type generically, including
3254
- any new types registered using plugins. The name is generated automatically.
3255
- @param typeName The type of object to create
3256
- @param params Optional name/value pair list to give extra parameters to
3257
- the created object.
3258
- */
3259
- virtual MovableObject* createMovableObject(const String& typeName, const NameValuePairList* params = 0);
3260
- /** Destroys a MovableObject with the name specified, of the type specified.
3261
- @remarks
3262
- The MovableObject will automatically detach itself from any nodes
3263
- on destruction.
3264
- */
3265
- virtual void destroyMovableObject(const String& name, const String& typeName);
3266
- /** Destroys a MovableObject.
3267
- @remarks
3268
- The MovableObject will automatically detach itself from any nodes
3269
- on destruction.
3270
- */
3271
- virtual void destroyMovableObject(MovableObject* m);
3272
- /** Destroy all MovableObjects of a given type. */
3273
- virtual void destroyAllMovableObjectsByType(const String& typeName);
3274
- /** Destroy all MovableObjects. */
3275
- virtual void destroyAllMovableObjects(void);
3276
- /** Get a reference to a previously created MovableObject.
3277
- @note Throws an exception if the named instance does not exist
3278
- */
3279
- virtual MovableObject* getMovableObject(const String& name, const String& typeName) const;
3280
- /** Returns whether a movable object instance with the given name exists. */
3281
- virtual bool hasMovableObject(const String& name, const String& typeName) const;
3282
- typedef MapIterator<MovableObjectMap> MovableObjectIterator;
3283
- /** Get an iterator over all MovableObect instances of a given type.
3284
- @note
3285
- The iterator returned from this method is not thread safe, do not use this
3286
- if you are creating or deleting objects of this type in another thread.
3287
- */
3288
- virtual MovableObjectIterator getMovableObjectIterator(const String& typeName);
3289
- /** Inject a MovableObject instance created externally.
3290
- @remarks
3291
- This method 'injects' a MovableObject instance created externally into
3292
- the MovableObject instance registry held in the SceneManager. You
3293
- might want to use this if you have a MovableObject which you don't
3294
- want to register a factory for; for example a MovableObject which
3295
- cannot be generally constructed by clients.
3296
- @note
3297
- It is important that the MovableObject has a unique name for the type,
3298
- and that its getMovableType() method returns a proper type name.
3299
- */
3300
- virtual void injectMovableObject(MovableObject* m);
3301
- /** Extract a previously injected MovableObject.
3302
- @remarks
3303
- Essentially this does the same as destroyMovableObject, but only
3304
- removes the instance from the internal lists, it does not attempt
3305
- to destroy it.
3306
- */
3307
- virtual void extractMovableObject(const String& name, const String& typeName);
3308
- /** Extract a previously injected MovableObject.
3309
- @remarks
3310
- Essentially this does the same as destroyMovableObject, but only
3311
- removes the instance from the internal lists, it does not attempt
3312
- to destroy it.
3313
- */
3314
- virtual void extractMovableObject(MovableObject* m);
3315
- /** Extract all injected MovableObjects of a given type.
3316
- @remarks
3317
- Essentially this does the same as destroyAllMovableObjectsByType,
3318
- but only removes the instances from the internal lists, it does not
3319
- attempt to destroy them.
3320
- */
3321
- virtual void extractAllMovableObjectsByType(const String& typeName);
3322
-
3323
- /** Sets a mask which is bitwise 'and'ed with objects own visibility masks
3324
- to determine if the object is visible.
3325
- @remarks
3326
- Note that this is combined with any per-viewport visibility mask
3327
- through an 'and' operation. @see Viewport::setVisibilityMask
3328
- */
3329
- virtual void setVisibilityMask(uint32 vmask) { mVisibilityMask = vmask; }
3330
-
3331
- /** Gets a mask which is bitwise 'and'ed with objects own visibility masks
3332
- to determine if the object is visible.
3333
- */
3334
- virtual uint32 getVisibilityMask(void) { return mVisibilityMask; }
3335
-
3336
- /** Internal method for getting the combination between the global visibility
3337
- mask and the per-viewport visibility mask.
3338
- */
3339
- uint32 _getCombinedVisibilityMask(void) const;
3340
-
3341
- /** Sets whether the SceneManager should search for visible objects, or
3342
- whether they are being manually handled.
3343
- @remarks
3344
- This is an advanced function, you should not use this unless you know
3345
- what you are doing.
3346
- */
3347
- virtual void setFindVisibleObjects(bool find) { mFindVisibleObjects = find; }
3348
-
3349
- /** Gets whether the SceneManager should search for visible objects, or
3350
- whether they are being manually handled.
3351
- */
3352
- virtual bool getFindVisibleObjects(void) { return mFindVisibleObjects; }
3353
-
3354
- /** Set whether to automatically normalise normals on objects whenever they
3355
- are scaled.
3356
- @remarks
3357
- Scaling can distort normals so the default behaviour is to compensate
3358
- for this, but it has a cost. If you would prefer to manually manage
3359
- this, set this option to 'false' and use Pass::setNormaliseNormals
3360
- only when needed.
3361
- */
3362
- virtual void setNormaliseNormalsOnScale(bool n) { mNormaliseNormalsOnScale = n; }
3363
-
3364
- /** Get whether to automatically normalise normals on objects whenever they
3365
- are scaled.
3366
- */
3367
- virtual bool getNormaliseNormalsOnScale() const { return mNormaliseNormalsOnScale; }
3368
-
3369
- /** Set whether to automatically flip the culling mode on objects whenever they
3370
- are negatively scaled.
3371
- @remarks
3372
- Negativelyl scaling an object has the effect of flipping the triangles,
3373
- so the culling mode should probably be inverted to deal with this.
3374
- If you would prefer to manually manage this, set this option to 'false'
3375
- and use different materials with Pass::setCullingMode set manually as needed.
3376
- */
3377
- virtual void setFlipCullingOnNegativeScale(bool n) { mFlipCullingOnNegativeScale = n; }
3378
-
3379
- /** Get whether to automatically flip the culling mode on objects whenever they
3380
- are negatively scaled.
3381
- */
3382
- virtual bool getFlipCullingOnNegativeScale() const { return mFlipCullingOnNegativeScale; }
3383
-
3384
- /** Render something as if it came from the current queue.
3385
- @param pass Material pass to use for setting up this quad.
3386
- @param rend Renderable to render
3387
- @param shadowDerivation Whether passes should be replaced with shadow caster / receiver passes
3388
- */
3389
- virtual void _injectRenderWithPass(Pass *pass, Renderable *rend, bool shadowDerivation = true,
3390
- bool doLightIteration = false, const LightList* manualLightList = 0);
3391
-
3392
- /** Indicates to the SceneManager whether it should suppress changing
3393
- the RenderSystem states when rendering objects.
3394
- @remarks
3395
- This method allows you to tell the SceneManager not to change any
3396
- RenderSystem state until you tell it to. This method is only
3397
- intended for advanced use, don't use it if you're unsure of the
3398
- effect. The only RenderSystems calls made are to set the world
3399
- matrix for each object (note - view an projection matrices are NOT
3400
- SET - they are under your control) and to render the object; it is up to
3401
- the caller to do everything else, including enabling any vertex /
3402
- fragment programs and updating their parameter state, and binding
3403
- parameters to the RenderSystem.
3404
- @note
3405
- Calling this implicitly disables shadow processing since no shadows
3406
- can be rendered without changing state.
3407
- @param suppress If true, no RenderSystem state changes will be issued
3408
- until this method is called again with a parameter of false.
3409
- */
3410
- virtual void _suppressRenderStateChanges(bool suppress);
3411
-
3412
- /** Are render state changes suppressed?
3413
- @see _suppressRenderStateChanges
3414
- */
3415
- virtual bool _areRenderStateChangesSuppressed(void) const
3416
- { return mSuppressRenderStateChanges; }
3417
-
3418
- /** Internal method for setting up the renderstate for a rendering pass.
3419
- @param pass The Pass details to set.
3420
- @param evenIfSuppressed Sets the pass details even if render state
3421
- changes are suppressed; if you are using this to manually set state
3422
- when render state changes are suppressed, you should set this to
3423
- true.
3424
- @param shadowDerivation If false, disables the derivation of shadow
3425
- passes from original passes
3426
- @return
3427
- A Pass object that was used instead of the one passed in, can
3428
- happen when rendering shadow passes
3429
- */
3430
- virtual const Pass* _setPass(const Pass* pass,
3431
- bool evenIfSuppressed = false, bool shadowDerivation = true);
3432
-
3433
- /** Method to allow you to mark gpu parameters as dirty, causing them to
3434
- be updated according to the mask that you set when updateGpuProgramParameters is
3435
- next called. Only really useful if you're controlling parameter state in
3436
- inner rendering loop callbacks.
3437
- @param mask Some combination of GpuParamVariability which is bitwise OR'ed with the
3438
- current dirty state.
3439
- */
3440
- virtual void _markGpuParamsDirty(uint16 mask);
3441
-
3442
-
3443
- /** Indicates to the SceneManager whether it should suppress the
3444
- active shadow rendering technique until told otherwise.
3445
- @remarks
3446
- This is a temporary alternative to setShadowTechnique to suppress
3447
- the rendering of shadows and forcing all processing down the
3448
- standard rendering path. This is intended for internal use only.
3449
- @param suppress If true, no shadow rendering will occur until this
3450
- method is called again with a parameter of false.
3451
- */
3452
- virtual void _suppressShadows(bool suppress);
3453
-
3454
- /** Are shadows suppressed?
3455
- @see _suppressShadows
3456
- */
3457
- virtual bool _areShadowsSuppressed(void) const
3458
- { return mSuppressShadows; }
3459
-
3460
- /** Render the objects in a given queue group
3461
- @remarks You should only call this from a RenderQueueInvocation implementation
3462
- */
3463
- virtual void _renderQueueGroupObjects(RenderQueueGroup* group,
3464
- QueuedRenderableCollection::OrganisationMode om);
3465
-
3466
- /** Advanced method for supplying an alternative visitor, used for parsing the
3467
- render queues and sending the results to the renderer.
3468
- @remarks
3469
- You can use this method to insert your own implementation of the
3470
- QueuedRenderableVisitor interface, which receives calls as the queued
3471
- renderables are parsed in a given order (determined by RenderQueueInvocationSequence)
3472
- and are sent to the renderer. If you provide your own implementation of
3473
- this visitor, you are responsible for either calling the rendersystem,
3474
- or passing the calls on to the base class implementation.
3475
- @note
3476
- Ownership is not taken of this pointer, you are still required to
3477
- delete it yourself once you're finished.
3478
- @param visitor Your implementation of SceneMgrQueuedRenderableVisitor.
3479
- If you pass 0, the default implementation will be used.
3480
- */
3481
- void setQueuedRenderableVisitor(SceneMgrQueuedRenderableVisitor* visitor);
3482
-
3483
- /** Gets the current visitor object which processes queued renderables. */
3484
- SceneMgrQueuedRenderableVisitor* getQueuedRenderableVisitor(void) const;
3485
-
3486
-
3487
- /** Get the rendersystem subclass to which the output of this Scene Manager
3488
- gets sent
3489
- */
3490
- RenderSystem *getDestinationRenderSystem();
3491
-
3492
- /** Gets the current viewport being rendered (advanced use only, only
3493
- valid during viewport update. */
3494
- Viewport* getCurrentViewport(void) const { return mCurrentViewport; }
3495
-
3496
- /** Returns a visibility boundary box for a specific camera. */
3497
- const VisibleObjectsBoundsInfo& getVisibleObjectsBoundsInfo(const Camera* cam) const;
3498
-
3499
- /** Returns the shadow caster AAB for a specific light-camera combination */
3500
- const VisibleObjectsBoundsInfo& getShadowCasterBoundsInfo(const Light* light, size_t iteration = 0) const;
3501
-
3502
- /** Set whether to use camera-relative co-ordinates when rendering, ie
3503
- to always place the camera at the origin and move the world around it.
3504
- @remarks
3505
- This is a technique to alleviate some of the precision issues associated with
3506
- rendering far from the origin, where single-precision floats as used in most
3507
- GPUs begin to lose their precision. Instead of including the camera
3508
- translation in the view matrix, it only includes the rotation, and
3509
- the world matrices of objects must be expressed relative to this.
3510
- @note
3511
- If you need this option, you will probably also need to enable double-precision
3512
- mode in Ogre (OGRE_DOUBLE_PRECISION), since even though this will
3513
- alleviate the rendering precision, the source camera and object positions will still
3514
- suffer from precision issues leading to jerky movement.
3515
- */
3516
- virtual void setCameraRelativeRendering(bool rel) { mCameraRelativeRendering = rel; }
3517
-
3518
- /** Get whether to use camera-relative co-ordinates when rendering, ie
3519
- to always place the camera at the origin and move the world around it.
3520
- */
3521
- virtual bool getCameraRelativeRendering() const { return mCameraRelativeRendering; }
3522
-
3523
-
3524
- /** Add a level of detail listener. */
3525
- void addLodListener(LodListener *listener);
3526
-
3527
- /**
3528
- Remove a level of detail listener.
3529
- @remarks
3530
- Do not call from inside an LodListener callback method.
3531
- */
3532
- void removeLodListener(LodListener *listener);
3533
-
3534
- /** Notify that a movable object lod change event has occurred. */
3535
- void _notifyMovableObjectLodChanged(MovableObjectLodChangedEvent& evt);
3536
-
3537
- /** Notify that an entity mesh lod change event has occurred. */
3538
- void _notifyEntityMeshLodChanged(EntityMeshLodChangedEvent& evt);
3539
-
3540
- /** Notify that an entity material lod change event has occurred. */
3541
- void _notifyEntityMaterialLodChanged(EntityMaterialLodChangedEvent& evt);
3542
-
3543
- /** Handle lod events. */
3544
- void _handleLodEvents();
3545
- };
3546
-
3547
- /** Default implementation of IntersectionSceneQuery. */
3548
- class _OgreExport DefaultIntersectionSceneQuery :
3549
- public IntersectionSceneQuery
3550
- {
3551
- public:
3552
- DefaultIntersectionSceneQuery(SceneManager* creator);
3553
- ~DefaultIntersectionSceneQuery();
3554
-
3555
- /** See IntersectionSceneQuery. */
3556
- void execute(IntersectionSceneQueryListener* listener);
3557
- };
3558
-
3559
- /** Default implementation of RaySceneQuery. */
3560
- class _OgreExport DefaultRaySceneQuery : public RaySceneQuery
3561
- {
3562
- public:
3563
- DefaultRaySceneQuery(SceneManager* creator);
3564
- ~DefaultRaySceneQuery();
3565
-
3566
- /** See RayScenQuery. */
3567
- void execute(RaySceneQueryListener* listener);
3568
- };
3569
- /** Default implementation of SphereSceneQuery. */
3570
- class _OgreExport DefaultSphereSceneQuery : public SphereSceneQuery
3571
- {
3572
- public:
3573
- DefaultSphereSceneQuery(SceneManager* creator);
3574
- ~DefaultSphereSceneQuery();
3575
-
3576
- /** See SceneQuery. */
3577
- void execute(SceneQueryListener* listener);
3578
- };
3579
- /** Default implementation of PlaneBoundedVolumeListSceneQuery. */
3580
- class _OgreExport DefaultPlaneBoundedVolumeListSceneQuery : public PlaneBoundedVolumeListSceneQuery
3581
- {
3582
- public:
3583
- DefaultPlaneBoundedVolumeListSceneQuery(SceneManager* creator);
3584
- ~DefaultPlaneBoundedVolumeListSceneQuery();
3585
-
3586
- /** See SceneQuery. */
3587
- void execute(SceneQueryListener* listener);
3588
- };
3589
- /** Default implementation of AxisAlignedBoxSceneQuery. */
3590
- class _OgreExport DefaultAxisAlignedBoxSceneQuery : public AxisAlignedBoxSceneQuery
3591
- {
3592
- public:
3593
- DefaultAxisAlignedBoxSceneQuery(SceneManager* creator);
3594
- ~DefaultAxisAlignedBoxSceneQuery();
3595
-
3596
- /** See RayScenQuery. */
3597
- void execute(SceneQueryListener* listener);
3598
- };
3599
-
3600
-
3601
- /// Bitmask containing scene types
3602
- typedef uint16 SceneTypeMask;
3603
-
3604
- /** Classification of a scene to allow a decision of what type of
3605
- SceenManager to provide back to the application.
3606
- */
3607
- enum SceneType
3608
- {
3609
- ST_GENERIC = 1,
3610
- ST_EXTERIOR_CLOSE = 2,
3611
- ST_EXTERIOR_FAR = 4,
3612
- ST_EXTERIOR_REAL_FAR = 8,
3613
- ST_INTERIOR = 16
3614
- };
3615
-
3616
- /** Structure containing information about a scene manager. */
3617
- struct SceneManagerMetaData
3618
- {
3619
- /// A globally unique string identifying the scene manager type
3620
- String typeName;
3621
- /// A text description of the scene manager
3622
- String description;
3623
- /// A mask describing which sorts of scenes this manager can handle
3624
- SceneTypeMask sceneTypeMask;
3625
- /// Flag indicating whether world geometry is supported
3626
- bool worldGeometrySupported;
3627
- };
3628
-
3629
-
3630
-
3631
- /** Class which will create instances of a given SceneManager. */
3632
- class _OgreExport SceneManagerFactory : public SceneMgtAlloc
3633
- {
3634
- protected:
3635
- mutable SceneManagerMetaData mMetaData;
3636
- mutable bool mMetaDataInit;
3637
- /// Internal method to initialise the metadata, must be implemented
3638
- virtual void initMetaData(void) const = 0;
3639
- public:
3640
- SceneManagerFactory() : mMetaDataInit(true) {}
3641
- virtual ~SceneManagerFactory() {}
3642
- /** Get information about the SceneManager type created by this factory. */
3643
- virtual const SceneManagerMetaData& getMetaData(void) const
3644
- {
3645
- if (mMetaDataInit)
3646
- {
3647
- initMetaData();
3648
- mMetaDataInit = false;
3649
- }
3650
- return mMetaData;
3651
- }
3652
- /** Create a new instance of a SceneManager.
3653
- @remarks
3654
- Don't call directly, use SceneManagerEnumerator::createSceneManager.
3655
- */
3656
- virtual SceneManager* createInstance(const String& instanceName) = 0;
3657
- /** Destroy an instance of a SceneManager. */
3658
- virtual void destroyInstance(SceneManager* instance) = 0;
3659
-
3660
- };
3661
-
3662
- /** @} */
3663
- /** @} */
3664
-
3665
-
3666
- } // Namespace
3667
-
3668
-
3669
-
3670
- #endif