shattered_ogrerb 0.5.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (905) hide show
  1. data/lib/shattered_ogrerb.rb +17 -0
  2. data/lib/shattered_ogrerb/base.rb +28 -0
  3. data/lib/shattered_ogrerb/camera.rb +6 -0
  4. data/lib/shattered_ogrerb/key_manager.rb +54 -0
  5. data/lib/shattered_ogrerb/light.rb +5 -0
  6. data/lib/shattered_ogrerb/mesh_instance.rb +92 -0
  7. data/lib/shattered_ogrerb/rmaterial.rb +86 -0
  8. data/lib/shattered_ogrerb/vector.rb +211 -0
  9. data/vendor/Ogre/OIS.dll +0 -0
  10. data/vendor/Ogre/OgreGUIRenderer.dll +0 -0
  11. data/vendor/Ogre/OgreMain.dll +0 -0
  12. data/vendor/Ogre/Plugin_BSPSceneManager.dll +0 -0
  13. data/vendor/Ogre/Plugin_CgProgramManager.dll +0 -0
  14. data/vendor/Ogre/Plugin_OctreeSceneManager.dll +0 -0
  15. data/vendor/Ogre/Plugin_ParticleFX.dll +0 -0
  16. data/vendor/Ogre/RenderSystem_Direct3D9.dll +0 -0
  17. data/vendor/Ogre/RenderSystem_GL.dll +0 -0
  18. data/vendor/Ogre/cg.dll +0 -0
  19. data/vendor/Ogre/plugins.cfg +9 -0
  20. data/vendor/ogrerb/MIT_LICENCE +19 -0
  21. data/vendor/ogrerb/README +79 -0
  22. data/vendor/ogrerb/Rakefile +220 -0
  23. data/vendor/ogrerb/build/navi/extconf.rb +53 -0
  24. data/vendor/ogrerb/build/ogre/extconf.rb +50 -0
  25. data/vendor/ogrerb/build/ois/extconf.rb +48 -0
  26. data/vendor/ogrerb/doc_src/ogre.rb +152 -0
  27. data/vendor/ogrerb/doc_src/ois.rb +67 -0
  28. data/vendor/ogrerb/lib/constants.rb +35 -0
  29. data/vendor/ogrerb/lib/ogre.dll +0 -0
  30. data/vendor/ogrerb/lib/ruby_ois.dll +0 -0
  31. data/vendor/ogrerb/navi/Navi.i +5 -0
  32. data/vendor/ogrerb/navi/NaviData.i +18 -0
  33. data/vendor/ogrerb/navi/NaviManager.i +5 -0
  34. data/vendor/ogrerb/navi/NaviProxies.i +7 -0
  35. data/vendor/ogrerb/navi/lib/Navi.lib +0 -0
  36. data/vendor/ogrerb/navi/lib/Navi_d.lib +0 -0
  37. data/vendor/ogrerb/navi/lib/llmozlib.lib +0 -0
  38. data/vendor/ogrerb/navi/lib/llmozlib_d.lib +0 -0
  39. data/vendor/ogrerb/navi/navi_rb.i +53 -0
  40. data/vendor/ogrerb/navi/std_multimap.i +581 -0
  41. data/vendor/ogrerb/ogre.rb +23 -0
  42. data/vendor/ogrerb/ogre/Application.i +59 -0
  43. data/vendor/ogrerb/ogre/ApplicationFrameListener.i +67 -0
  44. data/vendor/ogrerb/ogre/ExampleApplication.i +7 -0
  45. data/vendor/ogrerb/ogre/ExampleFrameListener.i +7 -0
  46. data/vendor/ogrerb/ogre/OgreAlignedAllocator.i +5 -0
  47. data/vendor/ogrerb/ogre/OgreAnimable.i +5 -0
  48. data/vendor/ogrerb/ogre/OgreAnimation.i +5 -0
  49. data/vendor/ogrerb/ogre/OgreAnimationState.i +9 -0
  50. data/vendor/ogrerb/ogre/OgreAnimationTrack.i +5 -0
  51. data/vendor/ogrerb/ogre/OgreAny.i +5 -0
  52. data/vendor/ogrerb/ogre/OgreArchive.i +5 -0
  53. data/vendor/ogrerb/ogre/OgreArchiveFactory.i +5 -0
  54. data/vendor/ogrerb/ogre/OgreArchiveManager.i +5 -0
  55. data/vendor/ogrerb/ogre/OgreAutoParamDataSource.i +5 -0
  56. data/vendor/ogrerb/ogre/OgreAxisAlignedBox.i +5 -0
  57. data/vendor/ogrerb/ogre/OgreBillboard.i +5 -0
  58. data/vendor/ogrerb/ogre/OgreBillboardChain.i +11 -0
  59. data/vendor/ogrerb/ogre/OgreBillboardParticleRenderer.i +5 -0
  60. data/vendor/ogrerb/ogre/OgreBillboardSet.i +5 -0
  61. data/vendor/ogrerb/ogre/OgreBitwise.i +5 -0
  62. data/vendor/ogrerb/ogre/OgreBlendMode.i +5 -0
  63. data/vendor/ogrerb/ogre/OgreBone.i +5 -0
  64. data/vendor/ogrerb/ogre/OgreBorderPanelOverlayElement.i +5 -0
  65. data/vendor/ogrerb/ogre/OgreCamera.i +5 -0
  66. data/vendor/ogrerb/ogre/OgreCodec.i +5 -0
  67. data/vendor/ogrerb/ogre/OgreColourValue.i +5 -0
  68. data/vendor/ogrerb/ogre/OgreCommon.i +33 -0
  69. data/vendor/ogrerb/ogre/OgreCompiler2Pass.i +5 -0
  70. data/vendor/ogrerb/ogre/OgreCompositionPass.i +5 -0
  71. data/vendor/ogrerb/ogre/OgreCompositionTargetPass.i +5 -0
  72. data/vendor/ogrerb/ogre/OgreCompositionTechnique.i +5 -0
  73. data/vendor/ogrerb/ogre/OgreCompositor.i +5 -0
  74. data/vendor/ogrerb/ogre/OgreCompositorChain.i +5 -0
  75. data/vendor/ogrerb/ogre/OgreCompositorInstance.i +5 -0
  76. data/vendor/ogrerb/ogre/OgreCompositorManager.i +5 -0
  77. data/vendor/ogrerb/ogre/OgreCompositorScriptCompiler.i +5 -0
  78. data/vendor/ogrerb/ogre/OgreCompositorSerializer.i +5 -0
  79. data/vendor/ogrerb/ogre/OgreConfig.i +5 -0
  80. data/vendor/ogrerb/ogre/OgreConfigDialog.i +5 -0
  81. data/vendor/ogrerb/ogre/OgreConfigFile.i +13 -0
  82. data/vendor/ogrerb/ogre/OgreConfigOptionMap.i +5 -0
  83. data/vendor/ogrerb/ogre/OgreController.i +5 -0
  84. data/vendor/ogrerb/ogre/OgreControllerManager.i +5 -0
  85. data/vendor/ogrerb/ogre/OgreConvexBody.i +5 -0
  86. data/vendor/ogrerb/ogre/OgreDDSCodec.i +5 -0
  87. data/vendor/ogrerb/ogre/OgreDataStream.i +9 -0
  88. data/vendor/ogrerb/ogre/OgreDefaultHardwareBufferManager.i +5 -0
  89. data/vendor/ogrerb/ogre/OgreDynLib.i +5 -0
  90. data/vendor/ogrerb/ogre/OgreDynLibManager.i +5 -0
  91. data/vendor/ogrerb/ogre/OgreEdgeListBuilder.i +5 -0
  92. data/vendor/ogrerb/ogre/OgreEntity.i +5 -0
  93. data/vendor/ogrerb/ogre/OgreErrorDialog.i +5 -0
  94. data/vendor/ogrerb/ogre/OgreException.i +5 -0
  95. data/vendor/ogrerb/ogre/OgreExternalTextureSource.i +5 -0
  96. data/vendor/ogrerb/ogre/OgreExternalTextureSourceManager.i +5 -0
  97. data/vendor/ogrerb/ogre/OgreFactoryObj.i +5 -0
  98. data/vendor/ogrerb/ogre/OgreFileSystem.i +5 -0
  99. data/vendor/ogrerb/ogre/OgreFont.i +5 -0
  100. data/vendor/ogrerb/ogre/OgreFontManager.i +5 -0
  101. data/vendor/ogrerb/ogre/OgreFrameListener.i +12 -0
  102. data/vendor/ogrerb/ogre/OgreFreeImageCodec.i +5 -0
  103. data/vendor/ogrerb/ogre/OgreFrustum.i +5 -0
  104. data/vendor/ogrerb/ogre/OgreGpuProgram.i +5 -0
  105. data/vendor/ogrerb/ogre/OgreGpuProgramManager.i +5 -0
  106. data/vendor/ogrerb/ogre/OgreGpuProgramUsage.i +5 -0
  107. data/vendor/ogrerb/ogre/OgreHardwareBuffer.i +5 -0
  108. data/vendor/ogrerb/ogre/OgreHardwareBufferManager.i +9 -0
  109. data/vendor/ogrerb/ogre/OgreHardwareIndexBuffer.i +9 -0
  110. data/vendor/ogrerb/ogre/OgreHardwareOcclusionQuery.i +5 -0
  111. data/vendor/ogrerb/ogre/OgreHardwarePixelBuffer.i +9 -0
  112. data/vendor/ogrerb/ogre/OgreHardwareVertexBuffer.i +10 -0
  113. data/vendor/ogrerb/ogre/OgreHighLevelGpuProgram.i +5 -0
  114. data/vendor/ogrerb/ogre/OgreHighLevelGpuProgramManager.i +5 -0
  115. data/vendor/ogrerb/ogre/OgreImage.i +5 -0
  116. data/vendor/ogrerb/ogre/OgreImageCodec.i +5 -0
  117. data/vendor/ogrerb/ogre/OgreInstancedGeometry.i +5 -0
  118. data/vendor/ogrerb/ogre/OgreIteratorWrappers.i +5 -0
  119. data/vendor/ogrerb/ogre/OgreKeyFrame.i +7 -0
  120. data/vendor/ogrerb/ogre/OgreLight.i +5 -0
  121. data/vendor/ogrerb/ogre/OgreLog.i +5 -0
  122. data/vendor/ogrerb/ogre/OgreLogManager.i +9 -0
  123. data/vendor/ogrerb/ogre/OgreManualObject.i +5 -0
  124. data/vendor/ogrerb/ogre/OgreMaterial.i +9 -0
  125. data/vendor/ogrerb/ogre/OgreMaterialManager.i +22 -0
  126. data/vendor/ogrerb/ogre/OgreMaterialScriptCompiler.i +5 -0
  127. data/vendor/ogrerb/ogre/OgreMaterialSerializer.i +5 -0
  128. data/vendor/ogrerb/ogre/OgreMath.i +48 -0
  129. data/vendor/ogrerb/ogre/OgreMatrix3.i +5 -0
  130. data/vendor/ogrerb/ogre/OgreMatrix4.i +5 -0
  131. data/vendor/ogrerb/ogre/OgreMemoryMacros.i +5 -0
  132. data/vendor/ogrerb/ogre/OgreMemoryManager.i +5 -0
  133. data/vendor/ogrerb/ogre/OgreMesh.i +11 -0
  134. data/vendor/ogrerb/ogre/OgreMeshFileFormat.i +5 -0
  135. data/vendor/ogrerb/ogre/OgreMeshManager.i +9 -0
  136. data/vendor/ogrerb/ogre/OgreMeshSerializer.i +5 -0
  137. data/vendor/ogrerb/ogre/OgreMeshSerializerImpl.i +5 -0
  138. data/vendor/ogrerb/ogre/OgreMovableObject.i +46 -0
  139. data/vendor/ogrerb/ogre/OgreMovablePlane.i +5 -0
  140. data/vendor/ogrerb/ogre/OgreNoMemoryMacros.i +5 -0
  141. data/vendor/ogrerb/ogre/OgreNode.i +11 -0
  142. data/vendor/ogrerb/ogre/OgreNumerics.i +5 -0
  143. data/vendor/ogrerb/ogre/OgreOverlay.i +5 -0
  144. data/vendor/ogrerb/ogre/OgreOverlayContainer.i +5 -0
  145. data/vendor/ogrerb/ogre/OgreOverlayElement.i +5 -0
  146. data/vendor/ogrerb/ogre/OgreOverlayElementCommands.i +5 -0
  147. data/vendor/ogrerb/ogre/OgreOverlayElementFactory.i +5 -0
  148. data/vendor/ogrerb/ogre/OgreOverlayManager.i +9 -0
  149. data/vendor/ogrerb/ogre/OgrePanelOverlayElement.i +5 -0
  150. data/vendor/ogrerb/ogre/OgreParticle.i +5 -0
  151. data/vendor/ogrerb/ogre/OgreParticleAffector.i +5 -0
  152. data/vendor/ogrerb/ogre/OgreParticleAffectorFactory.i +5 -0
  153. data/vendor/ogrerb/ogre/OgreParticleEmitter.i +5 -0
  154. data/vendor/ogrerb/ogre/OgreParticleEmitterCommands.i +5 -0
  155. data/vendor/ogrerb/ogre/OgreParticleEmitterFactory.i +5 -0
  156. data/vendor/ogrerb/ogre/OgreParticleIterator.i +5 -0
  157. data/vendor/ogrerb/ogre/OgreParticleSystem.i +9 -0
  158. data/vendor/ogrerb/ogre/OgreParticleSystemManager.i +9 -0
  159. data/vendor/ogrerb/ogre/OgreParticleSystemRenderer.i +9 -0
  160. data/vendor/ogrerb/ogre/OgrePass.i +10 -0
  161. data/vendor/ogrerb/ogre/OgrePatchMesh.i +11 -0
  162. data/vendor/ogrerb/ogre/OgrePatchSurface.i +5 -0
  163. data/vendor/ogrerb/ogre/OgrePixelFormat.i +5 -0
  164. data/vendor/ogrerb/ogre/OgrePlane.i +5 -0
  165. data/vendor/ogrerb/ogre/OgrePlaneBoundedVolume.i +5 -0
  166. data/vendor/ogrerb/ogre/OgrePlatform.i +5 -0
  167. data/vendor/ogrerb/ogre/OgrePlugin.i +5 -0
  168. data/vendor/ogrerb/ogre/OgrePolygon.i +5 -0
  169. data/vendor/ogrerb/ogre/OgrePose.i +5 -0
  170. data/vendor/ogrerb/ogre/OgrePredefinedControllers.i +5 -0
  171. data/vendor/ogrerb/ogre/OgrePrefabFactory.i +5 -0
  172. data/vendor/ogrerb/ogre/OgrePrerequisites.i +5 -0
  173. data/vendor/ogrerb/ogre/OgreProfiler.i +5 -0
  174. data/vendor/ogrerb/ogre/OgreProgressiveMesh.i +5 -0
  175. data/vendor/ogrerb/ogre/OgreProxies.i +10 -0
  176. data/vendor/ogrerb/ogre/OgreQuaternion.i +5 -0
  177. data/vendor/ogrerb/ogre/OgreRadixSort.i +5 -0
  178. data/vendor/ogrerb/ogre/OgreRay.i +5 -0
  179. data/vendor/ogrerb/ogre/OgreRectangle.i +5 -0
  180. data/vendor/ogrerb/ogre/OgreRectangle2D.i +5 -0
  181. data/vendor/ogrerb/ogre/OgreRenderOperation.i +5 -0
  182. data/vendor/ogrerb/ogre/OgreRenderQueue.i +10 -0
  183. data/vendor/ogrerb/ogre/OgreRenderQueueInvocation.i +5 -0
  184. data/vendor/ogrerb/ogre/OgreRenderQueueListener.i +5 -0
  185. data/vendor/ogrerb/ogre/OgreRenderQueueSortingGrouping.i +5 -0
  186. data/vendor/ogrerb/ogre/OgreRenderSystem.i +12 -0
  187. data/vendor/ogrerb/ogre/OgreRenderSystemCapabilities.i +7 -0
  188. data/vendor/ogrerb/ogre/OgreRenderTarget.i +27 -0
  189. data/vendor/ogrerb/ogre/OgreRenderTargetListener.i +7 -0
  190. data/vendor/ogrerb/ogre/OgreRenderTexture.i +5 -0
  191. data/vendor/ogrerb/ogre/OgreRenderWindow.i +9 -0
  192. data/vendor/ogrerb/ogre/OgreRenderable.i +5 -0
  193. data/vendor/ogrerb/ogre/OgreResource.i +68 -0
  194. data/vendor/ogrerb/ogre/OgreResourceBackgroundQueue.i +5 -0
  195. data/vendor/ogrerb/ogre/OgreResourceGroupManager.i +17 -0
  196. data/vendor/ogrerb/ogre/OgreResourceManager.i +5 -0
  197. data/vendor/ogrerb/ogre/OgreRibbonTrail.i +5 -0
  198. data/vendor/ogrerb/ogre/OgreRoot.i +9 -0
  199. data/vendor/ogrerb/ogre/OgreRotationalSpline.i +5 -0
  200. data/vendor/ogrerb/ogre/OgreSceneManager.i +17 -0
  201. data/vendor/ogrerb/ogre/OgreSceneManagerEnumerator.i +8 -0
  202. data/vendor/ogrerb/ogre/OgreSceneNode.i +9 -0
  203. data/vendor/ogrerb/ogre/OgreSceneQuery.i +5 -0
  204. data/vendor/ogrerb/ogre/OgreScriptLoader.i +5 -0
  205. data/vendor/ogrerb/ogre/OgreSearchOps.i +5 -0
  206. data/vendor/ogrerb/ogre/OgreSerializer.i +5 -0
  207. data/vendor/ogrerb/ogre/OgreShadowCameraSetup.i +5 -0
  208. data/vendor/ogrerb/ogre/OgreShadowCameraSetupFocused.i +5 -0
  209. data/vendor/ogrerb/ogre/OgreShadowCameraSetupLiSPSM.i +5 -0
  210. data/vendor/ogrerb/ogre/OgreShadowCameraSetupPlaneOptimal.i +5 -0
  211. data/vendor/ogrerb/ogre/OgreShadowCaster.i +5 -0
  212. data/vendor/ogrerb/ogre/OgreShadowTextureManager.i +7 -0
  213. data/vendor/ogrerb/ogre/OgreShadowVolumeExtrudeProgram.i +5 -0
  214. data/vendor/ogrerb/ogre/OgreSharedPtr.i +5 -0
  215. data/vendor/ogrerb/ogre/OgreSimpleRenderable.i +5 -0
  216. data/vendor/ogrerb/ogre/OgreSimpleSpline.i +5 -0
  217. data/vendor/ogrerb/ogre/OgreSingleton.i +9 -0
  218. data/vendor/ogrerb/ogre/OgreSkeleton.i +5 -0
  219. data/vendor/ogrerb/ogre/OgreSkeletonFileFormat.i +5 -0
  220. data/vendor/ogrerb/ogre/OgreSkeletonInstance.i +5 -0
  221. data/vendor/ogrerb/ogre/OgreSkeletonManager.i +5 -0
  222. data/vendor/ogrerb/ogre/OgreSkeletonSerializer.i +5 -0
  223. data/vendor/ogrerb/ogre/OgreSphere.i +5 -0
  224. data/vendor/ogrerb/ogre/OgreSpotShadowFadePng.i +5 -0
  225. data/vendor/ogrerb/ogre/OgreStableHeaders.i +5 -0
  226. data/vendor/ogrerb/ogre/OgreStaticFaceGroup.i +5 -0
  227. data/vendor/ogrerb/ogre/OgreStaticGeometry.i +5 -0
  228. data/vendor/ogrerb/ogre/OgreStdHeaders.i +5 -0
  229. data/vendor/ogrerb/ogre/OgreString.i +5 -0
  230. data/vendor/ogrerb/ogre/OgreStringConverter.i +5 -0
  231. data/vendor/ogrerb/ogre/OgreStringInterface.i +5 -0
  232. data/vendor/ogrerb/ogre/OgreStringVector.i +5 -0
  233. data/vendor/ogrerb/ogre/OgreSubEntity.i +5 -0
  234. data/vendor/ogrerb/ogre/OgreSubMesh.i +5 -0
  235. data/vendor/ogrerb/ogre/OgreTagPoint.i +5 -0
  236. data/vendor/ogrerb/ogre/OgreTechnique.i +5 -0
  237. data/vendor/ogrerb/ogre/OgreTextAreaOverlayElement.i +5 -0
  238. data/vendor/ogrerb/ogre/OgreTexture.i +9 -0
  239. data/vendor/ogrerb/ogre/OgreTextureManager.i +12 -0
  240. data/vendor/ogrerb/ogre/OgreTextureUnitState.i +12 -0
  241. data/vendor/ogrerb/ogre/OgreTimer.i +6 -0
  242. data/vendor/ogrerb/ogre/OgreUTFString.i +5 -0
  243. data/vendor/ogrerb/ogre/OgreUnifiedHighLevelGpuProgram.i +5 -0
  244. data/vendor/ogrerb/ogre/OgreUserDefinedObject.i +5 -0
  245. data/vendor/ogrerb/ogre/OgreVector2.i +5 -0
  246. data/vendor/ogrerb/ogre/OgreVector3.i +30 -0
  247. data/vendor/ogrerb/ogre/OgreVector4.i +5 -0
  248. data/vendor/ogrerb/ogre/OgreVertexBoneAssignment.i +5 -0
  249. data/vendor/ogrerb/ogre/OgreVertexIndexData.i +5 -0
  250. data/vendor/ogrerb/ogre/OgreViewport.i +5 -0
  251. data/vendor/ogrerb/ogre/OgreWindowEventUtilities.i +7 -0
  252. data/vendor/ogrerb/ogre/OgreWireBoundingBox.i +5 -0
  253. data/vendor/ogrerb/ogre/OgreZip.i +5 -0
  254. data/vendor/ogrerb/ogre/ogre_rb.i +343 -0
  255. data/vendor/ogrerb/ogre/std_multimap.i +581 -0
  256. data/vendor/ogrerb/ois/OISProxies.i +9 -0
  257. data/vendor/ogrerb/ois/OISRenames.i +11 -0
  258. data/vendor/ogrerb/ois/ois.i +135 -0
  259. data/vendor/ogrerb/ois/std_multimap.i +581 -0
  260. data/vendor/ogrerb/platform.rb +23 -0
  261. data/vendor/ogrerb/samples/application.rb +146 -0
  262. data/vendor/ogrerb/samples/application_frame_listener.rb +302 -0
  263. data/vendor/ogrerb/samples/application_loading_bar.rb +115 -0
  264. data/vendor/ogrerb/samples/bsp.rb +74 -0
  265. data/vendor/ogrerb/samples/cg.dll +0 -0
  266. data/vendor/ogrerb/samples/js3250.dll +0 -0
  267. data/vendor/ogrerb/samples/lighting.rb +136 -0
  268. data/vendor/ogrerb/samples/media/materials/scripts/CloudySky.material +17 -0
  269. data/vendor/ogrerb/samples/media/materials/scripts/Flare.material +17 -0
  270. data/vendor/ogrerb/samples/media/materials/scripts/Knot.material +14 -0
  271. data/vendor/ogrerb/samples/media/materials/scripts/MorningSkyBox.material +17 -0
  272. data/vendor/ogrerb/samples/media/materials/scripts/Ogre.material +119 -0
  273. data/vendor/ogrerb/samples/media/materials/scripts/Razor.material +14 -0
  274. data/vendor/ogrerb/samples/media/materials/scripts/Ribbon.material +19 -0
  275. data/vendor/ogrerb/samples/media/materials/scripts/RustySteel.material +14 -0
  276. data/vendor/ogrerb/samples/media/materials/scripts/SpaceSkyBox.material +17 -0
  277. data/vendor/ogrerb/samples/media/materials/scripts/SpaceSkyPlane.material +17 -0
  278. data/vendor/ogrerb/samples/media/materials/scripts/TextureEffects.material +15 -0
  279. data/vendor/ogrerb/samples/media/materials/scripts/dragon.material +42 -0
  280. data/vendor/ogrerb/samples/media/materials/scripts/smoke.material +18 -0
  281. data/vendor/ogrerb/samples/media/materials/textures/GreenSkin.jpg +0 -0
  282. data/vendor/ogrerb/samples/media/materials/textures/MtlPlat2.jpg +0 -0
  283. data/vendor/ogrerb/samples/media/materials/textures/RustedMetal.jpg +0 -0
  284. data/vendor/ogrerb/samples/media/materials/textures/RustySteel.jpg +0 -0
  285. data/vendor/ogrerb/samples/media/materials/textures/Water02.jpg +0 -0
  286. data/vendor/ogrerb/samples/media/materials/textures/WeirdEye.png +0 -0
  287. data/vendor/ogrerb/samples/media/materials/textures/clouds.jpg +0 -0
  288. data/vendor/ogrerb/samples/media/materials/textures/cursor.png +0 -0
  289. data/vendor/ogrerb/samples/media/materials/textures/dirt01.jpg +0 -0
  290. data/vendor/ogrerb/samples/media/materials/textures/flare.png +0 -0
  291. data/vendor/ogrerb/samples/media/materials/textures/ogreborder.png +0 -0
  292. data/vendor/ogrerb/samples/media/materials/textures/ogreborderUp.png +0 -0
  293. data/vendor/ogrerb/samples/media/materials/textures/ribbonband.png +0 -0
  294. data/vendor/ogrerb/samples/media/materials/textures/smoke.png +0 -0
  295. data/vendor/ogrerb/samples/media/materials/textures/smokecolors.png +0 -0
  296. data/vendor/ogrerb/samples/media/materials/textures/spacesky.jpg +0 -0
  297. data/vendor/ogrerb/samples/media/materials/textures/spheremap.png +0 -0
  298. data/vendor/ogrerb/samples/media/materials/textures/texmap2.jpg +0 -0
  299. data/vendor/ogrerb/samples/media/models/knot.mesh +0 -0
  300. data/vendor/ogrerb/samples/media/models/ogrehead.mesh +0 -0
  301. data/vendor/ogrerb/samples/media/models/razor.mesh +0 -0
  302. data/vendor/ogrerb/samples/media/packs/OgreCore.zip +0 -0
  303. data/vendor/ogrerb/samples/media/packs/chiropteraDM.pk3 +0 -0
  304. data/vendor/ogrerb/samples/media/packs/chiropteraDM.txt +99 -0
  305. data/vendor/ogrerb/samples/media/packs/cubemap.zip +0 -0
  306. data/vendor/ogrerb/samples/media/packs/cubemapsJS.zip +0 -0
  307. data/vendor/ogrerb/samples/media/packs/dragon.zip +0 -0
  308. data/vendor/ogrerb/samples/media/packs/skybox.zip +0 -0
  309. data/vendor/ogrerb/samples/media/particles/smoke.particle +43 -0
  310. data/vendor/ogrerb/samples/navi/Media/NaviDemo.material +60 -0
  311. data/vendor/ogrerb/samples/navi/Media/OgreCore.zip +0 -0
  312. data/vendor/ogrerb/samples/navi/Media/cerulean.jpg +0 -0
  313. data/vendor/ogrerb/samples/navi/Media/clouds.jpg +0 -0
  314. data/vendor/ogrerb/samples/navi/Media/controlsNaviMask.png +0 -0
  315. data/vendor/ogrerb/samples/navi/Media/grass.jpg +0 -0
  316. data/vendor/ogrerb/samples/navi/Media/knot.mesh +0 -0
  317. data/vendor/ogrerb/samples/navi/Media/testNaviMask.png +0 -0
  318. data/vendor/ogrerb/samples/navi/NaviLocal/Navi.js +136 -0
  319. data/vendor/ogrerb/samples/navi/NaviLocal/buttonBg.jpg +0 -0
  320. data/vendor/ogrerb/samples/navi/NaviLocal/controls.html +303 -0
  321. data/vendor/ogrerb/samples/navi/NaviLocal/knobBg.jpg +0 -0
  322. data/vendor/ogrerb/samples/navi/NaviLocal/moo.dropdownmenu.js +87 -0
  323. data/vendor/ogrerb/samples/navi/NaviLocal/mootools.v1.1.js +6964 -0
  324. data/vendor/ogrerb/samples/navi/NaviLocal/naviLogo.html +32 -0
  325. data/vendor/ogrerb/samples/navi/NaviLocal/naviLogo.png +0 -0
  326. data/vendor/ogrerb/samples/navi/NaviLocal/pageBg.jpg +0 -0
  327. data/vendor/ogrerb/samples/navi/NaviLocal/sliderBg.jpg +0 -0
  328. data/vendor/ogrerb/samples/navi/NaviLocal/test.html +5 -0
  329. data/vendor/ogrerb/samples/navi/NaviLocal/welcome.html +36 -0
  330. data/vendor/ogrerb/samples/navi/NaviLocal/welcome.png +0 -0
  331. data/vendor/ogrerb/samples/navi/chrome/chromelist.txt +597 -0
  332. data/vendor/ogrerb/samples/navi/chrome/classic.jar +0 -0
  333. data/vendor/ogrerb/samples/navi/chrome/classic.manifest +4 -0
  334. data/vendor/ogrerb/samples/navi/chrome/comm.jar +0 -0
  335. data/vendor/ogrerb/samples/navi/chrome/comm.manifest +2 -0
  336. data/vendor/ogrerb/samples/navi/chrome/en-US.jar +0 -0
  337. data/vendor/ogrerb/samples/navi/chrome/en-US.manifest +9 -0
  338. data/vendor/ogrerb/samples/navi/chrome/toolkit.jar +0 -0
  339. data/vendor/ogrerb/samples/navi/chrome/toolkit.manifest +6 -0
  340. data/vendor/ogrerb/samples/navi/components/FeedProcessor.js +1825 -0
  341. data/vendor/ogrerb/samples/navi/components/alerts.xpt +0 -0
  342. data/vendor/ogrerb/samples/navi/components/appshell.xpt +0 -0
  343. data/vendor/ogrerb/samples/navi/components/appstartup.xpt +0 -0
  344. data/vendor/ogrerb/samples/navi/components/auth.dll +0 -0
  345. data/vendor/ogrerb/samples/navi/components/autocomplete.xpt +0 -0
  346. data/vendor/ogrerb/samples/navi/components/autoconfig.dll +0 -0
  347. data/vendor/ogrerb/samples/navi/components/autoconfig.xpt +0 -0
  348. data/vendor/ogrerb/samples/navi/components/caps.xpt +0 -0
  349. data/vendor/ogrerb/samples/navi/components/chardet.xpt +0 -0
  350. data/vendor/ogrerb/samples/navi/components/chrome.xpt +0 -0
  351. data/vendor/ogrerb/samples/navi/components/commandhandler.xpt +0 -0
  352. data/vendor/ogrerb/samples/navi/components/commandlines.xpt +0 -0
  353. data/vendor/ogrerb/samples/navi/components/composer.xpt +0 -0
  354. data/vendor/ogrerb/samples/navi/components/compreg.dat +1474 -0
  355. data/vendor/ogrerb/samples/navi/components/content_base.xpt +0 -0
  356. data/vendor/ogrerb/samples/navi/components/content_html.xpt +0 -0
  357. data/vendor/ogrerb/samples/navi/components/content_htmldoc.xpt +0 -0
  358. data/vendor/ogrerb/samples/navi/components/content_xmldoc.xpt +0 -0
  359. data/vendor/ogrerb/samples/navi/components/content_xslt.xpt +0 -0
  360. data/vendor/ogrerb/samples/navi/components/content_xtf.xpt +0 -0
  361. data/vendor/ogrerb/samples/navi/components/directory.xpt +0 -0
  362. data/vendor/ogrerb/samples/navi/components/docshell_base.xpt +0 -0
  363. data/vendor/ogrerb/samples/navi/components/dom.xpt +0 -0
  364. data/vendor/ogrerb/samples/navi/components/dom_base.xpt +0 -0
  365. data/vendor/ogrerb/samples/navi/components/dom_canvas.xpt +0 -0
  366. data/vendor/ogrerb/samples/navi/components/dom_core.xpt +0 -0
  367. data/vendor/ogrerb/samples/navi/components/dom_css.xpt +0 -0
  368. data/vendor/ogrerb/samples/navi/components/dom_events.xpt +0 -0
  369. data/vendor/ogrerb/samples/navi/components/dom_html.xpt +0 -0
  370. data/vendor/ogrerb/samples/navi/components/dom_loadsave.xpt +0 -0
  371. data/vendor/ogrerb/samples/navi/components/dom_range.xpt +0 -0
  372. data/vendor/ogrerb/samples/navi/components/dom_sidebar.xpt +0 -0
  373. data/vendor/ogrerb/samples/navi/components/dom_storage.xpt +0 -0
  374. data/vendor/ogrerb/samples/navi/components/dom_stylesheets.xpt +0 -0
  375. data/vendor/ogrerb/samples/navi/components/dom_svg.xpt +0 -0
  376. data/vendor/ogrerb/samples/navi/components/dom_traversal.xpt +0 -0
  377. data/vendor/ogrerb/samples/navi/components/dom_views.xpt +0 -0
  378. data/vendor/ogrerb/samples/navi/components/dom_xbl.xpt +0 -0
  379. data/vendor/ogrerb/samples/navi/components/dom_xpath.xpt +0 -0
  380. data/vendor/ogrerb/samples/navi/components/dom_xul.xpt +0 -0
  381. data/vendor/ogrerb/samples/navi/components/downloads.xpt +0 -0
  382. data/vendor/ogrerb/samples/navi/components/editor.xpt +0 -0
  383. data/vendor/ogrerb/samples/navi/components/embed_base.xpt +0 -0
  384. data/vendor/ogrerb/samples/navi/components/extensions.xpt +0 -0
  385. data/vendor/ogrerb/samples/navi/components/exthandler.xpt +0 -0
  386. data/vendor/ogrerb/samples/navi/components/fastfind.xpt +0 -0
  387. data/vendor/ogrerb/samples/navi/components/feeds.xpt +0 -0
  388. data/vendor/ogrerb/samples/navi/components/find.xpt +0 -0
  389. data/vendor/ogrerb/samples/navi/components/gfx.xpt +0 -0
  390. data/vendor/ogrerb/samples/navi/components/gksvgrenderer.xpt +0 -0
  391. data/vendor/ogrerb/samples/navi/components/history.xpt +0 -0
  392. data/vendor/ogrerb/samples/navi/components/htmlparser.xpt +0 -0
  393. data/vendor/ogrerb/samples/navi/components/imglib2.xpt +0 -0
  394. data/vendor/ogrerb/samples/navi/components/inspector.xpt +0 -0
  395. data/vendor/ogrerb/samples/navi/components/intl.xpt +0 -0
  396. data/vendor/ogrerb/samples/navi/components/intlcmpt.xpt +0 -0
  397. data/vendor/ogrerb/samples/navi/components/jar.xpt +0 -0
  398. data/vendor/ogrerb/samples/navi/components/jsconsole-clhandler.js +170 -0
  399. data/vendor/ogrerb/samples/navi/components/jsconsole.xpt +0 -0
  400. data/vendor/ogrerb/samples/navi/components/jsdservice.xpt +0 -0
  401. data/vendor/ogrerb/samples/navi/components/layout_base.xpt +0 -0
  402. data/vendor/ogrerb/samples/navi/components/layout_printing.xpt +0 -0
  403. data/vendor/ogrerb/samples/navi/components/layout_xul.xpt +0 -0
  404. data/vendor/ogrerb/samples/navi/components/layout_xul_tree.xpt +0 -0
  405. data/vendor/ogrerb/samples/navi/components/locale.xpt +0 -0
  406. data/vendor/ogrerb/samples/navi/components/lwbrk.xpt +0 -0
  407. data/vendor/ogrerb/samples/navi/components/mimetype.xpt +0 -0
  408. data/vendor/ogrerb/samples/navi/components/mozbrwsr.xpt +0 -0
  409. data/vendor/ogrerb/samples/navi/components/mozfind.xpt +0 -0
  410. data/vendor/ogrerb/samples/navi/components/necko.xpt +0 -0
  411. data/vendor/ogrerb/samples/navi/components/necko_about.xpt +0 -0
  412. data/vendor/ogrerb/samples/navi/components/necko_cache.xpt +0 -0
  413. data/vendor/ogrerb/samples/navi/components/necko_cookie.xpt +0 -0
  414. data/vendor/ogrerb/samples/navi/components/necko_data.xpt +0 -0
  415. data/vendor/ogrerb/samples/navi/components/necko_dns.xpt +0 -0
  416. data/vendor/ogrerb/samples/navi/components/necko_file.xpt +0 -0
  417. data/vendor/ogrerb/samples/navi/components/necko_ftp.xpt +0 -0
  418. data/vendor/ogrerb/samples/navi/components/necko_http.xpt +0 -0
  419. data/vendor/ogrerb/samples/navi/components/necko_res.xpt +0 -0
  420. data/vendor/ogrerb/samples/navi/components/necko_socket.xpt +0 -0
  421. data/vendor/ogrerb/samples/navi/components/necko_strconv.xpt +0 -0
  422. data/vendor/ogrerb/samples/navi/components/necko_viewsource.xpt +0 -0
  423. data/vendor/ogrerb/samples/navi/components/nsCloseAllWindows.js +143 -0
  424. data/vendor/ogrerb/samples/navi/components/nsDefaultCLH.js +231 -0
  425. data/vendor/ogrerb/samples/navi/components/nsDictionary.js +148 -0
  426. data/vendor/ogrerb/samples/navi/components/nsExtensionManager.js +8497 -0
  427. data/vendor/ogrerb/samples/navi/components/nsHelperAppDlg.js +990 -0
  428. data/vendor/ogrerb/samples/navi/components/nsInterfaceInfoToIDL.js +590 -0
  429. data/vendor/ogrerb/samples/navi/components/nsKillAll.js +200 -0
  430. data/vendor/ogrerb/samples/navi/components/nsPostUpdateWin.js +711 -0
  431. data/vendor/ogrerb/samples/navi/components/nsProgressDialog.js +949 -0
  432. data/vendor/ogrerb/samples/navi/components/nsProxyAutoConfig.js +396 -0
  433. data/vendor/ogrerb/samples/navi/components/nsResetPref.js +175 -0
  434. data/vendor/ogrerb/samples/navi/components/nsURLFormatter.js +179 -0
  435. data/vendor/ogrerb/samples/navi/components/nsUpdateService.js +3074 -0
  436. data/vendor/ogrerb/samples/navi/components/nsXULAppInstall.js +301 -0
  437. data/vendor/ogrerb/samples/navi/components/nsXmlRpcClient.js +1038 -0
  438. data/vendor/ogrerb/samples/navi/components/oji.xpt +0 -0
  439. data/vendor/ogrerb/samples/navi/components/passwordmgr.xpt +0 -0
  440. data/vendor/ogrerb/samples/navi/components/pipboot.xpt +0 -0
  441. data/vendor/ogrerb/samples/navi/components/pipnss.xpt +0 -0
  442. data/vendor/ogrerb/samples/navi/components/plugin.xpt +0 -0
  443. data/vendor/ogrerb/samples/navi/components/pref.xpt +0 -0
  444. data/vendor/ogrerb/samples/navi/components/prefetch.xpt +0 -0
  445. data/vendor/ogrerb/samples/navi/components/profile.xpt +0 -0
  446. data/vendor/ogrerb/samples/navi/components/progressDlg.xpt +0 -0
  447. data/vendor/ogrerb/samples/navi/components/proxyObject.xpt +0 -0
  448. data/vendor/ogrerb/samples/navi/components/rdf.xpt +0 -0
  449. data/vendor/ogrerb/samples/navi/components/satchel.xpt +0 -0
  450. data/vendor/ogrerb/samples/navi/components/saxparser.xpt +0 -0
  451. data/vendor/ogrerb/samples/navi/components/shistory.xpt +0 -0
  452. data/vendor/ogrerb/samples/navi/components/storage.xpt +0 -0
  453. data/vendor/ogrerb/samples/navi/components/toolkitprofile.xpt +0 -0
  454. data/vendor/ogrerb/samples/navi/components/transformiix.dll +0 -0
  455. data/vendor/ogrerb/samples/navi/components/txmgr.xpt +0 -0
  456. data/vendor/ogrerb/samples/navi/components/txtsvc.xpt +0 -0
  457. data/vendor/ogrerb/samples/navi/components/uconv.xpt +0 -0
  458. data/vendor/ogrerb/samples/navi/components/unicharutil.xpt +0 -0
  459. data/vendor/ogrerb/samples/navi/components/universalchardet.dll +0 -0
  460. data/vendor/ogrerb/samples/navi/components/update.xpt +0 -0
  461. data/vendor/ogrerb/samples/navi/components/uriloader.xpt +0 -0
  462. data/vendor/ogrerb/samples/navi/components/urlformatter.xpt +0 -0
  463. data/vendor/ogrerb/samples/navi/components/webBrowser_core.xpt +0 -0
  464. data/vendor/ogrerb/samples/navi/components/webbrowserpersist.xpt +0 -0
  465. data/vendor/ogrerb/samples/navi/components/webshell_idls.xpt +0 -0
  466. data/vendor/ogrerb/samples/navi/components/websrvcs.dll +0 -0
  467. data/vendor/ogrerb/samples/navi/components/websrvcs.xpt +0 -0
  468. data/vendor/ogrerb/samples/navi/components/widget.xpt +0 -0
  469. data/vendor/ogrerb/samples/navi/components/windowds.xpt +0 -0
  470. data/vendor/ogrerb/samples/navi/components/windowwatcher.xpt +0 -0
  471. data/vendor/ogrerb/samples/navi/components/xml-rpc.xpt +0 -0
  472. data/vendor/ogrerb/samples/navi/components/xmlextras.dll +0 -0
  473. data/vendor/ogrerb/samples/navi/components/xpcom_base.xpt +0 -0
  474. data/vendor/ogrerb/samples/navi/components/xpcom_components.xpt +0 -0
  475. data/vendor/ogrerb/samples/navi/components/xpcom_ds.xpt +0 -0
  476. data/vendor/ogrerb/samples/navi/components/xpcom_io.xpt +0 -0
  477. data/vendor/ogrerb/samples/navi/components/xpcom_obsolete.xpt +0 -0
  478. data/vendor/ogrerb/samples/navi/components/xpcom_thread.xpt +0 -0
  479. data/vendor/ogrerb/samples/navi/components/xpcom_xpti.xpt +0 -0
  480. data/vendor/ogrerb/samples/navi/components/xpconnect.xpt +0 -0
  481. data/vendor/ogrerb/samples/navi/components/xpinstall.xpt +0 -0
  482. data/vendor/ogrerb/samples/navi/components/xpti.dat +1424 -0
  483. data/vendor/ogrerb/samples/navi/components/xulapp.xpt +0 -0
  484. data/vendor/ogrerb/samples/navi/components/xulapp_setup.xpt +0 -0
  485. data/vendor/ogrerb/samples/navi/components/xuldoc.xpt +0 -0
  486. data/vendor/ogrerb/samples/navi/components/xulrunner.xpt +0 -0
  487. data/vendor/ogrerb/samples/navi/components/xultmpl.xpt +0 -0
  488. data/vendor/ogrerb/samples/navi/components/xulutil.dll +0 -0
  489. data/vendor/ogrerb/samples/navi/controlsNaviMask.png +0 -0
  490. data/vendor/ogrerb/samples/navi/greprefs/all.js +1344 -0
  491. data/vendor/ogrerb/samples/navi/greprefs/security-prefs.js +69 -0
  492. data/vendor/ogrerb/samples/navi/greprefs/xpinstall.js +2 -0
  493. data/vendor/ogrerb/samples/navi/navi_demo.rb +207 -0
  494. data/vendor/ogrerb/samples/navi/plugins.cfg +10 -0
  495. data/vendor/ogrerb/samples/navi/plugins/NPSWF32.dll +0 -0
  496. data/vendor/ogrerb/samples/navi/plugins/flashplayer.xpt +0 -0
  497. data/vendor/ogrerb/samples/navi/plugins/npnul32.dll +0 -0
  498. data/vendor/ogrerb/samples/navi/res/EditorOverride.css +359 -0
  499. data/vendor/ogrerb/samples/navi/res/Thumbs.db +0 -0
  500. data/vendor/ogrerb/samples/navi/res/arrow.gif +0 -0
  501. data/vendor/ogrerb/samples/navi/res/arrowd.gif +0 -0
  502. data/vendor/ogrerb/samples/navi/res/bloatcycle.html +40 -0
  503. data/vendor/ogrerb/samples/navi/res/broken-image.gif +0 -0
  504. data/vendor/ogrerb/samples/navi/res/charsetData.properties +199 -0
  505. data/vendor/ogrerb/samples/navi/res/charsetalias.properties +517 -0
  506. data/vendor/ogrerb/samples/navi/res/cmessage.txt +1 -0
  507. data/vendor/ogrerb/samples/navi/res/dtd/xhtml11.dtd +300 -0
  508. data/vendor/ogrerb/samples/navi/res/entityTables/html40Latin1.properties +146 -0
  509. data/vendor/ogrerb/samples/navi/res/entityTables/html40Special.properties +69 -0
  510. data/vendor/ogrerb/samples/navi/res/entityTables/html40Symbols.properties +164 -0
  511. data/vendor/ogrerb/samples/navi/res/entityTables/htmlEntityVersions.properties +50 -0
  512. data/vendor/ogrerb/samples/navi/res/entityTables/transliterate.properties +2367 -0
  513. data/vendor/ogrerb/samples/navi/res/fonts/fontEncoding.properties +127 -0
  514. data/vendor/ogrerb/samples/navi/res/fonts/fontNameMap.properties +134 -0
  515. data/vendor/ogrerb/samples/navi/res/forms.css +531 -0
  516. data/vendor/ogrerb/samples/navi/res/grabber.gif +0 -0
  517. data/vendor/ogrerb/samples/navi/res/hiddenWindow.html +1 -0
  518. data/vendor/ogrerb/samples/navi/res/html.css +478 -0
  519. data/vendor/ogrerb/samples/navi/res/html/Thumbs.db +0 -0
  520. data/vendor/ogrerb/samples/navi/res/html/gopher-audio.gif +0 -0
  521. data/vendor/ogrerb/samples/navi/res/html/gopher-binary.gif +0 -0
  522. data/vendor/ogrerb/samples/navi/res/html/gopher-find.gif +0 -0
  523. data/vendor/ogrerb/samples/navi/res/html/gopher-image.gif +0 -0
  524. data/vendor/ogrerb/samples/navi/res/html/gopher-menu.gif +0 -0
  525. data/vendor/ogrerb/samples/navi/res/html/gopher-movie.gif +0 -0
  526. data/vendor/ogrerb/samples/navi/res/html/gopher-sound.gif +0 -0
  527. data/vendor/ogrerb/samples/navi/res/html/gopher-telnet.gif +0 -0
  528. data/vendor/ogrerb/samples/navi/res/html/gopher-text.gif +0 -0
  529. data/vendor/ogrerb/samples/navi/res/html/gopher-unknown.gif +0 -0
  530. data/vendor/ogrerb/samples/navi/res/langGroups.properties +236 -0
  531. data/vendor/ogrerb/samples/navi/res/language.properties +259 -0
  532. data/vendor/ogrerb/samples/navi/res/loading-image.gif +0 -0
  533. data/vendor/ogrerb/samples/navi/res/quirk.css +282 -0
  534. data/vendor/ogrerb/samples/navi/res/samples/Anieyes.gif +0 -0
  535. data/vendor/ogrerb/samples/navi/res/samples/Thumbs.db +0 -0
  536. data/vendor/ogrerb/samples/navi/res/samples/aform.css +69 -0
  537. data/vendor/ogrerb/samples/navi/res/samples/beeptest.html +18 -0
  538. data/vendor/ogrerb/samples/navi/res/samples/bform.css +45 -0
  539. data/vendor/ogrerb/samples/navi/res/samples/bg.jpg +0 -0
  540. data/vendor/ogrerb/samples/navi/res/samples/cform.css +40 -0
  541. data/vendor/ogrerb/samples/navi/res/samples/checkboxTest.xul +47 -0
  542. data/vendor/ogrerb/samples/navi/res/samples/demoform.css +97 -0
  543. data/vendor/ogrerb/samples/navi/res/samples/find.html +97 -0
  544. data/vendor/ogrerb/samples/navi/res/samples/gear1.gif +0 -0
  545. data/vendor/ogrerb/samples/navi/res/samples/image_props.html +58 -0
  546. data/vendor/ogrerb/samples/navi/res/samples/mozform.css +256 -0
  547. data/vendor/ogrerb/samples/navi/res/samples/printsetup.html +175 -0
  548. data/vendor/ogrerb/samples/navi/res/samples/raptor.jpg +0 -0
  549. data/vendor/ogrerb/samples/navi/res/samples/rock_gra.gif +0 -0
  550. data/vendor/ogrerb/samples/navi/res/samples/scrollbarTest1.xul +66 -0
  551. data/vendor/ogrerb/samples/navi/res/samples/scrollbarTest2.xul +19 -0
  552. data/vendor/ogrerb/samples/navi/res/samples/sliderTest1.xul +14 -0
  553. data/vendor/ogrerb/samples/navi/res/samples/soundtest.html +20 -0
  554. data/vendor/ogrerb/samples/navi/res/samples/test.wav +0 -0
  555. data/vendor/ogrerb/samples/navi/res/samples/test0.html +220 -0
  556. data/vendor/ogrerb/samples/navi/res/samples/test1.html +84 -0
  557. data/vendor/ogrerb/samples/navi/res/samples/test10.html +16 -0
  558. data/vendor/ogrerb/samples/navi/res/samples/test11.html +42 -0
  559. data/vendor/ogrerb/samples/navi/res/samples/test12.html +79 -0
  560. data/vendor/ogrerb/samples/navi/res/samples/test13.html +126 -0
  561. data/vendor/ogrerb/samples/navi/res/samples/test14.html +5 -0
  562. data/vendor/ogrerb/samples/navi/res/samples/test15.html +5 -0
  563. data/vendor/ogrerb/samples/navi/res/samples/test16.html +124 -0
  564. data/vendor/ogrerb/samples/navi/res/samples/test2.html +41 -0
  565. data/vendor/ogrerb/samples/navi/res/samples/test3.html +126 -0
  566. data/vendor/ogrerb/samples/navi/res/samples/test4.html +335 -0
  567. data/vendor/ogrerb/samples/navi/res/samples/test5.html +199 -0
  568. data/vendor/ogrerb/samples/navi/res/samples/test6.html +335 -0
  569. data/vendor/ogrerb/samples/navi/res/samples/test7.html +11 -0
  570. data/vendor/ogrerb/samples/navi/res/samples/test8-1.html +66 -0
  571. data/vendor/ogrerb/samples/navi/res/samples/test8.html +662 -0
  572. data/vendor/ogrerb/samples/navi/res/samples/test8dom.html +64 -0
  573. data/vendor/ogrerb/samples/navi/res/samples/test8sca.html +308 -0
  574. data/vendor/ogrerb/samples/navi/res/samples/test8siz.html +224 -0
  575. data/vendor/ogrerb/samples/navi/res/samples/test8tab.html +9 -0
  576. data/vendor/ogrerb/samples/navi/res/samples/test9.html +12 -0
  577. data/vendor/ogrerb/samples/navi/res/samples/test9a.html +39 -0
  578. data/vendor/ogrerb/samples/navi/res/samples/test9b.html +16 -0
  579. data/vendor/ogrerb/samples/navi/res/samples/test_ed.html +5 -0
  580. data/vendor/ogrerb/samples/navi/res/samples/test_form.html +34 -0
  581. data/vendor/ogrerb/samples/navi/res/samples/test_gfx.html +75 -0
  582. data/vendor/ogrerb/samples/navi/res/samples/test_lbox.html +100 -0
  583. data/vendor/ogrerb/samples/navi/res/samples/test_pr.html +87 -0
  584. data/vendor/ogrerb/samples/navi/res/samples/test_weight.html +45 -0
  585. data/vendor/ogrerb/samples/navi/res/samples/toolbarTest1.xul +51 -0
  586. data/vendor/ogrerb/samples/navi/res/samples/treeTest1.css +62 -0
  587. data/vendor/ogrerb/samples/navi/res/samples/treeTest1.xul +110 -0
  588. data/vendor/ogrerb/samples/navi/res/samples/xulTest.css +130 -0
  589. data/vendor/ogrerb/samples/navi/res/svg.css +64 -0
  590. data/vendor/ogrerb/samples/navi/res/table-add-column-after-active.gif +0 -0
  591. data/vendor/ogrerb/samples/navi/res/table-add-column-after-hover.gif +0 -0
  592. data/vendor/ogrerb/samples/navi/res/table-add-column-after.gif +0 -0
  593. data/vendor/ogrerb/samples/navi/res/table-add-column-before-active.gif +0 -0
  594. data/vendor/ogrerb/samples/navi/res/table-add-column-before-hover.gif +0 -0
  595. data/vendor/ogrerb/samples/navi/res/table-add-column-before.gif +0 -0
  596. data/vendor/ogrerb/samples/navi/res/table-add-row-after-active.gif +0 -0
  597. data/vendor/ogrerb/samples/navi/res/table-add-row-after-hover.gif +0 -0
  598. data/vendor/ogrerb/samples/navi/res/table-add-row-after.gif +0 -0
  599. data/vendor/ogrerb/samples/navi/res/table-add-row-before-active.gif +0 -0
  600. data/vendor/ogrerb/samples/navi/res/table-add-row-before-hover.gif +0 -0
  601. data/vendor/ogrerb/samples/navi/res/table-add-row-before.gif +0 -0
  602. data/vendor/ogrerb/samples/navi/res/table-remove-column-active.gif +0 -0
  603. data/vendor/ogrerb/samples/navi/res/table-remove-column-hover.gif +0 -0
  604. data/vendor/ogrerb/samples/navi/res/table-remove-column.gif +0 -0
  605. data/vendor/ogrerb/samples/navi/res/table-remove-row-active.gif +0 -0
  606. data/vendor/ogrerb/samples/navi/res/table-remove-row-hover.gif +0 -0
  607. data/vendor/ogrerb/samples/navi/res/table-remove-row.gif +0 -0
  608. data/vendor/ogrerb/samples/navi/res/throbber/Thumbs.db +0 -0
  609. data/vendor/ogrerb/samples/navi/res/throbber/anim.gif +0 -0
  610. data/vendor/ogrerb/samples/navi/res/throbber/anims00.gif +0 -0
  611. data/vendor/ogrerb/samples/navi/res/throbber/anims01.gif +0 -0
  612. data/vendor/ogrerb/samples/navi/res/throbber/anims02.gif +0 -0
  613. data/vendor/ogrerb/samples/navi/res/throbber/anims03.gif +0 -0
  614. data/vendor/ogrerb/samples/navi/res/throbber/anims04.gif +0 -0
  615. data/vendor/ogrerb/samples/navi/res/throbber/anims05.gif +0 -0
  616. data/vendor/ogrerb/samples/navi/res/throbber/anims06.gif +0 -0
  617. data/vendor/ogrerb/samples/navi/res/throbber/anims07.gif +0 -0
  618. data/vendor/ogrerb/samples/navi/res/throbber/anims08.gif +0 -0
  619. data/vendor/ogrerb/samples/navi/res/throbber/anims09.gif +0 -0
  620. data/vendor/ogrerb/samples/navi/res/throbber/anims10.gif +0 -0
  621. data/vendor/ogrerb/samples/navi/res/throbber/anims11.gif +0 -0
  622. data/vendor/ogrerb/samples/navi/res/throbber/anims12.gif +0 -0
  623. data/vendor/ogrerb/samples/navi/res/throbber/anims13.gif +0 -0
  624. data/vendor/ogrerb/samples/navi/res/throbber/anims14.gif +0 -0
  625. data/vendor/ogrerb/samples/navi/res/throbber/anims15.gif +0 -0
  626. data/vendor/ogrerb/samples/navi/res/throbber/anims16.gif +0 -0
  627. data/vendor/ogrerb/samples/navi/res/throbber/anims17.gif +0 -0
  628. data/vendor/ogrerb/samples/navi/res/throbber/anims18.gif +0 -0
  629. data/vendor/ogrerb/samples/navi/res/throbber/anims19.gif +0 -0
  630. data/vendor/ogrerb/samples/navi/res/throbber/anims20.gif +0 -0
  631. data/vendor/ogrerb/samples/navi/res/throbber/anims21.gif +0 -0
  632. data/vendor/ogrerb/samples/navi/res/throbber/anims22.gif +0 -0
  633. data/vendor/ogrerb/samples/navi/res/throbber/anims23.gif +0 -0
  634. data/vendor/ogrerb/samples/navi/res/throbber/anims24.gif +0 -0
  635. data/vendor/ogrerb/samples/navi/res/throbber/anims25.gif +0 -0
  636. data/vendor/ogrerb/samples/navi/res/throbber/anims26.gif +0 -0
  637. data/vendor/ogrerb/samples/navi/res/throbber/anims27.gif +0 -0
  638. data/vendor/ogrerb/samples/navi/res/throbber/anims28.gif +0 -0
  639. data/vendor/ogrerb/samples/navi/res/throbber/anims29.gif +0 -0
  640. data/vendor/ogrerb/samples/navi/res/ua.css +235 -0
  641. data/vendor/ogrerb/samples/navi/res/viewer.properties +1 -0
  642. data/vendor/ogrerb/samples/navi/res/viewsource.css +118 -0
  643. data/vendor/ogrerb/samples/navi/res/wincharset.properties +55 -0
  644. data/vendor/ogrerb/samples/navi/resources.cfg +14 -0
  645. data/vendor/ogrerb/samples/navi/testNaviMask.png +0 -0
  646. data/vendor/ogrerb/samples/plugins.cfg +11 -0
  647. data/vendor/ogrerb/samples/quake3settings.cfg +2 -0
  648. data/vendor/ogrerb/samples/render_to_texture.rb +159 -0
  649. data/vendor/ogrerb/samples/resources.cfg +14 -0
  650. data/vendor/ogrerb/samples/sky_box.rb +105 -0
  651. data/vendor/ogrerb/samples/sky_dome.rb +84 -0
  652. data/vendor/ogrerb/samples/sky_plane.rb +24 -0
  653. data/vendor/ogrerb/samples/smoke.rb +21 -0
  654. data/vendor/ogrerb/src_headers/ExampleApplication/ExampleApplication.h +266 -0
  655. data/vendor/ogrerb/src_headers/ExampleApplication/ExampleFrameListener.h +408 -0
  656. data/vendor/ogrerb/src_headers/ExampleApplication/ExampleLoadingBar.h +182 -0
  657. data/vendor/ogrerb/src_headers/OGRE/GLX/OgreConfigDialogImp.h +76 -0
  658. data/vendor/ogrerb/src_headers/OGRE/GLX/OgreErrorDialogImp.h +53 -0
  659. data/vendor/ogrerb/src_headers/OGRE/GLX/OgreTimerImp.h +63 -0
  660. data/vendor/ogrerb/src_headers/OGRE/Ogre.h +130 -0
  661. data/vendor/ogrerb/src_headers/OGRE/OgreAlignedAllocator.h +181 -0
  662. data/vendor/ogrerb/src_headers/OGRE/OgreAnimable.h +299 -0
  663. data/vendor/ogrerb/src_headers/OGRE/OgreAnimation.h +406 -0
  664. data/vendor/ogrerb/src_headers/OGRE/OgreAnimationState.h +229 -0
  665. data/vendor/ogrerb/src_headers/OGRE/OgreAnimationTrack.h +547 -0
  666. data/vendor/ogrerb/src_headers/OGRE/OgreAny.h +405 -0
  667. data/vendor/ogrerb/src_headers/OGRE/OgreArchive.h +191 -0
  668. data/vendor/ogrerb/src_headers/OGRE/OgreArchiveFactory.h +62 -0
  669. data/vendor/ogrerb/src_headers/OGRE/OgreArchiveManager.h +130 -0
  670. data/vendor/ogrerb/src_headers/OGRE/OgreAutoParamDataSource.h +225 -0
  671. data/vendor/ogrerb/src_headers/OGRE/OgreAxisAlignedBox.h +790 -0
  672. data/vendor/ogrerb/src_headers/OGRE/OgreBillboard.h +217 -0
  673. data/vendor/ogrerb/src_headers/OGRE/OgreBillboardChain.h +343 -0
  674. data/vendor/ogrerb/src_headers/OGRE/OgreBillboardParticleRenderer.h +250 -0
  675. data/vendor/ogrerb/src_headers/OGRE/OgreBillboardSet.h +841 -0
  676. data/vendor/ogrerb/src_headers/OGRE/OgreBitwise.h +323 -0
  677. data/vendor/ogrerb/src_headers/OGRE/OgreBlendMode.h +245 -0
  678. data/vendor/ogrerb/src_headers/OGRE/OgreBone.h +142 -0
  679. data/vendor/ogrerb/src_headers/OGRE/OgreBorderPanelOverlayElement.h +344 -0
  680. data/vendor/ogrerb/src_headers/OGRE/OgreCamera.h +566 -0
  681. data/vendor/ogrerb/src_headers/OGRE/OgreCodec.h +133 -0
  682. data/vendor/ogrerb/src_headers/OGRE/OgreColourValue.h +319 -0
  683. data/vendor/ogrerb/src_headers/OGRE/OgreCommon.h +425 -0
  684. data/vendor/ogrerb/src_headers/OGRE/OgreCompiler2Pass.h +667 -0
  685. data/vendor/ogrerb/src_headers/OGRE/OgreCompositionPass.h +271 -0
  686. data/vendor/ogrerb/src_headers/OGRE/OgreCompositionTargetPass.h +153 -0
  687. data/vendor/ogrerb/src_headers/OGRE/OgreCompositionTechnique.h +146 -0
  688. data/vendor/ogrerb/src_headers/OGRE/OgreCompositor.h +179 -0
  689. data/vendor/ogrerb/src_headers/OGRE/OgreCompositorChain.h +208 -0
  690. data/vendor/ogrerb/src_headers/OGRE/OgreCompositorInstance.h +262 -0
  691. data/vendor/ogrerb/src_headers/OGRE/OgreCompositorManager.h +170 -0
  692. data/vendor/ogrerb/src_headers/OGRE/OgreCompositorScriptCompiler.h +186 -0
  693. data/vendor/ogrerb/src_headers/OGRE/OgreCompositorSerializer.h +59 -0
  694. data/vendor/ogrerb/src_headers/OGRE/OgreConfig.h +120 -0
  695. data/vendor/ogrerb/src_headers/OGRE/OgreConfigDialog.h +50 -0
  696. data/vendor/ogrerb/src_headers/OGRE/OgreConfigFile.h +102 -0
  697. data/vendor/ogrerb/src_headers/OGRE/OgreConfigOptionMap.h +56 -0
  698. data/vendor/ogrerb/src_headers/OGRE/OgreController.h +227 -0
  699. data/vendor/ogrerb/src_headers/OGRE/OgreControllerManager.h +287 -0
  700. data/vendor/ogrerb/src_headers/OGRE/OgreConvexBody.h +252 -0
  701. data/vendor/ogrerb/src_headers/OGRE/OgreDDSCodec.h +90 -0
  702. data/vendor/ogrerb/src_headers/OGRE/OgreDataStream.h +442 -0
  703. data/vendor/ogrerb/src_headers/OGRE/OgreDefaultHardwareBufferManager.h +116 -0
  704. data/vendor/ogrerb/src_headers/OGRE/OgreDynLib.h +116 -0
  705. data/vendor/ogrerb/src_headers/OGRE/OgreDynLibManager.h +110 -0
  706. data/vendor/ogrerb/src_headers/OGRE/OgreEdgeListBuilder.h +261 -0
  707. data/vendor/ogrerb/src_headers/OGRE/OgreEntity.h +771 -0
  708. data/vendor/ogrerb/src_headers/OGRE/OgreErrorDialog.h +50 -0
  709. data/vendor/ogrerb/src_headers/OGRE/OgreException.h +341 -0
  710. data/vendor/ogrerb/src_headers/OGRE/OgreExternalTextureSource.h +184 -0
  711. data/vendor/ogrerb/src_headers/OGRE/OgreExternalTextureSourceManager.h +117 -0
  712. data/vendor/ogrerb/src_headers/OGRE/OgreFactoryObj.h +65 -0
  713. data/vendor/ogrerb/src_headers/OGRE/OgreFileSystem.h +111 -0
  714. data/vendor/ogrerb/src_headers/OGRE/OgreFont.h +432 -0
  715. data/vendor/ogrerb/src_headers/OGRE/OgreFontManager.h +93 -0
  716. data/vendor/ogrerb/src_headers/OGRE/OgreFrameListener.h +106 -0
  717. data/vendor/ogrerb/src_headers/OGRE/OgreFreeImageCodec.h +77 -0
  718. data/vendor/ogrerb/src_headers/OGRE/OgreFrustum.h +590 -0
  719. data/vendor/ogrerb/src_headers/OGRE/OgreGpuProgram.h +1632 -0
  720. data/vendor/ogrerb/src_headers/OGRE/OgreGpuProgramManager.h +190 -0
  721. data/vendor/ogrerb/src_headers/OGRE/OgreGpuProgramUsage.h +129 -0
  722. data/vendor/ogrerb/src_headers/OGRE/OgreHardwareBuffer.h +330 -0
  723. data/vendor/ogrerb/src_headers/OGRE/OgreHardwareBufferManager.h +399 -0
  724. data/vendor/ogrerb/src_headers/OGRE/OgreHardwareIndexBuffer.h +78 -0
  725. data/vendor/ogrerb/src_headers/OGRE/OgreHardwareOcclusionQuery.h +125 -0
  726. data/vendor/ogrerb/src_headers/OGRE/OgreHardwarePixelBuffer.h +198 -0
  727. data/vendor/ogrerb/src_headers/OGRE/OgreHardwareVertexBuffer.h +541 -0
  728. data/vendor/ogrerb/src_headers/OGRE/OgreHighLevelGpuProgram.h +185 -0
  729. data/vendor/ogrerb/src_headers/OGRE/OgreHighLevelGpuProgramManager.h +146 -0
  730. data/vendor/ogrerb/src_headers/OGRE/OgreImage.h +428 -0
  731. data/vendor/ogrerb/src_headers/OGRE/OgreImageCodec.h +82 -0
  732. data/vendor/ogrerb/src_headers/OGRE/OgreInstancedGeometry.h +833 -0
  733. data/vendor/ogrerb/src_headers/OGRE/OgreIteratorWrappers.h +359 -0
  734. data/vendor/ogrerb/src_headers/OGRE/OgreKeyFrame.h +248 -0
  735. data/vendor/ogrerb/src_headers/OGRE/OgreLight.h +433 -0
  736. data/vendor/ogrerb/src_headers/OGRE/OgreLog.h +149 -0
  737. data/vendor/ogrerb/src_headers/OGRE/OgreLogManager.h +163 -0
  738. data/vendor/ogrerb/src_headers/OGRE/OgreManualObject.h +513 -0
  739. data/vendor/ogrerb/src_headers/OGRE/OgreMaterial.h +680 -0
  740. data/vendor/ogrerb/src_headers/OGRE/OgreMaterialManager.h +242 -0
  741. data/vendor/ogrerb/src_headers/OGRE/OgreMaterialScriptCompiler.h +330 -0
  742. data/vendor/ogrerb/src_headers/OGRE/OgreMaterialSerializer.h +278 -0
  743. data/vendor/ogrerb/src_headers/OGRE/OgreMath.h +606 -0
  744. data/vendor/ogrerb/src_headers/OGRE/OgreMatrix3.h +306 -0
  745. data/vendor/ogrerb/src_headers/OGRE/OgreMatrix4.h +603 -0
  746. data/vendor/ogrerb/src_headers/OGRE/OgreMemoryMacros.h +69 -0
  747. data/vendor/ogrerb/src_headers/OGRE/OgreMemoryManager.h +422 -0
  748. data/vendor/ogrerb/src_headers/OGRE/OgreMesh.h +875 -0
  749. data/vendor/ogrerb/src_headers/OGRE/OgreMeshFileFormat.h +277 -0
  750. data/vendor/ogrerb/src_headers/OGRE/OgreMeshManager.h +431 -0
  751. data/vendor/ogrerb/src_headers/OGRE/OgreMeshSerializer.h +99 -0
  752. data/vendor/ogrerb/src_headers/OGRE/OgreMeshSerializerImpl.h +218 -0
  753. data/vendor/ogrerb/src_headers/OGRE/OgreMovableObject.h +530 -0
  754. data/vendor/ogrerb/src_headers/OGRE/OgreMovablePlane.h +87 -0
  755. data/vendor/ogrerb/src_headers/OGRE/OgreNoMemoryMacros.h +42 -0
  756. data/vendor/ogrerb/src_headers/OGRE/OgreNode.h +727 -0
  757. data/vendor/ogrerb/src_headers/OGRE/OgreNumerics.h +55 -0
  758. data/vendor/ogrerb/src_headers/OGRE/OgreOverlay.h +285 -0
  759. data/vendor/ogrerb/src_headers/OGRE/OgreOverlayContainer.h +145 -0
  760. data/vendor/ogrerb/src_headers/OGRE/OgreOverlayElement.h +490 -0
  761. data/vendor/ogrerb/src_headers/OGRE/OgreOverlayElementCommands.h +115 -0
  762. data/vendor/ogrerb/src_headers/OGRE/OgreOverlayElementFactory.h +121 -0
  763. data/vendor/ogrerb/src_headers/OGRE/OgreOverlayManager.h +235 -0
  764. data/vendor/ogrerb/src_headers/OGRE/OgrePanelOverlayElement.h +154 -0
  765. data/vendor/ogrerb/src_headers/OGRE/OgreParticle.h +147 -0
  766. data/vendor/ogrerb/src_headers/OGRE/OgreParticleAffector.h +116 -0
  767. data/vendor/ogrerb/src_headers/OGRE/OgreParticleAffectorFactory.h +74 -0
  768. data/vendor/ogrerb/src_headers/OGRE/OgreParticleEmitter.h +506 -0
  769. data/vendor/ogrerb/src_headers/OGRE/OgreParticleEmitterCommands.h +200 -0
  770. data/vendor/ogrerb/src_headers/OGRE/OgreParticleEmitterFactory.h +77 -0
  771. data/vendor/ogrerb/src_headers/OGRE/OgreParticleIterator.h +61 -0
  772. data/vendor/ogrerb/src_headers/OGRE/OgreParticleSystem.h +878 -0
  773. data/vendor/ogrerb/src_headers/OGRE/OgreParticleSystemManager.h +389 -0
  774. data/vendor/ogrerb/src_headers/OGRE/OgreParticleSystemRenderer.h +124 -0
  775. data/vendor/ogrerb/src_headers/OGRE/OgrePass.h +1321 -0
  776. data/vendor/ogrerb/src_headers/OGRE/OgrePatchMesh.h +152 -0
  777. data/vendor/ogrerb/src_headers/OGRE/OgrePatchSurface.h +233 -0
  778. data/vendor/ogrerb/src_headers/OGRE/OgrePixelFormat.h +473 -0
  779. data/vendor/ogrerb/src_headers/OGRE/OgrePlane.h +154 -0
  780. data/vendor/ogrerb/src_headers/OGRE/OgrePlaneBoundedVolume.h +128 -0
  781. data/vendor/ogrerb/src_headers/OGRE/OgrePlatform.h +224 -0
  782. data/vendor/ogrerb/src_headers/OGRE/OgrePlugin.h +132 -0
  783. data/vendor/ogrerb/src_headers/OGRE/OgrePolygon.h +130 -0
  784. data/vendor/ogrerb/src_headers/OGRE/OgrePose.h +111 -0
  785. data/vendor/ogrerb/src_headers/OGRE/OgrePredefinedControllers.h +285 -0
  786. data/vendor/ogrerb/src_headers/OGRE/OgrePrefabFactory.h +66 -0
  787. data/vendor/ogrerb/src_headers/OGRE/OgrePrerequisites.h +390 -0
  788. data/vendor/ogrerb/src_headers/OGRE/OgreProfiler.h +415 -0
  789. data/vendor/ogrerb/src_headers/OGRE/OgreProgressiveMesh.h +248 -0
  790. data/vendor/ogrerb/src_headers/OGRE/OgreQuaternion.h +277 -0
  791. data/vendor/ogrerb/src_headers/OGRE/OgreRadixSort.h +322 -0
  792. data/vendor/ogrerb/src_headers/OGRE/OgreRay.h +115 -0
  793. data/vendor/ogrerb/src_headers/OGRE/OgreRectangle.h +69 -0
  794. data/vendor/ogrerb/src_headers/OGRE/OgreRectangle2D.h +79 -0
  795. data/vendor/ogrerb/src_headers/OGRE/OgreRenderOperation.h +84 -0
  796. data/vendor/ogrerb/src_headers/OGRE/OgreRenderQueue.h +256 -0
  797. data/vendor/ogrerb/src_headers/OGRE/OgreRenderQueueInvocation.h +218 -0
  798. data/vendor/ogrerb/src_headers/OGRE/OgreRenderQueueListener.h +89 -0
  799. data/vendor/ogrerb/src_headers/OGRE/OgreRenderQueueSortingGrouping.h +653 -0
  800. data/vendor/ogrerb/src_headers/OGRE/OgreRenderSystem.h +1255 -0
  801. data/vendor/ogrerb/src_headers/OGRE/OgreRenderSystemCapabilities.h +380 -0
  802. data/vendor/ogrerb/src_headers/OGRE/OgreRenderTarget.h +359 -0
  803. data/vendor/ogrerb/src_headers/OGRE/OgreRenderTargetListener.h +132 -0
  804. data/vendor/ogrerb/src_headers/OGRE/OgreRenderTexture.h +101 -0
  805. data/vendor/ogrerb/src_headers/OGRE/OgreRenderWindow.h +204 -0
  806. data/vendor/ogrerb/src_headers/OGRE/OgreRenderable.h +296 -0
  807. data/vendor/ogrerb/src_headers/OGRE/OgreResource.h +415 -0
  808. data/vendor/ogrerb/src_headers/OGRE/OgreResourceBackgroundQueue.h +453 -0
  809. data/vendor/ogrerb/src_headers/OGRE/OgreResourceGroupManager.h +858 -0
  810. data/vendor/ogrerb/src_headers/OGRE/OgreResourceManager.h +446 -0
  811. data/vendor/ogrerb/src_headers/OGRE/OgreRibbonTrail.h +224 -0
  812. data/vendor/ogrerb/src_headers/OGRE/OgreRoot.h +844 -0
  813. data/vendor/ogrerb/src_headers/OGRE/OgreRotationalSpline.h +129 -0
  814. data/vendor/ogrerb/src_headers/OGRE/OgreSceneManager.h +2871 -0
  815. data/vendor/ogrerb/src_headers/OGRE/OgreSceneManagerEnumerator.h +221 -0
  816. data/vendor/ogrerb/src_headers/OGRE/OgreSceneNode.h +448 -0
  817. data/vendor/ogrerb/src_headers/OGRE/OgreSceneQuery.h +557 -0
  818. data/vendor/ogrerb/src_headers/OGRE/OgreScriptLoader.h +89 -0
  819. data/vendor/ogrerb/src_headers/OGRE/OgreSearchOps.h +65 -0
  820. data/vendor/ogrerb/src_headers/OGRE/OgreSerializer.h +113 -0
  821. data/vendor/ogrerb/src_headers/OGRE/OgreShadowCameraSetup.h +100 -0
  822. data/vendor/ogrerb/src_headers/OGRE/OgreShadowCameraSetupFocused.h +281 -0
  823. data/vendor/ogrerb/src_headers/OGRE/OgreShadowCameraSetupLiSPSM.h +226 -0
  824. data/vendor/ogrerb/src_headers/OGRE/OgreShadowCameraSetupPlaneOptimal.h +81 -0
  825. data/vendor/ogrerb/src_headers/OGRE/OgreShadowCaster.h +215 -0
  826. data/vendor/ogrerb/src_headers/OGRE/OgreShadowTextureManager.h +145 -0
  827. data/vendor/ogrerb/src_headers/OGRE/OgreShadowVolumeExtrudeProgram.h +233 -0
  828. data/vendor/ogrerb/src_headers/OGRE/OgreSharedPtr.h +244 -0
  829. data/vendor/ogrerb/src_headers/OGRE/OgreSimpleRenderable.h +98 -0
  830. data/vendor/ogrerb/src_headers/OGRE/OgreSimpleSpline.h +130 -0
  831. data/vendor/ogrerb/src_headers/OGRE/OgreSingleton.h +79 -0
  832. data/vendor/ogrerb/src_headers/OGRE/OgreSkeleton.h +519 -0
  833. data/vendor/ogrerb/src_headers/OGRE/OgreSkeletonFileFormat.h +102 -0
  834. data/vendor/ogrerb/src_headers/OGRE/OgreSkeletonInstance.h +156 -0
  835. data/vendor/ogrerb/src_headers/OGRE/OgreSkeletonManager.h +98 -0
  836. data/vendor/ogrerb/src_headers/OGRE/OgreSkeletonSerializer.h +117 -0
  837. data/vendor/ogrerb/src_headers/OGRE/OgreSphere.h +101 -0
  838. data/vendor/ogrerb/src_headers/OGRE/OgreSpotShadowFadePng.h +648 -0
  839. data/vendor/ogrerb/src_headers/OGRE/OgreStableHeaders.h +80 -0
  840. data/vendor/ogrerb/src_headers/OGRE/OgreStaticFaceGroup.h +134 -0
  841. data/vendor/ogrerb/src_headers/OGRE/OgreStaticGeometry.h +748 -0
  842. data/vendor/ogrerb/src_headers/OGRE/OgreStdHeaders.h +102 -0
  843. data/vendor/ogrerb/src_headers/OGRE/OgreString.h +149 -0
  844. data/vendor/ogrerb/src_headers/OGRE/OgreStringConverter.h +246 -0
  845. data/vendor/ogrerb/src_headers/OGRE/OgreStringInterface.h +332 -0
  846. data/vendor/ogrerb/src_headers/OGRE/OgreStringVector.h +45 -0
  847. data/vendor/ogrerb/src_headers/OGRE/OgreSubEntity.h +230 -0
  848. data/vendor/ogrerb/src_headers/OGRE/OgreSubMesh.h +267 -0
  849. data/vendor/ogrerb/src_headers/OGRE/OgreTagPoint.h +116 -0
  850. data/vendor/ogrerb/src_headers/OGRE/OgreTechnique.h +488 -0
  851. data/vendor/ogrerb/src_headers/OGRE/OgreTextAreaOverlayElement.h +247 -0
  852. data/vendor/ogrerb/src_headers/OGRE/OgreTexture.h +414 -0
  853. data/vendor/ogrerb/src_headers/OGRE/OgreTextureManager.h +398 -0
  854. data/vendor/ogrerb/src_headers/OGRE/OgreTextureUnitState.h +1169 -0
  855. data/vendor/ogrerb/src_headers/OGRE/OgreTimer.h +44 -0
  856. data/vendor/ogrerb/src_headers/OGRE/OgreUTFString.h +2406 -0
  857. data/vendor/ogrerb/src_headers/OGRE/OgreUnifiedHighLevelGpuProgram.h +168 -0
  858. data/vendor/ogrerb/src_headers/OGRE/OgreUserDefinedObject.h +93 -0
  859. data/vendor/ogrerb/src_headers/OGRE/OgreVector2.h +532 -0
  860. data/vendor/ogrerb/src_headers/OGRE/OgreVector3.h +768 -0
  861. data/vendor/ogrerb/src_headers/OGRE/OgreVector4.h +396 -0
  862. data/vendor/ogrerb/src_headers/OGRE/OgreVertexBoneAssignment.h +56 -0
  863. data/vendor/ogrerb/src_headers/OGRE/OgreVertexIndexData.h +286 -0
  864. data/vendor/ogrerb/src_headers/OGRE/OgreViewport.h +331 -0
  865. data/vendor/ogrerb/src_headers/OGRE/OgreWindowEventUtilities.h +151 -0
  866. data/vendor/ogrerb/src_headers/OGRE/OgreWireBoundingBox.h +81 -0
  867. data/vendor/ogrerb/src_headers/OGRE/OgreZip.h +136 -0
  868. data/vendor/ogrerb/src_headers/OGRE/asm_math.h +367 -0
  869. data/vendor/ogrerb/src_headers/OIS/OIS.h +38 -0
  870. data/vendor/ogrerb/src_headers/OIS/OISConfig.h +49 -0
  871. data/vendor/ogrerb/src_headers/OIS/OISEffect.h +254 -0
  872. data/vendor/ogrerb/src_headers/OIS/OISEvents.h +43 -0
  873. data/vendor/ogrerb/src_headers/OIS/OISException.h +70 -0
  874. data/vendor/ogrerb/src_headers/OIS/OISForceFeedback.h +102 -0
  875. data/vendor/ogrerb/src_headers/OIS/OISInputManager.h +127 -0
  876. data/vendor/ogrerb/src_headers/OIS/OISInterface.h +47 -0
  877. data/vendor/ogrerb/src_headers/OIS/OISJoyStick.h +179 -0
  878. data/vendor/ogrerb/src_headers/OIS/OISKeyboard.h +310 -0
  879. data/vendor/ogrerb/src_headers/OIS/OISMouse.h +135 -0
  880. data/vendor/ogrerb/src_headers/OIS/OISObject.h +89 -0
  881. data/vendor/ogrerb/src_headers/OIS/OISPrereqs.h +170 -0
  882. data/vendor/ogrerb/src_headers/navi/Navi.h +121 -0
  883. data/vendor/ogrerb/src_headers/navi/NaviData.h +145 -0
  884. data/vendor/ogrerb/src_headers/navi/NaviEventListener.h +56 -0
  885. data/vendor/ogrerb/src_headers/navi/NaviManager.h +439 -0
  886. data/vendor/ogrerb/src_headers/navi/llmozlib.h +222 -0
  887. data/vendor/ogrerb/src_headers/wrappers/Application.h +61 -0
  888. data/vendor/ogrerb/src_headers/wrappers/ApplicationFrameListener.h +43 -0
  889. data/vendor/ogrerb/src_headers/wrappers/NaviProxies.h +15 -0
  890. data/vendor/ogrerb/src_headers/wrappers/OISProxies.h +58 -0
  891. data/vendor/ogrerb/src_headers/wrappers/OgreProxies.h +98 -0
  892. data/vendor/ogrerb/website/contact.html +43 -0
  893. data/vendor/ogrerb/website/docs.html +92 -0
  894. data/vendor/ogrerb/website/get.html +60 -0
  895. data/vendor/ogrerb/website/images/Thumbs.db +0 -0
  896. data/vendor/ogrerb/website/images/header.png +0 -0
  897. data/vendor/ogrerb/website/images/header.xcf +0 -0
  898. data/vendor/ogrerb/website/images/ogre3d.gif +0 -0
  899. data/vendor/ogrerb/website/images/redogrehead.png +0 -0
  900. data/vendor/ogrerb/website/images/ruby.png +0 -0
  901. data/vendor/ogrerb/website/images/sample.png +0 -0
  902. data/vendor/ogrerb/website/index.html +80 -0
  903. data/vendor/ogrerb/website/javascripts/prototype.js +3271 -0
  904. data/vendor/ogrerb/website/stylesheets/main.css +96 -0
  905. metadata +997 -0
@@ -0,0 +1,398 @@
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-2006 Torus Knot Software Ltd
8
+ Also see acknowledgements in Readme.html
9
+
10
+ This program is free software; you can redistribute it and/or modify it under
11
+ the terms of the GNU Lesser General Public License as published by the Free Software
12
+ Foundation; either version 2 of the License, or (at your option) any later
13
+ version.
14
+
15
+ This program is distributed in the hope that it will be useful, but WITHOUT
16
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
18
+
19
+ You should have received a copy of the GNU Lesser General Public License along with
20
+ this program; if not, write to the Free Software Foundation, Inc., 59 Temple
21
+ Place - Suite 330, Boston, MA 02111-1307, USA, or go to
22
+ http://www.gnu.org/copyleft/lesser.txt.
23
+
24
+ You may alternatively use this source under the terms of a specific version of
25
+ the OGRE Unrestricted License provided you have obtained such a license from
26
+ Torus Knot Software Ltd.
27
+ -----------------------------------------------------------------------------
28
+ */
29
+ #ifndef _TextureManager_H__
30
+ #define _TextureManager_H__
31
+
32
+
33
+ #include "OgrePrerequisites.h"
34
+
35
+ #include "OgreResourceManager.h"
36
+ #include "OgreTexture.h"
37
+ #include "OgreSingleton.h"
38
+
39
+
40
+ namespace Ogre {
41
+
42
+ /** Class for loading & managing textures.
43
+ @remarks
44
+ Note that this class is abstract - the particular
45
+ RenderSystem that is in use at the time will create
46
+ a concrete subclass of this. Note that the concrete
47
+ class will be available via the abstract singleton
48
+ obtained from TextureManager::getSingleton(), but
49
+ you should not assume that it is available until you
50
+ have a) initialised Ogre (after selecting a RenderSystem
51
+ and calling initialise from the Root object), and b)
52
+ created at least one window - this may be done at the
53
+ same time as part a if you allow Ogre to autocreate one.
54
+ */
55
+ class _OgreExport TextureManager : public ResourceManager, public Singleton<TextureManager>
56
+ {
57
+ public:
58
+
59
+ TextureManager(void);
60
+ virtual ~TextureManager();
61
+
62
+ /** Loads a texture from a file.
63
+ @param
64
+ name The file to load, or a String identifier in some cases
65
+ @param
66
+ group The name of the resource group to assign the texture to
67
+ @param
68
+ texType The type of texture to load/create, defaults to normal 2D textures
69
+ @param
70
+ numMipmaps The number of pre-filtered mipmaps to generate. If left to default (-1) then
71
+ the TextureManager's default number of mipmaps will be used (see setDefaultNumMipmaps())
72
+ If set to MIP_UNLIMITED mipmaps will be generated until the lowest possible
73
+ level, 1x1x1.
74
+ @param
75
+ gamma The gamma adjustment factor to apply to this texture (brightening/darkening)
76
+ @param
77
+ isAlpha Only applicable to greyscale images. If true, specifies that
78
+ the image should be loaded into an alpha texture rather than a
79
+ single channel colour texture - useful for fixed-function systems.
80
+ @param
81
+ desiredFormat The format you would like to have used instead of
82
+ the format being based on the contents of the texture
83
+ */
84
+ virtual TexturePtr load(
85
+ const String& name, const String& group,
86
+ TextureType texType = TEX_TYPE_2D, int numMipmaps = -1,
87
+ Real gamma = 1.0f, bool isAlpha = false,
88
+ PixelFormat desiredFormat = PF_UNKNOWN);
89
+
90
+ /** Loads a texture from an Image object.
91
+ @note
92
+ The texture will create as manual texture without loader.
93
+ @param
94
+ name The name to give the resulting texture
95
+ @param
96
+ group The name of the resource group to assign the texture to
97
+ @param
98
+ img The Image object which contains the data to load
99
+ @param
100
+ texType The type of texture to load/create, defaults to normal 2D textures
101
+ @param
102
+ numMipmaps The number of pre-filtered mipmaps to generate. If left to default (-1) then
103
+ the TextureManager's default number of mipmaps will be used (see setDefaultNumMipmaps())
104
+ If set to MIP_UNLIMITED mipmaps will be generated until the lowest possible
105
+ level, 1x1x1.
106
+ @param
107
+ gamma The gamma adjustment factor to apply to this texture (brightening/darkening)
108
+ @param
109
+ isAlpha Only applicable to greyscale images. If true, specifies that
110
+ the image should be loaded into an alpha texture rather than a
111
+ single channel colour texture - useful for fixed-function systems.
112
+ @param
113
+ desiredFormat The format you would like to have used instead of
114
+ the format being based on the contents of the texture
115
+ */
116
+ virtual TexturePtr loadImage(
117
+ const String &name, const String& group, const Image &img,
118
+ TextureType texType = TEX_TYPE_2D,
119
+ int iNumMipmaps = -1, Real gamma = 1.0f, bool isAlpha = false,
120
+ PixelFormat desiredFormat = PF_UNKNOWN);
121
+
122
+ /** Loads a texture from a raw data stream.
123
+ @note
124
+ The texture will create as manual texture without loader.
125
+ @param
126
+ name The name to give the resulting texture
127
+ @param
128
+ group The name of the resource group to assign the texture to
129
+ @param
130
+ stream Incoming data stream
131
+ @param
132
+ width, height The dimensions of the texture
133
+ @param
134
+ format The format of the data being passed in; the manager reserves
135
+ the right to create a different format for the texture if the
136
+ original format is not available in this context.
137
+ @param
138
+ texType The type of texture to load/create, defaults to normal 2D textures
139
+ @param
140
+ numMipmaps The number of pre-filtered mipmaps to generate. If left to default (-1) then
141
+ the TextureManager's default number of mipmaps will be used (see setDefaultNumMipmaps())
142
+ If set to MIP_UNLIMITED mipmaps will be generated until the lowest possible
143
+ level, 1x1x1.
144
+ @param
145
+ gamma The gamma adjustment factor to apply to this texture (brightening/darkening)
146
+ */
147
+ virtual TexturePtr loadRawData(const String &name, const String& group,
148
+ DataStreamPtr& stream, ushort uWidth, ushort uHeight,
149
+ PixelFormat format, TextureType texType = TEX_TYPE_2D,
150
+ int iNumMipmaps = -1, Real gamma = 1.0f);
151
+
152
+ /** Create a manual texture with specified width, height and depth (not loaded from a file).
153
+ @param
154
+ name The name to give the resulting texture
155
+ @param
156
+ group The name of the resource group to assign the texture to
157
+ @param
158
+ texType The type of texture to load/create, defaults to normal 2D textures
159
+ @param
160
+ width, height, depth The dimensions of the texture
161
+ @param
162
+ numMipmaps The number of pre-filtered mipmaps to generate. If left to default (-1) then
163
+ the TextureManager's default number of mipmaps will be used (see setDefaultNumMipmaps())
164
+ If set to MIP_UNLIMITED mipmaps will be generated until the lowest possible
165
+ level, 1x1x1.
166
+ @param
167
+ format The internal format you wish to request; the manager reserves
168
+ the right to create a different format if the one you select is
169
+ not available in this context.
170
+ @param
171
+ usage The kind of usage this texture is intended for. It
172
+ is a combination of TU_STATIC, TU_DYNAMIC, TU_WRITE_ONLY,
173
+ TU_AUTOMIPMAP and TU_RENDERTARGET (see TextureUsage enum). You are
174
+ strongly advised to use HBU_STATIC_WRITE_ONLY wherever possible, if you need to
175
+ update regularly, consider HBU_DYNAMIC_WRITE_ONLY.
176
+ @param
177
+ loader If you intend the contents of the manual texture to be
178
+ regularly updated, to the extent that you don't need to recover
179
+ the contents if the texture content is lost somehow, you can leave
180
+ this parameter as 0. However, if you intend to populate the
181
+ texture only once, then you should implement ManualResourceLoader
182
+ and pass a pointer to it in this parameter; this means that if the
183
+ manual texture ever needs to be reloaded, the ManualResourceLoader
184
+ will be called to do it.
185
+ */
186
+ virtual TexturePtr createManual(const String & name, const String& group,
187
+ TextureType texType, uint width, uint height, uint depth,
188
+ int num_mips, PixelFormat format, int usage = TU_DEFAULT, ManualResourceLoader* loader = 0 );
189
+
190
+ /** Create a manual texture with a depth of 1 (not loaded from a file).
191
+ @param
192
+ name The name to give the resulting texture
193
+ @param
194
+ group The name of the resource group to assign the texture to
195
+ @param
196
+ texType The type of texture to load/create, defaults to normal 2D textures
197
+ @param
198
+ width, height The dimensions of the texture
199
+ @param
200
+ numMipmaps The number of pre-filtered mipmaps to generate. If left to default (-1) then
201
+ the TextureManager's default number of mipmaps will be used (see setDefaultNumMipmaps()).
202
+ If set to MIP_UNLIMITED mipmaps will be generated until the lowest possible
203
+ level, 1x1x1.
204
+ @param
205
+ format The internal format you wish to request; the manager reserves
206
+ the right to create a different format if the one you select is
207
+ not available in this context.
208
+ @param
209
+ usage The kind of usage this texture is intended for. It
210
+ is a combination of TU_STATIC, TU_DYNAMIC, TU_WRITE_ONLY,
211
+ TU_AUTOMIPMAP and TU_RENDERTARGET (see TextureUsage enum). You are
212
+ strongly advised to use HBU_STATIC_WRITE_ONLY wherever possible, if you need to
213
+ update regularly, consider HBU_DYNAMIC_WRITE_ONLY.
214
+ @param
215
+ loader If you intend the contents of the manual texture to be
216
+ regularly updated, to the extent that you don't need to recover
217
+ the contents if the texture content is lost somehow, you can leave
218
+ this parameter as 0. However, if you intend to populate the
219
+ texture only once, then you should implement ManualResourceLoader
220
+ and pass a pointer to it in this parameter; this means that if the
221
+ manual texture ever needs to be reloaded, the ManualResourceLoader
222
+ will be called to do it.
223
+ */
224
+ TexturePtr createManual(const String & name, const String& group,
225
+ TextureType texType, uint width, uint height, int num_mips,
226
+ PixelFormat format, int usage = TU_DEFAULT, ManualResourceLoader* loader = 0 )
227
+ {
228
+ return createManual(name, group, texType, width, height, 1,
229
+ num_mips, format, usage, loader);
230
+ }
231
+
232
+ /** Sets preferred bit depth for integer pixel format textures.
233
+ @param
234
+ bits Number of bits. Available values: 0, 16 and 32, where 0 (the default) means keep
235
+ original format as it is. This value is number of bits for the pixel.
236
+ @param
237
+ reloadTextures If true (the default), will reloading all reloadable textures.
238
+ */
239
+ virtual void setPreferredIntegerBitDepth(ushort bits, bool reloadTextures = true);
240
+
241
+ /** gets preferred bit depth for integer pixel format textures.
242
+ */
243
+ virtual ushort getPreferredIntegerBitDepth(void) const;
244
+
245
+ /** Sets preferred bit depth for float pixel format textures.
246
+ @param
247
+ bits Number of bits. Available values: 0, 16 and 32, where 0 (the default) means keep
248
+ original format as it is. This value is number of bits for a channel of the pixel.
249
+ @param
250
+ reloadTextures If true (the default), will reloading all reloadable textures.
251
+ */
252
+ virtual void setPreferredFloatBitDepth(ushort bits, bool reloadTextures = true);
253
+
254
+ /** gets preferred bit depth for float pixel format textures.
255
+ */
256
+ virtual ushort getPreferredFloatBitDepth(void) const;
257
+
258
+ /** Sets preferred bit depth for integer and float pixel format.
259
+ @param
260
+ integerBits Number of bits. Available values: 0, 16 and 32, where 0 (the default) means keep
261
+ original format as it is. This value is number of bits for the pixel.
262
+ @param
263
+ floatBits Number of bits. Available values: 0, 16 and 32, where 0 (the default) means keep
264
+ original format as it is. This value is number of bits for a channel of the pixel.
265
+ @param
266
+ reloadTextures If true (the default), will reloading all reloadable textures.
267
+ */
268
+ virtual void setPreferredBitDepths(ushort integerBits, ushort floatBits, bool reloadTextures = true);
269
+
270
+ /** Returns whether this render system can natively support the precise texture
271
+ format requested with the given usage options.
272
+ @remarks
273
+ You can still create textures with this format even if this method returns
274
+ false; the texture format will just be altered to one which the device does
275
+ support.
276
+ @note
277
+ Sometimes the device may just slightly change the format, such as reordering the
278
+ channels or packing the channels differently, without it making and qualitative
279
+ differences to the texture. If you want to just detect whether the quality of a
280
+ given texture will be reduced, use isEquivalentFormatSupport instead.
281
+ @param format The pixel format requested
282
+ @param usage The kind of usage this texture is intended for, a combination of
283
+ the TextureUsage flags.
284
+ @returns true if the format is natively supported, false if a fallback would be used.
285
+ */
286
+ virtual bool isFormatSupported(TextureType ttype, PixelFormat format, int usage);
287
+
288
+ /** Returns whether this render system can support the texture format requested
289
+ with the given usage options, or another format with no quality reduction.
290
+ */
291
+ virtual bool isEquivalentFormatSupported(TextureType ttype, PixelFormat format, int usage);
292
+
293
+ /** Gets the format which will be natively used for a requested format given the
294
+ contraints of the current device.
295
+ */
296
+ virtual PixelFormat getNativeFormat(TextureType ttype, PixelFormat format, int usage) = 0;
297
+
298
+ /** Returns whether this render system has hardware filtering supported for the
299
+ texture format requested with the given usage options.
300
+ @remarks
301
+ Not all texture format are supports filtering by the hardware, i.e. some
302
+ cards support floating point format, but it doesn't supports filtering on
303
+ the floating point texture at all, or only a subset floating point formats
304
+ have flitering supported.
305
+ @par
306
+ In the case you want to write shader to work with floating point texture, and
307
+ you want to produce better visual quality, it's necessary to flitering the
308
+ texture manually in shader (potential requires four or more texture fetch
309
+ instructions, plus several arithmetic instructions) if filtering doesn't
310
+ supported by hardware. But in case on the hardware that supports floating
311
+ point filtering natively, it had better to adopt this capability for
312
+ performance (because only one texture fetch instruction are required) and
313
+ doesn't loss visual quality.
314
+ @par
315
+ This method allow you queries hardware texture filtering capability to deciding
316
+ which verion of the shader to be used. Note it's up to you to write multi-version
317
+ shaders for support various hardware, internal engine can't do that for you
318
+ automatically.
319
+ @note
320
+ Under GL, texture filtering are always supported by driver, but if it's not
321
+ supported by hardware natively, software simulation will be used, and you
322
+ will end up with very slow speed (less than 0.1 fps for example). To slove
323
+ this performance problem, you must disable filtering manually (by use
324
+ <b>filtering none</b> in the material script's texture_unit section, or
325
+ call TextureUnitState::setTextureFiltering with TFO_NONE if populate
326
+ material in code).
327
+ @param ttype The texture type requested
328
+ @param format The pixel format requested
329
+ @param usage The kind of usage this texture is intended for, a combination of
330
+ the TextureUsage flags.
331
+ @param preciseFormatOnly Whether precise or fallback format mode is used to detecting.
332
+ In case the pixel format doesn't supported by device, false will be returned
333
+ if in precise mode, and natively used pixel format will be actually use to
334
+ check if in fallback mode.
335
+ @returns true if the texture filtering is supported.
336
+ */
337
+ virtual bool isHardwareFilteringSupported(TextureType ttype, PixelFormat format, int usage,
338
+ bool preciseFormatOnly = false) = 0;
339
+
340
+ /** Sets the default number of mipmaps to be used for loaded textures, for when textures are
341
+ loaded automatically (e.g. by Material class) or when 'load' is called with the default
342
+ parameters by the application.
343
+ If set to MIP_UNLIMITED mipmaps will be generated until the lowest possible
344
+ level, 1x1x1.
345
+ @note
346
+ The default value is 0.
347
+ */
348
+ virtual void setDefaultNumMipmaps(size_t num);
349
+
350
+ /** Gets the default number of mipmaps to be used for loaded textures.
351
+ */
352
+ virtual size_t getDefaultNumMipmaps()
353
+ {
354
+ return mDefaultNumMipmaps;
355
+ }
356
+
357
+ /** Override standard Singleton retrieval.
358
+ @remarks
359
+ Why do we do this? Well, it's because the Singleton
360
+ implementation is in a .h file, which means it gets compiled
361
+ into anybody who includes it. This is needed for the
362
+ Singleton template to work, but we actually only want it
363
+ compiled into the implementation of the class based on the
364
+ Singleton, not all of them. If we don't change this, we get
365
+ link errors when trying to use the Singleton-based class from
366
+ an outside dll.
367
+ @par
368
+ This method just delegates to the template version anyway,
369
+ but the implementation stays in this single compilation unit,
370
+ preventing link errors.
371
+ */
372
+ static TextureManager& getSingleton(void);
373
+ /** Override standard Singleton retrieval.
374
+ @remarks
375
+ Why do we do this? Well, it's because the Singleton
376
+ implementation is in a .h file, which means it gets compiled
377
+ into anybody who includes it. This is needed for the
378
+ Singleton template to work, but we actually only want it
379
+ compiled into the implementation of the class based on the
380
+ Singleton, not all of them. If we don't change this, we get
381
+ link errors when trying to use the Singleton-based class from
382
+ an outside dll.
383
+ @par
384
+ This method just delegates to the template version anyway,
385
+ but the implementation stays in this single compilation unit,
386
+ preventing link errors.
387
+ */
388
+ static TextureManager* getSingletonPtr(void);
389
+
390
+ protected:
391
+
392
+ ushort mPreferredIntegerBitDepth;
393
+ ushort mPreferredFloatBitDepth;
394
+ size_t mDefaultNumMipmaps;
395
+ };
396
+ }// Namespace
397
+
398
+ #endif
@@ -0,0 +1,1169 @@
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-2006 Torus Knot Software Ltd
8
+ Also see acknowledgements in Readme.html
9
+
10
+ This program is free software; you can redistribute it and/or modify it under
11
+ the terms of the GNU Lesser General Public License as published by the Free Software
12
+ Foundation; either version 2 of the License, or (at your option) any later
13
+ version.
14
+
15
+ This program is distributed in the hope that it will be useful, but WITHOUT
16
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
18
+
19
+ You should have received a copy of the GNU Lesser General Public License along with
20
+ this program; if not, write to the Free Software Foundation, Inc., 59 Temple
21
+ Place - Suite 330, Boston, MA 02111-1307, USA, or go to
22
+ http://www.gnu.org/copyleft/lesser.txt.
23
+
24
+ You may alternatively use this source under the terms of a specific version of
25
+ the OGRE Unrestricted License provided you have obtained such a license from
26
+ Torus Knot Software Ltd.
27
+ -----------------------------------------------------------------------------
28
+ */
29
+ #ifndef __TextureUnitState_H__
30
+ #define __TextureUnitState_H__
31
+
32
+ #include "OgrePrerequisites.h"
33
+ #include "OgreCommon.h"
34
+ #include "OgreBlendMode.h"
35
+ #include "OgreMatrix4.h"
36
+ #include "OgreIteratorWrappers.h"
37
+ #include "OgreString.h"
38
+ #include "OgreTexture.h"
39
+
40
+ namespace Ogre {
41
+ /** Class representing the state of a single texture unit during a Pass of a
42
+ Technique, of a Material.
43
+ @remarks
44
+ Texture units are pipelines for retrieving texture data for rendering onto
45
+ your objects in the world. Using them is common to both the fixed-function and
46
+ the programmable (vertex and fragment program) pipeline, but some of the
47
+ settings will only have an effect in the fixed-function pipeline (for example,
48
+ setting a texture rotation will have no effect if you use the programmable
49
+ pipeline, because this is overridden by the fragment program). The effect
50
+ of each setting as regards the 2 pipelines is commented in each setting.
51
+ @par
52
+ When I use the term 'fixed-function pipeline' I mean traditional rendering
53
+ where you do not use vertex or fragment programs (shaders). Programmable
54
+ pipeline means that for this pass you are using vertex or fragment programs.
55
+ */
56
+ class _OgreExport TextureUnitState
57
+ {
58
+ friend class RenderSystem;
59
+ public:
60
+ /** Definition of the broad types of texture effect you can apply to a texture unit.
61
+ @note
62
+ Note that these have no effect when using the programmable pipeline, since their
63
+ effect is overridden by the vertex / fragment programs.
64
+ */
65
+ enum TextureEffectType
66
+ {
67
+ /// Generate all texture coords based on angle between camera and vertex
68
+ ET_ENVIRONMENT_MAP,
69
+ /// Generate texture coords based on a frustum
70
+ ET_PROJECTIVE_TEXTURE,
71
+ /// Constant u/v scrolling effect
72
+ ET_UVSCROLL,
73
+ /// Constant u scrolling effect
74
+ ET_USCROLL,
75
+ /// Constant u/v scrolling effect
76
+ ET_VSCROLL,
77
+ /// Constant rotation
78
+ ET_ROTATE,
79
+ /// More complex transform
80
+ ET_TRANSFORM
81
+
82
+ };
83
+
84
+ /** Enumeration to specify type of envmap.
85
+ @note
86
+ Note that these have no effect when using the programmable pipeline, since their
87
+ effect is overridden by the vertex / fragment programs.
88
+ */
89
+ enum EnvMapType
90
+ {
91
+ /// Envmap based on vector from camera to vertex position, good for planar geometry
92
+ ENV_PLANAR,
93
+ /// Envmap based on dot of vector from camera to vertex and vertex normal, good for curves
94
+ ENV_CURVED,
95
+ /// Envmap entended to supply reflection vectors for cube mapping
96
+ ENV_REFLECTION,
97
+ /// Envmap entended to supply normal vectors for cube mapping
98
+ ENV_NORMAL
99
+ };
100
+
101
+ /** Useful enumeration when dealing with procedural transforms.
102
+ @note
103
+ Note that these have no effect when using the programmable pipeline, since their
104
+ effect is overridden by the vertex / fragment programs.
105
+ */
106
+ enum TextureTransformType
107
+ {
108
+ TT_TRANSLATE_U,
109
+ TT_TRANSLATE_V,
110
+ TT_SCALE_U,
111
+ TT_SCALE_V,
112
+ TT_ROTATE
113
+ };
114
+
115
+ /** Texture addressing modes - default is TAM_WRAP.
116
+ @note
117
+ These settings are relevant in both the fixed-function and the
118
+ programmable pipeline.
119
+ */
120
+ enum TextureAddressingMode
121
+ {
122
+ /// Texture wraps at values over 1.0
123
+ TAM_WRAP,
124
+ /// Texture mirrors (flips) at joins over 1.0
125
+ TAM_MIRROR,
126
+ /// Texture clamps at 1.0
127
+ TAM_CLAMP,
128
+ /// Texture coordinates outside the range [0.0, 1.0] are set to the border colour
129
+ TAM_BORDER
130
+ };
131
+
132
+ /** Texture addressing mode for each texture coordinate. */
133
+ struct UVWAddressingMode
134
+ {
135
+ TextureAddressingMode u, v, w;
136
+ };
137
+
138
+ /** Enum identifying the frame indexes for faces of a cube map (not the composite 3D type.
139
+ */
140
+ enum TextureCubeFace
141
+ {
142
+ CUBE_FRONT = 0,
143
+ CUBE_BACK = 1,
144
+ CUBE_LEFT = 2,
145
+ CUBE_RIGHT = 3,
146
+ CUBE_UP = 4,
147
+ CUBE_DOWN = 5
148
+ };
149
+
150
+ /** Internal structure defining a texture effect.
151
+ */
152
+ struct TextureEffect {
153
+ TextureEffectType type;
154
+ int subtype;
155
+ Real arg1, arg2;
156
+ WaveformType waveType;
157
+ Real base;
158
+ Real frequency;
159
+ Real phase;
160
+ Real amplitude;
161
+ Controller<Real>* controller;
162
+ const Frustum* frustum;
163
+ };
164
+
165
+ /** Texture effects in a multimap paired array
166
+ */
167
+ typedef std::multimap<TextureEffectType, TextureEffect> EffectMap;
168
+
169
+ /** Default constructor.
170
+ */
171
+ TextureUnitState(Pass* parent);
172
+
173
+ TextureUnitState(Pass* parent, const TextureUnitState& oth );
174
+
175
+ TextureUnitState & operator = ( const TextureUnitState& oth );
176
+
177
+ /** Default destructor.
178
+ */
179
+ ~TextureUnitState();
180
+
181
+ /** Name-based constructor.
182
+ @param
183
+ name The basic name of the texture e.g. brickwall.jpg, stonefloor.png
184
+ @param
185
+ texCoordSet The index of the texture coordinate set to use.
186
+ */
187
+ TextureUnitState( Pass* parent, const String& texName, unsigned int texCoordSet = 0);
188
+
189
+ /** Get the name of current texture image for this layer.
190
+ @remarks
191
+ This will either always be a single name for this layer,
192
+ or will be the name of the current frame for an animated
193
+ or otherwise multi-frame texture.
194
+ @note
195
+ Applies to both fixed-function and programmable pipeline.
196
+ */
197
+ const String& getTextureName(void) const;
198
+
199
+ /** Sets this texture layer to use a single texture, given the
200
+ name of the texture to use on this layer.
201
+ @note
202
+ Applies to both fixed-function and programmable pipeline.
203
+ */
204
+ void setTextureName( const String& name, TextureType ttype = TEX_TYPE_2D);
205
+
206
+ /** Sets this texture layer to use a combination of 6 texture maps, each one relating to a face of a cube.
207
+ @remarks
208
+ Cubic textures are made up of 6 separate texture images. Each one of these is an orthoganal view of the
209
+ world with a FOV of 90 degrees and an aspect ratio of 1:1. You can generate these from 3D Studio by
210
+ rendering a scene to a reflection map of a transparent cube and saving the output files.
211
+ @par
212
+ Cubic maps can be used either for skyboxes (complete wrap-around skies, like space) or as environment
213
+ maps to simulate reflections. The system deals with these 2 scenarios in different ways:
214
+ <ol>
215
+ <li>
216
+ <p>
217
+ for cubic environment maps, the 6 textures are combined into a single 'cubic' texture map which
218
+ is then addressed using 3D texture coordinates. This is required because you don't know what
219
+ face of the box you're going to need to address when you render an object, and typically you
220
+ need to reflect more than one face on the one object, so all 6 textures are needed to be
221
+ 'active' at once. Cubic environment maps are enabled by calling this method with the forUVW
222
+ parameter set to true, and then calling setEnvironmentMap(true).
223
+ </p>
224
+ <p>
225
+ Note that not all cards support cubic environment mapping.
226
+ </p>
227
+ </li>
228
+ <li>
229
+ <p>
230
+ for skyboxes, the 6 textures are kept separate and used independently for each face of the skybox.
231
+ This is done because not all cards support 3D cubic maps and skyboxes do not need to use 3D
232
+ texture coordinates so it is simpler to render each face of the box with 2D coordinates, changing
233
+ texture between faces.
234
+ </p>
235
+ <p>
236
+ Skyboxes are created by calling SceneManager::setSkyBox.
237
+ </p>
238
+ </li>
239
+ </ul>
240
+ @note
241
+ Applies to both fixed-function and programmable pipeline.
242
+ @param
243
+ name The basic name of the texture e.g. brickwall.jpg, stonefloor.png. There must be 6 versions
244
+ of this texture with the suffixes _fr, _bk, _up, _dn, _lf, and _rt (before the extension) which
245
+ make up the 6 sides of the box. The textures must all be the same size and be powers of 2 in width & height.
246
+ If you can't make your texture names conform to this, use the alternative method of the same name which takes
247
+ an array of texture names instead.
248
+ @param
249
+ forUVW Set to true if you want a single 3D texture addressable with 3D texture coordinates rather than
250
+ 6 separate textures. Useful for cubic environment mapping.
251
+ */
252
+ void setCubicTextureName( const String& name, bool forUVW = false );
253
+
254
+ /** Sets this texture layer to use a combination of 6 texture maps, each one relating to a face of a cube.
255
+ @remarks
256
+ Cubic textures are made up of 6 separate texture images. Each one of these is an orthoganal view of the
257
+ world with a FOV of 90 degrees and an aspect ratio of 1:1. You can generate these from 3D Studio by
258
+ rendering a scene to a reflection map of a transparent cube and saving the output files.
259
+ @par
260
+ Cubic maps can be used either for skyboxes (complete wrap-around skies, like space) or as environment
261
+ maps to simulate reflections. The system deals with these 2 scenarios in different ways:
262
+ <ol>
263
+ <li>
264
+ <p>
265
+ for cubic environment maps, the 6 textures are combined into a single 'cubic' texture map which
266
+ is then addressed using 3D texture coordinates. This is required because you don't know what
267
+ face of the box you're going to need to address when you render an object, and typically you
268
+ need to reflect more than one face on the one object, so all 6 textures are needed to be
269
+ 'active' at once. Cubic environment maps are enabled by calling this method with the forUVW
270
+ parameter set to true, and then calling setEnvironmentMap(true).
271
+ </p>
272
+ <p>
273
+ Note that not all cards support cubic environment mapping.
274
+ </p>
275
+ </li>
276
+ <li>
277
+ <p>
278
+ for skyboxes, the 6 textures are kept separate and used independently for each face of the skybox.
279
+ This is done because not all cards support 3D cubic maps and skyboxes do not need to use 3D
280
+ texture coordinates so it is simpler to render each face of the box with 2D coordinates, changing
281
+ texture between faces.
282
+ </p>
283
+ <p>
284
+ Skyboxes are created by calling SceneManager::setSkyBox.
285
+ </p>
286
+ </li>
287
+ </ul>
288
+ @note
289
+ Applies to both fixed-function and programmable pipeline.
290
+ @param
291
+ name The basic name of the texture e.g. brickwall.jpg, stonefloor.png. There must be 6 versions
292
+ of this texture with the suffixes _fr, _bk, _up, _dn, _lf, and _rt (before the extension) which
293
+ make up the 6 sides of the box. The textures must all be the same size and be powers of 2 in width & height.
294
+ If you can't make your texture names conform to this, use the alternative method of the same name which takes
295
+ an array of texture names instead.
296
+ @param
297
+ forUVW Set to true if you want a single 3D texture addressable with 3D texture coordinates rather than
298
+ 6 separate textures. Useful for cubic environment mapping.
299
+ */
300
+ void setCubicTextureName( const String* const names, bool forUVW = false );
301
+
302
+ /** Sets the names of the texture images for an animated texture.
303
+ @remarks
304
+ Animated textures are just a series of images making up the frames of the animation. All the images
305
+ must be the same size, and their names must have a frame number appended before the extension, e.g.
306
+ if you specify a name of "wall.jpg" with 3 frames, the image names must be "wall_0.jpg", "wall_1.jpg"
307
+ and "wall_2.jpg".
308
+ @par
309
+ You can change the active frame on a texture layer by calling the setCurrentFrame method.
310
+ @note
311
+ If you can't make your texture images conform to the naming standard layed out here, you
312
+ can call the alternative setAnimatedTextureName method which takes an array of names instead.
313
+ @note
314
+ Applies to both fixed-function and programmable pipeline.
315
+ @param
316
+ name The base name of the textures to use e.g. wall.jpg for frames wall_0.jpg, wall_1.jpg etc.
317
+ @param
318
+ numFrames The number of frames in the sequence.
319
+ @param
320
+ duration The length of time it takes to display the whole animation sequence, in seconds.
321
+ If 0, no automatic transition occurs.
322
+ */
323
+ void setAnimatedTextureName( const String& name, unsigned int numFrames, Real duration = 0 );
324
+
325
+ /** Sets the names of the texture images for an animated texture.
326
+ @remarks
327
+ This an alternative method to the one where you specify a single name and let the system derive
328
+ the names of each frame, incase your images can't conform to this naming standard.
329
+ @par
330
+ Animated textures are just a series of images making up the frames of the animation. All the images
331
+ must be the same size, and you must provide their names as an array in the first parameter.
332
+ You can change the active frame on a texture layer by calling the setCurrentFrame method.
333
+ @note
334
+ If you can make your texture images conform to a naming standard of basicName_frame.ext, you
335
+ can call the alternative setAnimatedTextureName method which just takes a base name instead.
336
+ @note
337
+ Applies to both fixed-function and programmable pipeline.
338
+ @param
339
+ names Pointer to array of names of the textures to use, in frame order.
340
+ @param
341
+ numFrames The number of frames in the sequence.
342
+ @param
343
+ duration The length of time it takes to display the whole animation sequence, in seconds.
344
+ If 0, no automatic transition occurs.
345
+ */
346
+ void setAnimatedTextureName( const String* const names, unsigned int numFrames, Real duration = 0 );
347
+
348
+ /** Returns the width and height of the texture in the given frame.
349
+ */
350
+ std::pair< size_t, size_t > getTextureDimensions( unsigned int frame = 0 ) const;
351
+
352
+ /** Changes the active frame in an animated or multi-image texture.
353
+ @remarks
354
+ An animated texture (or a cubic texture where the images are not combined for 3D use) is made up of
355
+ a number of frames. This method sets the active frame.
356
+ @note
357
+ Applies to both fixed-function and programmable pipeline.
358
+ */
359
+ void setCurrentFrame( unsigned int frameNumber );
360
+
361
+ /** Gets the active frame in an animated or multi-image texture layer.
362
+ @note
363
+ Applies to both fixed-function and programmable pipeline.
364
+ */
365
+ unsigned int getCurrentFrame(void) const;
366
+
367
+ /** Gets the name of the texture associated with a frame number.
368
+ Throws an exception if frameNumber exceeds the number of stored frames.
369
+ @note
370
+ Applies to both fixed-function and programmable pipeline.
371
+ */
372
+ const String& getFrameTextureName(unsigned int frameNumber) const;
373
+
374
+ /** Sets the name of the texture associated with a frame.
375
+ @param name The name of the texture
376
+ @param frameNumber The frame the texture name is to be placed in
377
+ @note
378
+ Throws an exception if frameNumber exceeds the number of stored frames.
379
+ Applies to both fixed-function and programmable pipeline.
380
+ */
381
+ void setFrameTextureName(const String& name, unsigned int frameNumber);
382
+
383
+ /** Add a Texture name to the end of the frame container.
384
+ @param name The name of the texture
385
+ @note
386
+ Applies to both fixed-function and programmable pipeline.
387
+ */
388
+ void addFrameTextureName(const String& name);
389
+ /** deletes a specific texture frame. The texture used is not deleted but the
390
+ texture will no longer be used by the Texture Unit. An exception is raised
391
+ if the frame number exceeds the number of actual frames.
392
+ @param frameNumber The frame number of the texture to be deleted.
393
+ @note
394
+ Applies to both fixed-function and programmable pipeline.
395
+ */
396
+ void deleteFrameTextureName(const size_t frameNumber);
397
+ /** Gets the number of frames for a texture.
398
+ @note
399
+ Applies to both fixed-function and programmable pipeline.
400
+ */
401
+ unsigned int getNumFrames(void) const;
402
+
403
+
404
+ /** The type of unit to bind the texture settings to. */
405
+ enum BindingType
406
+ {
407
+ /** Regular fragment processing unit - the default. */
408
+ BT_FRAGMENT = 0,
409
+ /** Vertex processing unit - indicates this unit will be used for
410
+ a vertex texture fetch.
411
+ */
412
+ BT_VERTEX = 1
413
+ };
414
+ /** Enum identifying the type of content this texture unit contains.
415
+ */
416
+ enum ContentType
417
+ {
418
+ /// Normal texture identified by name
419
+ CONTENT_NAMED = 0,
420
+ /// A shadow texture, automatically bound by engine
421
+ CONTENT_SHADOW = 1
422
+ };
423
+
424
+ /** Sets the type of unit these texture settings should be bound to.
425
+ @remarks
426
+ Some render systems, when implementing vertex texture fetch, separate
427
+ the binding of textures for use in the vertex program versus those
428
+ used in fragment programs. This setting allows you to target the
429
+ vertex processing unit with a texture binding, in those cases. For
430
+ rendersystems which have a unified binding for the vertex and fragment
431
+ units, this setting makes no difference.
432
+ */
433
+ void setBindingType(BindingType bt);
434
+
435
+ /** Gets the type of unit these texture settings should be bound to.
436
+ */
437
+ BindingType getBindingType(void) const;
438
+
439
+ /** Set the type of content this TextureUnitState references.
440
+ @remarks
441
+ The default is to reference a standard named texture, but this unit
442
+ can also reference automated content like a shadow texture.
443
+ */
444
+ void setContentType(ContentType ct);
445
+ /** Get the type of content this TextureUnitState references. */
446
+ ContentType getContentType(void) const;
447
+
448
+ /** Returns true if this texture unit is either a series of 6 2D textures, each
449
+ in it's own frame, or is a full 3D cube map. You can tell which by checking
450
+ getTextureType.
451
+ @note
452
+ Applies to both fixed-function and programmable pipeline.
453
+ */
454
+ bool isCubic(void) const;
455
+
456
+ /** Returns true if this texture layer uses a composite 3D cubic texture.
457
+ @note
458
+ Applies to both fixed-function and programmable pipeline.
459
+ */
460
+ bool is3D(void) const;
461
+
462
+ /** Returns the type of this texture.
463
+ @note
464
+ Applies to both fixed-function and programmable pipeline.
465
+ */
466
+ TextureType getTextureType(void) const;
467
+
468
+ /** Sets the desired pixel format when load the texture.
469
+ */
470
+ void setDesiredFormat(PixelFormat desiredFormat);
471
+
472
+ /** Gets the desired pixel format when load the texture.
473
+ */
474
+ PixelFormat getDesiredFormat(void) const;
475
+
476
+ /** Sets how many mipmaps have been requested for the texture.
477
+ */
478
+ void setNumMipmaps(int numMipmaps);
479
+
480
+ /** Gets how many mipmaps have been requested for the texture.
481
+ */
482
+ int getNumMipmaps(void) const;
483
+
484
+ /** Sets whether this texture is requested to be loaded as alpha if single channel
485
+ */
486
+ void setIsAlpha(bool isAlpha);
487
+
488
+ /** Gets whether this texture is requested to be loaded as alpha if single channel
489
+ */
490
+ bool getIsAlpha(void) const;
491
+
492
+ /** Gets the index of the set of texture co-ords this layer uses.
493
+ @note
494
+ Applies to both fixed-function and programmable pipeline.
495
+ */
496
+ unsigned int getTextureCoordSet(void) const;
497
+
498
+ /** Sets the index of the set of texture co-ords this layer uses.
499
+ @note
500
+ Default is 0 for all layers. Only change this if you have provided multiple texture co-ords per
501
+ vertex.
502
+ @note
503
+ Applies to both fixed-function and programmable pipeline.
504
+ */
505
+ void setTextureCoordSet(unsigned int set);
506
+
507
+ /** Sets a matrix used to transform any texture coordinates on this layer.
508
+ @remarks
509
+ Texture coordinates can be modified on a texture layer to create effects like scrolling
510
+ textures. A texture transform can either be applied to a layer which takes the source coordinates
511
+ from a fixed set in the geometry, or to one which generates them dynamically (e.g. environment mapping).
512
+ @par
513
+ It's obviously a bit impractical to create scrolling effects by calling this method manually since you
514
+ would have to call it every framw with a slight alteration each time, which is tedious. Instead
515
+ you can use the ControllerManager class to create a Controller object which will manage the
516
+ effect over time for you. See the ControllerManager::createTextureScroller and it's sibling methods for details.<BR>
517
+ In addition, if you want to set the individual texture transformations rather than concatenating them
518
+ yourself, use setTextureScroll, setTextureScale and setTextureRotate.
519
+ @note
520
+ Has no effect in the programmable pipeline.
521
+ */
522
+ void setTextureTransform(const Matrix4& xform);
523
+
524
+ /** Gets the current texture transformation matrix.
525
+ @remarks
526
+ Causes a reclaculation of the matrix if any parameters have been changed via
527
+ setTextureScroll, setTextureScale and setTextureRotate.
528
+ @note
529
+ Has no effect in the programmable pipeline.
530
+ */
531
+ const Matrix4& getTextureTransform(void) const;
532
+
533
+ /** Sets the translation offset of the texture, ie scrolls the texture.
534
+ @remarks
535
+ This method sets the translation element of the texture transformation, and is easier to use than setTextureTransform if
536
+ you are combining translation, scaling and rotation in your texture transformation. Again if you want
537
+ to animate these values you need to use a Controller
538
+ @note
539
+ Has no effect in the programmable pipeline.
540
+ @param u The amount the texture should be moved horizontally (u direction).
541
+ @param v The amount the texture should be moved vertically (v direction).
542
+ @see
543
+ ControllerManager, Controller
544
+ */
545
+ void setTextureScroll(Real u, Real v);
546
+
547
+ /** As setTextureScroll, but sets only U value.
548
+ @note
549
+ Has no effect in the programmable pipeline.
550
+ */
551
+ void setTextureUScroll(Real value);
552
+ // get texture uscroll value
553
+ Real getTextureUScroll(void) const;
554
+
555
+ /** As setTextureScroll, but sets only V value.
556
+ @note
557
+ Has no effect in the programmable pipeline.
558
+ */
559
+ void setTextureVScroll(Real value);
560
+ // get texture vscroll value
561
+ Real getTextureVScroll(void) const;
562
+
563
+ /** As setTextureScale, but sets only U value.
564
+ @note
565
+ Has no effect in the programmable pipeline.
566
+ */
567
+ void setTextureUScale(Real value);
568
+ // get texture uscale value
569
+ Real getTextureUScale(void) const;
570
+
571
+ /** As setTextureScale, but sets only V value.
572
+ @note
573
+ Has no effect in the programmable pipeline.
574
+ */
575
+ void setTextureVScale(Real value);
576
+ // get texture vscale value
577
+ Real getTextureVScale(void) const;
578
+
579
+ /** Sets the scaling factor applied to texture coordinates.
580
+ @remarks
581
+ This method sets the scale element of the texture transformation, and is easier to use than
582
+ setTextureTransform if you are combining translation, scaling and rotation in your texture transformation. Again if you want
583
+ to animate these values you need to use a Controller (see ControllerManager and it's methods for
584
+ more information).
585
+ @note
586
+ Has no effect in the programmable pipeline.
587
+ @param
588
+ uScale The value by which the texture is to be scaled horizontally.
589
+ @param
590
+ vScale The value by which the texture is to be scaled vertically.
591
+ */
592
+ void setTextureScale(Real uScale, Real vScale);
593
+
594
+ /** Sets the anticlockwise rotation factor applied to texture coordinates.
595
+ @remarks
596
+ This sets a fixed rotation angle - if you wish to animate this, see the
597
+ ControllerManager::createTextureRotater method.
598
+ @note
599
+ Has no effect in the programmable pipeline.
600
+ @param
601
+ angle The angle of rotation (anticlockwise).
602
+ */
603
+ void setTextureRotate(const Radian& angle);
604
+ #ifndef OGRE_FORCE_ANGLE_TYPES
605
+ inline void setTextureRotate(Real angle) {
606
+ setTextureRotate ( Degree(angle) );
607
+ }
608
+ #endif//OGRE_FORCE_ANGLE_TYPES
609
+ // get texture rotation effects angle value
610
+ const Radian& getTextureRotate(void) const;
611
+
612
+ /** Gets the texture addressing mode for a given coordinate,
613
+ i.e. what happens at uv values above 1.0.
614
+ @note
615
+ The default is TAM_WRAP i.e. the texture repeats over values of 1.0.
616
+ */
617
+ const UVWAddressingMode& getTextureAddressingMode(void) const;
618
+
619
+ /** Sets the texture addressing mode, i.e. what happens at uv values above 1.0.
620
+ @note
621
+ The default is TAM_WRAP i.e. the texture repeats over values of 1.0.
622
+ @note This is a shortcut method which sets the addressing mode for all
623
+ coordinates at once; you can also call the more specific method
624
+ to set the addressing mode per coordinate.
625
+ @note
626
+ This applies for both the fixed-function and programmable pipelines.
627
+ */
628
+ void setTextureAddressingMode( TextureAddressingMode tam);
629
+
630
+ /** Sets the texture addressing mode, i.e. what happens at uv values above 1.0.
631
+ @note
632
+ The default is TAM_WRAP i.e. the texture repeats over values of 1.0.
633
+ @note
634
+ This applies for both the fixed-function and programmable pipelines.
635
+ */
636
+ void setTextureAddressingMode( TextureAddressingMode u,
637
+ TextureAddressingMode v, TextureAddressingMode w);
638
+
639
+ /** Sets the texture addressing mode, i.e. what happens at uv values above 1.0.
640
+ @note
641
+ The default is TAM_WRAP i.e. the texture repeats over values of 1.0.
642
+ @note
643
+ This applies for both the fixed-function and programmable pipelines.
644
+ */
645
+ void setTextureAddressingMode( const UVWAddressingMode& uvw);
646
+
647
+ /** Sets the texture border colour.
648
+ @note
649
+ The default is ColourValue::Black, and this value only used when addressing mode
650
+ is TAM_BORDER.
651
+ @note
652
+ This applies for both the fixed-function and programmable pipelines.
653
+ */
654
+ void setTextureBorderColour(const ColourValue& colour);
655
+
656
+ /** Sets the texture border colour.
657
+ @note
658
+ The default is ColourValue::Black, and this value only used when addressing mode
659
+ is TAM_BORDER.
660
+ */
661
+ const ColourValue& getTextureBorderColour(void) const;
662
+
663
+ /** Setting advanced blending options.
664
+ @remarks
665
+ This is an extended version of the TextureUnitState::setColourOperation method which allows
666
+ extremely detailed control over the blending applied between this and earlier layers.
667
+ See the IMPORTANT note below about the issues between mulitpass and multitexturing that
668
+ using this method can create.
669
+ @par
670
+ Texture colour operations determine how the final colour of the surface appears when
671
+ rendered. Texture units are used to combine colour values from various sources (ie. the
672
+ diffuse colour of the surface from lighting calculations, combined with the colour of
673
+ the texture). This method allows you to specify the 'operation' to be used, ie. the
674
+ calculation such as adds or multiplies, and which values to use as arguments, such as
675
+ a fixed value or a value from a previous calculation.
676
+ @par
677
+ The defaults for each layer are:
678
+ <ul>
679
+ <li>op = LBX_MODULATE</li>
680
+ <li>source1 = LBS_TEXTURE</li>
681
+ <li>source2 = LBS_CURRENT</li>
682
+ </ul>
683
+ ie. each layer takes the colour results of the previous layer, and multiplies them
684
+ with the new texture being applied. Bear in mind that colours are RGB values from
685
+ 0.0 - 1.0 so multiplying them together will result in values in the same range,
686
+ 'tinted' by the multiply. Note however that a straight multiply normally has the
687
+ effect of darkening the textures - for this reason there are brightening operations
688
+ like LBO_MODULATE_X2. See the LayerBlendOperation and LayerBlendSource enumerated
689
+ types for full details.
690
+ @note
691
+ Because of the limitations on some underlying APIs (Direct3D included)
692
+ the LBS_TEXTURE argument can only be used as the first argument, not the second.
693
+ @par
694
+ The final 3 parameters are only required if you decide to pass values manually
695
+ into the operation, i.e. you want one or more of the inputs to the colour calculation
696
+ to come from a fixed value that you supply. Hence you only need to fill these in if
697
+ you supply LBS_MANUAL to the corresponding source, or use the LBX_BLEND_MANUAL
698
+ operation.
699
+ @warning
700
+ Ogre tries to use multitexturing hardware to blend texture layers
701
+ together. However, if it runs out of texturing units (e.g. 2 of a GeForce2, 4 on a
702
+ GeForce3) it has to fall back on multipass rendering, i.e. rendering the same object
703
+ multiple times with different textures. This is both less efficient and there is a smaller
704
+ range of blending operations which can be performed. For this reason, if you use this method
705
+ you MUST also call TextureUnitState::setColourOpMultipassFallback to specify which effect you
706
+ want to fall back on if sufficient hardware is not available.
707
+ @note
708
+ This has no effect in the programmable pipeline.
709
+ @param
710
+ If you wish to avoid having to do this, use the simpler TextureUnitState::setColourOperation method
711
+ which allows less flexible blending options but sets up the multipass fallback automatically,
712
+ since it only allows operations which have direct multipass equivalents.
713
+ @param
714
+ op The operation to be used, e.g. modulate (multiply), add, subtract
715
+ @param
716
+ source1 The source of the first colour to the operation e.g. texture colour
717
+ @param
718
+ source2 The source of the second colour to the operation e.g. current surface colour
719
+ @param
720
+ arg1 Manually supplied colour value (only required if source1 = LBS_MANUAL)
721
+ @param
722
+ arg2 Manually supplied colour value (only required if source2 = LBS_MANUAL)
723
+ @param
724
+ manualBlend Manually supplied 'blend' value - only required for operations
725
+ which require manual blend e.g. LBX_BLEND_MANUAL
726
+ */
727
+ void setColourOperationEx(
728
+ LayerBlendOperationEx op,
729
+ LayerBlendSource source1 = LBS_TEXTURE,
730
+ LayerBlendSource source2 = LBS_CURRENT,
731
+
732
+ const ColourValue& arg1 = ColourValue::White,
733
+ const ColourValue& arg2 = ColourValue::White,
734
+
735
+ Real manualBlend = 0.0);
736
+
737
+ /** Determines how this texture layer is combined with the one below it (or the diffuse colour of
738
+ the geometry if this is layer 0).
739
+ @remarks
740
+ This method is the simplest way to blend tetxure layers, because it requires only one parameter,
741
+ gives you the most common blending types, and automatically sets up 2 blending methods: one for
742
+ if single-pass multitexturing hardware is available, and another for if it is not and the blending must
743
+ be achieved through multiple rendering passes. It is, however, quite limited and does not expose
744
+ the more flexible multitexturing operations, simply because these can't be automatically supported in
745
+ multipass fallback mode. If want to use the fancier options, use TextureUnitState::setColourOperationEx,
746
+ but you'll either have to be sure that enough multitexturing units will be available, or you should
747
+ explicitly set a fallback using TextureUnitState::setColourOpMultipassFallback.
748
+ @note
749
+ The default method is LBO_MODULATE for all layers.
750
+ @note
751
+ This option has no effect in the programmable pipeline.
752
+ @param
753
+ op One of the LayerBlendOperation enumerated blending types.
754
+ */
755
+ void setColourOperation( const LayerBlendOperation op);
756
+
757
+ /** Sets the multipass fallback operation for this layer, if you used TextureUnitState::setColourOperationEx
758
+ and not enough multitexturing hardware is available.
759
+ @remarks
760
+ Because some effects exposed using TextureUnitState::setColourOperationEx are only supported under
761
+ multitexturing hardware, if the hardware is lacking the system must fallback on multipass rendering,
762
+ which unfortunately doesn't support as many effects. This method is for you to specify the fallback
763
+ operation which most suits you.
764
+ @par
765
+ You'll notice that the interface is the same as the Material::setSceneBlending method; this is
766
+ because multipass rendering IS effectively scene blending, since each layer is rendered on top
767
+ of the last using the same mechanism as making an object transparent, it's just being rendered
768
+ in the same place repeatedly to get the multitexture effect.
769
+ @par
770
+ If you use the simpler (and hence less flexible) TextureUnitState::setColourOperation method you
771
+ don't need to call this as the system sets up the fallback for you.
772
+ @note
773
+ This option has no effect in the programmable pipeline, because there is no multipass fallback
774
+ and multitexture blending is handled by the fragment shader.
775
+ */
776
+ void setColourOpMultipassFallback( const SceneBlendFactor sourceFactor, const SceneBlendFactor destFactor);
777
+
778
+ /** Get multitexturing colour blending mode.
779
+ */
780
+ const LayerBlendModeEx& getColourBlendMode(void) const;
781
+
782
+ /** Get multitexturing alpha blending mode.
783
+ */
784
+ const LayerBlendModeEx& getAlphaBlendMode(void) const;
785
+
786
+ /** Get the multipass fallback for colour blending operation source factor.
787
+ */
788
+ SceneBlendFactor getColourBlendFallbackSrc(void) const;
789
+
790
+ /** Get the multipass fallback for colour blending operation destination factor.
791
+ */
792
+ SceneBlendFactor getColourBlendFallbackDest(void) const;
793
+
794
+ /** Sets the alpha operation to be applied to this texture.
795
+ @remarks
796
+ This works in exactly the same way as setColourOperation, except
797
+ that the effect is applied to the level of alpha (i.e. transparency)
798
+ of the texture rather than its colour. When the alpha of a texel (a pixel
799
+ on a texture) is 1.0, it is opaque, wheras it is fully transparent if the
800
+ alpha is 0.0. Please refer to the setColourOperation method for more info.
801
+ @param
802
+ op The operation to be used, e.g. modulate (multiply), add, subtract
803
+ @param
804
+ source1 The source of the first alpha value to the operation e.g. texture alpha
805
+ @param
806
+ source2 The source of the second alpha value to the operation e.g. current surface alpha
807
+ @param
808
+ arg1 Manually supplied alpha value (only required if source1 = LBS_MANUAL)
809
+ @param
810
+ arg2 Manually supplied alpha value (only required if source2 = LBS_MANUAL)
811
+ @param
812
+ manualBlend Manually supplied 'blend' value - only required for operations
813
+ which require manual blend e.g. LBX_BLEND_MANUAL
814
+ @see
815
+ setColourOperation
816
+ @note
817
+ This option has no effect in the programmable pipeline.
818
+ */
819
+ void setAlphaOperation(LayerBlendOperationEx op,
820
+ LayerBlendSource source1 = LBS_TEXTURE,
821
+ LayerBlendSource source2 = LBS_CURRENT,
822
+ Real arg1 = 1.0,
823
+ Real arg2 = 1.0,
824
+ Real manualBlend = 0.0);
825
+
826
+ /** Generic method for setting up texture effects.
827
+ @remarks
828
+ Allows you to specify effects directly by using the TextureEffectType enumeration. The
829
+ arguments that go with it depend on the effect type. Only one effect of
830
+ each type can be applied to a texture layer.
831
+ @par
832
+ This method is used internally by Ogre but it is better generally for applications to use the
833
+ more intuitive specialised methods such as setEnvironmentMap and setScroll.
834
+ @note
835
+ This option has no effect in the programmable pipeline.
836
+ */
837
+ void addEffect(TextureEffect& effect);
838
+
839
+ /** Turns on/off texture coordinate effect that makes this layer an environment map.
840
+ @remarks
841
+ Environment maps make an object look reflective by using the object's vertex normals relative
842
+ to the camera view to generate texture coordinates.
843
+ @par
844
+ The vectors generated can either be used to address a single 2D texture which
845
+ is a 'fish-eye' lens view of a scene, or a 3D cubic environment map which requires 6 textures
846
+ for each side of the inside of a cube. The type depends on what texture you set up - if you use the
847
+ setTextureName method then a 2D fisheye lens texture is required, whereas if you used setCubicTextureName
848
+ then a cubic environemnt map will be used.
849
+ @par
850
+ This effect works best if the object has lots of gradually changing normals. The texture also
851
+ has to be designed for this effect - see the example spheremap.png included with the sample
852
+ application for a 2D environment map; a cubic map can be generated by rendering 6 views of a
853
+ scene to each of the cube faces with orthoganal views.
854
+ @note
855
+ Enabling this disables any other texture coordinate generation effects.
856
+ However it can be combined with texture coordinate modification functions, which then operate on the
857
+ generated coordinates rather than static model texture coordinates.
858
+ @param
859
+ enable True to enable, false to disable
860
+ @param
861
+ planar If set to true, instead of being based on normals the environment effect is based on
862
+ vertex positions. This is good for planar surfaces.
863
+ @note
864
+ This option has no effect in the programmable pipeline.
865
+ */
866
+ void setEnvironmentMap(bool enable, EnvMapType envMapType = ENV_CURVED);
867
+
868
+ /** Sets up an animated scroll for the texture layer.
869
+ @note
870
+ Useful for creating constant scrolling effects on a texture layer (for varying scrolls, see setTransformAnimation).
871
+ @param
872
+ uSpeed The number of horizontal loops per second (+ve=moving right, -ve = moving left)
873
+ @param
874
+ vSpeed The number of vertical loops per second (+ve=moving up, -ve= moving down)
875
+ @note
876
+ This option has no effect in the programmable pipeline.
877
+ */
878
+ void setScrollAnimation(Real uSpeed, Real vSpeed);
879
+
880
+ /** Sets up an animated texture rotation for this layer.
881
+ @note
882
+ Useful for constant rotations (for varying rotations, see setTransformAnimation).
883
+ @param
884
+ speed The number of complete anticlockwise revolutions per second (use -ve for clockwise)
885
+ @note
886
+ This option has no effect in the programmable pipeline.
887
+ */
888
+ void setRotateAnimation(Real speed);
889
+
890
+ /** Sets up a general time-relative texture modification effect.
891
+ @note
892
+ This can be called multiple times for different values of ttype, but only the latest effect
893
+ applies if called multiple time for the same ttype.
894
+ @param
895
+ ttype The type of transform, either translate (scroll), scale (stretch) or rotate (spin)
896
+ @param
897
+ waveType The shape of the wave, see WaveformType enum for details
898
+ @param
899
+ base The base value for the function (range of output = {base, base + amplitude})
900
+ @param
901
+ frequency The speed of the wave in cycles per second
902
+ @param
903
+ phase The offset of the start of the wave, e.g. 0.5 to start half-way through the wave
904
+ @param
905
+ amplitude Scales the output so that instead of lying within 0..1 it lies within 0..1*amplitude for exaggerated effects
906
+ @note
907
+ This option has no effect in the programmable pipeline.
908
+ */
909
+ void setTransformAnimation( const TextureTransformType ttype,
910
+ const WaveformType waveType, Real base = 0, Real frequency = 1, Real phase = 0, Real amplitude = 1 );
911
+
912
+
913
+ /** Enables or disables projective texturing on this texture unit.
914
+ @remarks
915
+ Projective texturing allows you to generate texture coordinates
916
+ based on a Frustum, which gives the impression that a texture is
917
+ being projected onto the surface. Note that once you have called
918
+ this method, the texture unit continues to monitor the Frustum you
919
+ passed in and the projection will change if you can alter it. It also
920
+ means that you must ensure that the Frustum object you pass a pointer
921
+ to remains in existence for as long as this TextureUnitState does.
922
+ @par
923
+ This effect cannot be combined with other texture generation effects,
924
+ such as environment mapping. It also has no effect on passes which
925
+ have a vertex program enabled - projective texturing has to be done
926
+ in the vertex program instead.
927
+ @param enabled Whether to enable / disable
928
+ @param projectionSettings The Frustum which will be used to derive the
929
+ projection parameters.
930
+ */
931
+ void setProjectiveTexturing(bool enabled, const Frustum* projectionSettings = 0);
932
+
933
+ /** Removes all effects applied to this texture layer.
934
+ */
935
+ void removeAllEffects(void);
936
+
937
+ /** Removes a single effect applied to this texture layer.
938
+ @note
939
+ Because you can only have 1 effect of each type (e.g. 1 texture coordinate generation) applied
940
+ to a layer, only the effect type is required.
941
+ */
942
+ void removeEffect( const TextureEffectType type );
943
+
944
+ /** Determines if this texture layer is currently blank.
945
+ @note
946
+ This can happen if a texture fails to load or some other non-fatal error. Worth checking after
947
+ setting texture name.
948
+ */
949
+ bool isBlank(void) const;
950
+
951
+ /** Sets this texture layer to be blank.
952
+ */
953
+ void setBlank(void);
954
+
955
+ // get texture effects in a multimap paired array
956
+ const EffectMap& getEffects(void) const;
957
+ // get the animated-texture animation duration
958
+ Real getAnimationDuration(void) const;
959
+
960
+ /** Set the texture filtering for this unit, using the simplified interface.
961
+ @remarks
962
+ You also have the option of specifying the minification, magnification
963
+ and mip filter individually if you want more control over filtering
964
+ options. See the alternative setTextureFiltering methods for details.
965
+ @note
966
+ This option applies in both the fixed function and the programmable pipeline.
967
+ @param filterType The high-level filter type to use.
968
+ */
969
+ void setTextureFiltering(TextureFilterOptions filterType);
970
+ /** Set a single filtering option on this texture unit.
971
+ @params ftype The filtering type to set
972
+ @params opts The filtering option to set
973
+ */
974
+ void setTextureFiltering(FilterType ftype, FilterOptions opts);
975
+ /** Set a the detailed filtering options on this texture unit.
976
+ @params minFilter The filtering to use when reducing the size of the texture.
977
+ Can be FO_POINT, FO_LINEAR or FO_ANISOTROPIC
978
+ @params magFilter The filtering to use when increasing the size of the texture
979
+ Can be FO_POINT, FO_LINEAR or FO_ANISOTROPIC
980
+ @params mipFilter The filtering to use between mip levels
981
+ Can be FO_NONE (turns off mipmapping), FO_POINT or FO_LINEAR (trilinear filtering)
982
+ */
983
+ void setTextureFiltering(FilterOptions minFilter, FilterOptions magFilter, FilterOptions mipFilter);
984
+ // get the texture filtering for the given type
985
+ FilterOptions getTextureFiltering(FilterType ftpye) const;
986
+
987
+ /** Sets the anisotropy level to be used for this texture level.
988
+ @par maxAniso The maximal anisotropy level, should be between 2 and the maximum supported by hardware (1 is the default, ie. no anisotrophy).
989
+ @note
990
+ This option applies in both the fixed function and the programmable pipeline.
991
+ */
992
+ void setTextureAnisotropy(unsigned int maxAniso);
993
+ // get this layer texture anisotropy level
994
+ unsigned int getTextureAnisotropy() const;
995
+
996
+ /** Sets the bias value applied to the mipmap calculation.
997
+ @remarks
998
+ You can alter the mipmap calculation by biasing the result with a
999
+ single floating point value. After the mip level has been calculated,
1000
+ this bias value is added to the result to give the final mip level.
1001
+ Lower mip levels are larger (higher detail), so a negative bias will
1002
+ force the larger mip levels to be used, and a positive bias
1003
+ will cause smaller mip levels to be used. The bias values are in
1004
+ mip levels, so a -1 bias will force mip levels one larger than by the
1005
+ default calculation.
1006
+ @param bias The bias value as described above, can be positive or negative.
1007
+ */
1008
+ void setTextureMipmapBias(float bias) { mMipmapBias = bias; }
1009
+ /** Gets the bias value applied to the mipmap calculation.
1010
+ @see TextureUnitState::setTextureMipmapBias
1011
+ */
1012
+ float getTextureMipmapBias(void) const { return mMipmapBias; }
1013
+
1014
+ /// Gets the parent Pass object
1015
+ Pass* getParent(void) const { return mParent; }
1016
+
1017
+ /** Internal method for loading this object as part of Material::load */
1018
+ void _load(void);
1019
+ /** Internal method for unloading this object as part of Material::unload */
1020
+ void _unload(void);
1021
+ /// Returns whether this unit has texture coordinate generation that depends on the camera
1022
+ bool hasViewRelativeTextureCoordinateGeneration(void) const;
1023
+
1024
+ // Is this loaded?
1025
+ bool isLoaded(void) const;
1026
+ /** Tells the class that it needs recompilation. */
1027
+ void _notifyNeedsRecompile(void);
1028
+
1029
+ /** Set the name of the Texture Unit State
1030
+ @remarks
1031
+ The name of the Texture Unit State is optional. Its usefull in material scripts where a material could inherit
1032
+ from another material and only want to modify a particalar Texture Unit State.
1033
+ */
1034
+ void setName(const String& name);
1035
+ /// get the name of the Texture Unit State
1036
+ const String& getName(void) const { return mName; }
1037
+
1038
+ /** Set the alias name used for texture frame names
1039
+ @param name can be any sequence of characters and does not have to be unique
1040
+ */
1041
+ void setTextureNameAlias(const String& name);
1042
+ /** gets the Texture Name Alias of the Texture Unit.
1043
+ */
1044
+ const String& getTextureNameAlias(void) const { return mTextureNameAlias;}
1045
+
1046
+ /** Applies texture names to Texture Unit State with matching texture name aliases.
1047
+ If no matching aliases are found then the TUS state does not change.
1048
+ @remarks
1049
+ Cubic, 1d, 2d, and 3d textures are determined from current state of the Texture Unit.
1050
+ Assumes animated frames are sequentially numbered in the name.
1051
+ If matching texture aliases are found then true is returned.
1052
+
1053
+ @param
1054
+ aliasList is a map container of texture alias, texture name pairs
1055
+ @param
1056
+ apply set true to apply the texture aliases else just test to see if texture alias matches are found.
1057
+ @return
1058
+ True if matching texture aliases were found in the Texture Unit State.
1059
+ */
1060
+ bool applyTextureAliases(const AliasTextureNamePairList& aliasList, const bool apply = true);
1061
+
1062
+ /** Notify this object that its parent has changed */
1063
+ void _notifyParent(Pass* parent);
1064
+
1065
+ /** Get the texture pointer for the current frame. */
1066
+ const TexturePtr& _getTexturePtr(void) const;
1067
+ /** Get the texture pointer for a given frame. */
1068
+ const TexturePtr& _getTexturePtr(size_t frame) const;
1069
+
1070
+ /** Set the texture pointer for the current frame (internal use only!). */
1071
+ void _setTexturePtr(const TexturePtr& texptr);
1072
+ /** Set the texture pointer for a given frame (internal use only!). */
1073
+ void _setTexturePtr(const TexturePtr& texptr, size_t frame);
1074
+
1075
+ /** Gets the animation controller (as created because of setAnimatedTexture)
1076
+ if it exists.
1077
+ */
1078
+ Controller<Real>* _getAnimController() const { return mAnimController; }
1079
+ protected:
1080
+ // State
1081
+ /// The current animation frame.
1082
+ unsigned int mCurrentFrame;
1083
+
1084
+ /// Duration of animation in seconds
1085
+ Real mAnimDuration;
1086
+ bool mCubic; // is this a series of 6 2D textures to make up a cube?
1087
+
1088
+ TextureType mTextureType;
1089
+ PixelFormat mDesiredFormat;
1090
+ int mTextureSrcMipmaps; // Request number of mipmaps
1091
+
1092
+ unsigned int mTextureCoordSetIndex;
1093
+ UVWAddressingMode mAddressMode;
1094
+ ColourValue mBorderColour;
1095
+
1096
+ LayerBlendModeEx mColourBlendMode;
1097
+ SceneBlendFactor mColourBlendFallbackSrc;
1098
+ SceneBlendFactor mColourBlendFallbackDest;
1099
+
1100
+ LayerBlendModeEx mAlphaBlendMode;
1101
+ mutable bool mIsBlank;
1102
+ bool mIsAlpha;
1103
+
1104
+ mutable bool mRecalcTexMatrix;
1105
+ Real mUMod, mVMod;
1106
+ Real mUScale, mVScale;
1107
+ Radian mRotate;
1108
+ mutable Matrix4 mTexModMatrix;
1109
+
1110
+ /// Texture filtering - minification
1111
+ FilterOptions mMinFilter;
1112
+ /// Texture filtering - magnification
1113
+ FilterOptions mMagFilter;
1114
+ /// Texture filtering - mipmapping
1115
+ FilterOptions mMipFilter;
1116
+ ///Texture anisotropy
1117
+ unsigned int mMaxAniso;
1118
+ /// Mipmap bias (always float, not Real)
1119
+ float mMipmapBias;
1120
+
1121
+ bool mIsDefaultAniso;
1122
+ bool mIsDefaultFiltering;
1123
+ /// Binding type (fragment or vertex pipeline)
1124
+ BindingType mBindingType;
1125
+ /// Content type of texture (normal loaded texture, auto-texture)
1126
+ ContentType mContentType;
1127
+
1128
+ //-----------------------------------------------------------------------------
1129
+ // Complex members (those that can't be copied using memcpy) are at the end to
1130
+ // allow for fast copying of the basic members.
1131
+ //
1132
+ std::vector<String> mFrames;
1133
+ mutable std::vector<TexturePtr> mFramePtrs;
1134
+ String mName; // optional name for the TUS
1135
+ String mTextureNameAlias; // optional alias for texture frames
1136
+ EffectMap mEffects;
1137
+ //-----------------------------------------------------------------------------
1138
+
1139
+ //-----------------------------------------------------------------------------
1140
+ // Pointer members (those that can't be copied using memcpy), and MUST
1141
+ // preserving even if assign from others
1142
+ //
1143
+ Pass* mParent;
1144
+ Controller<Real>* mAnimController;
1145
+ //-----------------------------------------------------------------------------
1146
+
1147
+
1148
+ /** Internal method for calculating texture matrix.
1149
+ */
1150
+ void recalcTextureMatrix(void) const;
1151
+
1152
+ /** Internal method for creating animation controller.
1153
+ */
1154
+ void createAnimController(void);
1155
+
1156
+ /** Internal method for creating texture effect controller.
1157
+ */
1158
+ void createEffectController(TextureEffect& effect);
1159
+
1160
+ /** Internal method for ensuring the texture for a given frame is loaded. */
1161
+ void ensureLoaded(size_t frame) const;
1162
+
1163
+
1164
+ };
1165
+
1166
+
1167
+ }
1168
+
1169
+ #endif