Blender Git Loki

Git Commits -> Revision ef04739

Revision ef04739 by Mitchell Stokes (master)
December 18, 2012, 20:56 (GMT)
BGE: Some as of yet unmerged work I did in the Swiss branch. These changes include:
* Cleaning up the conversion code to avoid a per-face material conversion. Materials are now stored in buckets and only converted if a new material is found. This replaces some of Campbell's earlier work on the subject. His work wasn't as thorough, but it was much safer for a release.
* Shaders are only compiled for LibLoaded materials once. Before they could be compiled twice, which could really slow things down.
* Refactoring the rasterizer code to use a strategy design pattern to handle different geometry rendering methods such as immediate mode, vertex arrays and vertex buffer objects. VBOs are added, but they will be disabled in a following commit since they are still slower than vertex arrays with display lists. However, VBOs are still useful for mobile, so it's good to keep them around.
* Better multi-uv support. The BGE should now be able to handle more than two UV layers, which should help it better match the viewport.

Commit Details:

Full Hash: ef0473994b6b21aa49bbfab26a483d90d0fef004
SVN Revision: 53145
Parent Commit: 6b2af22
Lines Changed: +1914, -1343

7 Added Paths:

/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_IStorage.h (+62, -0) (View)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageIM.cpp (+310, -0) (View)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageIM.h (+68, -0) (View)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVA.cpp (+320, -0) (View)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVA.h (+77, -0) (View)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp (+259, -0) (View)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.h (+100, -0) (View)

2 Deleted Paths:

/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp (+0, -382)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.h (+0, -70)

38 Modified Paths:

/release/scripts/startup/bl_ui/properties_game.py (+11, -7) (Diff)
/source/blender/makesdna/DNA_scene_types.h (+8, -1) (Diff)
/source/blender/makesrna/intern/rna_scene.c (+13, -0) (Diff)
/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp (+5, -10) (Diff)
/source/gameengine/Converter/BL_BlenderDataConversion.cpp (+358, -368) (Diff)
/source/gameengine/Converter/BL_BlenderDataConversion.h (+3, -2) (Diff)
/source/gameengine/Converter/KX_BlenderSceneConverter.cpp (+43, -12) (Diff)
/source/gameengine/Converter/KX_BlenderSceneConverter.h (+13, -1) (Diff)
/source/gameengine/Converter/KX_ConvertActuators.cpp (+2, -1) (Diff)
/source/gameengine/GamePlayer/ghost/GPG_Application.cpp (+5, -10) (Diff)
/source/gameengine/Ketsji/BL_BlenderShader.cpp (+3, -9) (Diff)
/source/gameengine/Ketsji/BL_Material.cpp (+5, -20) (Diff)
/source/gameengine/Ketsji/BL_Material.h (+1, -7) (Diff)
/source/gameengine/Ketsji/BL_Texture.cpp (+10, -6) (Diff)
/source/gameengine/Ketsji/KX_BlenderMaterial.cpp (+25, -30) (Diff)
/source/gameengine/Ketsji/KX_BlenderMaterial.h (+6, -13) (Diff)
/source/gameengine/Ketsji/KX_ISceneConverter.h (+2, -1) (Diff)
/source/gameengine/Ketsji/KX_KetsjiEngine.cpp (+3, -2) (Diff)
/source/gameengine/Ketsji/KX_KetsjiEngine.h (+1, -1) (Diff)
/source/gameengine/Ketsji/KX_MeshProxy.cpp (+6, -6) (Diff)
/source/gameengine/Ketsji/KX_PolygonMaterial.cpp (+1, -1) (Diff)
/source/gameengine/Ketsji/KX_PolygonMaterial.h (+1, -1) (Diff)
/source/gameengine/Ketsji/KX_VertexProxy.cpp (+59, -27) (Diff)
/source/gameengine/Ketsji/KX_VertexProxy.h (+2, -0) (Diff)
/source/gameengine/Rasterizer/RAS_BucketManager.cpp (+18, -0) (Diff)
/source/gameengine/Rasterizer/RAS_IPolygonMaterial.h (+1, -1) (Diff)
/source/gameengine/Rasterizer/RAS_IRasterizer.h (+2, -2) (Diff)
/source/gameengine/Rasterizer/RAS_MaterialBucket.cpp (+2, -5) (Diff)
/source/gameengine/Rasterizer/RAS_MeshObject.cpp (+2, -3) (Diff)
/source/gameengine/Rasterizer/RAS_MeshObject.h (+1, -2) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt (+7, -2) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.cpp (+8, -30) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.h (+3, -3) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp (+48, -250) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h (+8, -4) (Diff)
/source/gameengine/Rasterizer/RAS_texmatrix.cpp (+3, -3) (Diff)
/source/gameengine/Rasterizer/RAS_TexVert.cpp (+18, -29) (Diff)
/source/gameengine/Rasterizer/RAS_TexVert.h (+11, -21) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021