Explorar el Código

Worning on physics

Panagiotis Christopoulos Charitos hace 15 años
padre
commit
ee0f72a806

+ 49 - 49
build/debug/Makefile

@@ -4,8 +4,8 @@ PHFLAGS = -DDEBUG_ENABLED -DPLATFORM_LINUX -DREVISION=\"`svnversion -c ../..`\"
 LFLAGS = -rdynamic -L../../../SDL/build/.libs -L../../../SDL_image/.libs -L../../../glew/lib -L../../../bullet/src/BulletSoftBody -L../../../bullet/src/BulletDynamics -L../../../bullet/src/BulletCollision -L../../../bullet/src/LinearMath -Wl,-Bstatic -lBulletSoftBody -lBulletDynamics -lBulletCollision -lLinearMath -lGLEW -lSDL_image -lGLU -lSDL -lboost_system -lboost_filesystem -Wl,-Bdynamic -lGL -ljpeg -lpng -ltiff -pg
 EXECUTABLE = anki
 INCPATH = -I./ -I../../src/Math/ -I../../src/Util/Tokenizer/ -I../../src/Misc/ -I../../src/ -I../../src/Renderer/ -I../../src/Scene/ -I../../src/Ui/ -I../../src/Resources/ -I../../src/Util/ -I../../src/Scene/Controllers/ -I../../src/Physics/ -I../../src/Renderer/BufferObjects/ -I../../src/Resources/Helpers/ -I../../src/Resources/Core/ -I../../../bullet/src/ -I../../../SDL/include -I../../../glew/include -I../../../SDL_image 
-SOURCES = ../../src/Util/Tokenizer//Scanner.cpp ../../src/Misc//collision.cpp ../../src/Misc//skybox.cpp ../../src/Misc//map.cpp ../../src/Misc//memory.cpp ../../src/Misc//TestHeader.cpp ../../src//Main.cpp ../../src/Renderer//Renderer.cpp ../../src/Renderer//Hdr.cpp ../../src/Renderer//Bs.cpp ../../src/Renderer//Sm.cpp ../../src/Renderer//Dbg.cpp ../../src/Renderer//Smo.cpp ../../src/Renderer//Pps.cpp ../../src/Renderer//Ms.cpp ../../src/Renderer//MainRenderer.cpp ../../src/Renderer//Is.cpp ../../src/Renderer//Ssao.cpp ../../src/Renderer//Ez.cpp ../../src/Scene//MeshNode.cpp ../../src/Scene//Camera.cpp ../../src/Scene//SkelModelNode.cpp ../../src/Scene//SkelNode.cpp ../../src/Scene//Light.cpp ../../src/Scene//Scene.cpp ../../src/Scene//SceneNode.cpp ../../src/Scene//ParticleEmitter.cpp ../../src/Ui//Ui.cpp ../../src/Resources//ShaderProg.cpp ../../src/Resources//Mesh.cpp ../../src/Resources//SkelAnim.cpp ../../src/Resources//Skeleton.cpp ../../src/Resources//LightProps.cpp ../../src/Resources//Texture.cpp ../../src/Resources//Extension.cpp ../../src/Resources//Material.cpp ../../src/Util//Input.cpp ../../src/Util//App.cpp ../../src/Util//Util.cpp ../../src/Util//Common.cpp ../../src/Scene/Controllers//Controller.cpp ../../src/Scene/Controllers//SkelAnimCtrl.cpp ../../src/Physics//PhyWorld.cpp ../../src/Resources/Helpers//Image.cpp ../../src/Resources/Helpers//ShaderPrePreprocessor.cpp ../../src/Resources/Core//RsrcPtr.cpp ../../src/Resources/Core//RsrcContainers.cpp 
-OBJECTS = Scanner.o collision.o skybox.o map.o memory.o TestHeader.o Main.o Renderer.o Hdr.o Bs.o Sm.o Dbg.o Smo.o Pps.o Ms.o MainRenderer.o Is.o Ssao.o Ez.o MeshNode.o Camera.o SkelModelNode.o SkelNode.o Light.o Scene.o SceneNode.o ParticleEmitter.o Ui.o ShaderProg.o Mesh.o SkelAnim.o Skeleton.o LightProps.o Texture.o Extension.o Material.o Input.o App.o Util.o Common.o Controller.o SkelAnimCtrl.o PhyWorld.o Image.o ShaderPrePreprocessor.o RsrcPtr.o RsrcContainers.o 
+SOURCES = ../../src/Util/Tokenizer//Scanner.cpp ../../src/Misc//collision.cpp ../../src/Misc//skybox.cpp ../../src/Misc//map.cpp ../../src/Misc//memory.cpp ../../src/Misc//TestHeader.cpp ../../src//Main.cpp ../../src/Renderer//Renderer.cpp ../../src/Renderer//Hdr.cpp ../../src/Renderer//Bs.cpp ../../src/Renderer//Sm.cpp ../../src/Renderer//Dbg.cpp ../../src/Renderer//Smo.cpp ../../src/Renderer//Pps.cpp ../../src/Renderer//Ms.cpp ../../src/Renderer//MainRenderer.cpp ../../src/Renderer//Is.cpp ../../src/Renderer//Ssao.cpp ../../src/Renderer//Ez.cpp ../../src/Scene//MeshNode.cpp ../../src/Scene//Camera.cpp ../../src/Scene//SkelModelNode.cpp ../../src/Scene//SkelNode.cpp ../../src/Scene//Light.cpp ../../src/Scene//Scene.cpp ../../src/Scene//SceneNode.cpp ../../src/Scene//ParticleEmitter.cpp ../../src/Ui//Ui.cpp ../../src/Resources//ShaderProg.cpp ../../src/Resources//Mesh.cpp ../../src/Resources//SkelAnim.cpp ../../src/Resources//Skeleton.cpp ../../src/Resources//LightProps.cpp ../../src/Resources//Texture.cpp ../../src/Resources//Extension.cpp ../../src/Resources//Material.cpp ../../src/Util//Input.cpp ../../src/Util//App.cpp ../../src/Util//Util.cpp ../../src/Util//Common.cpp ../../src/Scene/Controllers//Controller.cpp ../../src/Scene/Controllers//SkelAnimCtrl.cpp ../../src/Physics//Physics.cpp ../../src/Resources/Helpers//Image.cpp ../../src/Resources/Helpers//ShaderPrePreprocessor.cpp ../../src/Resources/Core//RsrcPtr.cpp ../../src/Resources/Core//RsrcContainers.cpp 
+OBJECTS = Scanner.o collision.o skybox.o map.o memory.o TestHeader.o Main.o Renderer.o Hdr.o Bs.o Sm.o Dbg.o Smo.o Pps.o Ms.o MainRenderer.o Is.o Ssao.o Ez.o MeshNode.o Camera.o SkelModelNode.o SkelNode.o Light.o Scene.o SceneNode.o ParticleEmitter.o Ui.o ShaderProg.o Mesh.o SkelAnim.o Skeleton.o LightProps.o Texture.o Extension.o Material.o Input.o App.o Util.o Common.o Controller.o SkelAnimCtrl.o Physics.o Image.o ShaderPrePreprocessor.o RsrcPtr.o RsrcContainers.o 
 PRECOMPILED_HEADERS = 
 
 all: $(PRECOMPILED_HEADERS) $(SOURCES) $(EXECUTABLE)
@@ -82,7 +82,7 @@ skybox.o: ../../src/Misc//skybox.cpp ../../src/Misc//skybox.h \
  ../../src/Renderer/BufferObjects/BufferObject.h ../../src/Scene/Camera.h \
  ../../src/Misc/collision.h ../../src/Scene/SceneNode.h \
  ../../src/Util/Vec.h ../../src/Scene/Scene.h ../../src/Misc/skybox.h \
- ../../src/Physics/PhyWorld.h ../../src/Physics/PhyCommon.h \
+ ../../src/Physics/Physics.h ../../src/Physics/PhyCommon.h \
  ../../../bullet/src/btBulletCollisionCommon.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../../bullet/src/LinearMath/btVector3.h \
@@ -215,8 +215,8 @@ skybox.o: ../../src/Misc//skybox.cpp ../../src/Misc//skybox.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btGhostObject.h \
  ../../../bullet/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
- ../../src/Physics/BtAndAnkiConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h \
+ ../../src/Physics/BtAndAnkiConvertors.h ../../src/Physics/MotionState.h \
+ ../../src/Scene/SceneNode.h ../../src/Physics/Physics.h \
  ../../src/Util/App.h ../../../SDL/include/SDL.h \
  ../../../SDL/include/SDL_main.h ../../../SDL/include/SDL_stdinc.h \
  ../../../SDL/include/SDL_config.h ../../../SDL/include/SDL_platform.h \
@@ -292,7 +292,7 @@ TestHeader.o: ../../src/Misc//TestHeader.cpp \
  ../../src/Resources/ShaderProg.h ../../src/Renderer/BufferObjects/Vbo.h \
  ../../src/Renderer/BufferObjects/BufferObject.h \
  ../../src/Resources/Core/RsrcPtr.h \
- ../../src/Physics/BtAndAnkiConversions.h
+ ../../src/Physics/BtAndAnkiConvertors.h
 	@echo Compiling ../../src/Misc//TestHeader.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Misc//TestHeader.cpp -o TestHeader.o
 
@@ -339,7 +339,7 @@ Main.o: ../../src//Main.cpp ../../src/Util/Common.h \
  ../../src/Scene/Camera.h ../../src/Resources/LightProps.h \
  ../../src/Resources/Texture.h ../../src/Resources/Material.h \
  ../../src/Resources/ShaderProg.h ../../src/Scene/Scene.h \
- ../../src/Misc/skybox.h ../../src/Physics/PhyWorld.h \
+ ../../src/Misc/skybox.h ../../src/Physics/Physics.h \
  ../../src/Physics/PhyCommon.h \
  ../../../bullet/src/btBulletCollisionCommon.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
@@ -473,8 +473,8 @@ Main.o: ../../src//Main.cpp ../../src/Util/Common.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btGhostObject.h \
  ../../../bullet/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
- ../../src/Physics/BtAndAnkiConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h \
+ ../../src/Physics/BtAndAnkiConvertors.h ../../src/Physics/MotionState.h \
+ ../../src/Scene/SceneNode.h ../../src/Physics/Physics.h \
  ../../src/Util/Tokenizer/Scanner.h ../../src/Misc/map.h \
  ../../src/Scene/MeshNode.h \
  ../../src/Scene/Controllers/MeshSkelNodeCtrl.h \
@@ -533,7 +533,7 @@ Renderer.o: ../../src/Renderer//Renderer.cpp \
  ../../../SDL/include/SDL_power.h ../../../SDL/include/SDL_timer.h \
  ../../../SDL/include/SDL_version.h ../../../SDL/include/SDL_revision.h \
  ../../../SDL/include/SDL_compat.h ../../src/Scene/Scene.h \
- ../../src/Misc/skybox.h ../../src/Physics/PhyWorld.h \
+ ../../src/Misc/skybox.h ../../src/Physics/Physics.h \
  ../../src/Physics/PhyCommon.h \
  ../../../bullet/src/btBulletCollisionCommon.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
@@ -667,8 +667,8 @@ Renderer.o: ../../src/Renderer//Renderer.cpp \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btGhostObject.h \
  ../../../bullet/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
- ../../src/Physics/BtAndAnkiConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h
+ ../../src/Physics/BtAndAnkiConvertors.h ../../src/Physics/MotionState.h \
+ ../../src/Scene/SceneNode.h ../../src/Physics/Physics.h
 	@echo Compiling ../../src/Renderer//Renderer.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Renderer//Renderer.cpp -o Renderer.o
 
@@ -730,7 +730,7 @@ Bs.o: ../../src/Renderer//Bs.cpp ../../src/Renderer//Renderer.h \
  ../../../SDL/include/SDL_power.h ../../../SDL/include/SDL_timer.h \
  ../../../SDL/include/SDL_version.h ../../../SDL/include/SDL_revision.h \
  ../../../SDL/include/SDL_compat.h ../../src/Scene/Scene.h \
- ../../src/Misc/skybox.h ../../src/Physics/PhyWorld.h \
+ ../../src/Misc/skybox.h ../../src/Physics/Physics.h \
  ../../src/Physics/PhyCommon.h \
  ../../../bullet/src/btBulletCollisionCommon.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
@@ -864,9 +864,9 @@ Bs.o: ../../src/Renderer//Bs.cpp ../../src/Renderer//Renderer.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btGhostObject.h \
  ../../../bullet/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
- ../../src/Physics/BtAndAnkiConversions.h ../../src/Physics/MotionState.h \
+ ../../src/Physics/BtAndAnkiConvertors.h ../../src/Physics/MotionState.h \
  ../../src/Scene/SceneNode.h ../../src/Util/Vec.h \
- ../../src/Physics/PhyWorld.h ../../src/Scene/MeshNode.h \
+ ../../src/Physics/Physics.h ../../src/Scene/MeshNode.h \
  ../../src/Scene/SceneNode.h ../../src/Resources/Material.h \
  ../../src/Resources/ShaderProg.h ../../src/Resources/Texture.h \
  ../../src/Resources/Mesh.h ../../src/Misc/collision.h \
@@ -911,7 +911,7 @@ Sm.o: ../../src/Renderer//Sm.cpp ../../src/Renderer//Renderer.h \
  ../../../SDL/include/SDL_power.h ../../../SDL/include/SDL_timer.h \
  ../../../SDL/include/SDL_version.h ../../../SDL/include/SDL_revision.h \
  ../../../SDL/include/SDL_compat.h ../../src/Scene/Scene.h \
- ../../src/Misc/skybox.h ../../src/Physics/PhyWorld.h \
+ ../../src/Misc/skybox.h ../../src/Physics/Physics.h \
  ../../src/Physics/PhyCommon.h \
  ../../../bullet/src/btBulletCollisionCommon.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
@@ -1045,9 +1045,9 @@ Sm.o: ../../src/Renderer//Sm.cpp ../../src/Renderer//Renderer.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btGhostObject.h \
  ../../../bullet/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
- ../../src/Physics/BtAndAnkiConversions.h ../../src/Physics/MotionState.h \
+ ../../src/Physics/BtAndAnkiConvertors.h ../../src/Physics/MotionState.h \
  ../../src/Scene/SceneNode.h ../../src/Util/Vec.h \
- ../../src/Physics/PhyWorld.h ../../src/Scene/MeshNode.h \
+ ../../src/Physics/Physics.h ../../src/Scene/MeshNode.h \
  ../../src/Scene/SceneNode.h ../../src/Resources/Material.h \
  ../../src/Resources/ShaderProg.h ../../src/Resources/Texture.h \
  ../../src/Resources/Mesh.h ../../src/Misc/collision.h \
@@ -1093,7 +1093,7 @@ Dbg.o: ../../src/Renderer//Dbg.cpp ../../src/Renderer//Renderer.h \
  ../../../SDL/include/SDL_power.h ../../../SDL/include/SDL_timer.h \
  ../../../SDL/include/SDL_version.h ../../../SDL/include/SDL_revision.h \
  ../../../SDL/include/SDL_compat.h ../../src/Scene/Scene.h \
- ../../src/Misc/skybox.h ../../src/Physics/PhyWorld.h \
+ ../../src/Misc/skybox.h ../../src/Physics/Physics.h \
  ../../src/Physics/PhyCommon.h \
  ../../../bullet/src/btBulletCollisionCommon.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
@@ -1227,9 +1227,9 @@ Dbg.o: ../../src/Renderer//Dbg.cpp ../../src/Renderer//Renderer.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btGhostObject.h \
  ../../../bullet/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
- ../../src/Physics/BtAndAnkiConversions.h ../../src/Physics/MotionState.h \
+ ../../src/Physics/BtAndAnkiConvertors.h ../../src/Physics/MotionState.h \
  ../../src/Scene/SceneNode.h ../../src/Util/Vec.h \
- ../../src/Physics/PhyWorld.h ../../src/Scene/SkelNode.h \
+ ../../src/Physics/Physics.h ../../src/Scene/SkelNode.h \
  ../../src/Scene/SceneNode.h ../../src/Scene/Controllers/SkelAnimCtrl.h \
  ../../src/Scene/Controllers/Controller.h ../../src/Resources/Skeleton.h \
  ../../src/Scene/Camera.h ../../src/Misc/collision.h \
@@ -1320,7 +1320,7 @@ Ms.o: ../../src/Renderer//Ms.cpp ../../src/Renderer//Renderer.h \
  ../../../SDL/include/SDL_power.h ../../../SDL/include/SDL_timer.h \
  ../../../SDL/include/SDL_version.h ../../../SDL/include/SDL_revision.h \
  ../../../SDL/include/SDL_compat.h ../../src/Scene/Scene.h \
- ../../src/Misc/skybox.h ../../src/Physics/PhyWorld.h \
+ ../../src/Misc/skybox.h ../../src/Physics/Physics.h \
  ../../src/Physics/PhyCommon.h \
  ../../../bullet/src/btBulletCollisionCommon.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
@@ -1454,9 +1454,9 @@ Ms.o: ../../src/Renderer//Ms.cpp ../../src/Renderer//Renderer.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btGhostObject.h \
  ../../../bullet/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
- ../../src/Physics/BtAndAnkiConversions.h ../../src/Physics/MotionState.h \
+ ../../src/Physics/BtAndAnkiConvertors.h ../../src/Physics/MotionState.h \
  ../../src/Scene/SceneNode.h ../../src/Util/Vec.h \
- ../../src/Physics/PhyWorld.h ../../src/Scene/Camera.h \
+ ../../src/Physics/Physics.h ../../src/Scene/Camera.h \
  ../../src/Misc/collision.h ../../src/Scene/SceneNode.h \
  ../../src/Scene/MeshNode.h ../../src/Resources/Material.h \
  ../../src/Resources/ShaderProg.h ../../src/Resources/Texture.h \
@@ -1547,7 +1547,7 @@ Is.o: ../../src/Renderer//Is.cpp ../../src/Renderer//Renderer.h \
  ../../../SDL/include/SDL_timer.h ../../../SDL/include/SDL_version.h \
  ../../../SDL/include/SDL_revision.h ../../../SDL/include/SDL_compat.h \
  ../../src/Scene/Scene.h ../../src/Misc/skybox.h \
- ../../src/Physics/PhyWorld.h ../../src/Physics/PhyCommon.h \
+ ../../src/Physics/Physics.h ../../src/Physics/PhyCommon.h \
  ../../../bullet/src/btBulletCollisionCommon.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../../bullet/src/LinearMath/btVector3.h \
@@ -1680,8 +1680,8 @@ Is.o: ../../src/Renderer//Is.cpp ../../src/Renderer//Renderer.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btGhostObject.h \
  ../../../bullet/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
- ../../src/Physics/BtAndAnkiConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h
+ ../../src/Physics/BtAndAnkiConvertors.h ../../src/Physics/MotionState.h \
+ ../../src/Scene/SceneNode.h ../../src/Physics/Physics.h
 	@echo Compiling ../../src/Renderer//Is.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Renderer//Is.cpp -o Is.o
 
@@ -1751,7 +1751,7 @@ Ez.o: ../../src/Renderer//Ez.cpp ../../src/Renderer//Renderer.h \
  ../../src/Misc/collision.h \
  ../../src/Scene/Controllers/MeshSkelNodeCtrl.h \
  ../../src/Scene/Controllers/Controller.h ../../src/Scene/Scene.h \
- ../../src/Misc/skybox.h ../../src/Physics/PhyWorld.h \
+ ../../src/Misc/skybox.h ../../src/Physics/Physics.h \
  ../../src/Physics/PhyCommon.h \
  ../../../bullet/src/btBulletCollisionCommon.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
@@ -1885,8 +1885,8 @@ Ez.o: ../../src/Renderer//Ez.cpp ../../src/Renderer//Renderer.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btGhostObject.h \
  ../../../bullet/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
- ../../src/Physics/BtAndAnkiConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h
+ ../../src/Physics/BtAndAnkiConvertors.h ../../src/Physics/MotionState.h \
+ ../../src/Scene/SceneNode.h ../../src/Physics/Physics.h
 	@echo Compiling ../../src/Renderer//Ez.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Renderer//Ez.cpp -o Ez.o
 
@@ -2109,7 +2109,7 @@ Scene.o: ../../src/Scene//Scene.cpp ../../src/Scene//Scene.h \
  ../../src/Math/Mat4.inl.h ../../src/Math/MathFuncs.h \
  ../../src/Math/MathFuncs.inl.h ../../src/Math/Transform.h \
  ../../src/Math/Transform.inl.h ../../src/Resources/Core/RsrcPtr.h \
- ../../src/Resources/ShaderProg.h ../../src/Physics/PhyWorld.h \
+ ../../src/Resources/ShaderProg.h ../../src/Physics/Physics.h \
  ../../src/Physics/PhyCommon.h \
  ../../../bullet/src/btBulletCollisionCommon.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
@@ -2243,9 +2243,9 @@ Scene.o: ../../src/Scene//Scene.cpp ../../src/Scene//Scene.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btGhostObject.h \
  ../../../bullet/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
- ../../src/Physics/BtAndAnkiConversions.h ../../src/Physics/MotionState.h \
+ ../../src/Physics/BtAndAnkiConvertors.h ../../src/Physics/MotionState.h \
  ../../src/Scene/SceneNode.h ../../src/Util/Vec.h \
- ../../src/Physics/PhyWorld.h ../../src/Scene//SkelNode.h \
+ ../../src/Physics/Physics.h ../../src/Scene//SkelNode.h \
  ../../src/Scene//SceneNode.h ../../src/Scene/Controllers/SkelAnimCtrl.h \
  ../../src/Scene/Controllers/Controller.h ../../src/Resources/Skeleton.h \
  ../../src/Scene//Camera.h ../../src/Misc/collision.h \
@@ -2280,7 +2280,7 @@ SceneNode.o: ../../src/Scene//SceneNode.cpp ../../src/Scene//SceneNode.h \
  ../../src/Renderer/BufferObjects/BufferObject.h \
  ../../src/Resources/Core/RsrcPtr.h ../../src/Misc/collision.h \
  ../../src/Scene/Controllers/Controller.h ../../src/Scene//Scene.h \
- ../../src/Misc/skybox.h ../../src/Physics/PhyWorld.h \
+ ../../src/Misc/skybox.h ../../src/Physics/Physics.h \
  ../../src/Physics/PhyCommon.h \
  ../../../bullet/src/btBulletCollisionCommon.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
@@ -2414,8 +2414,8 @@ SceneNode.o: ../../src/Scene//SceneNode.cpp ../../src/Scene//SceneNode.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btGhostObject.h \
  ../../../bullet/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
- ../../src/Physics/BtAndAnkiConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h \
+ ../../src/Physics/BtAndAnkiConvertors.h ../../src/Physics/MotionState.h \
+ ../../src/Scene/SceneNode.h ../../src/Physics/Physics.h \
  ../../src/Util/App.h ../../../SDL/include/SDL.h \
  ../../../SDL/include/SDL_main.h ../../../SDL/include/SDL_stdinc.h \
  ../../../SDL/include/SDL_config.h ../../../SDL/include/SDL_platform.h \
@@ -2593,9 +2593,9 @@ ParticleEmitter.o: ../../src/Scene//ParticleEmitter.cpp \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btGhostObject.h \
  ../../../bullet/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
- ../../src/Physics/BtAndAnkiConversions.h ../../src/Physics/MotionState.h \
+ ../../src/Physics/BtAndAnkiConvertors.h ../../src/Physics/MotionState.h \
  ../../src/Physics/PhyCommon.h ../../src/Scene/SceneNode.h \
- ../../src/Physics/PhyWorld.h ../../src/Renderer/MainRenderer.h \
+ ../../src/Physics/Physics.h ../../src/Renderer/MainRenderer.h \
  ../../src/Renderer/Renderer.h ../../src/Renderer/BufferObjects/Fbo.h \
  ../../src/Resources/Texture.h ../../src/Resources/ShaderProg.h \
  ../../src/Util/App.h ../../../SDL/include/SDL.h \
@@ -2616,7 +2616,7 @@ ParticleEmitter.o: ../../src/Scene//ParticleEmitter.cpp \
  ../../../SDL/include/SDL_timer.h ../../../SDL/include/SDL_version.h \
  ../../../SDL/include/SDL_revision.h ../../../SDL/include/SDL_compat.h \
  ../../src/Scene//Scene.h ../../src/Misc/skybox.h \
- ../../src/Physics/PhyWorld.h
+ ../../src/Physics/Physics.h
 	@echo Compiling ../../src/Scene//ParticleEmitter.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Scene//ParticleEmitter.cpp -o ParticleEmitter.o
 
@@ -2934,7 +2934,7 @@ App.o: ../../src/Util//App.cpp ../../../glew/include/GL/glew.h \
  ../../src/Math/Mat4.inl.h ../../src/Math/MathFuncs.h \
  ../../src/Math/MathFuncs.inl.h ../../src/Math/Transform.h \
  ../../src/Math/Transform.inl.h ../../src/Resources/Core/RsrcPtr.h \
- ../../src/Resources/ShaderProg.h ../../src/Physics/PhyWorld.h \
+ ../../src/Resources/ShaderProg.h ../../src/Physics/Physics.h \
  ../../src/Physics/PhyCommon.h \
  ../../../bullet/src/btBulletCollisionCommon.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
@@ -3068,9 +3068,9 @@ App.o: ../../src/Util//App.cpp ../../../glew/include/GL/glew.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btGhostObject.h \
  ../../../bullet/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
- ../../src/Physics/BtAndAnkiConversions.h ../../src/Physics/MotionState.h \
+ ../../src/Physics/BtAndAnkiConvertors.h ../../src/Physics/MotionState.h \
  ../../src/Scene/SceneNode.h ../../src/Util/Vec.h \
- ../../src/Physics/PhyWorld.h ../../src/Renderer/MainRenderer.h \
+ ../../src/Physics/Physics.h ../../src/Renderer/MainRenderer.h \
  ../../src/Renderer/Renderer.h ../../src/Renderer/BufferObjects/Fbo.h \
  ../../src/Renderer/BufferObjects/Vbo.h \
  ../../src/Renderer/BufferObjects/BufferObject.h
@@ -3122,7 +3122,7 @@ Controller.o: ../../src/Scene/Controllers//Controller.cpp \
  ../../src/Math/Mat4.inl.h ../../src/Math/MathFuncs.h \
  ../../src/Math/MathFuncs.inl.h ../../src/Math/Transform.h \
  ../../src/Math/Transform.inl.h ../../src/Resources/Core/RsrcPtr.h \
- ../../src/Resources/ShaderProg.h ../../src/Physics/PhyWorld.h \
+ ../../src/Resources/ShaderProg.h ../../src/Physics/Physics.h \
  ../../src/Physics/PhyCommon.h \
  ../../../bullet/src/btBulletCollisionCommon.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
@@ -3256,9 +3256,9 @@ Controller.o: ../../src/Scene/Controllers//Controller.cpp \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btGhostObject.h \
  ../../../bullet/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
- ../../src/Physics/BtAndAnkiConversions.h ../../src/Physics/MotionState.h \
+ ../../src/Physics/BtAndAnkiConvertors.h ../../src/Physics/MotionState.h \
  ../../src/Scene/SceneNode.h ../../src/Util/Vec.h \
- ../../src/Physics/PhyWorld.h ../../src/Util/App.h \
+ ../../src/Physics/Physics.h ../../src/Util/App.h \
  ../../../SDL/include/SDL.h ../../../SDL/include/SDL_main.h \
  ../../../SDL/include/SDL_stdinc.h ../../../SDL/include/SDL_config.h \
  ../../../SDL/include/SDL_platform.h ../../../SDL/include/begin_code.h \
@@ -3322,7 +3322,7 @@ SkelAnimCtrl.o: ../../src/Scene/Controllers//SkelAnimCtrl.cpp \
 	@echo Compiling ../../src/Scene/Controllers//SkelAnimCtrl.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Scene/Controllers//SkelAnimCtrl.cpp -o SkelAnimCtrl.o
 
-PhyWorld.o: ../../src/Physics//PhyWorld.cpp ../../src/Physics//PhyWorld.h \
+Physics.o: ../../src/Physics//Physics.cpp ../../src/Physics//Physics.h \
  ../../src/Util/Common.h ../../src/Physics//PhyCommon.h \
  ../../../bullet/src/btBulletCollisionCommon.h \
  ../../../bullet/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
@@ -3467,11 +3467,11 @@ PhyWorld.o: ../../src/Physics//PhyWorld.cpp ../../src/Physics//PhyWorld.h \
  ../../src/Math/Mat3.inl.h ../../src/Math/Mat4.h \
  ../../src/Math/Mat4.inl.h ../../src/Math/MathFuncs.h \
  ../../src/Math/MathFuncs.inl.h ../../src/Math/Transform.h \
- ../../src/Math/Transform.inl.h ../../src/Physics//BtAndAnkiConversions.h \
+ ../../src/Math/Transform.inl.h ../../src/Physics//BtAndAnkiConvertors.h \
  ../../src/Physics//MotionState.h ../../src/Scene/SceneNode.h \
  ../../src/Util/Vec.h ../../src/Util/Common.h
-	@echo Compiling ../../src/Physics//PhyWorld.cpp...
-	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Physics//PhyWorld.cpp -o PhyWorld.o
+	@echo Compiling ../../src/Physics//Physics.cpp...
+	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Physics//Physics.cpp -o Physics.o
 
 Image.o: ../../src/Resources/Helpers//Image.cpp \
  ../../../SDL_image/SDL_image.h ../../../SDL/include/SDL.h \

+ 10 - 11
src/Main.cpp

@@ -64,7 +64,7 @@ Vec<btRigidBody*> boxes;
 
 void initPhysics()
 {
-	btDiscreteDynamicsWorld* dynamicsWorld = app->getScene()->getPhyWorld()->getDynamicsWorld();
+	btDiscreteDynamicsWorld* dynamicsWorld = app->getScene()->getPhysics()->getDynamicsWorld();
 
 	btCollisionShape* groundShape = new btBoxShape(btVector3(btScalar(50.),btScalar(50.),btScalar(50.)));
 
@@ -132,21 +132,21 @@ void initPhysics()
 					crate->getLocalTransform().setScale(1.11);
 
 					Transform trf(SCALING*Vec3(2.0*i + start_x, 20+2.0*k + start_y, 2.0*j + start_z), Mat3::getIdentity(), 1.0);
-					body = app->getScene()->getPhyWorld()->createNewRigidBody(mass, trf, colShape, crate);
+					body = app->getScene()->getPhysics()->createNewRigidBody(mass, trf, colShape, crate);
 
-					MotionState* myMotionState = new MotionState(startTransform, crate);
-					btRigidBody::btRigidBodyConstructionInfo rbInfo(mass,myMotionState,colShape,localInertia);
+					//MotionState* myMotionState = new MotionState(startTransform, *crate);
+					//btRigidBody::btRigidBodyConstructionInfo rbInfo(mass,myMotionState,colShape,localInertia);
 					//btRigidBody* body = new btRigidBody(rbInfo);
-					body = new btRigidBody(rbInfo);
+					//body = new btRigidBody(rbInfo);
 
 					//if(i=2) body->setActivationState(ISLAND_SLEEPING);
 
 					//body->setActivationState(ISLAND_SLEEPING);
 
 
-					dynamicsWorld->addRigidBody(body);
+					//dynamicsWorld->addRigidBody(body);
 					//body->setGravity(toBt(Vec3(Util::randRange(-1.0, 1.0), Util::randRange(-1.0, 1.0), Util::randRange(-1.0, 1.0))));
-					boxes.push_back(body);
+					//boxes.push_back(body);
 				}
 			}
 		}
@@ -157,9 +157,9 @@ void initPhysics()
 
 
 
-	/*for(int i=0; i<app->getScene()->getPhyWorld()->getDynamicsWorld()->getCollisionObjectArray().size();i++)
+	/*for(int i=0; i<app->getScene()->getPhysics()->getDynamicsWorld()->getCollisionObjectArray().size();i++)
 	{
-		btCollisionObject* colObj = app->getScene()->getPhyWorld()->getDynamicsWorld()->getCollisionObjectArray()[i];
+		btCollisionObject* colObj = app->getScene()->getPhysics()->getDynamicsWorld()->getCollisionObjectArray()[i];
 		btRigidBody* body = btRigidBody::upcast(colObj);
 		if(body)
 		{
@@ -372,8 +372,7 @@ void mainLoop()
 
 		//partEmitter->update();
 
-		app->getScene()->getPhyWorld()->getDynamicsWorld()->stepSimulation(app->timerTick);
-		app->getScene()->getPhyWorld()->getDynamicsWorld()->debugDrawWorld();
+		app->getScene()->getPhysics()->getDynamicsWorld()->stepSimulation(app->timerTick);
 
 		app->getMainRenderer()->render(*app->getActiveCam());
 

+ 2 - 2
src/Physics/BtAndAnkiConversions.h → src/Physics/BtAndAnkiConvertors.h

@@ -1,5 +1,5 @@
-#ifndef PHYCONVERSIONS_H
-#define PHYCONVERSIONS_H
+#ifndef PHYCONVERTORS_H
+#define PHYCONVERTORS_H
 
 
 inline Vec3 toAnki(const btVector3& v)

+ 2 - 2
src/Physics/DebugDrawer.h

@@ -4,7 +4,7 @@
 #include <LinearMath/btIDebugDraw.h>
 #include "Common.h"
 #include "Renderer.h"
-#include "BtAndAnkiConversions.h"
+#include "BtAndAnkiConvertors.h"
 
 
 /**
@@ -39,7 +39,7 @@ class DebugDrawer: public btIDebugDraw
 
 inline void DebugDrawer::drawSphere(btScalar radius, const btTransform& transform, const btVector3& color)
 {
-	Renderer::Dbg::drawSphere(8, radius, toAnki(transform.getOrigin()));
+	Renderer::Dbg::drawSphere(radius, Transform(toAnki(transform)), Vec4(toAnki(color), 1.0));
 }
 
 

+ 50 - 37
src/Physics/MotionState.h

@@ -11,47 +11,60 @@
  */
 class MotionState: public btMotionState
 {
-	protected:
-		btTransform worldTransform;
-		SceneNode* node;
-
 	public:
-		MotionState(const btTransform& initialTransform, SceneNode* node_):
-			worldTransform(initialTransform),
-			node(node_)
-		{
-			DEBUG_ERR(node_==NULL);
-		}
-
-		virtual ~MotionState()
-		{}
-
-		virtual void getWorldTransform(btTransform& worldTrans) const
-		{
-			worldTrans = worldTransform;
-		}
-
-		const btTransform& getWorldTransform() const
-		{
-			return worldTransform;
-		}
-
-		virtual void setWorldTransform(const btTransform& worldTrans)
-		{
-			float originalScale = node->getLocalTransform().getScale();
-			worldTransform = worldTrans;
-
-			node->setLocalTransform(Transform(toAnki(worldTrans)));
-			node->getLocalTransform().setScale(originalScale);
-
-			/*btQuaternion rot = worldTrans.getRotation();
-			node->rotationLspace = Mat3(Quat(toAnki(rot)));
-			btVector3 pos = worldTrans.getOrigin();
-			node->translationLspace = Vec3(toAnki(pos));*/
-		}
+		MotionState(const btTransform& initialTransform, SceneNode& node_);
+
+		~MotionState() {}
+
+		void getWorldTransform(btTransform& worldTrans) const;
+
+		const btTransform& getWorldTransform() const;
+
+		void setWorldTransform(const btTransform& worldTrans);
+
+	private:
+		btTransform worldTransform;
+		SceneNode& node;
 };
 
 
+//======================================================================================================================
+// Inlines                                                                                                             =
+//======================================================================================================================
+
+inline MotionState::MotionState(const btTransform& initialTransform, SceneNode& node_):
+	worldTransform(initialTransform),
+	node(node_)
+{}
+
+
+inline void MotionState::getWorldTransform(btTransform& worldTrans) const
+{
+	worldTrans = worldTransform;
+}
+
+
+inline const btTransform& MotionState::getWorldTransform() const
+{
+	return worldTransform;
+}
+
+
+inline void MotionState::setWorldTransform(const btTransform& worldTrans)
+{
+	float originalScale = node.getLocalTransform().getScale();
+	worldTransform = worldTrans;
+
+	node.setLocalTransform(Transform(toAnki(worldTrans)));
+	node.getLocalTransform().setScale(originalScale);
+
+	/*btQuaternion rot = worldTrans.getRotation();
+	node.rotationLspace = Mat3(Quat(toAnki(rot)));
+	btVector3 pos = worldTrans.getOrigin();
+	node.translationLspace = Vec3(toAnki(pos));*/
+}
+
+
 
 
 #endif

+ 1 - 1
src/Physics/PhyCharacter.h

@@ -15,7 +15,7 @@ class PhyCharacter
 		btCapsuleShape* capsule;
 		btKinematicCharacterController* character;
 
-		PhyCharacter(PhyWorld* world, float charHeight, float charWidth, float stepHeight, float maxJumpHeight)
+		PhyCharacter(Physics* world, float charHeight, float charWidth, float stepHeight, float maxJumpHeight)
 		{
 			ghostObject = new btPairCachingGhostObject();
 			world->broadphase->getOverlappingPairCache()->setInternalGhostPairCallback(new btGhostPairCallback());

+ 2 - 2
src/Physics/PhyCommon.h

@@ -8,8 +8,8 @@
 
 #include "Common.h"
 #include "Math.h"
-#include "BtAndAnkiConversions.h"
+#include "BtAndAnkiConvertors.h"
 #include "MotionState.h"
-#include "PhyWorld.h"
+#include "Physics.h"
 
 #endif

+ 0 - 34
src/Physics/PhyWorld.cpp

@@ -1,34 +0,0 @@
-#include "PhyWorld.h"
-
-
-//======================================================================================================================
-// createNewRigidBody                                                                                                  =
-//======================================================================================================================
-btRigidBody* PhyWorld::createNewRigidBody(float mass, const Transform& startTransform, btCollisionShape* shape, SceneNode* node, int group,
-                                           int mask)
-{
-	DEBUG_ERR(shape==NULL || shape->getShapeType()==INVALID_SHAPE_PROXYTYPE);
-
-	//rigidbody is dynamic if and only if mass is non zero, otherwise static
-	bool isDynamic = (mass != 0.0);
-
-	btVector3 localInertia(0, 0, 0);
-	if(isDynamic)
-		shape->calculateLocalInertia(mass,localInertia);
-
-
-	MotionState* myMotionState = new MotionState(toBt(startTransform), node);
-
-	btRigidBody::btRigidBodyConstructionInfo cInfo(mass, myMotionState, shape, localInertia);
-
-	btRigidBody* body = new btRigidBody(cInfo);
-	body->setContactProcessingThreshold(defaultContactProcessingThreshold);
-
-	if(mask==-1 && group==-1)
-		dynamicsWorld->addRigidBody(body);
-	else
-		dynamicsWorld->addRigidBody(body, group, mask);
-
-	return body;
-}
-

+ 53 - 0
src/Physics/Physics.cpp

@@ -0,0 +1,53 @@
+#include "Physics.h"
+
+
+
+//======================================================================================================================
+// Constructor                                                                                                         =
+//======================================================================================================================
+Physics::Physics():
+	defaultContactProcessingThreshold(BT_LARGE_FLOAT)
+{
+	collisionConfiguration = new btDefaultCollisionConfiguration();
+	dispatcher = new	btCollisionDispatcher(collisionConfiguration);
+	broadphase = new btDbvtBroadphase();
+	sol = new btSequentialImpulseConstraintSolver;
+	dynamicsWorld = new btDiscreteDynamicsWorld(dispatcher, broadphase, sol, collisionConfiguration);
+	dynamicsWorld->setGravity(btVector3(0,-10, 0));
+
+	debugDrawer = new DebugDrawer;
+	dynamicsWorld->setDebugDrawer(debugDrawer);
+	dynamicsWorld->getDebugDrawer()->setDebugMode(btIDebugDraw::DBG_DrawWireframe);
+}
+
+//======================================================================================================================
+// createNewRigidBody                                                                                                  =
+//======================================================================================================================
+btRigidBody* Physics::createNewRigidBody(float mass, const Transform& startTransform, btCollisionShape* shape,
+                                         SceneNode* node, int group, int mask)
+{
+	DEBUG_ERR(shape==NULL || shape->getShapeType()==INVALID_SHAPE_PROXYTYPE);
+
+	//rigidbody is dynamic if and only if mass is non zero, otherwise static
+	bool isDynamic = (mass != 0.0);
+
+	btVector3 localInertia(0, 0, 0);
+	if(isDynamic)
+		shape->calculateLocalInertia(mass,localInertia);
+
+
+	MotionState* myMotionState = new MotionState(toBt(startTransform), *node);
+
+	btRigidBody::btRigidBodyConstructionInfo cInfo(mass, myMotionState, shape, localInertia);
+
+	btRigidBody* body = new btRigidBody(cInfo);
+	body->setContactProcessingThreshold(defaultContactProcessingThreshold);
+
+	if(mask==-1 && group==-1)
+		dynamicsWorld->addRigidBody(body);
+	else
+		dynamicsWorld->addRigidBody(body, group, mask);
+
+	return body;
+}
+

+ 11 - 16
src/Physics/PhyWorld.h → src/Physics/Physics.h

@@ -3,11 +3,14 @@
 
 #include "Common.h"
 #include "PhyCommon.h"
+#include "BtAndAnkiConvertors.h"
+#include "DebugDrawer.h"
+
 
 /**
- *
+ * The master container for all physics related stuff.
  */
-class PhyWorld
+class Physics
 {
 	PROPERTY_R(btDiscreteDynamicsWorld*, dynamicsWorld, getDynamicsWorld)
 	PROPERTY_R(float, defaultContactProcessingThreshold, getDefaultContactProcessingThreshold)
@@ -17,6 +20,7 @@ class PhyWorld
 		btCollisionDispatcher* dispatcher;
 		btDbvtBroadphase* broadphase;
 		btSequentialImpulseConstraintSolver* sol;
+		DebugDrawer* debugDrawer;
 
 		/**
 		 * Collision groups
@@ -28,20 +32,11 @@ class PhyWorld
 			CG_PARTICLE = 2
 		};
 
-
-		PhyWorld() :
-			defaultContactProcessingThreshold(BT_LARGE_FLOAT)
-		{
-			collisionConfiguration = new btDefaultCollisionConfiguration();
-			dispatcher = new	btCollisionDispatcher(collisionConfiguration);
-			broadphase = new btDbvtBroadphase();
-			sol = new btSequentialImpulseConstraintSolver;
-			dynamicsWorld = new btDiscreteDynamicsWorld(dispatcher, broadphase, sol, collisionConfiguration);
-			dynamicsWorld->setGravity(btVector3(0,-10, 0));
-		}
+		Physics();
 
 		/**
-		 * Creates a new rigid body and adds it to the @ref dynamicsWorld. It allocates memory so the caller is responsible for cleaning up
+		 * Creates a new rigid body and adds it to the @ref dynamicsWorld. It allocates memory so the caller is responsible
+		 * for cleaning up
 		 * @param mass The mass of the rigid body. Put zero for static unmovable objects
 		 * @param startTransform The initial position and orientation
 		 * @param shape The collision shape
@@ -50,8 +45,8 @@ class PhyWorld
 		 * @param mask The mask of the body. Leave it blank if there is no mask
 		 * @return A new rigid body
 		 */
-		btRigidBody* createNewRigidBody(float mass, const Transform& startTransform, btCollisionShape* shape, SceneNode* node, int group=-1,
-		                                 int mask=-1);
+		btRigidBody* createNewRigidBody(float mass, const Transform& startTransform, btCollisionShape* shape,
+		                                SceneNode* node, int group = -1, int mask = -1);
 };
 
 #endif

+ 19 - 8
src/Renderer/Dbg.cpp

@@ -17,6 +17,8 @@
 //======================================================================================================================
 RsrcPtr<ShaderProg> Renderer::Dbg::sProg;
 Mat4 Renderer::Dbg::viewProjectionMat;
+const ShaderProg::UniVar* Renderer::Dbg::colorUniVar;
+const ShaderProg::UniVar* Renderer::Dbg::modelViewProjectionMat;
 
 
 //======================================================================================================================
@@ -95,8 +97,10 @@ void Renderer::Dbg::renderGrid()
 //======================================================================================================================
 // drawSphere                                                                                                        =
 //======================================================================================================================
-void Renderer::Dbg::drawSphere(int complexity, float radius, const Vec3& pos)
+void Renderer::Dbg::drawSphere(float radius, const Transform& trf, const Vec4& col, int complexity)
 {
+	setColor(col);
+
 	const float twopi  = M::PI*2;
 	const float pidiv2 = M::PI/2;
 
@@ -140,7 +144,7 @@ void Renderer::Dbg::drawSphere(int complexity, float radius, const Vec3& pos)
 			py = radius * ey;
 			pz = radius * ez;
 
-			positions.push_back(Vec3(px, py, pz) + pos);
+			positions.push_back(Vec3(px, py, pz));
 			normals.push_back(Vec3(ex, ey, ez));
 			texCoodrs.push_back(Vec2(-(j/(float)complexity), 2*(i+1)/(float)complexity));
 
@@ -151,12 +155,14 @@ void Renderer::Dbg::drawSphere(int complexity, float radius, const Vec3& pos)
 			py = radius * ey;
 			pz = radius * ez;
 
-			positions.push_back(Vec3(px, py, pz) + pos);
+			positions.push_back(Vec3(px, py, pz));
 			normals.push_back(Vec3(ex, ey, ez));
 			texCoodrs.push_back(Vec2(-(j/(float)complexity), 2*i/(float)complexity));
 		}
 	}
 
+	setModelMat(Mat4(trf));
+
 	glEnableVertexAttribArray(0);
 	glVertexAttribPointer(0, 3, GL_FLOAT, false, 0, &(positions[0][0]));
 	glDrawArrays(GL_QUAD_STRIP, 0, positions.size());
@@ -219,6 +225,8 @@ void Renderer::Dbg::init()
 	if(sProg.get() == NULL)
 	{
 		sProg.loadRsrc("shaders/Dbg.glsl");
+		colorUniVar = sProg->findUniVar("color");
+		modelViewProjectionMat = sProg->findUniVar("modelViewProjectionMat");
 	}
 
 }
@@ -238,16 +246,15 @@ void Renderer::Dbg::run()
 	viewProjectionMat = cam.getProjectionMatrix() * cam.getViewMatrix();
 
 	// OGL stuff
-	r.setProjectionViewMatrices(cam);
 	Renderer::setViewport(0, 0, r.width, r.height);
 	glEnable(GL_DEPTH_TEST);
 	glDisable(GL_BLEND);
 
+	sProg->bind();
+
 	//R::renderGrid();
 	for(uint i=0; i<app->getScene()->nodes.size(); i++)
 	{
-		sProg->bind();
-
 		SceneNode* node = app->getScene()->nodes[i];
 		if
 		(
@@ -266,6 +273,10 @@ void Renderer::Dbg::run()
 			glEnable(GL_DEPTH_TEST);
 		}
 	}
+
+	// Physics
+	setModelMat(Mat4::getIdentity());
+	app->getScene()->getPhysics()->getDynamicsWorld()->debugDrawWorld();
 }
 
 
@@ -274,7 +285,7 @@ void Renderer::Dbg::run()
 //======================================================================================================================
 void Renderer::Dbg::setColor(const Vec4& color)
 {
-	sProg->findUniVar("color")->setVec4(&color);
+	colorUniVar->setVec4(&color);
 }
 
 
@@ -284,6 +295,6 @@ void Renderer::Dbg::setColor(const Vec4& color)
 void Renderer::Dbg::setModelMat(const Mat4& modelMat)
 {
 	Mat4 pmv = viewProjectionMat * modelMat;
-	sProg->findUniVar("modelViewProjectionMat")->setMat4(&pmv);
+	modelViewProjectionMat->setMat4(&pmv);
 }
 

+ 3 - 1
src/Renderer/Renderer.h

@@ -373,7 +373,7 @@ class Renderer
 			public:
 				Dbg(Renderer& r_);
 				void renderGrid();
-				static void drawSphere(int complexity, float radius = 1.0, const Vec3& pos = Vec3(0.0));
+				static void drawSphere(float radius, const Transform& trf, const Vec4& col, int complexity = 8);
 				static void renderCube(float size = 1.0);
 
 				static void setColor(const Vec4& color);
@@ -383,6 +383,8 @@ class Renderer
 			private:
 				Fbo fbo;
 				static RsrcPtr<ShaderProg> sProg;
+				static const ShaderProg::UniVar* colorUniVar;
+				static const ShaderProg::UniVar* modelViewProjectionMat;
 				static Mat4 viewProjectionMat;
 
 				void init();

+ 2 - 3
src/Scene/Light.cpp

@@ -45,8 +45,7 @@ void Light::deinit()
 //======================================================================================================================
 void Light::render()
 {
-	Renderer::Dbg::setColor(Vec4(lightProps->getDiffuseColor(), 1.0));
-	Renderer::Dbg::setModelMat(Mat4(getWorldTransform()));
-	Renderer::Dbg::drawSphere(8, 0.1);
+	Renderer::Dbg::drawSphere(0.1, getWorldTransform(), Vec4(lightProps->getDiffuseColor(), 1.0));
+	//Renderer::Dbg::drawSphere(0.1, Transform::getIdentity(), Vec4(lightProps->getDiffuseColor(), 1.0));
 }
 

+ 3 - 3
src/Scene/ParticleEmitter.cpp

@@ -52,12 +52,12 @@ void ParticleEmitter::init(const char* filename)
 	{
 		particles[i] = new Particle;
 		float mass = Util::randRange(minParticleMass, maxParticleMass);
-		btRigidBody* body = app->getScene()->getPhyWorld()->createNewRigidBody(mass, Transform::getIdentity(), colShape, particles[i],
-		                                                                        PhyWorld::CG_PARTICLE, PhyWorld::CG_MAP);
+		btRigidBody* body = app->getScene()->getPhysics()->createNewRigidBody(mass, Transform::getIdentity(), colShape, particles[i],
+		                                                                        Physics::CG_PARTICLE, Physics::CG_MAP);
 		//body->forceActivationState(DISABLE_SIMULATION);
 	}
 
-	/*btDiscreteDynamicsWorld* btWorld = app->getScene()->getPhyWorld()->getDynamicsWorld();
+	/*btDiscreteDynamicsWorld* btWorld = app->getScene()->getPhysics()->getDynamicsWorld();
 	btWorld->getBroadphase()->resetPool(btWorld->getDispatcher());
 	btWorld->getConstraintSolver()->reset();*/
 }

+ 1 - 1
src/Scene/Scene.cpp

@@ -16,7 +16,7 @@ Scene::Scene()
 	ambientCol = Vec3(0.1, 0.05, 0.05)*4;
 	sunPos = Vec3(0.0, 1.0, -1.0) * 50.0;
 
-	phyWorld = new PhyWorld;
+	phyWorld = new Physics;
 }
 
 

+ 2 - 2
src/Scene/Scene.h

@@ -3,7 +3,7 @@
 
 #include "Common.h"
 #include "skybox.h"
-#include "PhyWorld.h"
+#include "Physics.h"
 
 
 class SceneNode;
@@ -21,7 +21,7 @@ class Scene
 {
 	PROPERTY_RW(Vec3, ambientCol, setAmbientCol, getAmbientCol) ///< The global ambient color
 	PROPERTY_RW(Vec3, sunPos, setSunPos, getSunPos)
-	PROPERTY_RW(PhyWorld*, phyWorld, setPhyWorld, getPhyWorld) ///< Connection with bullet
+	PROPERTY_RW(Physics*, phyWorld, setPhysics, getPhysics) ///< Connection with bullet
 
 	private:
 		/**