Revision: 562
http://python-ogre.svn.sourceforge.net/python-ogre/?rev=562&view=rev
Author: andy_miller
Date: 2008-02-13 01:25:34 -0800 (Wed, 13 Feb 2008)
Log Message:
-----------
Updates for the 1.2 release..
Still broken however I need to get these into the svn
Modified Paths:
--------------
trunk/python-ogre/ThirdParty/caelum/Caelum.h
trunk/python-ogre/ThirdParty/caelum/CaelumPrerequisites.h
trunk/python-ogre/ThirdParty/caelum/CaelumSystem.cpp
trunk/python-ogre/ThirdParty/caelum/CaelumSystem.h
trunk/python-ogre/ThirdParty/caelum/CameraBoundElement.cpp
trunk/python-ogre/ThirdParty/caelum/ImageHelper.cpp
trunk/python-ogre/ThirdParty/caelum/ImageHelper.h
trunk/python-ogre/ThirdParty/caelum/Sun.cpp
trunk/python-ogre/ThirdParty/caelum/Sun.h
trunk/python-ogre/ThirdParty/caelum/UniversalClock.cpp
trunk/python-ogre/ThirdParty/caelum/UniversalClock.h
trunk/python-ogre/ThirdParty/forests/ImpostorPage.cpp
trunk/python-ogre/ThirdParty/forests/TreeLoader2D.cpp
trunk/python-ogre/ThirdParty/forests/TreeLoader3D.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgre.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreActor.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreActor.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreActorBlueprint.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreAnimatedRenderable.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreBody.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreBody.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreCharacter.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreCharacter.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreCharacterController.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreCharacterController.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreCharacterModel.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreCharacterModel.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreCharacterMovementModel.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreCharacterMovementModel.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreCharacterSystem.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreCharacterSystem.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreCloth.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreCloth.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreClothRaycaster.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreClothRaycaster.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreCompoundActor.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreCompoundActor.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreContactStream.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreContactStream.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreContainer.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreContainer.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreCooking.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreCooking.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreDebugRenderer.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreDebugRenderer.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreDominanceGroup.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreDominanceGroup.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreEngine.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreEngine.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreError.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreError.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreExtendedTypes.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreExtendedTypes.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreFileResourceSystem.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreFileResourceSystem.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreFluid.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreFluid.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreFluidMesh.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreFluidMesh.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreForceField.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreForceField.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreGroup.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreGroup.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreHelpers.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreHelpers.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreIntersection.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreIntersection.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreJoint.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreJoint.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreJointSet1.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreJointSet1.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreJointSet2.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreJointSet2.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreLegacyCharacter.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreLegacyCharacter.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreLegacyCharacterController.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreLegacyCharacterController.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreLegacyCharacterHitReport.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreLegacyCharacterHitReport.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreLog.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreLog.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreMachine.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreMachine.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreMaterial.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreMaterial.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreMemoryStream.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreMemoryStream.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreNodeRenderable.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreNodeRenderable.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreNxActorController.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreNxActorController.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreNxCharacterController.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreNxCharacterController.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreOgreNodeRenderable.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreOgreNodeRenderable.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreOgreResourceSystem.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreOgreResourceSystem.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreOgreSceneRenderer.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreOgreSceneRenderer.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreParams.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreParams.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreParticleSystem.h
trunk/python-ogre/ThirdParty/nxogre/NxOgrePerformer.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgrePerformer.h
trunk/python-ogre/ThirdParty/nxogre/NxOgrePhysXDriver.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgrePhysXDriver.h
trunk/python-ogre/ThirdParty/nxogre/NxOgrePose.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgrePose.h
trunk/python-ogre/ThirdParty/nxogre/NxOgrePrerequisites.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreRaycaster.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreRaycaster.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreRemoteDebuggerConnection.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreRemoteDebuggerConnection.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreRenderable.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreRenderable.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreRenderableSource.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreRenderableSource.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreResourceManager.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreResourceManager.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreResourceManager_Convex.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreResourceManager_Triangle.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreResourceMesh.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreResourceMesh.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreResourceStream.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreResourceStream.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreResourceStreamPtr.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreResourceStreamPtr.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreResourceSystem.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreResourceSystem.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreScene.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreScene.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreSceneBlueprint.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreSceneContactController.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreSceneContactController.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreSceneController.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreSceneController.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreSceneRenderer.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreSceneRenderer.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreSceneSource.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreSceneSource.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreSceneTriggerController.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreSceneTriggerController.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreShape.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreShape.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeBlueprint.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeBlueprint.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeBlueprintConvex.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeBlueprintConvex.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeBlueprintMesh.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeBlueprintMesh.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeBlueprintPrimitives.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeBlueprintPrimitives.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeBlueprintTerrain.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeBlueprintTerrain.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeBlueprintWheel.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeBlueprintWheel.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeConvex.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeConvex.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeMesh.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeMesh.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapePrimitives.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapePrimitives.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeTerrain.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeTerrain.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeWheel.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreShapeWheel.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreSimpleShape.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreSimpleShape.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreSkeletalRenderable.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreSkeleton.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreSkeleton.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreSoftBody.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreSoftBody.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreStable.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreStable.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreTesting.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreTesting.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreTrigger.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreTrigger.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreUserAllocator.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreUserAllocator.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreUserData.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreWheelSet.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreWheelSet.h
trunk/python-ogre/ThirdParty/nxogre/NxOgreWorld.cpp
trunk/python-ogre/ThirdParty/nxogre/NxOgreWorld.h
trunk/python-ogre/ThirdParty/ogreal/OgreALOggSound.cpp
trunk/python-ogre/ThirdParty/ogreal/OgreALPrereqs.h
trunk/python-ogre/ThirdParty/ogreal/OgreALSound.cpp
trunk/python-ogre/ThirdParty/ogreal/OgreALSound.h
trunk/python-ogre/ThirdParty/ogreal/OgreALSoundManager.cpp
trunk/python-ogre/ThirdParty/ogreal/OgreALSoundManager.h
trunk/python-ogre/ThirdParty/ogreal/OgreALWavSound.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIBorder.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIBorder.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIButton.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIButton.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUICheckBox.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUICheckBox.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIComboBox.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIConsole.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIExportDLL.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIImage.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIImage.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUILabel.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUILabel.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIList.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIList.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIManager.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIManager.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIMouseCursor.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUINStateButton.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIPanel.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIPanel.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIProgressBar.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIProgressBar.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIQuad.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIQuad.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIQuadContainer.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIQuadContainer.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIRect.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIRect.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIScrollPane.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIScrollPane.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUISheet.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUISheet.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUISkinSet.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUISkinSet.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIText.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIText.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUITextBox.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUITextHelper.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUITextHelper.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUITree.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUITree.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIWidget.cpp
trunk/python-ogre/ThirdParty/quickgui/QuickGUIWidget.h
trunk/python-ogre/ThirdParty/quickgui/QuickGUIWindow.cpp
Added Paths:
-----------
trunk/python-ogre/ThirdParty/Hydrax/
trunk/python-ogre/ThirdParty/Hydrax/Enums.cpp
trunk/python-ogre/ThirdParty/Hydrax/Enums.h
trunk/python-ogre/ThirdParty/Hydrax/Help.cpp
trunk/python-ogre/ThirdParty/Hydrax/Help.h
trunk/python-ogre/ThirdParty/Hydrax/Hydrax.cpp
trunk/python-ogre/ThirdParty/Hydrax/Hydrax.h
trunk/python-ogre/ThirdParty/Hydrax/Mesh.cpp
trunk/python-ogre/ThirdParty/Hydrax/Mesh.h
trunk/python-ogre/ThirdParty/Hydrax/Perlin.cpp
trunk/python-ogre/ThirdParty/Hydrax/Perlin.h
trunk/python-ogre/ThirdParty/Hydrax/Prerequisites.cpp
trunk/python-ogre/ThirdParty/Hydrax/Prerequisites.h
trunk/python-ogre/ThirdParty/Hydrax/Structs.cpp
trunk/python-ogre/ThirdParty/Hydrax/Structs.h
trunk/python-ogre/ThirdParty/extra/
trunk/python-ogre/ThirdParty/extra/bin/
trunk/python-ogre/ThirdParty/extra/bin/avcodec.dll
trunk/python-ogre/ThirdParty/extra/bin/avcodec.lib
trunk/python-ogre/ThirdParty/extra/bin/avdevice.dll
trunk/python-ogre/ThirdParty/extra/bin/avdevice.lib
trunk/python-ogre/ThirdParty/extra/bin/avformat.dll
trunk/python-ogre/ThirdParty/extra/bin/avformat.lib
trunk/python-ogre/ThirdParty/extra/bin/avutil.dll
trunk/python-ogre/ThirdParty/extra/bin/avutil.lib
trunk/python-ogre/ThirdParty/extra/bin/ffmpeg.exe
trunk/python-ogre/ThirdParty/extra/bin/libogg-0.dll
trunk/python-ogre/ThirdParty/extra/include/
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/adler32.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/avcodec.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/avdevice.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/avformat.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/avio.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/avstring.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/avutil.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/base64.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/common.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/crc.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/fifo.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/intfloat_readwrite.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/log.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/lzo.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/mathematics.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/md5.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/mem.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/opt.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/random.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/rational.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/rgb2rgb.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/rtsp.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/rtspcodes.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/sha1.h
trunk/python-ogre/ThirdParty/extra/include/ffmpeg/swscale.h
trunk/python-ogre/ThirdParty/extra/include/ogg/
trunk/python-ogre/ThirdParty/extra/include/ogg/config_types.h
trunk/python-ogre/ThirdParty/extra/include/ogg/ogg.h
trunk/python-ogre/ThirdParty/extra/include/ogg/os_types.h
trunk/python-ogre/ThirdParty/extra/include/theora/
trunk/python-ogre/ThirdParty/extra/include/theora/theora.h
trunk/python-ogre/ThirdParty/extra/lib/
trunk/python-ogre/ThirdParty/extra/lib/libogg.a
trunk/python-ogre/ThirdParty/extra/lib/libogg.dll.a
trunk/python-ogre/ThirdParty/extra/lib/libtheora.a
trunk/python-ogre/ThirdParty/extra/lib/pkgconfig/
trunk/python-ogre/ThirdParty/extra/lib/pkgconfig/libavcodec.pc
trunk/python-ogre/ThirdParty/extra/lib/pkgconfig/libavdevice.pc
trunk/python-ogre/ThirdParty/extra/lib/pkgconfig/libavformat.pc
trunk/python-ogre/ThirdParty/extra/lib/pkgconfig/libavutil.pc
trunk/python-ogre/ThirdParty/extra/lib/pkgconfig/libswscale.pc
trunk/python-ogre/ThirdParty/extra/lib/pkgconfig/ogg.pc
trunk/python-ogre/ThirdParty/extra/lib/pkgconfig/theora.pc
trunk/python-ogre/ThirdParty/opensteer/
Added: trunk/python-ogre/ThirdParty/Hydrax/Enums.cpp
===================================================================
--- trunk/python-ogre/ThirdParty/Hydrax/Enums.cpp (rev 0)
+++ trunk/python-ogre/ThirdParty/Hydrax/Enums.cpp 2008-02-13 09:25:34 UTC (rev 562)
@@ -0,0 +1,31 @@
+/*
+--------------------------------------------------------------------------------
+This source file is part of Hydrax.
+Visit ---
+
+Copyright (C) 2007 Xavier Vergu\xEDn Gonz\xE1lez <xav...@ho...>
+ <xa...@gm...>
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation, Inc.,
+59 Temple Place - Suite 330, Boston, MA 02111-1307, USA, or go to
+http://www.gnu.org/copyleft/gpl.html.
+--------------------------------------------------------------------------------
+*/
+
+#include "Enums.h"
+
+namespace Hydrax
+{
+
+}
Added: trunk/python-ogre/ThirdParty/Hydrax/Enums.h
===================================================================
--- trunk/python-ogre/ThirdParty/Hydrax/Enums.h (rev 0)
+++ trunk/python-ogre/ThirdParty/Hydrax/Enums.h 2008-02-13 09:25:34 UTC (rev 562)
@@ -0,0 +1,69 @@
+/*
+--------------------------------------------------------------------------------
+This source file is part of Hydrax.
+Visit ---
+
+Copyright (C) 2007 Xavier Vergu\xEDn Gonz\xE1lez <xav...@ho...>
+ <xa...@gm...>
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation, Inc.,
+59 Temple Place - Suite 330, Boston, MA 02111-1307, USA, or go to
+http://www.gnu.org/copyleft/gpl.html.
+--------------------------------------------------------------------------------
+*/
+
+#ifndef _Enums_H_
+#define _Enums_H_
+
+#include "Prerequisites.h"
+
+namespace Hydrax
+{
+ /** Texture quality enumeration(2^n)
+ */
+ enum DllExport TextureQuality
+ {
+ TEX_QUA_2 = 2,
+ TEX_QUA_4 = 4,
+ TEX_QUA_8 = 8,
+ TEX_QUA_16 = 16,
+ TEX_QUA_32 = 32,
+ TEX_QUA_64 = 64,
+ TEX_QUA_128 = 128,
+ TEX_QUA_256 = 256,
+ TEX_QUA_512 = 512,
+ TEX_QUA_1024 = 1024
+ };
+
+ /** Hydrax flags for select the components
+ that we want to use.
+ 0 for none, 1 for all.
+ */
+ enum DllExport HydraxComponent
+ {
+ HYDRAX_COMPONENT_SUN = 1 << 0,
+ HYDRAX_COMPONENT_FOAM = 1 << 1,
+ HYDRAX_COMPONENT_DEPTH = 1 << 2,
+ /// Smooth transitions needs depth component
+ HYDRAX_COMPONENT_SMOOTH = 1 << 3,
+ HYDRAX_COMPONENT_CAUSTICS = 1 << 4,
+ /// See documentation
+ HYDRAX_COMPONENT_PLSM2 = 1 << 5,
+
+ HYDRAX_COMPONENTS_NONE = 0x0000,
+ HYDRAX_COMPONENTS_ALL = 0x001F,
+ };
+}
+
+#endif
Added: trunk/python-ogre/ThirdParty/Hydrax/Help.cpp
===================================================================
--- trunk/python-ogre/ThirdParty/Hydrax/Help.cpp (rev 0)
+++ trunk/python-ogre/ThirdParty/Hydrax/Help.cpp 2008-02-13 09:25:34 UTC (rev 562)
@@ -0,0 +1,31 @@
+/*
+--------------------------------------------------------------------------------
+This source file is part of Hydrax.
+Visit ---
+
+Copyright (C) 2007 Xavier Vergu\xEDn Gonz\xE1lez <xav...@ho...>
+ <xa...@gm...>
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation, Inc.,
+59 Temple Place - Suite 330, Boston, MA 02111-1307, USA, or go to
+http://www.gnu.org/copyleft/gpl.html.
+--------------------------------------------------------------------------------
+*/
+
+#include "Help.h"
+
+namespace Hydrax
+{
+
+}
Added: trunk/python-ogre/ThirdParty/Hydrax/Help.h
===================================================================
--- trunk/python-ogre/ThirdParty/Hydrax/Help.h (rev 0)
+++ trunk/python-ogre/ThirdParty/Hydrax/Help.h 2008-02-13 09:25:34 UTC (rev 562)
@@ -0,0 +1,193 @@
+/*
+--------------------------------------------------------------------------------
+This source file is part of Hydrax.
+Visit ---
+
+Copyright (C) 2007 Xavier Vergu\xEDn Gonz\xE1lez <xav...@ho...>
+ <xa...@gm...>
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation, Inc.,
+59 Temple Place - Suite 330, Boston, MA 02111-1307, USA, or go to
+http://www.gnu.org/copyleft/gpl.html.
+--------------------------------------------------------------------------------
+*/
+
+#ifndef _Help_H_
+#define _Help_H_
+
+#include "Prerequisites.h"
+
+#include "../noise/noise.h"
+#include "../noise/noiseutils.h"
+
+namespace Hydrax
+{
+ /** Struct wich contains an especific width and height value
+ */
+ struct DllExport Size
+ {
+ /// Width value
+ int Width;
+ /// Height value
+ int Height;
+
+ /** Default constructor
+ */
+ Size()
+ {
+ Width = 0;
+ Height = 0;
+ }
+
+ /** Constructor
+ @param size The width and height values
+ */
+ Size(int size)
+ {
+ Width = size;
+ Height = size;
+ }
+
+ /** Constructor
+ @param width Width value
+ @param height Height value
+ */
+ Size(int width, int height)
+ {
+ Width = width;
+ Height = height;
+ }
+
+ /** Destructor
+ */
+ ~Size()
+ {
+ }
+
+ /** Sets the same width and height value
+ @param size The width and height values
+ */
+ void setSize(int size)
+ {
+ Width = size;
+ Height = size;
+ }
+
+ /** Sets the especified values
+ @param width Width value
+ @param height Height value
+ */
+ void setSize(int width, int height)
+ {
+ Width = width;
+ Height = height;
+ }
+ };
+
+ /** Struct for store a float** data pointer, its size and its normal map
+ */
+ struct DllExport NoiseBuffer
+ {
+ /// Our float pointer data
+ float** mData;
+ /// Size
+ Size mSize;
+ /// Normal map(its use is optional)
+ noise::utils::Image mNormalMap;
+
+ /** Default constructor
+ */
+ NoiseBuffer() : mData(0)
+ {
+ }
+
+ /** Destructor
+ */
+ ~NoiseBuffer()
+ {
+ if (mData)
+ {
+ for (int k = 0; k < mSize.Width; k++)
+ {
+ delete[] mData[k];
+ }
+
+ delete[] mData;
+ }
+ }
+
+ /** Constructor
+ @param Data Data pointer
+ @param Size Data bidimensional array width/height size
+ */
+ NoiseBuffer(float **Data, Size Size)
+ {
+ mData = Data;
+ mSize = Size;
+ }
+
+ /** Constructor
+ @param Data Data pointer
+ @param Size Data bidimensional array width/height size
+ @param NormalMap noise::utils::Image that contains our data image normal map
+ */
+ NoiseBuffer(float **Data, Size Size, noise::utils::Image NormalMap)
+ {
+ mData = Data;
+ mSize = Size;
+ mNormalMap = NormalMap;
+ }
+
+ /** Set data and size
+ @param Data Data pointer
+ @param Size Data bidimensional array width/height size
+ */
+ void Set(float **Data, Size Size)
+ {
+ mData = Data;
+ mSize = Size;
+ }
+
+ /** Set data, size and normal map image
+ @param Data Data pointer
+ @param Size Data bidimensional array width/height size
+ @param NormalMap noise::utils::Image that contains our data image normal map
+ */
+ void Set(float **Data, Size Size, noise::utils::Image NormalMap)
+ {
+ mData = Data;
+ mSize = Size;
+ mNormalMap = NormalMap;
+ }
+
+ /** Get our data pointer
+ @return Data float** pointer
+ */
+ float** getData()
+ {
+ return mData;
+ }
+
+ /** Get float value from an especific x/y coordinates
+ @return x/y value of our data
+ */
+ float getData(int x, int y)
+ {
+ return mData[x][y];
+ }
+
+ };
+}
+
+#endif
Added: trunk/python-ogre/ThirdParty/Hydrax/Hydrax.cpp
===================================================================
--- trunk/python-ogre/ThirdParty/Hydrax/Hydrax.cpp (rev 0)
+++ trunk/python-ogre/ThirdParty/Hydrax/Hydrax.cpp 2008-02-13 09:25:34 UTC (rev 562)
@@ -0,0 +1,1316 @@
+/*
+--------------------------------------------------------------------------------
+This source file is part of Hydrax.
+Visit ---
+
+Copyright (C) 2007 Xavier Vergu\xEDn Gonz\xE1lez <xav...@ho...>
+ <xa...@gm...>
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation, Inc.,
+59 Temple Place - Suite 330, Boston, MA 02111-1307, USA, or go to
+http://www.gnu.org/copyleft/gpl.html.
+--------------------------------------------------------------------------------
+*/
+
+#include "Hydrax.h"
+
+namespace Hydrax
+{
+
+ Hydrax::Hydrax(Ogre::SceneManager *sm, Ogre::Camera *c)
+ : mSceneManager(sm)
+ , mCamera(c)
+ , mCreated(false)
+ , mPolygonMode(0)
+ , mPosition(Ogre::Vector3(0,0,0))
+ , mPlanesError(0)
+ , mVelocity(9.75)
+ , mFullReflectionDistance(90000000)
+ , mGlobalTransparency(0.05)
+ , mNormalDistortion(0.09)
+ , mSunPosition(Ogre::Vector3(5000,3000,1))
+ , mSunStrength(1.75)
+ , mSunArea(150)
+ , mSunColor(Ogre::Vector3(1,0.75,0.25))
+ , mFoamMaxDistance(75000000)
+ , mFoamScale(50)
+ , mFoamStart(0.5)
+ , mFoamTransparency(1.275)
+ , mDepthLimit(0)
+ , mDepthColor(Ogre::Vector3(0,0.1,0.172))
+ , mSmoothPower(30)
+ , mCausticsScale(20)
+ , mCausticsPower(15)
+ , mCausticsEnd(0.55)
+ , mActualTexScrollPosition(0)
+ , mMesh(new Mesh(sm))
+ , mSceneNode(0)
+ , mRefractionPlane(0)
+ , mReflectionPlane(0)
+ , mDepthPlane(0)
+ , mTextureRefraction(0)
+ , mTextureReflection(0)
+ , mTextureDepth(0)
+ , mPlanesSceneNode(0)
+ , mComponents(HYDRAX_COMPONENTS_NONE)
+ {
+ LOG("[Hydrax] Hydrax object created.");
+ }
+
+ Hydrax::~Hydrax()
+ {
+ if (mSceneNode)
+ {
+ mSceneNode->detachAllObjects();
+ mSceneNode->getParentSceneNode()->removeAndDestroyChild(mSceneNode->getName());
+
+ Ogre::TextureManager::getSingleton().remove("HydraxHeight");
+ Ogre::TextureManager::getSingleton().remove("HydraxNormalMap");
+
+ delete mMesh;
+ }
+
+ if (mPlanesSceneNode)
+ {
+ mPlanesSceneNode->detachAllObjects();
+ mPlanesSceneNode->getParentSceneNode()->removeAndDestroyChild(mPlanesSceneNode->getName());
+
+ Ogre::RenderTarget* mRT_TextureRefraction = mTextureRefraction->getBuffer()->getRenderTarget();
+ mRT_TextureRefraction->removeAllListeners();
+ mRT_TextureRefraction->removeAllViewports();
+
+ Ogre::RenderTarget* mRT_TextureReflection = mTextureReflection->getBuffer()->getRenderTarget();
+ mRT_TextureReflection->removeAllListeners();
+ mRT_TextureReflection->removeAllViewports();
+
+ if (isComponent(HYDRAX_COMPONENT_DEPTH))
+ {
+ Ogre::RenderTarget* mRT_TextureDepth = mTextureDepth->getBuffer()->getRenderTarget();
+ mRT_TextureDepth->removeAllListeners();
+ mRT_TextureDepth->removeAllViewports();
+
+ Ogre::TextureManager::getSingleton().remove("Depth");
+
+ Ogre::MeshManager::getSingleton().remove("DepthClipPlane");
+ }
+
+ Ogre::TextureManager::getSingleton().remove("Reflection");
+ Ogre::TextureManager::getSingleton().remove("Refraction");
+
+ Ogre::MeshManager::getSingleton().remove("RefractionClipPlane");
+ Ogre::MeshManager::getSingleton().remove("ReflectionClipPlane");
+ }
+
+ mNoiseBuffer[2].Set(mPerlin.getFreeData(), mPerlin.mSize);
+ mNoiseBuffer.clear();
+
+ LOG("[Hydrax] Hydrax object removed.");
+ }
+
+ void Hydrax::create()
+ {
+ if (isCreated())
+ {
+ LOG("[Hydrax] Hydrax alredy created, skipping...");
+
+ return;
+ }
+
+ LOG("[Hydrax] Creating perlin noise textures and normal maps.");
+ _createTextures();
+ _updateTextures(0);
+ LOG("[Hydrax] Perlin noise textures and normal maps created.");
+
+ LOG("[Hydrax] Creating water mesh.");
+ mSceneNode = mSceneManager->getRootSceneNode()->createChildSceneNode();
+ mMesh->create(mSceneNode);
+ mMesh->update(mNoiseBuffer[2]);
+ LOG("[Hydrax] Water mesh created");
+
+ LOG("[Hydrax] Creating RTListeners.");
+ _createRttListeners();
+ LOG("[Hydrax] RTListeners created");
+
+ mCreated = true;
+ }
+
+ void Hydrax::_createTextures()
+ {
+ mPerlin.setSize(mPerlinOptions.TexQuality, mPerlinOptions.TexQuality);
+
+ mNoiseBuffer.reserve(3);
+ mNoiseBuffer.resize(3);
+
+ mPerlin.mPerlinModule.SetFrequency(mPerlinOptions.Frecuency);
+ mPerlin.mPerlinModule.SetPersistence(mPerlinOptions.Persistence);
+ mPerlin.mPerlinModule.SetOctaveCount(mPerlinOptions.Octave);
+ mPerlin.mPerlinModule.SetLacunarity(mPerlinOptions.Lacunarity);
+
+ mPerlin.createPerlinTexture(Ogre::String("HydraxHeight"));
+ mPerlin.createNMTexture(Ogre::String("HydraxNormalMap"));
+
+ mPerlin.mPerlinModule.SetSeed(0);
+ mNoiseBuffer[0].Set(mPerlin.getData(true), mPerlin.mSize, mPerlin.getNormalMap(mPerlinOptions.NMHeight, true));
+ mPerlin.mPerlinModule.SetSeed(1);
+ mNoiseBuffer[1].Set(mPerlin.getData(true), mPerlin.mSize, mPerlin.getNormalMap(mPerlinOptions.NMHeight, true));
+ mNoiseBuffer[2].Set(mPerlin.getFreeData(), mPerlin.mSize);
+ mNoiseBuffer[2].mNormalMap.SetSize(mPerlin.mSize.Width, mPerlin.mSize.Height);
+ }
+
+ void Hydrax::_updateTextures(Ogre::Real timeSinceLastFrame)
+ {
+ int x, y, newY1, newY1a, newY2, newY2a;
+ float a, b, c, d, diff, diffb;
+
+ float** OriginalA = mNoiseBuffer[0].mData;
+ float** OriginalB = mNoiseBuffer[1].mData;
+
+ diff = (mActualTexScrollPosition - static_cast<int>(mActualTexScrollPosition))/2; // Divide by 2 to avoid it in: mNoiseBuffer[2].mData[x][y] = (c+d)/2;
+ diffb = 0.5 - diff;
+
+ for (y = 0; y < mNoiseBuffer[0].mSize.Height; y ++)
+ {
+ newY1 = y + static_cast<int>(mActualTexScrollPosition);
+ if (newY1>mNoiseBuffer[0].mSize.Height-1)
+ {
+ newY1-=mNoiseBuffer[0].mSize.Height;
+ }
+
+ newY1a = (y+1) + static_cast<int>(mActualTexScrollPosition);
+ if (newY1a>mNoiseBuffer[0].mSize.Height-1)
+ {
+ newY1a-=mNoiseBuffer[0].mSize.Height;
+ }
+
+ newY2 = y - static_cast<int>(mActualTexScrollPosition);
+ if (newY2<0)
+ {
+ newY2+=mNoiseBuffer[0].mSize.Height-1;
+ }
+
+ newY2a = (y+1) - static_cast<int>(mActualTexScrollPosition);
+ if (newY2a<0)
+ {
+ newY2a+=mNoiseBuffer[0].mSize.Height-1;
+ }
+ if (newY2a>mNoiseBuffer[0].mSize.Height-1)
+ {
+ newY2a-=mNoiseBuffer[0].mSize.Height;
+ }
+
+ for (x = 0; x < mNoiseBuffer[0].mSize.Width; x ++)
+ {
+ a = OriginalA[newY1][x];
+ b = OriginalA[newY1a][x];
+
+ c=a*diffb+ b*diff;
+
+ a = OriginalB[newY2][x];
+ b = OriginalB[newY2a][x];
+
+ d=a*diff + b*diffb;
+
+ mNoiseBuffer[2].mData[y][x] = (c+d);
+ }
+ }
+
+ mActualTexScrollPosition += mVelocity*timeSinceLastFrame;
+
+ if (mActualTexScrollPosition>mNoiseBuffer[0].mSize.Height)
+ {
+ mActualTexScrollPosition = 0;
+ }
+
+ mPerlin.updatePerlinTexture(mNoiseBuffer[2].mData);
+ _updateNM();
+ }
+
+ void Hydrax::_updateNM()
+ {
+ int x, y, newY1, newY1a, newY2, newY2a;
+ float diff, diffb;
+
+ diff = (mActualTexScrollPosition - static_cast<int>(mActualTexScrollPosition))/2; // Divide by 2 to avoid it in the bucle
+ diffb = 0.5 - diff;
+
+ for (y = 0; y < mNoiseBuffer[0].mSize.Height; y ++)
+ {
+ newY1 = y + static_cast<int>(mActualTexScrollPosition);
+ if (newY1>mNoiseBuffer[0].mSize.Height-1)
+ {
+ newY1-=mNoiseBuffer[0].mSize.Height;
+ }
+
+ newY1a = y+1 + static_cast<int>(mActualTexScrollPosition);
+ if (newY1a>mNoiseBuffer[0].mSize.Height-1)
+ {
+ newY1a-=mNoiseBuffer[0].mSize.Height;
+ }
+
+ newY2 = y - static_cast<int>(mActualTexScrollPosition);
+ if (newY2<0)
+ {
+ newY2+=mNoiseBuffer[0].mSize.Height-1;
+ }
+
+ newY2a = (y+1) - static_cast<int>(mActualTexScrollPosition);
+ if (newY2a<0)
+ {
+ newY2a+=mNoiseBuffer[0].mSize.Height-1;
+ }
+ if (newY2a>mNoiseBuffer[0].mSize.Height-1)
+ {
+ newY2a-=mNoiseBuffer[0].mSize.Height;
+ }
+
+ for (x = 0; x < mNoiseBuffer[0].mSize.Width; x ++)
+ {
+ noise::utils::Color c =
+ noise::utils::Color(
+ // Red
+ (( mNoiseBuffer[1].mNormalMap.GetValue(newY1,x).red *diffb + mNoiseBuffer[1].mNormalMap.GetValue(newY1a,x).red *diff )
+ +(mNoiseBuffer[0].mNormalMap.GetValue(newY2,x).red *diff + mNoiseBuffer[0].mNormalMap.GetValue(newY2a,x).red *diffb)),
+ // Green
+ (( mNoiseBuffer[1].mNormalMap.GetValue(newY1,x).green *diffb + mNoiseBuffer[1].mNormalMap.GetValue(newY1a,x).green *diff )
+ +(mNoiseBuffer[0].mNormalMap.GetValue(newY2,x).green *diff + mNoiseBuffer[0].mNormalMap.GetValue(newY2a,x).green *diffb)),
+ // Blue
+ (( mNoiseBuffer[1].mNormalMap.GetValue(newY1,x).blue *diffb + mNoiseBuffer[1].mNormalMap.GetValue(newY1a,x).blue *diff )
+ +(mNoiseBuffer[0].mNormalMap.GetValue(newY2,x).blue *diff + mNoiseBuffer[0].mNormalMap.GetValue(newY2a,x).blue *diffb)),
+ // Alpha
+ 255);
+
+ mNoiseBuffer[2].mNormalMap.SetValue(y,x,c);
+ }
+ }
+
+ mPerlin.updateNMTexture(mNoiseBuffer[2].mNormalMap);
+ }
+
+ void Hydrax::_createRttListeners()
+ {
+ if (!isCreated())
+ {
+ mRefractionPlane = new Ogre::MovablePlane("RefractionPlane");
+ mReflectionPlane = new Ogre::MovablePlane("ReflectionPlane");
+
+ mRefractionPlane->d = 0;
+ mReflectionPlane->d = 0;
+
+ mRefractionPlane->normal = Ogre::Vector3::NEGATIVE_UNIT_Y;
+ mReflectionPlane->normal = Ogre::Vector3::UNIT_Y;
+
+ Ogre::MeshManager::getSingleton().createPlane(
+ "RefractionClipPlane",Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,
+ *mRefractionPlane,
+ mMesh->getSize().Width,mMesh->getSize().Height,
+ 10,10,true,1,5,5,Ogre::Vector3::UNIT_Z);
+
+ Ogre::MeshManager::getSingleton().createPlane(
+ "ReflectionClipPlane",Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,
+ *mReflectionPlane,
+ mMesh->getSize().Width,mMesh->getSize().Height,
+ 10,10,true,1,5,5,Ogre::Vector3::UNIT_Z);
+
+ mRefractionPlane->setCastShadows(false);
+ mReflectionPlane->setCastShadows(false);
+
+ mPlanesSceneNode = mSceneManager->getRootSceneNode()->createChildSceneNode();
+ mPlanesSceneNode->attachObject(mRefractionPlane);
+ mPlanesSceneNode->attachObject(mReflectionPlane);
+
+ mReflectionListener.mHydrax = this;
+ mRefractionListener.mHydrax = this;
+ }
+
+ Ogre::TextureManager::getSingleton().remove("Reflection");
+ Ogre::TextureManager::getSingleton().remove("Refraction");
+
+ mTextureRefraction = Ogre::TextureManager::getSingleton().createManual(
+ "Refraction",
+ Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,
+ Ogre::TEX_TYPE_2D,
+ mRttOptions.RefractionQuality, mRttOptions.RefractionQuality, 0,
+ Ogre::PF_R8G8B8,
+ Ogre::TU_RENDERTARGET);
+
+ Ogre::RenderTarget* mRT_TextureRefraction = mTextureRefraction->getBuffer()->getRenderTarget();
+ {
+ Ogre::Viewport *v = mRT_TextureRefraction->addViewport(mCamera);
+ v->setClearEveryFrame(true);
+ v->setBackgroundColour(Ogre::ColourValue::White);
+ v->setOverlaysEnabled(false);
+
+ mRT_TextureRefraction->addListener(&mRefractionListener);
+
+ Ogre::MaterialPtr mat = Ogre::MaterialManager::getSingleton().getByName(mMesh->getMaterialName());
+ Ogre::TextureUnitState* t = mat->getTechnique(0)->getPass(0)->getTextureUnitState(2);
+ t->setTextureName("Refraction");
+ }
+
+ mTextureReflection = Ogre::TextureManager::getSingleton().createManual(
+ "Reflection",
+ Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,
+ Ogre::TEX_TYPE_2D,
+ mRttOptions.ReflectionQuality, mRttOptions.ReflectionQuality, 0,
+ Ogre::PF_R8G8B8,
+ Ogre::TU_RENDERTARGET);
+
+ Ogre::RenderTarget* mRT_TextureReflection = mTextureReflection->getBuffer()->getRenderTarget();
+ {
+ Ogre::Viewport *v = mRT_TextureReflection->addViewport(mCamera);
+ v->setClearEveryFrame(true);
+ v->setBackgroundColour(Ogre::ColourValue::White);
+ v->setOverlaysEnabled(false);
+
+ mRT_TextureReflection->addListener(&mReflectionListener);
+
+ Ogre::MaterialPtr mat = Ogre::MaterialManager::getSingleton().getByName(mMesh->getMaterialName());
+ Ogre::TextureUnitState* t = mat->getTechnique(0)->getPass(0)->getTextureUnitState(1);
+ t->setTextureName("Reflection");
+ }
+
+ if (isComponent(HYDRAX_COMPONENT_DEPTH))
+ {
+ _createDepthRttListener();
+ }
+ }
+
+ void Hydrax::_createDepthRttListener(bool Create, bool Delete)
+ {
+ if (Create)
+ {
+ Ogre::TextureManager::getSingleton().remove("Depth");
+
+ if (!isCreated())
+ {
+ mDepthPlane = new Ogre::MovablePlane("DepthPlane");
+
+ mDepthPlane->d = 0;
+ mDepthPlane->normal = Ogre::Vector3::NEGATIVE_UNIT_Y;
+
+ Ogre::MeshManager::getSingleton().createPlane(
+ "DepthClipPlane",Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,
+ *mDepthPlane,
+ mMesh->getSize().Width,mMesh->getSize().Height,
+ 10,10,true,1,5,5,Ogre::Vector3::UNIT_Z);
+
+ mDepthPlane->setCastShadows(false);
+
+ mPlanesSceneNode->attachObject(mDepthPlane);
+
+ mDepthListener.mHydrax = this;
+ }
+
+ mTextureDepth = Ogre::TextureManager::getSingleton().createManual(
+ "Depth",
+ Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,
+ Ogre::TEX_TYPE_2D,
+ mRttOptions.DepthQuality, mRttOptions.DepthQuality, 0,
+ Ogre::PF_R8G8B8,
+ Ogre::TU_RENDERTARGET);
+
+ Ogre::RenderTarget* mRT_TextureDepth = mTextureDepth->getBuffer()->getRenderTarget();
+ {
+ Ogre::Viewport *v = mRT_TextureDepth->addViewport(mCamera);
+ v->setClearEveryFrame(true);
+ v->setBackgroundColour(Ogre::ColourValue::White);
+ v->setOverlaysEnabled(false);
+ v->setMaterialScheme("Depth");
+
+ mRT_TextureDepth->addListener(&mDepthListener);
+
+ Ogre::MaterialPtr mat = Ogre::MaterialManager::getSingleton().getByName(mMesh->getMaterialName());
+ Ogre::TextureUnitState* t = mat->getTechnique(0)->getPass(0)->getTextureUnitState(3);
+ t->setTextureName("Depth");
+ }
+
+ }
+ if (Delete)
+ {
+ Ogre::RenderTarget* mRT_TextureDepth = mTextureDepth->getBuffer()->getRenderTarget();
+ mRT_TextureDepth->removeAllListeners();
+ mRT_TextureDepth->removeAllViewports();
+
+ Ogre::TextureManager::getSingleton().remove("Depth");
+
+ Ogre::MeshManager::getSingleton().remove("DepthClipPlane");
+ }
+ }
+
+ void Hydrax::CReflectionListener::preRenderTargetUpdate(const Ogre::RenderTargetEvent& evt)
+ {
+ mHydrax->mMesh->getEntity()->setVisible(false);
+ mHydrax->mReflectionPlane->getParentNode()->translate(0,mHydrax->mPlanesError,0);
+
+ mHydrax->mCamera->enableReflection(mHydrax->mReflectionPlane);
+ mHydrax->mCamera->enableCustomNearClipPlane(mHydrax->mReflectionPlane);
+ }
+
+ void Hydrax::CReflectionListener::postRenderTargetUpdate(const Ogre::RenderTargetEvent& evt)
+ {
+ mHydrax->mMesh->getEntity()->setVisible(true);
+ mHydrax->mReflectionPlane->getParentNode()->translate(0,-mHydrax->mPlanesError,0);
+
+ mHydrax->mCamera->disableReflection();
+ mHydrax->mCamera->disableCustomNearClipPlane();
+ }
+
+ void Hydrax::CRefractionListener::preRenderTargetUpdate(const Ogre::RenderTargetEvent& evt)
+ {
+ mHydrax->mMesh->getEntity()->setVisible(false);
+ mHydrax->mRefractionPlane->getParentNode()->translate(0,mHydrax->mPlanesError,0);
+
+ mHydrax->mCamera->enableCustomNearClipPlane(mHydrax->mRefractionPlane);
+ }
+
+ void Hydrax::CRefractionListener::postRenderTargetUpdate(const Ogre::RenderTargetEvent& evt)
+ {
+ mHydrax->mMesh->getEntity()->setVisible(true);
+ mHydrax->mRefractionPlane->getParentNode()->translate(0,-mHydrax->mPlanesError,0);
+
+ mHydrax->mCamera->disableCustomNearClipPlane();
+ }
+
+ void Hydrax::CDepthListener::preRenderTargetUpdate(const Ogre::RenderTargetEvent& evt)
+ {
+ mHydrax->mMesh->getEntity()->setVisible(false);
+
+ Ogre::SceneManager::MovableObjectIterator it = mHydrax->mSceneManager->getMovableObjectIterator("Entity");
+
+ Ogre::Entity* cur;
+ mMaterials.empty();
+
+ while (it.hasMoreElements())
+ {
+ cur = dynamic_cast<Ogre::Entity*>(it.peekNextValue());
+ mMaterials.push(cur->getSubEntity(0)->getMaterialName());
+
+ if (mHydrax->isComponent(HYDRAX_COMPONENT_CAUSTICS))
+ {
+ cur->getSubEntity(0)->setMaterialName("HydraxShaderDepthCaustics");
+ }
+ else
+ {
+ cur->getSubEntity(0)->setMaterialName("HydraxShaderDepth");
+ }
+
+ it.moveNext();
+ }
+
+ mHydrax->mDepthPlane->getParentNode()->translate(0,mHydrax->mPlanesError,0);
+ mHydrax->mCamera->enableCustomNearClipPlane(mHydrax->mDepthPlane);
+ }
+
+ void Hydrax::CDepthListener::postRenderTargetUpdate(const Ogre::RenderTargetEvent& evt)
+ {
+ Ogre::SceneManager::MovableObjectIterator it = mHydrax->mSceneManager->getMovableObjectIterator("Entity");
+
+ Ogre::Entity* cur;
+
+ while (it.hasMoreElements())
+ {
+ std::string name = mMaterials.front();
+
+ cur = dynamic_cast<Ogre::Entity*>(it.peekNextValue());
+ if (Ogre::MaterialManager::getSingleton().resourceExists(name))
+ cur->setMaterialName(name);
+
+ mMaterials.pop();
+ it.moveNext();
+ }
+
+ mHydrax->mMesh->getEntity()->setVisible(true);
+
+ mHydrax->mCamera->disableCustomNearClipPlane();
+ mHydrax->mDepthPlane->getParentNode()->translate(0,-mHydrax->mPlanesError,0);
+ }
+
+ void Hydrax::setPerlinOptions(PerlinOptions PerlinOptions)
+ {
+ mPerlinOptions = PerlinOptions;
+
+ if (isCreated())
+ {
+ LOG("[Hydrax] Updating perlin options.");
+
+ Ogre::TextureManager::getSingleton().remove("HydraxHeight");
+ Ogre::TextureManager::getSingleton().remove("HydraxNormalMap");
+
+ mNoiseBuffer.clear();
+
+ _createTextures();
+ _updateTextures(0);
+
+ LOG("[Hydrax] Perlin options updated.");
+ }
+ }
+
+ void Hydrax::setMeshOptions(MeshOptions MeshOptions)
+ {
+ if (isCreated())
+ {
+ Ogre::String MaterialNameTmp = mMesh->getMaterialName();
+
+ LOG("[Hydrax] Updating water mesh.");
+ LOG("[Hydrax] Deleting water mesh.");
+
+ delete mMesh;
+
+ LOG("[Hydrax] Water mesh deleted.");
+
+ LOG("[Hydrax] Creating water mesh.");
+ mMesh = new Mesh(mSceneManager);
+ mMesh->setMeshOptions(MeshOptions);
+ mMesh->setMaterialName(MaterialNameTmp);
+ mMesh->create(mSceneNode);
+ setPosition(mPosition);
+ mMesh->update(mNoiseBuffer[2]);
+ LOG("[Hydrax] Water mesh created");
+
+ return;
+ }
+
+ mMesh->setMeshOptions(MeshOptions);
+ }
+
+ void Hydrax::setRttOptions(RttOptions RttOptions)
+ {
+ mRttOptions = RttOptions;
+
+ if (isCreated())
+ {
+ LOG("[Hydrax] Updating Rtt options.");
+
+ Ogre::RenderTarget* mRT_TextureRefraction = mTextureRefraction->getBuffer()->getRenderTarget();
+ mRT_TextureRefraction->removeAllListeners();
+ mRT_TextureRefraction->removeAllViewports();
+
+ Ogre::RenderTarget* mRT_TextureReflection = mTextureReflection->getBuffer()->getRenderTarget();
+ mRT_TextureReflection->removeAllListeners();
+ mRT_TextureReflection->removeAllViewports();
+
+ if (isComponent(HYDRAX_COMPONENT_DEPTH))
+ {
+ Ogre::RenderTarget* mRT_TextureDepth = mTextureDepth->getBuffer()->getRenderTarget();
+ mRT_TextureDepth->removeAllListeners();
+ mRT_TextureDepth->removeAllViewports();
+
+ Ogre::TextureManager::getSingleton().remove("Depth");
+ }
+
+ Ogre::TextureManager::getSingleton().remove("Reflection");
+ Ogre::TextureManager::getSingleton().remove("Refraction");
+
+ _createRttListeners();
+
+ LOG("[Hydrax] Rtt options updated.");
+ }
+ }
+
+ void Hydrax::setPolygonMode(int Tipe)
+ {
+ Ogre::MaterialPtr mat = Ogre::MaterialManager::getSingleton().getByName(mMesh->getMaterialName());
+
+ if (Tipe == 0)
+ {
+ mat->getTechnique(0)->getPass(0)->setPolygonMode(Ogre::PM_SOLID);
+ }
+ else if (Tipe == 1)
+ {
+ mat->getTechnique(0)->getPass(0)->setPolygonMode(Ogre::PM_WIREFRAME);
+ }
+ else if (Tipe == 2)
+ {
+ mat->getTechnique(0)->getPass(0)->setPolygonMode(Ogre::PM_POINTS);
+ }
+ }
+
+ void Hydrax::update(Ogre::Real timeSinceLastFrame)
+ {
+ if (mVelocity == 0)
+ {
+ return;
+ }
+
+ _updateTextures(timeSinceLastFrame);
+ mMesh->update(mNoiseBuffer[2]);
+ }
+
+ void Hydrax::setComponents(HydraxComponent Components)
+ {
+ // Create/Delete depth rtt listeners if it's necesary
+ if (isCreated())
+ {
+ if (isComponent(HYDRAX_COMPONENT_DEPTH))
+ {
+ if (!(Components & HYDRAX_COMPONENT_DEPTH))
+ {
+ _createDepthRttListener(false, true);
+ }
+ }
+ else
+ {
+ if (Components & HYDRAX_COMPONENT_DEPTH)
+ {
+ _createDepthRttListener();
+ }
+ }
+ }
+
+ mComponents = Components;
+
+ /* Shaders:
+
+ 1 - Standard
+ 2 - Standard, Sun
+ 3 - Standard, Foam
+ 4 - Standard, Sun, Foam
+
+ 5 - Depth
+ 6 - Depth, Sun
+ 7 - Depth, Foam
+ 8 - Depth, Sun, Foam
+
+ 9 - Depth, Smooth
+ 10 - Depth, Smooth, Sun
+ 11 - Depth, Smooth, Foam
+ 12 - Depth, Smooth, Sun, Foam
+
+ 13 - Depth, Caustics
+ 14 - Depth, Sun, Caustics
+ 15 - Depth, Foam, Caustics
+ 16 - Depth, Sun, Foam, Caustics
+
+ 17 - Depth, Smooth, Caustics
+ 18 - Depth, Smooth, Sun, Caustics
+ 19 - Depth, Smooth, Foam, Caustics
+ 20 - Depth, Smooth, Sun, Foam, Caustics
+ */
+
+ int Index = 1;
+
+ if (isComponent(HYDRAX_COMPONENT_SUN))
+ {
+ Index ++;
+ }
+
+ if (isComponent(HYDRAX_COMPONENT_FOAM))
+ {
+ Index += 2;
+ }
+
+ if (isComponent(HYDRAX_COMPONENT_DEPTH))
+ {
+ Index += 4;
+ }
+
+ if (isComponent(HYDRAX_COMPONENT_SMOOTH) || isComponent(HYDRAX_COMPONENT_CAUSTICS))
+ {
+ if (isComponent(HYDRAX_COMPONENT_DEPTH))
+ {
+ Index += 4;
+
+ if (isComponent(HYDRAX_COMPONENT_CAUSTICS))
+ {
+ Index += 8;
+ }
+ }
+ else
+ {
+ // Delete smooth component: Mask flags can't be removed
+ // so we have to evaluate all posibilities
+ // and reasign components...
+
+ if (isComponent(HYDRAX_COMPONENT_SUN) &&
+ isComponent(HYDRAX_COMPONENT_FOAM) &&
+ isComponent(HYDRAX_COMPONENT_PLSM2))
+ {
+ mComponents = static_cast<HydraxComponent>
+ (HYDRAX_COMPONENT_SUN |
+ HYDRAX_COMPONENT_FOAM |
+ HYDRAX_COMPONENT_PLSM2);
+ }
+ else
+ if (isComponent(HYDRAX_COMPONENT_SUN) &&
+ isComponent(HYDRAX_COMPONENT_FOAM))
+ {
+ mComponents = static_cast<HydraxComponent>
+ (HYDRAX_COMPONENT_SUN |
+ HYDRAX_COMPONENT_FOAM);
+ }
+ else
+ if (isComponent(HYDRAX_COMPONENT_SUN) &&
+ isComponent(HYDRAX_COMPONENT_PLSM2))
+ {
+ mComponents = static_cast<HydraxComponent>
+ (HYDRAX_COMPONENT_SUN |
+ HYDRAX_COMPONENT_PLSM2);
+ }
+ else
+ if (isComponent(HYDRAX_COMPONENT_FOAM) &&
+ isComponent(HYDRAX_COMPONENT_PLSM2))
+ {
+ mComponents = static_cast<HydraxComponent>
+ (HYDRAX_COMPONENT_FOAM |
+ HYDRAX_COMPONENT_PLSM2);
+ }
+ else
+ if (isComponent(HYDRAX_COMPONENT_SUN))
+ {
+ mComponents = static_cast<HydraxComponent>
+ (HYDRAX_COMPONENT_SUN);
+ }
+ else
+ if (isComponent(HYDRAX_COMPONENT_FOAM))
+ {
+ mComponents = static_cast<HydraxComponent>
+ (HYDRAX_COMPONENT_FOAM);
+ }
+ else
+ if (isComponent(HYDRAX_COMPONENT_PLSM2))
+ {
+ mComponents = static_cast<HydraxComponent>
+ (HYDRAX_COMPONENT_PLSM2);
+ }
+
+ LOG("[Hydrax] Requested component needs depth component... requested component desactivated.");
+ }
+ }
+
+ mMesh->setMaterialName(Ogre::String("HydraxShader"+Ogre::StringConverter::toString(Index)));
+ }
+
+ bool Hydrax::isComponent(HydraxComponent Component)
+ {
+ if (mComponents & Component)
+ {
+ return true;
+ }
+
+ if (Component == HYDRAX_COMPONENTS_NONE && mComponents == HYDRAX_COMPONENTS_NONE)
+ {
+ ...
[truncated message content] |