Blender Git Loki

Git Commits -> Revision cb89dec

Revision cb89dec by Brecht Van Lommel (master)
September 4, 2008, 20:51 (GMT)

Merge of first part of changes from the apricot branch, especially
the features that are needed to run the game. Compile tested with
scons, make, but not cmake, that seems to have an issue not related
to these changes. The changes include:

* GLSL support in the viewport and game engine, enable in the game
menu in textured draw mode.
* Synced and merged part of the duplicated blender and gameengine/
gameplayer drawing code.
* Further refactoring of game engine drawing code, especially mesh
storage changed a lot.
* Optimizations in game engine armatures to avoid recomputations.
* A python function to get the framerate estimate in game.

* An option take object color into account in materials.
* An option to restrict shadow casters to a lamp's layers.
* Increase from 10 to 18 texture slots for materials, lamps, word.
An extra texture slot shows up once the last slot is used.

* Memory limit for undo, not enabled by default yet because it
needs the .B.blend to be changed.
* Multiple undo for image painting.

* An offset for dupligroups, so not all objects in a group have to
be at the origin.

Commit Details:

Full Hash: cb89decfdcf5e6b2f26376d416633f4ccf0c532d
SVN Revision: 16366
Parent Commit: 2167e5c
Lines Changed: +13621, -5079

16 Added Paths:

/source/blender/gpu/CMakeLists.txt (+34, -0) (View)
/source/blender/gpu/GPU_draw.h (+116, -0) (View)
/source/blender/gpu/GPU_extensions.h (+144, -0) (View)
/source/blender/gpu/GPU_material.h (+169, -0) (View)
/source/blender/gpu/intern/gpu_codegen.c (+1439, -0) (View)
/source/blender/gpu/intern/gpu_codegen.h (+87, -0) (View)
/source/blender/gpu/intern/gpu_draw.c (+1167, -0) (View)
/source/blender/gpu/intern/gpu_extensions.c (+987, -0) (View)
/source/blender/gpu/intern/gpu_material.c (+1460, -0) (View)
/source/blender/gpu/intern/gpu_shader_material.glsl (+1543, -0) (View)
/source/blender/gpu/intern/gpu_shader_material.glsl.c (+1026, -0) (View)
/source/blender/gpu/intern/gpu_shader_vertex.glsl (+12, -0) (View)
/source/blender/gpu/intern/gpu_shader_vertex.glsl.c (+13, -0) (View)
/source/blender/gpu/intern/Makefile (+53, -0)
/source/blender/gpu/Makefile (+37, -0)
/source/blender/gpu/SConscript (+11, -0) (View)

242 Modified Paths:

/blenderplayer/CMakeLists.txt (+1, -0) (Diff)
/config/darwin-config.py (+0, -1) (Diff)
/extern/glew/include/GL/glew.h (+6, -1) (Diff)
/extern/glew/SConscript (+1, -1) (Diff)
/extern/glew/src/glew.c (+2, -0) (Diff)
/intern/guardedalloc/intern/mallocn.c (+17, -4) (Diff)
/intern/guardedalloc/MEM_guardedalloc.h (+8, -2) (Diff)
/intern/memutil/intern/MEM_CacheLimiterC-Api.cpp (+4, -4) (Diff)
/intern/memutil/MEM_Allocator.h (+1, -0) (Diff)
/intern/memutil/MEM_CacheLimiter.h (+6, -6) (Diff)
/intern/moto/include/GEN_Map.h (+13, -0) (Diff)
/intern/moto/include/MT_Matrix4x4.h (+1, -0) (Diff)
/intern/moto/include/MT_Matrix4x4.inl (+7, -7) (Diff)
/release/scripts/sysinfo.py (+2, -0) (Diff)
/source/blender/blenkernel/bad_level_call_stubs/stubs.c (+0, -4) (Diff)
/source/blender/blenkernel/BKE_bad_level_calls.h (+0, -4) (Diff)
/source/blender/blenkernel/BKE_colortools.h (+1, -0) (Diff)
/source/blender/blenkernel/BKE_DerivedMesh.h (+48, -1) (Diff)
/source/blender/blenkernel/BKE_global.h (+8, -1) (Diff)
/source/blender/blenkernel/BKE_mesh.h (+0, -1) (Diff)
/source/blender/blenkernel/BKE_node.h (+8, -0) (Diff)
/source/blender/blenkernel/BKE_texture.h (+1, -0) (Diff)
/source/blender/blenkernel/BKE_utildefines.h (+2, -0) (Diff)
/source/blender/blenkernel/CMakeLists.txt (+1, -1) (Diff)
/source/blender/blenkernel/intern/action.c (+2, -0) (Diff)
/source/blender/blenkernel/intern/anim.c (+12, -3) (Diff)
/source/blender/blenkernel/intern/blender.c (+33, -3) (Diff)
/source/blender/blenkernel/intern/cdderivedmesh.c (+136, -2) (Diff)
/source/blender/blenkernel/intern/colortools.c (+21, -0) (Diff)
/source/blender/blenkernel/intern/DerivedMesh.c (+382, -25) (Diff)
/source/blender/blenkernel/intern/image.c (+6, -5) (Diff)
/source/blender/blenkernel/intern/ipo.c (+24, -1) (Diff)
/source/blender/blenkernel/intern/Makefile (+4, -0) (Diff)
/source/blender/blenkernel/intern/material.c (+7, -0) (Diff)
/source/blender/blenkernel/intern/mesh.c (+0, -39) (Diff)
/source/blender/blenkernel/intern/node.c (+114, -0) (Diff)
/source/blender/blenkernel/intern/object.c (+5, -1) (Diff)
/source/blender/blenkernel/intern/subsurf_ccg.c (+170, -2) (Diff)
/source/blender/blenkernel/intern/texture.c (+12, -0) (Diff)
/source/blender/blenkernel/SConscript (+1, -0) (Diff)
/source/blender/blenlib/BLI_arithb.h (+1, -0) (Diff)
/source/blender/blenlib/BLI_blenlib.h (+0, -1) (Diff)
/source/blender/blenlib/intern/arithb.c (+8, -0) (Diff)
/source/blender/blenloader/intern/readfile.c (+10, -1) (Diff)
/source/blender/CMakeLists.txt (+1, -1) (Diff)
/source/blender/include/BDR_drawmesh.h (+1, -42) (Diff)
/source/blender/include/BDR_drawobject.h (+1, -2) (Diff)
/source/blender/include/BDR_imagepaint.h (+2, -2) (Diff)
/source/blender/include/BIF_gl.h (+1, -14) (Diff)
/source/blender/include/BIF_meshtools.h (+2, -0) (Diff)
/source/blender/include/BSE_drawview.h (+2, -4) (Diff)
/source/blender/Makefile (+1, -1) (Diff)
/source/blender/makesdna/DNA_brush_types.h (+2, -2) (Diff)
/source/blender/makesdna/DNA_group_types.h (+1, -1) (Diff)
/source/blender/makesdna/DNA_image_types.h (+3, -1) (Diff)
/source/blender/makesdna/DNA_ipo_types.h (+18, -10) (Diff)
/source/blender/makesdna/DNA_lamp_types.h (+11, -5) (Diff)
/source/blender/makesdna/DNA_material_types.h (+7, -4) (Diff)
/source/blender/makesdna/DNA_object_types.h (+2, -0) (Diff)
/source/blender/makesdna/DNA_scene_types.h (+1, -1) (Diff)
/source/blender/makesdna/DNA_userdef_types.h (+1, -0) (Diff)
/source/blender/makesdna/DNA_world_types.h (+2, -2) (Diff)
/source/blender/nodes/CMakeLists.txt (+1, -1) (Diff)
/source/blender/nodes/intern/CMP_nodes/Makefile (+1, -0) (Diff)
/source/blender/nodes/intern/Makefile (+2, -0) (Diff)
/source/blender/nodes/intern/SHD_nodes/Makefile (+2, -0) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_camera.c (+8, -2) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_curves.c (+22, -2) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_geom.c (+15, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_hueSatVal.c (+8, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_invert.c (+7, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_mapping.c (+16, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_material.c (+75, -4) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_math.c (+42, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_mixRgb.c (+13, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_normal.c (+10, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_output.c (+15, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_rgb.c (+10, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_sepcombRGB.c (+14, -2) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_squeeze.c (+7, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_texture.c (+16, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_valToRgb.c (+18, -2) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_value.c (+8, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_vectMath.c (+30, -1) (Diff)
/source/blender/nodes/intern/SHD_util.h (+2, -0) (Diff)
/source/blender/nodes/SConscript (+1, -0) (Diff)
/source/blender/python/api2_2x/Blender.c (+18, -4) (Diff)
/source/blender/python/api2_2x/doc/Group.py (+2, -0) (Diff)
/source/blender/python/api2_2x/Group.c (+31, -0) (Diff)
/source/blender/python/api2_2x/Image.c (+2, -2) (Diff)
/source/blender/python/api2_2x/Lamp.c (+13, -5) (Diff)
/source/blender/python/api2_2x/Makefile (+6, -0) (Diff)
/source/blender/python/api2_2x/Material.c (+1, -2) (Diff)
/source/blender/python/api2_2x/MTex.c (+5, -5) (Diff)
/source/blender/python/CMakeLists.txt (+5, -1) (Diff)
/source/blender/python/SConscript (+4, -0) (Diff)
/source/blender/radiosity/CMakeLists.txt (+1, -1) (Diff)
/source/blender/radiosity/intern/source/Makefile (+1, -0) (Diff)
/source/blender/radiosity/SConscript (+1, -1) (Diff)
/source/blender/render/intern/include/render_types.h (+2, -1) (Diff)
/source/blender/render/intern/source/pipeline.c (+1, -1) (Diff)
/source/blender/render/intern/source/rayshade.c (+4, -1) (Diff)
/source/blender/render/intern/source/shadbuf.c (+2, -2) (Diff)
/source/blender/render/intern/source/shadeoutput.c (+15, -1) (Diff)
/source/blender/render/intern/source/zbuf.c (+1, -1) (Diff)
/source/blender/SConscript (+1, -0) (Diff)
/source/blender/src/buttons_object.c (+22, -9) (Diff)
/source/blender/src/buttons_shading.c (+93, -43) (Diff)
/source/blender/src/CMakeLists.txt (+1, -1) (Diff)
/source/blender/src/drawarmature.c (+3, -0) (Diff)
/source/blender/src/drawmesh.c (+68, -705) (Diff)
/source/blender/src/drawobject.c (+153, -172) (Diff)
/source/blender/src/drawview.c (+128, -151) (Diff)
/source/blender/src/editdeform.c (+1, -1) (Diff)
/source/blender/src/editface.c (+4, -3) (Diff)
/source/blender/src/editipo_lib.c (+9, -1) (Diff)
/source/blender/src/editlattice.c (+1, -1) (Diff)
/source/blender/src/editmode_undo.c (+32, -8) (Diff)
/source/blender/src/editview.c (+1, -1) (Diff)
/source/blender/src/headerbuttons.c (+4, -3) (Diff)
/source/blender/src/header_image.c (+4, -2) (Diff)
/source/blender/src/header_info.c (+99, -18) (Diff)
/source/blender/src/header_view3d.c (+1, -1) (Diff)
/source/blender/src/imagepaint.c (+221, -82) (Diff)
/source/blender/src/Makefile (+1, -0) (Diff)
/source/blender/src/meshtools.c (+3, -2) (Diff)
/source/blender/src/playanim.c (+11, -9) (Diff)
/source/blender/src/previewrender.c (+32, -0) (Diff)
/source/blender/src/renderwin.c (+10, -7) (Diff)
/source/blender/src/SConscript (+2, -1) (Diff)
/source/blender/src/sculptmode.c (+4, -3) (Diff)
/source/blender/src/sequence.c (+8, -4) (Diff)
/source/blender/src/space.c (+29, -22) (Diff)
/source/blender/src/toets.c (+3, -1) (Diff)
/source/blender/src/usiblender.c (+14, -7) (Diff)
/source/blender/src/verse_image.c (+1, -1) (Diff)
/source/creator/CMakeLists.txt (+3, -0) (Diff)
/source/creator/creator.c (+4, -4) (Diff)
/source/creator/Makefile (+2, -0) (Diff)
/source/creator/SConscript (+1, -1) (Diff)
/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp (+13, -7) (Diff)
/source/gameengine/BlenderRoutines/CMakeLists.txt (+1, -0) (Diff)
/source/gameengine/BlenderRoutines/KX_BlenderGL.cpp (+0, -75) (Diff)
/source/gameengine/BlenderRoutines/KX_BlenderGL.h (+0, -3) (Diff)
/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.cpp (+103, -148) (Diff)
/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.h (+26, -41) (Diff)
/source/gameengine/BlenderRoutines/Makefile (+1, -4) (Diff)
/source/gameengine/BlenderRoutines/SConscript (+1, -4) (Diff)
/source/gameengine/Converter/BL_ArmatureObject.cpp (+41, -33) (Diff)
/source/gameengine/Converter/BL_ArmatureObject.h (+6, -2) (Diff)
/source/gameengine/Converter/BL_BlenderDataConversion.cpp (+52, -88) (Diff)
/source/gameengine/Converter/BL_DeformableGameObject.cpp (+5, -3) (Diff)
/source/gameengine/Converter/BL_MeshDeformer.cpp (+49, -40) (Diff)
/source/gameengine/Converter/BL_MeshDeformer.h (+2, -1) (Diff)
/source/gameengine/Converter/BL_ShapeActionActuator.cpp (+0, -1) (Diff)
/source/gameengine/Converter/BL_ShapeDeformer.cpp (+0, -3) (Diff)
/source/gameengine/Converter/BL_ShapeDeformer.h (+0, -11) (Diff)
/source/gameengine/Converter/BL_SkinDeformer.cpp (+32, -15) (Diff)
/source/gameengine/Converter/BL_SkinDeformer.h (+1, -15) (Diff)
/source/gameengine/Converter/BL_SkinMeshObject.cpp (+51, -23) (Diff)
/source/gameengine/Converter/BL_SkinMeshObject.h (+5, -40) (Diff)
/source/gameengine/Converter/CMakeLists.txt (+1, -0) (Diff)
/source/gameengine/Converter/KX_BlenderSceneConverter.cpp (+13, -12) (Diff)
/source/gameengine/Converter/KX_BlenderSceneConverter.h (+2, -0) (Diff)
/source/gameengine/Converter/KX_ConvertActuators.cpp (+1, -1) (Diff)
/source/gameengine/Converter/Makefile (+1, -0) (Diff)
/source/gameengine/Converter/SConscript (+1, -1) (Diff)
/source/gameengine/GamePlayer/common/CMakeLists.txt (+1, -1) (Diff)
/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp (+220, -317) (Diff)
/source/gameengine/GamePlayer/common/GPC_RenderTools.h (+47, -116) (Diff)
/source/gameengine/GamePlayer/common/Makefile (+1, -4) (Diff)
/source/gameengine/GamePlayer/common/SConscript (+1, -1) (Diff)
/source/gameengine/GamePlayer/common/unix/GPU_PolygonMaterial.h (+2, -2) (Diff)
/source/gameengine/GamePlayer/ghost/CMakeLists.txt (+1, -0) (Diff)
/source/gameengine/GamePlayer/ghost/GPG_Application.cpp (+23, -11) (Diff)
/source/gameengine/GamePlayer/ghost/GPG_Application.h (+4, -2) (Diff)
/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp (+8, -8) (Diff)
/source/gameengine/GamePlayer/ghost/Makefile (+1, -4) (Diff)
/source/gameengine/GamePlayer/ghost/SConscript (+1, -3) (Diff)
/source/gameengine/Ketsji/BL_BlenderShader.cpp (+34, -90) (Diff)
/source/gameengine/Ketsji/BL_BlenderShader.h (+2, -8) (Diff)
/source/gameengine/Ketsji/BL_Material.h (+3, -3) (Diff)
/source/gameengine/Ketsji/BL_Shader.cpp (+7, -5) (Diff)
/source/gameengine/Ketsji/BL_Shader.h (+1, -1) (Diff)
/source/gameengine/Ketsji/CMakeLists.txt (+1, -0) (Diff)
/source/gameengine/Ketsji/KX_BlenderMaterial.cpp (+54, -72) (Diff)
/source/gameengine/Ketsji/KX_BlenderMaterial.h (+1, -2) (Diff)
/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp (+61, -75) (Diff)
/source/gameengine/Ketsji/KX_GameObject.cpp (+42, -56) (Diff)
/source/gameengine/Ketsji/KX_GameObject.h (+50, -27) (Diff)
/source/gameengine/Ketsji/KX_ISceneConverter.h (+4, -0) (Diff)
/source/gameengine/Ketsji/KX_KetsjiEngine.cpp (+25, -7) (Diff)
/source/gameengine/Ketsji/KX_KetsjiEngine.h (+7, -0) (Diff)
/source/gameengine/Ketsji/KX_Light.cpp (+33, -24) (Diff)
/source/gameengine/Ketsji/KX_Light.h (+8, -3) (Diff)
/source/gameengine/Ketsji/KX_MeshProxy.cpp (+7, -6) (Diff)
/source/gameengine/Ketsji/KX_PolygonMaterial.cpp (+19, -31) (Diff)
/source/gameengine/Ketsji/KX_PolygonMaterial.h (+0, -2) (Diff)
/source/gameengine/Ketsji/KX_PolyProxy.cpp (+9, -9) (Diff)
/source/gameengine/Ketsji/KX_PythonInit.cpp (+85, -4) (Diff)
/source/gameengine/Ketsji/KX_PythonInit.h (+1, -1) (Diff)
/source/gameengine/Ketsji/KX_Scene.cpp (+22, -9) (Diff)
/source/gameengine/Ketsji/KX_Scene.h (+9, -1) (Diff)
/source/gameengine/Ketsji/KX_SG_BoneParentNodeRelationship.cpp (+1, -1) (Diff)
/source/gameengine/Ketsji/KX_VertexProxy.cpp (+7, -7) (Diff)
/source/gameengine/Ketsji/KX_VisibilityActuator.cpp (+1, -1) (Diff)
/source/gameengine/Ketsji/Makefile (+1, -5) (Diff)
/source/gameengine/Ketsji/SConscript (+1, -4) (Diff)
/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp (+13, -21) (Diff)
/source/gameengine/Physics/Bullet/CcdPhysicsController.h (+2, -1) (Diff)
/source/gameengine/PyDoc/GameLogic.py (+8, -1) (Diff)
/source/gameengine/PyDoc/Rasterizer.py (+17, -0) (Diff)
/source/gameengine/Rasterizer/Makefile (+0, -4) (Diff)
/source/gameengine/Rasterizer/RAS_BucketManager.cpp (+164, -93) (Diff)
/source/gameengine/Rasterizer/RAS_BucketManager.h (+11, -10) (Diff)
/source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp (+10, -15) (Diff)
/source/gameengine/Rasterizer/RAS_IPolygonMaterial.h (+3, -6) (Diff)
/source/gameengine/Rasterizer/RAS_IRasterizer.h (+10, -34) (Diff)
/source/gameengine/Rasterizer/RAS_IRenderTools.cpp (+2, -22) (Diff)
/source/gameengine/Rasterizer/RAS_IRenderTools.h (+7, -32) (Diff)
/source/gameengine/Rasterizer/RAS_MaterialBucket.cpp (+423, -131) (Diff)
/source/gameengine/Rasterizer/RAS_MaterialBucket.h (+128, -85) (Diff)
/source/gameengine/Rasterizer/RAS_MeshObject.cpp (+253, -470) (Diff)
/source/gameengine/Rasterizer/RAS_MeshObject.h (+67, -173) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt (+1, -0) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/Makefile (+2, -3) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.cpp (+26, -58) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.h (+5, -19) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp (+165, -583) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h (+13, -33) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp (+96, -120) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.h (+3, -15) (Diff)
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/SConscript (+1, -4) (Diff)
/source/gameengine/Rasterizer/RAS_Polygon.cpp (+33, -50) (Diff)
/source/gameengine/Rasterizer/RAS_Polygon.h (+24, -32) (Diff)
/source/gameengine/Rasterizer/RAS_TexVert.cpp (+15, -15) (Diff)
/source/gameengine/Rasterizer/RAS_TexVert.h (+14, -14) (Diff)
/source/gameengine/Rasterizer/SConscript (+1, -4) (Diff)
/source/kernel/gen_system/GEN_Map.h (+13, -0) (Diff)
/source/Makefile (+2, -1) (Diff)
/source/nan_definitions.mk (+0, -3) (Diff)
/tools/btools.py (+0, -2) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021