shattered_ogrerb 0.5.0.2 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (265) hide show
  1. data/lib/shattered_ogrerb.rb +8 -2
  2. data/lib/shattered_ogrerb/camera.rb +12 -4
  3. data/lib/shattered_ogrerb/mesh_instance.rb +22 -57
  4. data/lib/shattered_ogrerb/rgb.rb +6 -0
  5. data/lib/shattered_ogrerb/scene_node.rb +73 -0
  6. data/lib/shattered_ogrerb/vector.rb +6 -5
  7. data/vendor/ogrerb/README +7 -1
  8. data/vendor/ogrerb/Rakefile +52 -171
  9. data/vendor/ogrerb/build/ogre/Makefile +180 -0
  10. data/vendor/ogrerb/build/ogre/ogre-i386-mswin32.def +0 -0
  11. data/vendor/ogrerb/build/ogre/ogre-i386-mswin32.exp +0 -0
  12. data/vendor/ogrerb/build/ogre/ogre-i386-mswin32.lib +0 -0
  13. data/vendor/ogrerb/build/ogre/ogre-i386-mswin32.pdb +0 -0
  14. data/vendor/ogrerb/build/ogre/ogre.so +0 -0
  15. data/vendor/ogrerb/build/ogre/ogre.so.manifest +8 -0
  16. data/vendor/ogrerb/build/ogre/ogre_rb_wrap.cpp +87100 -0
  17. data/vendor/ogrerb/build/ogre/ogre_rb_wrap.h +171 -0
  18. data/vendor/ogrerb/build/ogre/ogre_rb_wrap.obj +0 -0
  19. data/vendor/ogrerb/lib/application.rb +2 -1
  20. data/vendor/ogrerb/lib/application_frame_listener.rb +16 -16
  21. data/vendor/ogrerb/lib/ogre.bundle +0 -0
  22. data/vendor/ogrerb/lib/ogre.dll +0 -0
  23. data/vendor/ogrerb/lib/rake/project_builder.rb +80 -0
  24. data/vendor/ogrerb/lib/ruby_ois.bundle +0 -0
  25. data/vendor/ogrerb/lib/ruby_ois.dll +0 -0
  26. data/vendor/ogrerb/ogre.rb +3 -0
  27. data/vendor/ogrerb/samples/Ogre.log +263 -0
  28. data/vendor/ogrerb/samples/cel_shading.rb +85 -85
  29. data/vendor/ogrerb/samples/ogre.cfg +10 -0
  30. data/vendor/ogrerb/samples/plugins.cfg +2 -2
  31. data/vendor/ogrerb/{navi → swig/navi}/Navi.i +0 -0
  32. data/vendor/ogrerb/{navi → swig/navi}/NaviData.i +0 -0
  33. data/vendor/ogrerb/{navi → swig/navi}/NaviManager.i +0 -0
  34. data/vendor/ogrerb/{navi → swig/navi}/NaviProxies.i +0 -0
  35. data/vendor/ogrerb/{navi → swig/navi}/lib/Navi.lib +0 -0
  36. data/vendor/ogrerb/{navi → swig/navi}/lib/Navi_d.lib +0 -0
  37. data/vendor/ogrerb/{navi → swig/navi}/lib/llmozlib.lib +0 -0
  38. data/vendor/ogrerb/{navi → swig/navi}/lib/llmozlib_d.lib +0 -0
  39. data/vendor/ogrerb/{navi → swig/navi}/navi_rb.i +0 -0
  40. data/vendor/ogrerb/{navi → swig/navi}/std_multimap.i +0 -0
  41. data/vendor/ogrerb/{ogre → swig/ogre}/Application.i +0 -0
  42. data/vendor/ogrerb/{ogre → swig/ogre}/ApplicationFrameListener.i +0 -0
  43. data/vendor/ogrerb/{ogre → swig/ogre}/ExampleApplication.i +0 -0
  44. data/vendor/ogrerb/{ogre → swig/ogre}/ExampleFrameListener.i +0 -0
  45. data/vendor/ogrerb/{ogre → swig/ogre}/OgreAlignedAllocator.i +0 -0
  46. data/vendor/ogrerb/{ogre → swig/ogre}/OgreAnimable.i +0 -0
  47. data/vendor/ogrerb/{ogre → swig/ogre}/OgreAnimation.i +0 -0
  48. data/vendor/ogrerb/{ogre → swig/ogre}/OgreAnimationState.i +0 -0
  49. data/vendor/ogrerb/{ogre → swig/ogre}/OgreAnimationTrack.i +0 -0
  50. data/vendor/ogrerb/{ogre → swig/ogre}/OgreAny.i +0 -0
  51. data/vendor/ogrerb/{ogre → swig/ogre}/OgreArchive.i +0 -0
  52. data/vendor/ogrerb/{ogre → swig/ogre}/OgreArchiveFactory.i +0 -0
  53. data/vendor/ogrerb/{ogre → swig/ogre}/OgreArchiveManager.i +0 -0
  54. data/vendor/ogrerb/{ogre → swig/ogre}/OgreAutoParamDataSource.i +0 -0
  55. data/vendor/ogrerb/{ogre → swig/ogre}/OgreAxisAlignedBox.i +0 -0
  56. data/vendor/ogrerb/{ogre → swig/ogre}/OgreBillboard.i +0 -0
  57. data/vendor/ogrerb/{ogre → swig/ogre}/OgreBillboardChain.i +0 -0
  58. data/vendor/ogrerb/{ogre → swig/ogre}/OgreBillboardParticleRenderer.i +0 -0
  59. data/vendor/ogrerb/{ogre → swig/ogre}/OgreBillboardSet.i +0 -0
  60. data/vendor/ogrerb/{ogre → swig/ogre}/OgreBitwise.i +0 -0
  61. data/vendor/ogrerb/{ogre → swig/ogre}/OgreBlendMode.i +0 -0
  62. data/vendor/ogrerb/{ogre → swig/ogre}/OgreBone.i +0 -0
  63. data/vendor/ogrerb/{ogre → swig/ogre}/OgreBorderPanelOverlayElement.i +0 -0
  64. data/vendor/ogrerb/{ogre → swig/ogre}/OgreCamera.i +0 -0
  65. data/vendor/ogrerb/{ogre → swig/ogre}/OgreCodec.i +0 -0
  66. data/vendor/ogrerb/{ogre → swig/ogre}/OgreColourValue.i +0 -0
  67. data/vendor/ogrerb/{ogre → swig/ogre}/OgreCommon.i +5 -0
  68. data/vendor/ogrerb/{ogre → swig/ogre}/OgreCompiler2Pass.i +0 -0
  69. data/vendor/ogrerb/{ogre → swig/ogre}/OgreCompositionPass.i +0 -0
  70. data/vendor/ogrerb/{ogre → swig/ogre}/OgreCompositionTargetPass.i +0 -0
  71. data/vendor/ogrerb/{ogre → swig/ogre}/OgreCompositionTechnique.i +0 -0
  72. data/vendor/ogrerb/{ogre → swig/ogre}/OgreCompositor.i +0 -0
  73. data/vendor/ogrerb/{ogre → swig/ogre}/OgreCompositorChain.i +0 -0
  74. data/vendor/ogrerb/{ogre → swig/ogre}/OgreCompositorInstance.i +0 -0
  75. data/vendor/ogrerb/{ogre → swig/ogre}/OgreCompositorManager.i +0 -0
  76. data/vendor/ogrerb/{ogre → swig/ogre}/OgreCompositorScriptCompiler.i +0 -0
  77. data/vendor/ogrerb/{ogre → swig/ogre}/OgreCompositorSerializer.i +0 -0
  78. data/vendor/ogrerb/{ogre → swig/ogre}/OgreConfig.i +0 -0
  79. data/vendor/ogrerb/{ogre → swig/ogre}/OgreConfigDialog.i +0 -0
  80. data/vendor/ogrerb/{ogre → swig/ogre}/OgreConfigFile.i +0 -0
  81. data/vendor/ogrerb/{ogre → swig/ogre}/OgreConfigOptionMap.i +0 -0
  82. data/vendor/ogrerb/{ogre → swig/ogre}/OgreController.i +0 -0
  83. data/vendor/ogrerb/{ogre → swig/ogre}/OgreControllerManager.i +0 -0
  84. data/vendor/ogrerb/{ogre → swig/ogre}/OgreConvexBody.i +0 -0
  85. data/vendor/ogrerb/{ogre → swig/ogre}/OgreDDSCodec.i +0 -0
  86. data/vendor/ogrerb/{ogre → swig/ogre}/OgreDataStream.i +0 -0
  87. data/vendor/ogrerb/{ogre → swig/ogre}/OgreDefaultHardwareBufferManager.i +0 -0
  88. data/vendor/ogrerb/{ogre → swig/ogre}/OgreDynLib.i +0 -0
  89. data/vendor/ogrerb/{ogre → swig/ogre}/OgreDynLibManager.i +0 -0
  90. data/vendor/ogrerb/{ogre → swig/ogre}/OgreEdgeListBuilder.i +0 -0
  91. data/vendor/ogrerb/{ogre → swig/ogre}/OgreEntity.i +0 -0
  92. data/vendor/ogrerb/{ogre → swig/ogre}/OgreErrorDialog.i +0 -0
  93. data/vendor/ogrerb/{ogre → swig/ogre}/OgreException.i +0 -0
  94. data/vendor/ogrerb/{ogre → swig/ogre}/OgreExternalTextureSource.i +0 -0
  95. data/vendor/ogrerb/{ogre → swig/ogre}/OgreExternalTextureSourceManager.i +0 -0
  96. data/vendor/ogrerb/{ogre → swig/ogre}/OgreFactoryObj.i +0 -0
  97. data/vendor/ogrerb/{ogre → swig/ogre}/OgreFileSystem.i +0 -0
  98. data/vendor/ogrerb/{ogre → swig/ogre}/OgreFont.i +0 -0
  99. data/vendor/ogrerb/{ogre → swig/ogre}/OgreFontManager.i +0 -0
  100. data/vendor/ogrerb/{ogre → swig/ogre}/OgreFrameListener.i +0 -0
  101. data/vendor/ogrerb/{ogre → swig/ogre}/OgreFreeImageCodec.i +0 -0
  102. data/vendor/ogrerb/{ogre → swig/ogre}/OgreFrustum.i +0 -0
  103. data/vendor/ogrerb/{ogre → swig/ogre}/OgreGpuProgram.i +0 -0
  104. data/vendor/ogrerb/{ogre → swig/ogre}/OgreGpuProgramManager.i +0 -0
  105. data/vendor/ogrerb/{ogre → swig/ogre}/OgreGpuProgramUsage.i +0 -0
  106. data/vendor/ogrerb/{ogre → swig/ogre}/OgreHardwareBuffer.i +0 -0
  107. data/vendor/ogrerb/{ogre → swig/ogre}/OgreHardwareBufferManager.i +0 -0
  108. data/vendor/ogrerb/{ogre → swig/ogre}/OgreHardwareIndexBuffer.i +1 -0
  109. data/vendor/ogrerb/{ogre → swig/ogre}/OgreHardwareOcclusionQuery.i +0 -0
  110. data/vendor/ogrerb/{ogre → swig/ogre}/OgreHardwarePixelBuffer.i +0 -0
  111. data/vendor/ogrerb/{ogre → swig/ogre}/OgreHardwareVertexBuffer.i +1 -0
  112. data/vendor/ogrerb/{ogre → swig/ogre}/OgreHighLevelGpuProgram.i +0 -0
  113. data/vendor/ogrerb/{ogre → swig/ogre}/OgreHighLevelGpuProgramManager.i +0 -0
  114. data/vendor/ogrerb/{ogre → swig/ogre}/OgreImage.i +0 -0
  115. data/vendor/ogrerb/{ogre → swig/ogre}/OgreImageCodec.i +0 -0
  116. data/vendor/ogrerb/{ogre → swig/ogre}/OgreInstancedGeometry.i +0 -0
  117. data/vendor/ogrerb/{ogre → swig/ogre}/OgreIteratorWrappers.i +0 -0
  118. data/vendor/ogrerb/{ogre → swig/ogre}/OgreKeyFrame.i +0 -0
  119. data/vendor/ogrerb/{ogre → swig/ogre}/OgreLight.i +0 -0
  120. data/vendor/ogrerb/{ogre → swig/ogre}/OgreLog.i +0 -0
  121. data/vendor/ogrerb/{ogre → swig/ogre}/OgreLogManager.i +0 -0
  122. data/vendor/ogrerb/{ogre → swig/ogre}/OgreManualObject.i +0 -0
  123. data/vendor/ogrerb/{ogre → swig/ogre}/OgreMaterial.i +0 -0
  124. data/vendor/ogrerb/{ogre → swig/ogre}/OgreMaterialManager.i +0 -0
  125. data/vendor/ogrerb/{ogre → swig/ogre}/OgreMaterialScriptCompiler.i +0 -0
  126. data/vendor/ogrerb/{ogre → swig/ogre}/OgreMaterialSerializer.i +0 -0
  127. data/vendor/ogrerb/{ogre → swig/ogre}/OgreMath.i +0 -0
  128. data/vendor/ogrerb/{ogre → swig/ogre}/OgreMatrix3.i +0 -0
  129. data/vendor/ogrerb/{ogre → swig/ogre}/OgreMatrix4.i +0 -0
  130. data/vendor/ogrerb/{ogre → swig/ogre}/OgreMemoryMacros.i +0 -0
  131. data/vendor/ogrerb/{ogre → swig/ogre}/OgreMemoryManager.i +0 -0
  132. data/vendor/ogrerb/{ogre → swig/ogre}/OgreMesh.i +0 -0
  133. data/vendor/ogrerb/{ogre → swig/ogre}/OgreMeshFileFormat.i +0 -0
  134. data/vendor/ogrerb/{ogre → swig/ogre}/OgreMeshManager.i +0 -0
  135. data/vendor/ogrerb/{ogre → swig/ogre}/OgreMeshSerializer.i +0 -0
  136. data/vendor/ogrerb/{ogre → swig/ogre}/OgreMeshSerializerImpl.i +0 -0
  137. data/vendor/ogrerb/{ogre → swig/ogre}/OgreMovableObject.i +0 -0
  138. data/vendor/ogrerb/{ogre → swig/ogre}/OgreMovablePlane.i +0 -0
  139. data/vendor/ogrerb/{ogre → swig/ogre}/OgreNoMemoryMacros.i +0 -0
  140. data/vendor/ogrerb/{ogre → swig/ogre}/OgreNode.i +0 -0
  141. data/vendor/ogrerb/{ogre → swig/ogre}/OgreNumerics.i +0 -0
  142. data/vendor/ogrerb/{ogre → swig/ogre}/OgreOverlay.i +0 -0
  143. data/vendor/ogrerb/{ogre → swig/ogre}/OgreOverlayContainer.i +0 -0
  144. data/vendor/ogrerb/{ogre → swig/ogre}/OgreOverlayElement.i +0 -0
  145. data/vendor/ogrerb/{ogre → swig/ogre}/OgreOverlayElementCommands.i +0 -0
  146. data/vendor/ogrerb/{ogre → swig/ogre}/OgreOverlayElementFactory.i +0 -0
  147. data/vendor/ogrerb/swig/ogre/OgreOverlayManager.i +32 -0
  148. data/vendor/ogrerb/{ogre → swig/ogre}/OgrePanelOverlayElement.i +0 -0
  149. data/vendor/ogrerb/{ogre → swig/ogre}/OgreParticle.i +0 -0
  150. data/vendor/ogrerb/{ogre → swig/ogre}/OgreParticleAffector.i +0 -0
  151. data/vendor/ogrerb/{ogre → swig/ogre}/OgreParticleAffectorFactory.i +0 -0
  152. data/vendor/ogrerb/{ogre → swig/ogre}/OgreParticleEmitter.i +0 -0
  153. data/vendor/ogrerb/{ogre → swig/ogre}/OgreParticleEmitterCommands.i +0 -0
  154. data/vendor/ogrerb/{ogre → swig/ogre}/OgreParticleEmitterFactory.i +0 -0
  155. data/vendor/ogrerb/{ogre → swig/ogre}/OgreParticleIterator.i +0 -0
  156. data/vendor/ogrerb/{ogre → swig/ogre}/OgreParticleSystem.i +0 -0
  157. data/vendor/ogrerb/{ogre → swig/ogre}/OgreParticleSystemManager.i +0 -0
  158. data/vendor/ogrerb/{ogre → swig/ogre}/OgreParticleSystemRenderer.i +0 -0
  159. data/vendor/ogrerb/{ogre → swig/ogre}/OgrePass.i +0 -0
  160. data/vendor/ogrerb/{ogre → swig/ogre}/OgrePatchMesh.i +0 -0
  161. data/vendor/ogrerb/{ogre → swig/ogre}/OgrePatchSurface.i +0 -0
  162. data/vendor/ogrerb/{ogre → swig/ogre}/OgrePixelFormat.i +0 -0
  163. data/vendor/ogrerb/{ogre → swig/ogre}/OgrePlane.i +0 -0
  164. data/vendor/ogrerb/{ogre → swig/ogre}/OgrePlaneBoundedVolume.i +0 -0
  165. data/vendor/ogrerb/{ogre → swig/ogre}/OgrePlatform.i +0 -0
  166. data/vendor/ogrerb/{ogre → swig/ogre}/OgrePlugin.i +0 -0
  167. data/vendor/ogrerb/{ogre → swig/ogre}/OgrePolygon.i +0 -0
  168. data/vendor/ogrerb/{ogre → swig/ogre}/OgrePose.i +0 -0
  169. data/vendor/ogrerb/{ogre → swig/ogre}/OgrePredefinedControllers.i +0 -0
  170. data/vendor/ogrerb/{ogre → swig/ogre}/OgrePrefabFactory.i +0 -0
  171. data/vendor/ogrerb/{ogre → swig/ogre}/OgrePrerequisites.i +0 -0
  172. data/vendor/ogrerb/{ogre → swig/ogre}/OgreProfiler.i +0 -0
  173. data/vendor/ogrerb/{ogre → swig/ogre}/OgreProgressiveMesh.i +0 -0
  174. data/vendor/ogrerb/{ogre → swig/ogre}/OgreProxies.i +0 -0
  175. data/vendor/ogrerb/{ogre → swig/ogre}/OgreQuaternion.i +0 -0
  176. data/vendor/ogrerb/{ogre → swig/ogre}/OgreRadixSort.i +0 -0
  177. data/vendor/ogrerb/{ogre → swig/ogre}/OgreRay.i +0 -0
  178. data/vendor/ogrerb/{ogre → swig/ogre}/OgreRectangle.i +0 -0
  179. data/vendor/ogrerb/{ogre → swig/ogre}/OgreRectangle2D.i +0 -0
  180. data/vendor/ogrerb/{ogre → swig/ogre}/OgreRenderOperation.i +0 -0
  181. data/vendor/ogrerb/{ogre → swig/ogre}/OgreRenderQueue.i +0 -0
  182. data/vendor/ogrerb/{ogre → swig/ogre}/OgreRenderQueueInvocation.i +0 -0
  183. data/vendor/ogrerb/{ogre → swig/ogre}/OgreRenderQueueListener.i +0 -0
  184. data/vendor/ogrerb/{ogre → swig/ogre}/OgreRenderQueueSortingGrouping.i +0 -0
  185. data/vendor/ogrerb/{ogre → swig/ogre}/OgreRenderSystem.i +2 -0
  186. data/vendor/ogrerb/{ogre → swig/ogre}/OgreRenderSystemCapabilities.i +0 -0
  187. data/vendor/ogrerb/{ogre → swig/ogre}/OgreRenderTarget.i +2 -1
  188. data/vendor/ogrerb/{ogre → swig/ogre}/OgreRenderTargetListener.i +0 -0
  189. data/vendor/ogrerb/{ogre → swig/ogre}/OgreRenderTexture.i +0 -0
  190. data/vendor/ogrerb/{ogre → swig/ogre}/OgreRenderWindow.i +0 -0
  191. data/vendor/ogrerb/{ogre → swig/ogre}/OgreRenderable.i +0 -0
  192. data/vendor/ogrerb/{ogre → swig/ogre}/OgreResource.i +0 -0
  193. data/vendor/ogrerb/{ogre → swig/ogre}/OgreResourceBackgroundQueue.i +0 -0
  194. data/vendor/ogrerb/{ogre → swig/ogre}/OgreResourceGroupManager.i +0 -0
  195. data/vendor/ogrerb/{ogre → swig/ogre}/OgreResourceManager.i +0 -0
  196. data/vendor/ogrerb/{ogre → swig/ogre}/OgreRibbonTrail.i +0 -0
  197. data/vendor/ogrerb/{ogre → swig/ogre}/OgreRoot.i +0 -0
  198. data/vendor/ogrerb/{ogre → swig/ogre}/OgreRotationalSpline.i +0 -0
  199. data/vendor/ogrerb/{ogre → swig/ogre}/OgreSceneManager.i +0 -0
  200. data/vendor/ogrerb/{ogre → swig/ogre}/OgreSceneManagerEnumerator.i +0 -0
  201. data/vendor/ogrerb/{ogre → swig/ogre}/OgreSceneNode.i +0 -0
  202. data/vendor/ogrerb/{ogre → swig/ogre}/OgreSceneQuery.i +0 -0
  203. data/vendor/ogrerb/{ogre → swig/ogre}/OgreScriptLoader.i +0 -0
  204. data/vendor/ogrerb/{ogre → swig/ogre}/OgreSearchOps.i +0 -0
  205. data/vendor/ogrerb/{ogre → swig/ogre}/OgreSerializer.i +0 -0
  206. data/vendor/ogrerb/{ogre → swig/ogre}/OgreShadowCameraSetup.i +0 -0
  207. data/vendor/ogrerb/{ogre → swig/ogre}/OgreShadowCameraSetupFocused.i +0 -0
  208. data/vendor/ogrerb/{ogre → swig/ogre}/OgreShadowCameraSetupLiSPSM.i +0 -0
  209. data/vendor/ogrerb/{ogre → swig/ogre}/OgreShadowCameraSetupPlaneOptimal.i +0 -0
  210. data/vendor/ogrerb/{ogre → swig/ogre}/OgreShadowCaster.i +0 -0
  211. data/vendor/ogrerb/{ogre → swig/ogre}/OgreShadowTextureManager.i +0 -0
  212. data/vendor/ogrerb/{ogre → swig/ogre}/OgreShadowVolumeExtrudeProgram.i +0 -0
  213. data/vendor/ogrerb/{ogre → swig/ogre}/OgreSharedPtr.i +0 -0
  214. data/vendor/ogrerb/{ogre → swig/ogre}/OgreSimpleRenderable.i +0 -0
  215. data/vendor/ogrerb/{ogre → swig/ogre}/OgreSimpleSpline.i +0 -0
  216. data/vendor/ogrerb/{ogre → swig/ogre}/OgreSingleton.i +0 -0
  217. data/vendor/ogrerb/{ogre → swig/ogre}/OgreSkeleton.i +0 -0
  218. data/vendor/ogrerb/{ogre → swig/ogre}/OgreSkeletonFileFormat.i +0 -0
  219. data/vendor/ogrerb/{ogre → swig/ogre}/OgreSkeletonInstance.i +0 -0
  220. data/vendor/ogrerb/{ogre → swig/ogre}/OgreSkeletonManager.i +0 -0
  221. data/vendor/ogrerb/{ogre → swig/ogre}/OgreSkeletonSerializer.i +0 -0
  222. data/vendor/ogrerb/{ogre → swig/ogre}/OgreSphere.i +0 -0
  223. data/vendor/ogrerb/{ogre → swig/ogre}/OgreSpotShadowFadePng.i +0 -0
  224. data/vendor/ogrerb/{ogre → swig/ogre}/OgreStableHeaders.i +0 -0
  225. data/vendor/ogrerb/{ogre → swig/ogre}/OgreStaticFaceGroup.i +0 -0
  226. data/vendor/ogrerb/{ogre → swig/ogre}/OgreStaticGeometry.i +28 -0
  227. data/vendor/ogrerb/{ogre → swig/ogre}/OgreStdHeaders.i +0 -0
  228. data/vendor/ogrerb/{ogre → swig/ogre}/OgreString.i +0 -0
  229. data/vendor/ogrerb/{ogre → swig/ogre}/OgreStringConverter.i +0 -0
  230. data/vendor/ogrerb/{ogre → swig/ogre}/OgreStringInterface.i +0 -0
  231. data/vendor/ogrerb/{ogre → swig/ogre}/OgreStringVector.i +0 -0
  232. data/vendor/ogrerb/{ogre → swig/ogre}/OgreSubEntity.i +0 -0
  233. data/vendor/ogrerb/{ogre → swig/ogre}/OgreSubMesh.i +0 -0
  234. data/vendor/ogrerb/{ogre → swig/ogre}/OgreTagPoint.i +0 -0
  235. data/vendor/ogrerb/{ogre → swig/ogre}/OgreTechnique.i +0 -0
  236. data/vendor/ogrerb/{ogre → swig/ogre}/OgreTextAreaOverlayElement.i +0 -0
  237. data/vendor/ogrerb/{ogre → swig/ogre}/OgreTexture.i +0 -0
  238. data/vendor/ogrerb/{ogre → swig/ogre}/OgreTextureManager.i +0 -0
  239. data/vendor/ogrerb/{ogre → swig/ogre}/OgreTextureUnitState.i +0 -0
  240. data/vendor/ogrerb/{ogre → swig/ogre}/OgreTimer.i +0 -0
  241. data/vendor/ogrerb/{ogre → swig/ogre}/OgreUTFString.i +0 -0
  242. data/vendor/ogrerb/{ogre → swig/ogre}/OgreUnifiedHighLevelGpuProgram.i +0 -0
  243. data/vendor/ogrerb/{ogre → swig/ogre}/OgreUserDefinedObject.i +0 -0
  244. data/vendor/ogrerb/{ogre → swig/ogre}/OgreVector2.i +0 -0
  245. data/vendor/ogrerb/{ogre → swig/ogre}/OgreVector3.i +0 -0
  246. data/vendor/ogrerb/{ogre → swig/ogre}/OgreVector4.i +0 -0
  247. data/vendor/ogrerb/{ogre → swig/ogre}/OgreVertexBoneAssignment.i +0 -0
  248. data/vendor/ogrerb/{ogre → swig/ogre}/OgreVertexIndexData.i +0 -0
  249. data/vendor/ogrerb/{ogre → swig/ogre}/OgreViewport.i +0 -0
  250. data/vendor/ogrerb/{ogre → swig/ogre}/OgreWindowEventUtilities.i +0 -0
  251. data/vendor/ogrerb/{ogre → swig/ogre}/OgreWireBoundingBox.i +0 -0
  252. data/vendor/ogrerb/{ogre → swig/ogre}/OgreZip.i +0 -0
  253. data/vendor/ogrerb/{ogre → swig/ogre}/ogre_rb.i +7 -7
  254. data/vendor/ogrerb/{ogre → swig/ogre}/std_multimap.i +0 -0
  255. data/vendor/ogrerb/{ois → swig/ois}/OISProxies.i +0 -0
  256. data/vendor/ogrerb/{ois → swig/ois}/OISRenames.i +0 -0
  257. data/vendor/ogrerb/{ois → swig/ois}/ois.i +0 -0
  258. data/vendor/ogrerb/{ois → swig/ois}/std_multimap.i +0 -0
  259. data/vendor/ogrerb/test/ogre.cfg +10 -0
  260. data/vendor/ogrerb/test/plugins.cfg +8 -0
  261. data/vendor/ogrerb/test/test_helper.rb +41 -0
  262. data/vendor/ogrerb/test/unit/movable_object_test.rb +19 -0
  263. data/vendor/ogrerb/test/unit/name_value_pair_list_test.rb +12 -0
  264. metadata +260 -235
  265. data/vendor/ogrerb/ogre/OgreOverlayManager.i +0 -9
@@ -1,9 +1,15 @@
1
-
1
+ require File.dirname(__FILE__) + '/../vendor/ogrerb/platform'
2
2
  # adds dll search paths
3
3
  def add_dll_paths(*directories)
4
4
  directories.each do |dir|
5
5
  absolute_path = File.expand_path(File.dirname(__FILE__)+"/../vendor/#{dir}/")
6
- ENV["path"] += ";#{absolute_path};"
6
+ #TODO: This might be a ruby version issue instead of a platform issue
7
+ # but in Mac PATH is capitalized
8
+ unless Platform.mac?
9
+ ENV["path"] += ";#{absolute_path};"
10
+ else
11
+ ENV["PATH"] += ";#{absolute_path};"
12
+ end
7
13
  $:.unshift(absolute_path)
8
14
  end
9
15
  end
@@ -1,6 +1,14 @@
1
1
  module Ogre
2
- class Camera
3
- alias_method :position, :get_position
4
- alias_method :position=, :set_position
5
- end
2
+ class Camera
3
+
4
+ alias_method :raw_look_at, :look_at
5
+
6
+ # Look at an object
7
+ # You can send it a node, mesh, or anything with a position vector
8
+ # Or just a vector
9
+ def look_at(v)
10
+ v = v.position if v.class.respond_to? :position
11
+ raw_look_at v.to_v
12
+ end
13
+ end
6
14
  end
@@ -11,73 +11,35 @@ module Ogre
11
11
  # are not delegated respectfully.
12
12
  class MeshInstance < SimpleDelegator
13
13
  attr_reader :node, :entity
14
- def initialize(parent, scene_manager, mesh_name)
14
+ def initialize(parent, scene_manager, mesh_name, options={})
15
15
  @@entity_count ||= 0
16
16
  @node = parent.create_child_scene_node
17
17
  # formats to '#<SceneManager:???>.entity(0)'
18
- @entity = scene_manager.create_entity("#{scene_manager.to_s}.entity(#{@@entity_count})", mesh_name)
18
+ @entity = options[:entity] || scene_manager.create_entity("#{scene_manager.to_s}.entity(#{@@entity_count})", mesh_name)
19
+
19
20
  @node.attach_object(@entity)
20
21
  @@entity_count += 1
21
22
  # delegate all unknown methods to the entity object
22
23
  __setobj__(@entity)
23
24
  end
24
25
 
25
- # Node delegates
26
- {
27
- :position => :get_position,
28
- :position= => :set_position,
29
- :direction= => :set_direction,
30
- :orientation= => :set_orientation,
31
- :orientation => :get_orientation,
32
- :scale => :get_scale,
33
- :translate! => :translate
34
- }.each do |method, delegate|
35
- define_method(method) do |*args|
36
- node.send(delegate, *args)
26
+ [
27
+ :position,
28
+ :position=,
29
+ :direction=,
30
+ :orientation=,
31
+ :orientation,
32
+ :scale,
33
+ :translate!,
34
+ :rotate,
35
+ :scale=,
36
+ :scale!,
37
+ :look_at
38
+ ].each do |method|
39
+ define_method(method) do |*args|
40
+ node.send(method, *args)
37
41
  end
38
- end
39
-
40
- # rotate works in degrees by default, and in the TS_lOCAL space
41
- def rotate(axis, amount, *args)
42
- if(args.empty?)
43
- node.rotate(axis, Radian.new(Degree.new(amount)))
44
- else
45
- node.rotate(axis,Radian.new(Degree.new(amount)), args[0])
46
- end
47
- end
48
-
49
- # scale= works with numbers, vectors, or 3 numbers and is absolute
50
- def scale=(*args)
51
- v = args
52
-
53
- # This handles calling scale=0.5 or some other number
54
- v = v(v[0], v[0], v[0]) if v[0].is_a? Numeric
55
-
56
- node.set_scale(*v)
57
- end
58
-
59
- #scale! works with numbers, vectors, or 3 numbers and is relative
60
- def scale!(*args)
61
- v = args
62
-
63
- # This handles calling scale=0.5 or some other number
64
- v = v(v[0], v[0], v[0]) if v[0].is_a? Numeric
65
-
66
- node.scale(*v)
67
- end
68
-
69
- # Look at an object
70
- # This function is different than the one in the Ogre SDK because
71
- # it defaults to TS_LOCAL as the transform space
72
- # You can send it a node, mesh, or anything with a position vector
73
- # Or just a vector
74
- def look_at(*args)
75
- transform = Ogre::Node::TS_LOCAL
76
- transform = args[1] if(args.length == 2)
77
- v = args[0]
78
- v = args[0].position if args[0].class.respond_to? :position
79
- node.look_at v, transform
80
- end
42
+ end
81
43
 
82
44
  #Entity delegates that map differently
83
45
  def visible=(v)
@@ -98,4 +60,7 @@ module Ogre
98
60
  end
99
61
 
100
62
  end
63
+
64
+ class LightInstance < MeshInstance
65
+ end
101
66
  end
@@ -0,0 +1,6 @@
1
+ class Object
2
+ # rgb(0,0,0) is a shorthand for creating colours in Ogre.
3
+ def rgb(r,g,b)
4
+ Ogre::ColourValue.new(r,g,b)
5
+ end
6
+ end
@@ -0,0 +1,73 @@
1
+ module Ogre
2
+ module NodeMovements
3
+ def self.redefine_methods(c)
4
+ c.class_eval do
5
+ # Node delegates
6
+ {
7
+ :position => :get_position,
8
+ :position= => :set_position,
9
+ :direction= => :set_direction,
10
+ :orientation= => :set_orientation,
11
+ :orientation => :get_orientation,
12
+ :translate! => :translate,
13
+ }.each do |method, delegate|
14
+ define_method(method) do |*args|
15
+ send(delegate, *args)
16
+ end
17
+ end
18
+
19
+ end
20
+ end
21
+ end
22
+
23
+ NodeMovements.redefine_methods(SceneNode)
24
+ NodeMovements.redefine_methods(Camera)
25
+
26
+ class SceneNode
27
+ alias_method :raw_rotate, :rotate
28
+
29
+ # rotate works in degrees by default, and in the TS_lOCAL space
30
+ def rotate(axis, amount, *args)
31
+ if(args.empty?)
32
+ raw_rotate(axis.to_v, Radian.new(Degree.new(amount)))
33
+ else
34
+ raw_rotate(axis.to_v, Radian.new(Degree.new(amount)), args[0])
35
+ end
36
+ end
37
+
38
+ alias_method :raw_look_at, :look_at
39
+
40
+ # Look at an object
41
+ # This function is different than the one in the Ogre SDK because
42
+ # it defaults to TS_LOCAL as the transform space
43
+ # You can send it a node, mesh, or anything with a position vector
44
+ # Or just a vector
45
+ def look_at(*args)
46
+ transform = Ogre::Node::TS_LOCAL
47
+ transform = args[1] if(args.length == 2)
48
+ v = args[0]
49
+ v = args[0].position if args[0].class.respond_to? :position
50
+ raw_look_at v, transform
51
+ end
52
+
53
+ # scale= works with numbers, vectors, or 3 numbers and is absolute
54
+ def scale=(*args)
55
+ v = args
56
+
57
+ # This handles calling scale=0.5 or some other number
58
+ v = v(v[0], v[0], v[0]) if v[0].is_a? Numeric
59
+
60
+ set_scale(*v)
61
+ end
62
+
63
+ #scale! works with numbers, vectors, or 3 numbers and is relative
64
+ def scale!(*args)
65
+ v = args
66
+
67
+ # This handles calling scale=0.5 or some other number
68
+ v = v(v[0], v[0], v[0]) if v[0].is_a? Numeric
69
+
70
+ scale(*v)
71
+ end
72
+ end
73
+ end
@@ -82,7 +82,7 @@ class Vector3
82
82
  # Iterate through x, y and z with a block. The passed value is the value of each component of
83
83
  # the vector.
84
84
  def each(&block)
85
- self.to_a.each do |component|
85
+ [x,y,z].each do |component|
86
86
  yield component
87
87
  end
88
88
  end
@@ -92,11 +92,12 @@ class Vector3
92
92
  self
93
93
  end
94
94
 
95
- # Returns an array with x, y and z dumped into its elements.
95
+ # Returned an array with x, y and z dumped into its elements.
96
96
  # v(1, 2, 3).to_a #=> [1.0, 2.0, 3.0]
97
- def to_a
98
- [x, y, z]
99
- end
97
+ # Deprecated because *v(0,0,0) is [0,0,0] (three arguments) and breaks DSLs
98
+ #def to_a
99
+ # raise "Vector#to_a is deprecated. Use vectors as vectors, not as arrays."
100
+ #end
100
101
 
101
102
  # Add 2 Vectors together.
102
103
  # v(1,1,1) + v(1,2,3) #=> v(2,3,4)
@@ -47,11 +47,17 @@ The resulting files can be found in ogrerb/lib.
47
47
 
48
48
  rake build_all
49
49
 
50
- The resulting frameworks will be located in ogrerb/lib.
50
+ If you get an error about OIS framework not being installed, you can download a build of the OIS framework here: http://www.shatteredruby.com/support/OIS.1.0.framework.zip.* Place it into your /Library/Frameworks directory.
51
+
52
+ After building, the resulting frameworks will be located in ogrerb/lib.
51
53
 
52
54
  You will need to run the build_mac_rubyw Rake task, which creates a rubyw executable that's fit for opening
53
55
  up windows in the foreground. See http://rubyforge.org/forum/forum.php?thread_id=15371&forum_id=14174 for details.
54
56
 
57
+ Remember once you do this to start ogrerb programs with 'rubyw' instead of 'ruby', otherwise keyboard input will be disabled.
58
+
59
+ *The OIS framework is made by wreckedgames.com, and the sourceforge project page is here: http://sourceforge.net/projects/wgois. The build in this document is for convenience only and is not an official release.
60
+
55
61
  === Windows
56
62
 
57
63
  ==== Setup your environment
@@ -4,11 +4,18 @@ require 'rake/contrib/sshpublisher'
4
4
  require 'rake/gempackagetask'
5
5
 
6
6
  require 'platform'
7
+ require 'lib/rake/project_builder'
7
8
 
8
- task :default => :build_all
9
+ task :default => :test
9
10
 
10
11
  OGRE_RB_VERSION = "0.1"
11
12
 
13
+ Rake::TestTask.new do |t|
14
+ t.libs << "test"
15
+ t.test_files = FileList["test/**/*_test.rb"]
16
+ t.verbose = true
17
+ end
18
+
12
19
  ###########################
13
20
  # Project Managment tasks #
14
21
  ###########################
@@ -107,13 +114,6 @@ end
107
114
  #############################
108
115
  # Project compilation tasks #
109
116
  #############################
110
-
111
- desc "Rebuild the OGRE and OIS wrappers. Does not work on Windows."
112
- task :build_all => ["ogre:build", "ois:build"]
113
-
114
- desc "Clean everything"
115
- task :clean_all => ["ogre:clean", "ois:clean"]
116
-
117
117
  desc "Build rubyw on the mac platform, needed for ogrerb to run properly."
118
118
  task :build_mac_rubyw do
119
119
  if Platform.mac?
@@ -123,186 +123,67 @@ task :build_mac_rubyw do
123
123
  end
124
124
  end
125
125
 
126
- namespace :ois do
127
- desc "Rebuild all of the OIS wrapper. Does not work on Windows."
128
- task :build => [:swig, :compile]
129
-
130
- desc "Run swig on the interface files"
131
- task :swig do
132
- includes = %w(-I./src_headers/OIS -I./src_headers/wrappers)
133
- sh "swig -ruby -minherit -c++ -autorename #{includes.join(' ')} -o build/ois/ois_wrap.cpp ois/ois.i"
134
- if Platform.windows?
135
- insert_headers("build/ois/ois_wrap.cpp") do
136
- <<-EOF
137
- #include "OIS.h"
138
- EOF
139
- end
140
- end
141
- end
142
-
143
- desc "Compile the extension and move the resulting library into lib/"
144
- task :compile do
145
- resulting_file = "ruby_ois.so"
146
- build_file = resulting_file
147
- cd "build/ois" do
148
- ruby "extconf.rb"
149
- if Platform.linux?
150
- sh "make all"
151
- elsif Platform.windows?
152
- sh "nmake"
153
- # Create our manifest (see http://www.codeproject.com/cpp/vcredists_x86.asp)
154
- sh "mt.exe /manifest #{resulting_file}.manifest /outputresource:#{resulting_file};#2"
155
- resulting_file = "ruby_ois.dll"
156
- build_file = "ruby_ois.so"
157
- elsif Platform.mac?
158
- sh "make all"
159
- resulting_file = "ruby_ois.bundle"
160
- build_file = "ruby_ois.bundle"
161
- else
162
- raise "Error: Unsupported platform " + PLATFORM
163
- end
164
- cp build_file, File.join("..", "..", "lib", resulting_file)
165
- end
166
- end
167
-
168
- desc "Clean up the build environment"
169
- task :clean do
170
- cd "build/ois" do
171
- ruby "extconf.rb"
172
- sh "make clean"
173
- rm "mkmf.log" rescue nil
174
- end
175
- end
176
- end
177
-
178
- namespace :ogre do
179
-
180
- desc "Rebuild all of ogre.rb. Does not work on Windows."
181
- task :build => [:swig, :compile]
182
-
183
- desc "Run swig on the interface files"
184
- task :swig do
185
- includes = %w(-I./src_headers/OGRE -I./src_headers/ExampleApplication -I./src_headers/wrappers -I./src_headers/OIS)
186
- sh "swig -ruby -minherit -c++ -autorename #{includes.join(' ')} -o build/ogre/ogre_rb_wrap.cpp ogre/ogre_rb.i"
126
+ #############################################
127
+ # Project registration helpers documentation:
128
+ #
129
+ # project.swig_file =>
130
+ # The name of the main swig interface file (sans .i) (default: project name)
131
+ #
132
+ # project.swig_includes =>
133
+ # The include declarations needed for this project to swigify
134
+ #
135
+ # project.swig =>
136
+ # Create a block that gets called after swig is done running, for post processing
137
+ #
138
+ # project.resulting_library =>
139
+ # The final name of the built library (default: project name)
140
+ #
141
+ #
142
+ # TODO Looks like I can pull the swig block into the template, as all projects seem
143
+ # to need this STL fix
144
+ #############################################
145
+
146
+ register_project :ogre do |project|
147
+ project.swig_file = "ogre_rb"
148
+ project.swig_includes = %w(-I./src_headers/OGRE -I./src_headers/wrappers -I./src_headers/OIS)
149
+ project.swig do
187
150
  if Platform.windows?
188
151
  # compensate for windows stl. Uses wrong version when ruby is first.
189
152
  insert_headers("build/ogre/ogre_rb_wrap.cpp") do
190
153
  <<-EOF
191
154
  #include "Ogre.h"
192
- #{Platform.windows? ? "#include <winsock.h>" : ""}
155
+ #include <winsock.h>
193
156
  EOF
194
157
  end
195
158
  end
196
- end
159
+ end
160
+ end
197
161
 
198
- desc "Compile the extension and move the resulting library into lib/"
199
- task :compile do
200
- resulting_file = "ogre.so"
201
- build_file = resulting_file
202
- cd "build/ogre" do
203
- ruby "extconf.rb"
204
- if Platform.linux?
205
- sh "make clean all"
206
- elsif Platform.windows?
207
- sh "nmake"
208
- # Create our manifest (see http://www.codeproject.com/cpp/vcredists_x86.asp)
209
- sh "mt.exe /manifest ogre.so.manifest /outputresource:ogre.so;#2"
210
- resulting_file = "ogre.dll"
211
- elsif Platform.mac?
212
- sh "make clean all"
213
- resulting_file = "ogre.bundle"
214
- build_file = "ogre.bundle"
215
- else
216
- raise "Error: Unsupported platform " + PLATFORM
217
- end
218
- cp build_file, File.join("..", "..", "lib", resulting_file)
162
+ register_project :ois do |project|
163
+ project.resulting_library = "ruby_ois"
164
+ project.swig_includes = %w(-I./src_headers/OIS -I./src_headers/wrappers)
165
+ project.swig do
166
+ if Platform.windows?
167
+ insert_headers("build/ois/ois_wrap.cpp") do
168
+ <<-EOF
169
+ #include "OIS.h"
170
+ EOF
171
+ end
219
172
  end
220
- end
221
-
222
- desc "Clean up the build environment"
223
- task :clean do
224
- cd "build/ogre" do
225
- ruby "extconf.rb"
226
- sh "make clean"
227
- rm "mkmf.log" rescue nil
228
- end
229
- end
230
-
231
- desc "Copy over the ogre header files from an ogre installation. Expects OGRE_HOME to be set."
232
- task :update_headers do
233
- raise "Unable to find Ogre headers, please set OGRE_HOME to the distribution path" if ENV['OGRE_HOME'].nil?
234
-
235
- File.cp_r "#{ENV['OGRE_HOME']}/include/OGRE/", "#{File.dirname(__FILE__)}/src_headers"
236
- end
237
-
238
- desc "Create default interface files for each of the ogre headers"
239
- task :create_interfaces do
240
- headers_match = File.join("src_headers", "OGRE", "Ogre*.h")
241
- ogre_headers = Dir[headers_match]
242
-
243
- ogre_headers.each do |header|
244
- filename = File.basename(header, ".h")
245
- interface_file_name = File.join("ogre", File.basename(header, ".h") + ".i")
246
- raise "Interface file for #{filename} already exists" if File.exists?(interface_file_name)
247
-
248
- File.open(interface_file_name, "w+") do |file|
249
- file.write <<END
250
- %{
251
- #include "#{filename}.h"
252
- %}
253
-
254
- %include "#{filename}.h"
255
- END
256
- end
257
- end
258
- end
173
+ end
259
174
  end
260
175
 
261
-
262
- namespace :navi do
263
-
264
- desc "Rebuild all of navi.rb"
265
- task :build => [:swig, :compile]
266
-
267
- desc "Run swig on the interface files"
268
- task :swig do
269
- includes = %w(-I./src_headers/navi -I./src_headers/wrappers)
270
- sh "swig -autorename -ruby -minherit -c++ #{includes.join(' ')} -o build/navi/navi_rb_wrap.cpp navi/navi_rb.i"
176
+ register_project :navi do |project|
177
+ project.swig_file = "navi_rb"
178
+ project.swig_includes = %w(-I./src_headers/navi -I./src_headers/wrappers)
179
+ project.swig do
271
180
  if Platform.windows?
272
- # compensate for windows stl. Uses wrong version when ruby is first.
273
-
274
181
  insert_headers("build/navi/navi_rb_wrap.cpp") do
275
182
  <<-EOF
276
183
  #include "Ogre.h"
277
- #{Platform.windows? ? "#include <winsock.h>" : ""}
184
+ #include <winsock.h>
278
185
  EOF
279
186
  end
280
187
  end
281
- end
282
-
283
- desc "Compile the extension and move the resulting library into lib/"
284
- task :compile do
285
- resulting_file = "navi.dll"
286
- cd "build/navi" do
287
- ruby "extconf.rb"
288
- if Platform.windows?
289
- sh "nmake"
290
- # Create our manifest (see http://www.codeproject.com/cpp/vcredists_x86.asp)
291
- sh "mt.exe /manifest navi.so.manifest /outputresource:navi.so;#2"
292
- else
293
- raise "Error: Unsupported platform " + PLATFORM
294
- end
295
- cp "navi.so", File.join("..", "..", "lib", resulting_file)
296
- end
297
- end
298
-
299
- desc "Clean up the build environment"
300
- task :clean do
301
- cd "build" do
302
- ruby "extconf.rb"
303
- sh "make clean"
304
- rm "mkmf.log" rescue nil
305
- end
306
- end
307
-
188
+ end
308
189
  end