Blender Git Loki
Git Commits -> Revision 38fa819
Revision 38fa819 by Brecht Van Lommel (apricot) June 14, 2008, 23:51 (GMT) |
Apricot Branch: Some optimizations to decrease game engine startup time: * Exporting skinned meshes was doing O(n^2) lookups for vertices and deform weights, now uses same trick as regular meshes. * Share GLSL shaders with the game engine so they don't have to be recompiled. This required changes to the rasterization in the game engine to add an option to use attributes instead of texture coordinates. * Some small optimizations in bullet BVH building, though could be improved more, since it takes about 50% of startup time still in my test .blend. |
Commit Details:
Full Hash: 38fa819cbd5d8b61d9ebd1e8677a1d52232b2a8d
SVN Revision: 15229
Parent Commit: 07e5dc0
Lines Changed: +773, -643
26 Modified Paths:
/extern/bullet2/src/BulletCollision/CollisionShapes/btOptimizedBvh.cpp (+40, -43) (Diff)
/extern/bullet2/src/BulletCollision/CollisionShapes/btOptimizedBvh.h (+15, -3) (Diff)
/source/blender/gpu/intern/gpu_material.c (+5, -1) (Diff)
/source/blender/gpu/intern/material_shaders.glsl (+4, -4) (Diff)
/source/blender/gpu/intern/material_shaders.glsl.c (+492, -492) (Diff)
/source/blender/src/drawobject.c (+1, -1) (Diff)
/source/gameengine/Converter/BL_BlenderDataConversion.cpp (+16, -11) (Diff)
/source/gameengine/Converter/BL_MeshDeformer.h (+1, -1) (Diff)
/source/gameengine/Converter/BL_SkinDeformer.h (+2, -2) (Diff)
/source/gameengine/Converter/BL_SkinMeshObject.cpp (+12, -4) (Diff)
/source/gameengine/Converter/BL_SkinMeshObject.h (+13, -30) (Diff)
/source/gameengine/Ketsji/BL_BlenderShader.cpp (+33, -9) (Diff)
/source/gameengine/Ketsji/BL_BlenderShader.h (+3, -0) (Diff)
/source/gameengine/Ketsji/BL_Material.h (+1, -1) (Diff)
/source/gameengine/Ketsji/KX_BlenderMaterial.cpp (+4, -1) (Diff)
/source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp (+7, -0) (Diff)
/source/gameengine/Rasterizer/RAS_IPolygonMaterial.h (+2, -0) (Diff)
/source/gameengine/Rasterizer/RAS_IRasterizer.h (+1, -0) (Diff)
/source/gameengine/Rasterizer/RAS_MeshObject.cpp (+2, -1) (Diff)
/source/gameengine/Rasterizer/RAS_MeshObject.h (+1, -0) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_GLExtensionManager.cpp (+2, -0) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_GLExtensionManager.h (+1, -0) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp (+71, -31) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h (+6, -3) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp (+37, -4) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.h (+1, -1) (Diff)
/extern/bullet2/src/BulletCollision/CollisionShapes/btOptimizedBvh.h (+15, -3) (Diff)
/source/blender/gpu/intern/gpu_material.c (+5, -1) (Diff)
/source/blender/gpu/intern/material_shaders.glsl (+4, -4) (Diff)
/source/blender/gpu/intern/material_shaders.glsl.c (+492, -492) (Diff)
/source/blender/src/drawobject.c (+1, -1) (Diff)
/source/gameengine/Converter/BL_BlenderDataConversion.cpp (+16, -11) (Diff)
/source/gameengine/Converter/BL_MeshDeformer.h (+1, -1) (Diff)
/source/gameengine/Converter/BL_SkinDeformer.h (+2, -2) (Diff)
/source/gameengine/Converter/BL_SkinMeshObject.cpp (+12, -4) (Diff)
/source/gameengine/Converter/BL_SkinMeshObject.h (+13, -30) (Diff)
/source/gameengine/Ketsji/BL_BlenderShader.cpp (+33, -9) (Diff)
/source/gameengine/Ketsji/BL_BlenderShader.h (+3, -0) (Diff)
/source/gameengine/Ketsji/BL_Material.h (+1, -1) (Diff)
/source/gameengine/Ketsji/KX_BlenderMaterial.cpp (+4, -1) (Diff)
/source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp (+7, -0) (Diff)
/source/gameengine/Rasterizer/RAS_IPolygonMaterial.h (+2, -0) (Diff)
/source/gameengine/Rasterizer/RAS_IRasterizer.h (+1, -0) (Diff)
/source/gameengine/Rasterizer/RAS_MeshObject.cpp (+2, -1) (Diff)
/source/gameengine/Rasterizer/RAS_MeshObject.h (+1, -0) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_GLExtensionManager.cpp (+2, -0) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_GLExtensionManager.h (+1, -0) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp (+71, -31) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h (+6, -3) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp (+37, -4) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.h (+1, -1) (Diff)