ruby-ogre 0.0.5-x86-linux → 0.1.0-x86-linux

Sign up to get free protection for your applications and to get access to all the features.
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