--HG-- rename : KREngine/3rdparty/forsyth/forsyth.cpp => 3rdparty/forsyth/forsyth.cpp rename : KREngine/3rdparty/forsyth/forsyth.h => 3rdparty/forsyth/forsyth.h rename : KREngine/3rdparty/pvrtexlib/include/PVRTArray.h => 3rdparty/pvrtexlib/include/PVRTArray.h rename : KREngine/3rdparty/pvrtexlib/include/PVRTDecompress.h => 3rdparty/pvrtexlib/include/PVRTDecompress.h rename : KREngine/3rdparty/pvrtexlib/include/PVRTError.h => 3rdparty/pvrtexlib/include/PVRTError.h rename : KREngine/3rdparty/pvrtexlib/include/PVRTGlobal.h => 3rdparty/pvrtexlib/include/PVRTGlobal.h rename : KREngine/3rdparty/pvrtexlib/include/PVRTMap.h => 3rdparty/pvrtexlib/include/PVRTMap.h rename : KREngine/3rdparty/pvrtexlib/include/PVRTString.h => 3rdparty/pvrtexlib/include/PVRTString.h rename : KREngine/3rdparty/pvrtexlib/include/PVRTTexture.h => 3rdparty/pvrtexlib/include/PVRTTexture.h rename : KREngine/3rdparty/pvrtexlib/include/PVRTexture.h => 3rdparty/pvrtexlib/include/PVRTexture.h rename : KREngine/3rdparty/pvrtexlib/include/PVRTextureDefines.h => 3rdparty/pvrtexlib/include/PVRTextureDefines.h rename : KREngine/3rdparty/pvrtexlib/include/PVRTextureFormat.h => 3rdparty/pvrtexlib/include/PVRTextureFormat.h rename : KREngine/3rdparty/pvrtexlib/include/PVRTextureHeader.h => 3rdparty/pvrtexlib/include/PVRTextureHeader.h rename : KREngine/3rdparty/pvrtexlib/include/PVRTextureUtilities.h => 3rdparty/pvrtexlib/include/PVRTextureUtilities.h rename : KREngine/3rdparty/pvrtexlib/include/PVRTextureVersion.h => 3rdparty/pvrtexlib/include/PVRTextureVersion.h rename : KREngine/3rdparty/pvrtexlib/static_osx/libPVRTexLib.a => 3rdparty/pvrtexlib/static_osx/libPVRTexLib.a rename : KREngine/3rdparty/tinyxml2/tinyxml2.cpp => 3rdparty/tinyxml2/tinyxml2.cpp rename : KREngine/3rdparty/tinyxml2/tinyxml2.h => 3rdparty/tinyxml2/tinyxml2.h rename : KREngine/3rdparty/tinyxml2/tinyxml2_readme.txt => 3rdparty/tinyxml2/tinyxml2_readme.txt rename : KREngine/Kraken.xcodeproj/project.pbxproj => Kraken.xcodeproj/project.pbxproj rename : KREngine/Kraken.xcodeproj/project.xcworkspace/contents.xcworkspacedata => Kraken.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename : KREngine/kraken/KRAABB.cpp => kraken/KRAABB.cpp rename : KREngine/kraken/KRAABB.h => kraken/KRAABB.h rename : KREngine/kraken/KRAmbientZone.cpp => kraken/KRAmbientZone.cpp rename : KREngine/kraken/KRAmbientZone.h => kraken/KRAmbientZone.h rename : KREngine/kraken/KRAnimation.cpp => kraken/KRAnimation.cpp rename : KREngine/kraken/KRAnimation.h => kraken/KRAnimation.h rename : KREngine/kraken/KRAnimationAttribute.cpp => kraken/KRAnimationAttribute.cpp rename : KREngine/kraken/KRAnimationAttribute.h => kraken/KRAnimationAttribute.h rename : KREngine/kraken/KRAnimationCurve.cpp => kraken/KRAnimationCurve.cpp rename : KREngine/kraken/KRAnimationCurve.h => kraken/KRAnimationCurve.h rename : KREngine/kraken/KRAnimationCurveManager.cpp => kraken/KRAnimationCurveManager.cpp rename : KREngine/kraken/KRAnimationCurveManager.h => kraken/KRAnimationCurveManager.h rename : KREngine/kraken/KRAnimationLayer.cpp => kraken/KRAnimationLayer.cpp rename : KREngine/kraken/KRAnimationLayer.h => kraken/KRAnimationLayer.h rename : KREngine/kraken/KRAnimationManager.cpp => kraken/KRAnimationManager.cpp rename : KREngine/kraken/KRAnimationManager.h => kraken/KRAnimationManager.h rename : KREngine/kraken/KRAudioBuffer.cpp => kraken/KRAudioBuffer.cpp rename : KREngine/kraken/KRAudioBuffer.h => kraken/KRAudioBuffer.h rename : KREngine/kraken/KRAudioManager.cpp => kraken/KRAudioManager.cpp rename : KREngine/kraken/KRAudioManager.h => kraken/KRAudioManager.h rename : KREngine/kraken/KRAudioSample.cpp => kraken/KRAudioSample.cpp rename : KREngine/kraken/KRAudioSample.h => kraken/KRAudioSample.h rename : KREngine/kraken/KRAudioSource.cpp => kraken/KRAudioSource.cpp rename : KREngine/kraken/KRAudioSource.h => kraken/KRAudioSource.h rename : KREngine/kraken/KRBehavior.cpp => kraken/KRBehavior.cpp rename : KREngine/kraken/KRBehavior.h => kraken/KRBehavior.h rename : KREngine/kraken/KRBone.cpp => kraken/KRBone.cpp rename : KREngine/kraken/KRBone.h => kraken/KRBone.h rename : KREngine/kraken/KRBundle.cpp => kraken/KRBundle.cpp rename : KREngine/kraken/KRBundle.h => kraken/KRBundle.h rename : KREngine/kraken/KRBundleManager.cpp => kraken/KRBundleManager.cpp rename : KREngine/kraken/KRBundleManager.h => kraken/KRBundleManager.h rename : KREngine/kraken/KRCamera.cpp => kraken/KRCamera.cpp rename : KREngine/kraken/KRCamera.h => kraken/KRCamera.h rename : KREngine/kraken/KRCollider.cpp => kraken/KRCollider.cpp rename : KREngine/kraken/KRCollider.h => kraken/KRCollider.h rename : KREngine/kraken/KRContext.cpp => kraken/KRContext.cpp rename : KREngine/kraken/KRContext.h => kraken/KRContext.h rename : KREngine/kraken/KRContextObject.cpp => kraken/KRContextObject.cpp rename : KREngine/kraken/KRContextObject.h => kraken/KRContextObject.h rename : KREngine/kraken/KRDataBlock.cpp => kraken/KRDataBlock.cpp rename : KREngine/kraken/KRDataBlock.h => kraken/KRDataBlock.h rename : KREngine/kraken/KRDirectionalLight.cpp => kraken/KRDirectionalLight.cpp rename : KREngine/kraken/KRDirectionalLight.h => kraken/KRDirectionalLight.h rename : KREngine/kraken/KREngine-common.h => kraken/KREngine-common.h rename : KREngine/kraken/KREngine.h => kraken/KREngine.h rename : KREngine/kraken/KREngine.mm => kraken/KREngine.mm rename : KREngine/kraken/KRFloat.cpp => kraken/KRFloat.cpp rename : KREngine/kraken/KRFloat.h => kraken/KRFloat.h rename : KREngine/kraken/KRHitInfo.cpp => kraken/KRHitInfo.cpp rename : KREngine/kraken/KRHitInfo.h => kraken/KRHitInfo.h rename : KREngine/kraken/KRLODGroup.cpp => kraken/KRLODGroup.cpp rename : KREngine/kraken/KRLODGroup.h => kraken/KRLODGroup.h rename : KREngine/kraken/KRLODSet.cpp => kraken/KRLODSet.cpp rename : KREngine/kraken/KRLODSet.h => kraken/KRLODSet.h rename : KREngine/kraken/KRLight.cpp => kraken/KRLight.cpp rename : KREngine/kraken/KRLight.h => kraken/KRLight.h rename : KREngine/kraken/KRLocator.cpp => kraken/KRLocator.cpp rename : KREngine/kraken/KRLocator.h => kraken/KRLocator.h rename : KREngine/kraken/KRMat4.cpp => kraken/KRMat4.cpp rename : KREngine/kraken/KRMat4.h => kraken/KRMat4.h rename : KREngine/kraken/KRMaterial.cpp => kraken/KRMaterial.cpp rename : KREngine/kraken/KRMaterial.h => kraken/KRMaterial.h rename : KREngine/kraken/KRMaterialManager.cpp => kraken/KRMaterialManager.cpp rename : KREngine/kraken/KRMaterialManager.h => kraken/KRMaterialManager.h rename : KREngine/kraken/KRMesh.cpp => kraken/KRMesh.cpp rename : KREngine/kraken/KRMesh.h => kraken/KRMesh.h rename : KREngine/kraken/KRMeshCube.cpp => kraken/KRMeshCube.cpp rename : KREngine/kraken/KRMeshCube.h => kraken/KRMeshCube.h rename : KREngine/kraken/KRMeshManager.cpp => kraken/KRMeshManager.cpp rename : KREngine/kraken/KRMeshManager.h => kraken/KRMeshManager.h rename : KREngine/kraken/KRMeshQuad.cpp => kraken/KRMeshQuad.cpp rename : KREngine/kraken/KRMeshQuad.h => kraken/KRMeshQuad.h rename : KREngine/kraken/KRMeshSphere.cpp => kraken/KRMeshSphere.cpp rename : KREngine/kraken/KRMeshSphere.h => kraken/KRMeshSphere.h rename : KREngine/kraken/KRMeshStreamer.mm => kraken/KRMeshStreamer.mm rename : KREngine/kraken/KRModel.cpp => kraken/KRModel.cpp rename : KREngine/kraken/KRModel.h => kraken/KRModel.h rename : KREngine/kraken/KRNode.cpp => kraken/KRNode.cpp rename : KREngine/kraken/KRNode.h => kraken/KRNode.h rename : KREngine/kraken/KROctree.cpp => kraken/KROctree.cpp rename : KREngine/kraken/KROctree.h => kraken/KROctree.h rename : KREngine/kraken/KROctreeNode.cpp => kraken/KROctreeNode.cpp rename : KREngine/kraken/KROctreeNode.h => kraken/KROctreeNode.h rename : KREngine/kraken/KRParticleSystem.cpp => kraken/KRParticleSystem.cpp rename : KREngine/kraken/KRParticleSystem.h => kraken/KRParticleSystem.h rename : KREngine/kraken/KRParticleSystemNewtonian.cpp => kraken/KRParticleSystemNewtonian.cpp rename : KREngine/kraken/KRParticleSystemNewtonian.h => kraken/KRParticleSystemNewtonian.h rename : KREngine/kraken/KRPointLight.cpp => kraken/KRPointLight.cpp rename : KREngine/kraken/KRPointLight.h => kraken/KRPointLight.h rename : KREngine/kraken/KRQuaternion.cpp => kraken/KRQuaternion.cpp rename : KREngine/kraken/KRQuaternion.h => kraken/KRQuaternion.h rename : KREngine/kraken/KRRenderSettings.cpp => kraken/KRRenderSettings.cpp rename : KREngine/kraken/KRRenderSettings.h => kraken/KRRenderSettings.h rename : KREngine/kraken/KRResource+blend.cpp => kraken/KRResource+blend.cpp rename : KREngine/kraken/KRResource+blend.h => kraken/KRResource+blend.h rename : KREngine/kraken/KRResource+fbx.cpp => kraken/KRResource+fbx.cpp rename : KREngine/kraken/KRResource+obj.cpp => kraken/KRResource+obj.cpp rename : KREngine/kraken/KRResource.cpp => kraken/KRResource.cpp rename : KREngine/kraken/KRResource.h => kraken/KRResource.h rename : KREngine/kraken/KRReverbZone.cpp => kraken/KRReverbZone.cpp rename : KREngine/kraken/KRReverbZone.h => kraken/KRReverbZone.h rename : KREngine/kraken/KRScene.cpp => kraken/KRScene.cpp rename : KREngine/kraken/KRScene.h => kraken/KRScene.h rename : KREngine/kraken/KRSceneManager.cpp => kraken/KRSceneManager.cpp rename : KREngine/kraken/KRSceneManager.h => kraken/KRSceneManager.h rename : KREngine/kraken/KRShader.cpp => kraken/KRShader.cpp rename : KREngine/kraken/KRShader.h => kraken/KRShader.h rename : KREngine/kraken/KRShaderManager.cpp => kraken/KRShaderManager.cpp rename : KREngine/kraken/KRShaderManager.h => kraken/KRShaderManager.h rename : KREngine/kraken/KRSpotLight.cpp => kraken/KRSpotLight.cpp rename : KREngine/kraken/KRSpotLight.h => kraken/KRSpotLight.h rename : KREngine/kraken/KRSprite.cpp => kraken/KRSprite.cpp rename : KREngine/kraken/KRSprite.h => kraken/KRSprite.h rename : KREngine/kraken/KRStockGeometry.h => kraken/KRStockGeometry.h rename : KREngine/kraken/KRStreamer.h => kraken/KRStreamer.h rename : KREngine/kraken/KRStreamer.mm => kraken/KRStreamer.mm rename : KREngine/kraken/KRTexture.cpp => kraken/KRTexture.cpp rename : KREngine/kraken/KRTexture.h => kraken/KRTexture.h rename : KREngine/kraken/KRTexture2D.cpp => kraken/KRTexture2D.cpp rename : KREngine/kraken/KRTexture2D.h => kraken/KRTexture2D.h rename : KREngine/kraken/KRTextureAnimated.cpp => kraken/KRTextureAnimated.cpp rename : KREngine/kraken/KRTextureAnimated.h => kraken/KRTextureAnimated.h rename : KREngine/kraken/KRTextureCube.cpp => kraken/KRTextureCube.cpp rename : KREngine/kraken/KRTextureCube.h => kraken/KRTextureCube.h rename : KREngine/kraken/KRTextureKTX.cpp => kraken/KRTextureKTX.cpp rename : KREngine/kraken/KRTextureKTX.h => kraken/KRTextureKTX.h rename : KREngine/kraken/KRTextureManager.cpp => kraken/KRTextureManager.cpp rename : KREngine/kraken/KRTextureManager.h => kraken/KRTextureManager.h rename : KREngine/kraken/KRTexturePVR.cpp => kraken/KRTexturePVR.cpp rename : KREngine/kraken/KRTexturePVR.h => kraken/KRTexturePVR.h rename : KREngine/kraken/KRTextureStreamer.mm => kraken/KRTextureStreamer.mm rename : KREngine/kraken/KRTextureTGA.cpp => kraken/KRTextureTGA.cpp rename : KREngine/kraken/KRTextureTGA.h => kraken/KRTextureTGA.h rename : KREngine/kraken/KRTriangle3.cpp => kraken/KRTriangle3.cpp rename : KREngine/kraken/KRTriangle3.h => kraken/KRTriangle3.h rename : KREngine/kraken/KRUnknown.cpp => kraken/KRUnknown.cpp rename : KREngine/kraken/KRUnknown.h => kraken/KRUnknown.h rename : KREngine/kraken/KRUnknownManager.cpp => kraken/KRUnknownManager.cpp rename : KREngine/kraken/KRUnknownManager.h => kraken/KRUnknownManager.h rename : KREngine/kraken/KRVector2.cpp => kraken/KRVector2.cpp rename : KREngine/kraken/KRVector2.h => kraken/KRVector2.h rename : KREngine/kraken/KRVector3.cpp => kraken/KRVector3.cpp rename : KREngine/kraken/KRVector3.h => kraken/KRVector3.h rename : KREngine/kraken/KRVector4.cpp => kraken/KRVector4.cpp rename : KREngine/kraken/KRVector4.h => kraken/KRVector4.h rename : KREngine/kraken/KRViewport.cpp => kraken/KRViewport.cpp rename : KREngine/kraken/KRViewport.h => kraken/KRViewport.h rename : KREngine/kraken_ios/Kraken-Prefix.pch => kraken_ios/Kraken-Prefix.pch rename : KREngine/kraken_osx/Kraken-Info.plist => kraken_osx/Kraken-Info.plist rename : KRWorldBuilder/KRWorldBuilder/en.lproj/InfoPlist.strings => kraken_osx/en.lproj/InfoPlist.strings rename : KREngine/kraken_osx/kraken-prefix.pch => kraken_osx/kraken-prefix.pch rename : KREngine/kraken_osx/krengine_osx.h => kraken_osx/krengine_osx.h rename : KREngine/kraken_osx/krengine_osx.mm => kraken_osx/krengine_osx.mm rename : KREngine/kraken_standard_assets/hrtf_kemar.krbundle => kraken_standard_assets/hrtf_kemar.krbundle rename : KREngine/kraken_standard_assets_osx/Resources-Info.plist => kraken_standard_assets_ios/Resources-Info.plist rename : KREngine/kraken_standard_assets_ios/Shaders/ObjectShader.fsh => kraken_standard_assets_ios/Shaders/ObjectShader.fsh rename : KREngine/kraken_standard_assets_ios/Shaders/ObjectShader.vsh => kraken_standard_assets_ios/Shaders/ObjectShader.vsh rename : KREngine/kraken_standard_assets_ios/Shaders/PostShader.fsh => kraken_standard_assets_ios/Shaders/PostShader.fsh rename : KREngine/kraken_standard_assets_osx/Shaders/PostShader_osx.vsh => kraken_standard_assets_ios/Shaders/PostShader.vsh rename : KREngine/kraken_standard_assets_osx/Shaders/ShadowShader_osx.fsh => kraken_standard_assets_ios/Shaders/ShadowShader.fsh rename : KREngine/kraken_standard_assets_ios/Shaders/ShadowShader.vsh => kraken_standard_assets_ios/Shaders/ShadowShader.vsh rename : KREngine/kraken_standard_assets_ios/Shaders/debug_font.fsh => kraken_standard_assets_ios/Shaders/debug_font.fsh rename : KREngine/kraken_standard_assets_osx/Shaders/debug_font_osx.vsh => kraken_standard_assets_ios/Shaders/debug_font.vsh rename : KREngine/kraken_standard_assets_ios/Shaders/dust_particle.fsh => kraken_standard_assets_ios/Shaders/dust_particle.fsh rename : KREngine/kraken_standard_assets_osx/Shaders/dust_particle_osx.vsh => kraken_standard_assets_ios/Shaders/dust_particle.vsh rename : KREngine/kraken_standard_assets_ios/Shaders/flare.fsh => kraken_standard_assets_ios/Shaders/flare.fsh rename : KREngine/kraken_standard_assets_ios/Shaders/flare.vsh => kraken_standard_assets_ios/Shaders/flare.vsh rename : KREngine/kraken_standard_assets_osx/Shaders/light_directional_osx.fsh => kraken_standard_assets_ios/Shaders/light_directional.fsh rename : KREngine/kraken_standard_assets_osx/Shaders/light_point_inside_osx.vsh => kraken_standard_assets_ios/Shaders/light_directional.vsh rename : KREngine/kraken_standard_assets_osx/Shaders/light_point_osx.fsh => kraken_standard_assets_ios/Shaders/light_point.fsh rename : KREngine/kraken_standard_assets_osx/Shaders/light_point_osx.vsh => kraken_standard_assets_ios/Shaders/light_point.vsh rename : KREngine/kraken_standard_assets_osx/Shaders/light_point_inside_osx.fsh => kraken_standard_assets_ios/Shaders/light_point_inside.fsh rename : KREngine/kraken_standard_assets_osx/Shaders/light_point_inside_osx.vsh => kraken_standard_assets_ios/Shaders/light_point_inside.vsh rename : KREngine/kraken_standard_assets_ios/Shaders/occlusion_test.fsh => kraken_standard_assets_ios/Shaders/occlusion_test.fsh rename : KREngine/kraken_standard_assets_ios/Shaders/occlusion_test.vsh => kraken_standard_assets_ios/Shaders/occlusion_test.vsh rename : KREngine/kraken_standard_assets_osx/Shaders/simple_blit_osx.fsh => kraken_standard_assets_ios/Shaders/simple_blit.fsh rename : KREngine/kraken_standard_assets_ios/Shaders/simple_blit.vsh => kraken_standard_assets_ios/Shaders/simple_blit.vsh rename : KREngine/kraken_standard_assets_ios/Shaders/sky_box.fsh => kraken_standard_assets_ios/Shaders/sky_box.fsh rename : KREngine/kraken_standard_assets_ios/Shaders/sky_box.vsh => kraken_standard_assets_ios/Shaders/sky_box.vsh rename : KREngine/kraken_standard_assets_osx/Shaders/sprite_osx.fsh => kraken_standard_assets_ios/Shaders/sprite.fsh rename : KREngine/kraken_standard_assets_osx/Shaders/sprite_osx.vsh => kraken_standard_assets_ios/Shaders/sprite.vsh rename : KREngine/kraken_standard_assets_osx/Shaders/visualize_overlay_osx.fsh => kraken_standard_assets_ios/Shaders/visualize_overlay.fsh rename : KREngine/kraken_standard_assets_ios/Shaders/visualize_overlay.vsh => kraken_standard_assets_ios/Shaders/visualize_overlay.vsh rename : KREngine/kraken_standard_assets_ios/Shaders/volumetric_fog.fsh => kraken_standard_assets_ios/Shaders/volumetric_fog.fsh rename : KREngine/kraken_standard_assets_osx/Shaders/volumetric_fog_osx.vsh => kraken_standard_assets_ios/Shaders/volumetric_fog.vsh rename : KREngine/kraken_standard_assets_ios/Shaders/volumetric_fog_downsampled.fsh => kraken_standard_assets_ios/Shaders/volumetric_fog_downsampled.fsh rename : KREngine/kraken_standard_assets_ios/Shaders/volumetric_fog_downsampled.vsh => kraken_standard_assets_ios/Shaders/volumetric_fog_downsampled.vsh rename : KREngine/kraken_standard_assets_ios/font.pvr => kraken_standard_assets_ios/font.pvr rename : KREngine/kraken_standard_assets_osx/Resources-Info.plist => kraken_standard_assets_osx/Resources-Info.plist rename : KREngine/kraken_standard_assets_osx/Shaders/ObjectShader_osx.fsh => kraken_standard_assets_osx/Shaders/ObjectShader_osx.fsh rename : KREngine/kraken_standard_assets_ios/Shaders/ObjectShader.vsh => kraken_standard_assets_osx/Shaders/ObjectShader_osx.vsh rename : KREngine/kraken_standard_assets_osx/Shaders/PostShader_osx.fsh => kraken_standard_assets_osx/Shaders/PostShader_osx.fsh rename : KREngine/kraken_standard_assets_osx/Shaders/PostShader_osx.vsh => kraken_standard_assets_osx/Shaders/PostShader_osx.vsh rename : KREngine/kraken_standard_assets_osx/Shaders/ShadowShader_osx.fsh => kraken_standard_assets_osx/Shaders/ShadowShader_osx.fsh rename : KREngine/kraken_standard_assets_ios/Shaders/ShadowShader.vsh => kraken_standard_assets_osx/Shaders/ShadowShader_osx.vsh rename : KREngine/kraken_standard_assets_osx/Shaders/debug_font_osx.fsh => kraken_standard_assets_osx/Shaders/debug_font_osx.fsh rename : KREngine/kraken_standard_assets_osx/Shaders/debug_font_osx.vsh => kraken_standard_assets_osx/Shaders/debug_font_osx.vsh rename : KREngine/kraken_standard_assets_osx/Shaders/dust_particle_osx.fsh => kraken_standard_assets_osx/Shaders/dust_particle_osx.fsh rename : KREngine/kraken_standard_assets_osx/Shaders/dust_particle_osx.vsh => kraken_standard_assets_osx/Shaders/dust_particle_osx.vsh rename : KREngine/kraken_standard_assets_ios/Shaders/flare.fsh => kraken_standard_assets_osx/Shaders/flare_osx.fsh rename : KREngine/kraken_standard_assets_osx/Shaders/flare_osx.vsh => kraken_standard_assets_osx/Shaders/flare_osx.vsh rename : KREngine/kraken_standard_assets_osx/Shaders/light_directional_osx.fsh => kraken_standard_assets_osx/Shaders/light_directional_osx.fsh rename : KREngine/kraken_standard_assets_osx/Shaders/light_point_inside_osx.vsh => kraken_standard_assets_osx/Shaders/light_directional_osx.vsh rename : KREngine/kraken_standard_assets_osx/Shaders/light_point_inside_osx.fsh => kraken_standard_assets_osx/Shaders/light_point_inside_osx.fsh rename : KREngine/kraken_standard_assets_osx/Shaders/light_point_inside_osx.vsh => kraken_standard_assets_osx/Shaders/light_point_inside_osx.vsh rename : KREngine/kraken_standard_assets_osx/Shaders/light_point_osx.fsh => kraken_standard_assets_osx/Shaders/light_point_osx.fsh rename : KREngine/kraken_standard_assets_osx/Shaders/light_point_osx.vsh => kraken_standard_assets_osx/Shaders/light_point_osx.vsh rename : KREngine/kraken_standard_assets_ios/Shaders/occlusion_test.fsh => kraken_standard_assets_osx/Shaders/occlusion_test_osx.fsh rename : KREngine/kraken_standard_assets_ios/Shaders/occlusion_test.vsh => kraken_standard_assets_osx/Shaders/occlusion_test_osx.vsh rename : KREngine/kraken_standard_assets_osx/Shaders/simple_blit_osx.fsh => kraken_standard_assets_osx/Shaders/simple_blit_osx.fsh rename : KREngine/kraken_standard_assets_ios/Shaders/simple_blit.vsh => kraken_standard_assets_osx/Shaders/simple_blit_osx.vsh rename : KREngine/kraken_standard_assets_ios/Shaders/sky_box.fsh => kraken_standard_assets_osx/Shaders/sky_box_osx.fsh rename : KREngine/kraken_standard_assets_osx/Shaders/sky_box_osx.vsh => kraken_standard_assets_osx/Shaders/sky_box_osx.vsh rename : KREngine/kraken_standard_assets_osx/Shaders/sprite_osx.fsh => kraken_standard_assets_osx/Shaders/sprite_osx.fsh rename : KREngine/kraken_standard_assets_osx/Shaders/sprite_osx.vsh => kraken_standard_assets_osx/Shaders/sprite_osx.vsh rename : KREngine/kraken_standard_assets_osx/Shaders/visualize_overlay_osx.fsh => kraken_standard_assets_osx/Shaders/visualize_overlay_osx.fsh rename : KREngine/kraken_standard_assets_ios/Shaders/visualize_overlay.vsh => kraken_standard_assets_osx/Shaders/visualize_overlay_osx.vsh rename : KREngine/kraken_standard_assets_osx/Shaders/volumetric_fog_downsampled_osx.fsh => kraken_standard_assets_osx/Shaders/volumetric_fog_downsampled_osx.fsh rename : KREngine/kraken_standard_assets_ios/Shaders/volumetric_fog_downsampled.vsh => kraken_standard_assets_osx/Shaders/volumetric_fog_downsampled_osx.vsh rename : KREngine/kraken_standard_assets_osx/Shaders/volumetric_fog_osx.fsh => kraken_standard_assets_osx/Shaders/volumetric_fog_osx.fsh rename : KREngine/kraken_standard_assets_osx/Shaders/volumetric_fog_osx.vsh => kraken_standard_assets_osx/Shaders/volumetric_fog_osx.vsh rename : KREngine/kraken_standard_assets_osx/font.tga => kraken_standard_assets_osx/font.tga
157 lines
5.0 KiB
C++
157 lines
5.0 KiB
C++
//
|
|
// KROctree.cpp
|
|
// KREngine
|
|
//
|
|
// Created by Kearwood Gilbert on 2012-08-29.
|
|
// Copyright (c) 2012 Kearwood Software. All rights reserved.
|
|
//
|
|
|
|
#include "KROctree.h"
|
|
#include "KRNode.h"
|
|
#include "KRHitInfo.h"
|
|
#include "KRCollider.h"
|
|
|
|
KROctree::KROctree()
|
|
{
|
|
m_pRootNode = NULL;
|
|
}
|
|
|
|
KROctree::~KROctree()
|
|
{
|
|
if(m_pRootNode) {
|
|
delete m_pRootNode;
|
|
}
|
|
}
|
|
|
|
void KROctree::add(KRNode *pNode)
|
|
{
|
|
KRAABB nodeBounds = pNode->getBounds();
|
|
if(nodeBounds == KRAABB::Zero()) {
|
|
// This item is not visible, don't add it to the octree or outer scene nodes
|
|
} else if(nodeBounds == KRAABB::Infinite()) {
|
|
// This item is infinitely large; we track it separately
|
|
m_outerSceneNodes.insert(pNode);
|
|
} else {
|
|
if(m_pRootNode == NULL) {
|
|
// First item inserted, create a node large enough to fit it
|
|
m_pRootNode = new KROctreeNode(NULL, nodeBounds);
|
|
m_pRootNode->add(pNode);
|
|
} else {
|
|
// Keep encapsulating the root node until the new root contains the inserted node
|
|
bool bInsideRoot = false;
|
|
while(!bInsideRoot) {
|
|
KRAABB rootBounds = m_pRootNode->getBounds();
|
|
KRVector3 rootSize = rootBounds.size();
|
|
if(nodeBounds.min.x < rootBounds.min.x || nodeBounds.min.y < rootBounds.min.y || nodeBounds.min.z < rootBounds.min.z) {
|
|
m_pRootNode = new KROctreeNode(NULL, KRAABB(rootBounds.min - rootSize, rootBounds.max), 7, m_pRootNode);
|
|
} else if(nodeBounds.max.x > rootBounds.max.x || nodeBounds.max.y > rootBounds.max.y || nodeBounds.max.z > rootBounds.max.z) {
|
|
m_pRootNode = new KROctreeNode(NULL, KRAABB(rootBounds.min, rootBounds.max + rootSize), 0, m_pRootNode);
|
|
} else {
|
|
bInsideRoot = true;
|
|
}
|
|
}
|
|
m_pRootNode->add(pNode);
|
|
}
|
|
}
|
|
}
|
|
|
|
void KROctree::remove(KRNode *pNode)
|
|
{
|
|
if(!m_outerSceneNodes.erase(pNode)) {
|
|
if(m_pRootNode) {
|
|
pNode->removeFromOctreeNodes();
|
|
}
|
|
}
|
|
|
|
shrink();
|
|
}
|
|
|
|
void KROctree::update(KRNode *pNode)
|
|
{
|
|
// TODO: This may be more efficient as an incremental operation rather than removing and re-adding the node
|
|
remove(pNode);
|
|
add(pNode);
|
|
shrink();
|
|
}
|
|
|
|
void KROctree::shrink()
|
|
{
|
|
if(m_pRootNode) {
|
|
while(m_pRootNode->canShrinkRoot()) {
|
|
KROctreeNode *newRoot = m_pRootNode->stripChild();
|
|
delete m_pRootNode;
|
|
m_pRootNode = newRoot;
|
|
if(m_pRootNode == NULL) return;
|
|
}
|
|
}
|
|
}
|
|
|
|
KROctreeNode *KROctree::getRootNode()
|
|
{
|
|
return m_pRootNode;
|
|
}
|
|
|
|
std::set<KRNode *> &KROctree::getOuterSceneNodes()
|
|
{
|
|
return m_outerSceneNodes;
|
|
}
|
|
|
|
|
|
bool KROctree::lineCast(const KRVector3 &v0, const KRVector3 &v1, KRHitInfo &hitinfo, unsigned int layer_mask)
|
|
{
|
|
bool hit_found = false;
|
|
std::vector<KRCollider *> outer_colliders;
|
|
|
|
for(std::set<KRNode *>::iterator outer_nodes_itr=m_outerSceneNodes.begin(); outer_nodes_itr != m_outerSceneNodes.end(); outer_nodes_itr++) {
|
|
KRCollider *collider = dynamic_cast<KRCollider *>(*outer_nodes_itr);
|
|
if(collider) {
|
|
outer_colliders.push_back(collider);
|
|
}
|
|
}
|
|
for(std::vector<KRCollider *>::iterator itr=outer_colliders.begin(); itr != outer_colliders.end(); itr++) {
|
|
if((*itr)->lineCast(v0, v1, hitinfo, layer_mask)) hit_found = true;
|
|
}
|
|
|
|
if(m_pRootNode) {
|
|
if(m_pRootNode->lineCast(v0, v1, hitinfo, layer_mask)) hit_found = true;
|
|
}
|
|
return hit_found;
|
|
}
|
|
|
|
bool KROctree::rayCast(const KRVector3 &v0, const KRVector3 &dir, KRHitInfo &hitinfo, unsigned int layer_mask)
|
|
{
|
|
bool hit_found = false;
|
|
for(std::set<KRNode *>::iterator outer_nodes_itr=m_outerSceneNodes.begin(); outer_nodes_itr != m_outerSceneNodes.end(); outer_nodes_itr++) {
|
|
KRCollider *collider = dynamic_cast<KRCollider *>(*outer_nodes_itr);
|
|
if(collider) {
|
|
if(collider->rayCast(v0, dir, hitinfo, layer_mask)) hit_found = true;
|
|
}
|
|
}
|
|
if(m_pRootNode) {
|
|
if(m_pRootNode->rayCast(v0, dir, hitinfo, layer_mask)) hit_found = true;
|
|
}
|
|
return hit_found;
|
|
}
|
|
|
|
bool KROctree::sphereCast(const KRVector3 &v0, const KRVector3 &v1, float radius, KRHitInfo &hitinfo, unsigned int layer_mask)
|
|
{
|
|
bool hit_found = false;
|
|
std::vector<KRCollider *> outer_colliders;
|
|
|
|
for(std::set<KRNode *>::iterator outer_nodes_itr=m_outerSceneNodes.begin(); outer_nodes_itr != m_outerSceneNodes.end(); outer_nodes_itr++) {
|
|
KRCollider *collider = dynamic_cast<KRCollider *>(*outer_nodes_itr);
|
|
if(collider) {
|
|
outer_colliders.push_back(collider);
|
|
}
|
|
}
|
|
for(std::vector<KRCollider *>::iterator itr=outer_colliders.begin(); itr != outer_colliders.end(); itr++) {
|
|
if((*itr)->sphereCast(v0, v1, radius, hitinfo, layer_mask)) hit_found = true;
|
|
}
|
|
|
|
if(m_pRootNode) {
|
|
if(m_pRootNode->sphereCast(v0, v1, radius, hitinfo, layer_mask)) hit_found = true;
|
|
}
|
|
return hit_found;
|
|
}
|
|
|