Blender Git Commit Log
Git Commits -> Revision 0821fc4
Revision 0821fc4 by Brecht Van Lommel (apricot) April 24, 2008, 20:21 (GMT) |
Apricot Branch: material GLSL shaders ===================================== - Currently only supports node-based materials, with some nodes, main purpose of this commit is to get the infrastructure in place, more material options will be added in the following weeks. - Supported shader nodes: camera, curves, geometry (everything except global and front/back), curves (partially), huesatval, invert, mapping, math, mix/add/mult/sub/div, math, vector math, normal, output, rgb, separate/combine rgb, squeeze, basic image textures, value and output. - Lights and shaders are still missing, but since the SoC project had these working quite far it should be possible to reuse that code. - Enable using "GL Shaded Mode" in the user preferences. It will replace regular shaded mode with glsl shaders. - If the material is not node based or has an error in it, it will revert to solid shading. Need to do this kind of error handling better and make it posssible to still run even with some functionality not supported. - Integration with texture loading in textured mode is very poor, needs to be revised. - Only added support for Scons and Makefiles. - Added GLEW in extern/. There were some conflicts with the game engine opengl extensions but managed to solve them. Still, it would be good to use single mechanism for opengl extensions. - Added a "gpu" module in source/blender. It has quite a lot of code with much of it uncommented as well, some of that will become used and some it will be removed later. - OpenGL shader code is currently converted to a C file with datatoc (which now 0-terminates the arrays), but this has to be done manually still, need to figure out a better way or integrate it into the build systems. |
Commit Details:
Full Hash: 0821fc4377c4525c352997c274849e5a9519d4b3
SVN Revision: 14539
Parent Commit: 9fdd01d
Lines Changed: +27878, -126
25 Added Paths:
/extern/glew/include/GL/glew.h (+9794, -0) (View)
/extern/glew/include/GL/glxew.h (+1062, -0) (View)
/extern/glew/include/GL/wglew.h (+934, -0) (View)
/extern/glew/README.txt (+18, -0) (View)
/extern/glew/SConscript (+12, -0) (View)
/extern/glew/src/glew.c (+9756, -0) (View)
/extern/glew/src/Makefile (+56, -0)
/source/blender/gpu/GPU_extensions.h (+148, -0) (View)
/source/blender/gpu/GPU_material.h (+46, -0) (View)
/source/blender/gpu/GPU_node.h (+133, -0) (View)
/source/blender/gpu/intern/gpu_codegen.c (+759, -0) (View)
/source/blender/gpu/intern/gpu_codegen.h (+76, -0) (View)
/source/blender/gpu/intern/gpu_composite.c (+794, -0) (View)
/source/blender/gpu/intern/gpu_extensions.c (+1249, -0) (View)
/source/blender/gpu/intern/gpu_material.c (+254, -0) (View)
/source/blender/gpu/intern/gpu_nodes.c (+394, -0) (View)
/source/blender/gpu/intern/gpu_nodes.h (+188, -0) (View)
/source/blender/gpu/intern/gpu_temp.glsl (+184, -0) (View)
/source/blender/gpu/intern/Makefile (+53, -0)
/source/blender/gpu/intern/material_shaders.glsl (+389, -0) (View)
/source/blender/gpu/intern/material_shaders.glsl.c (+255, -0) (View)
/source/blender/gpu/intern/material_vertex_shader.glsl (+14, -0) (View)
/source/blender/gpu/intern/material_vertex_shader.glsl.c (+16, -0) (View)
/source/blender/gpu/Makefile (+37, -0)
/source/blender/gpu/SConscript (+11, -0) (View)
/extern/glew/include/GL/glxew.h (+1062, -0) (View)
/extern/glew/include/GL/wglew.h (+934, -0) (View)
/extern/glew/README.txt (+18, -0) (View)
/extern/glew/SConscript (+12, -0) (View)
/extern/glew/src/glew.c (+9756, -0) (View)
/extern/glew/src/Makefile (+56, -0)
/source/blender/gpu/GPU_extensions.h (+148, -0) (View)
/source/blender/gpu/GPU_material.h (+46, -0) (View)
/source/blender/gpu/GPU_node.h (+133, -0) (View)
/source/blender/gpu/intern/gpu_codegen.c (+759, -0) (View)
/source/blender/gpu/intern/gpu_codegen.h (+76, -0) (View)
/source/blender/gpu/intern/gpu_composite.c (+794, -0) (View)
/source/blender/gpu/intern/gpu_extensions.c (+1249, -0) (View)
/source/blender/gpu/intern/gpu_material.c (+254, -0) (View)
/source/blender/gpu/intern/gpu_nodes.c (+394, -0) (View)
/source/blender/gpu/intern/gpu_nodes.h (+188, -0) (View)
/source/blender/gpu/intern/gpu_temp.glsl (+184, -0) (View)
/source/blender/gpu/intern/Makefile (+53, -0)
/source/blender/gpu/intern/material_shaders.glsl (+389, -0) (View)
/source/blender/gpu/intern/material_shaders.glsl.c (+255, -0) (View)
/source/blender/gpu/intern/material_vertex_shader.glsl (+14, -0) (View)
/source/blender/gpu/intern/material_vertex_shader.glsl.c (+16, -0) (View)
/source/blender/gpu/Makefile (+37, -0)
/source/blender/gpu/SConscript (+11, -0) (View)
66 Modified Paths:
/extern/Makefile (+1, -1) (Diff)
/extern/SConscript (+2, -0) (Diff)
/release/datafiles/datatoc.c (+4, -3) (Diff)
/source/blender/blenkernel/BKE_DerivedMesh.h (+41, -0) (Diff)
/source/blender/blenkernel/BKE_node.h (+8, -0) (Diff)
/source/blender/blenkernel/intern/cdderivedmesh.c (+106, -0) (Diff)
/source/blender/blenkernel/intern/DerivedMesh.c (+290, -25) (Diff)
/source/blender/blenkernel/intern/image.c (+2, -2) (Diff)
/source/blender/blenkernel/intern/Makefile (+4, -0) (Diff)
/source/blender/blenkernel/intern/material.c (+7, -0) (Diff)
/source/blender/blenkernel/intern/node.c (+76, -0) (Diff)
/source/blender/blenkernel/intern/subsurf_ccg.c (+143, -0) (Diff)
/source/blender/blenkernel/SConscript (+1, -0) (Diff)
/source/blender/blenloader/intern/readfile.c (+9, -1) (Diff)
/source/blender/include/BDR_drawobject.h (+1, -1) (Diff)
/source/blender/include/BIF_gl.h (+2, -0) (Diff)
/source/blender/Makefile (+1, -1) (Diff)
/source/blender/makesdna/DNA_image_types.h (+3, -1) (Diff)
/source/blender/makesdna/DNA_material_types.h (+4, -0) (Diff)
/source/blender/makesdna/DNA_userdef_types.h (+1, -0) (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 (+45, -2) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_dynamic.c (+2, -1) (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 (+20, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_material.c (+2, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_math.c (+40, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_mixRgb.c (+13, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_normal.c (+12, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_output.c (+7, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_rgb.c (+12, -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 (+22, -2) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_value.c (+10, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_vectMath.c (+30, -1) (Diff)
/source/blender/nodes/intern/SHD_util.h (+3, -0) (Diff)
/source/blender/nodes/SConscript (+1, -0) (Diff)
/source/blender/python/api2_2x/Makefile (+1, -0) (Diff)
/source/blender/python/SConscript (+1, -0) (Diff)
/source/blender/radiosity/intern/source/Makefile (+1, -0) (Diff)
/source/blender/radiosity/SConscript (+1, -1) (Diff)
/source/blender/SConscript (+1, -0) (Diff)
/source/blender/src/buttons_shading.c (+7, -0) (Diff)
/source/blender/src/drawmesh.c (+6, -0) (Diff)
/source/blender/src/drawobject.c (+182, -57) (Diff)
/source/blender/src/Makefile (+2, -0) (Diff)
/source/blender/src/previewrender.c (+6, -1) (Diff)
/source/blender/src/SConscript (+1, -0) (Diff)
/source/blender/src/sculptmode.c (+1, -1) (Diff)
/source/blender/src/space.c (+18, -4) (Diff)
/source/blender/src/usiblender.c (+3, -0) (Diff)
/source/blender/yafray/SConscript (+1, -1) (Diff)
/source/creator/Makefile (+1, -0) (Diff)
/source/creator/SConscript (+1, -1) (Diff)
/source/gameengine/BlenderRoutines/KX_BlenderGL.cpp (+1, -1) (Diff)
/source/gameengine/BlenderRoutines/Makefile (+2, -1) (Diff)
/source/gameengine/BlenderRoutines/SConscript (+1, -0) (Diff)
/source/Makefile (+2, -0) (Diff)
/source/nan_definitions.mk (+1, -0) (Diff)
/extern/SConscript (+2, -0) (Diff)
/release/datafiles/datatoc.c (+4, -3) (Diff)
/source/blender/blenkernel/BKE_DerivedMesh.h (+41, -0) (Diff)
/source/blender/blenkernel/BKE_node.h (+8, -0) (Diff)
/source/blender/blenkernel/intern/cdderivedmesh.c (+106, -0) (Diff)
/source/blender/blenkernel/intern/DerivedMesh.c (+290, -25) (Diff)
/source/blender/blenkernel/intern/image.c (+2, -2) (Diff)
/source/blender/blenkernel/intern/Makefile (+4, -0) (Diff)
/source/blender/blenkernel/intern/material.c (+7, -0) (Diff)
/source/blender/blenkernel/intern/node.c (+76, -0) (Diff)
/source/blender/blenkernel/intern/subsurf_ccg.c (+143, -0) (Diff)
/source/blender/blenkernel/SConscript (+1, -0) (Diff)
/source/blender/blenloader/intern/readfile.c (+9, -1) (Diff)
/source/blender/include/BDR_drawobject.h (+1, -1) (Diff)
/source/blender/include/BIF_gl.h (+2, -0) (Diff)
/source/blender/Makefile (+1, -1) (Diff)
/source/blender/makesdna/DNA_image_types.h (+3, -1) (Diff)
/source/blender/makesdna/DNA_material_types.h (+4, -0) (Diff)
/source/blender/makesdna/DNA_userdef_types.h (+1, -0) (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 (+45, -2) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_dynamic.c (+2, -1) (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 (+20, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_material.c (+2, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_math.c (+40, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_mixRgb.c (+13, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_normal.c (+12, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_output.c (+7, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_rgb.c (+12, -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 (+22, -2) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_value.c (+10, -1) (Diff)
/source/blender/nodes/intern/SHD_nodes/SHD_vectMath.c (+30, -1) (Diff)
/source/blender/nodes/intern/SHD_util.h (+3, -0) (Diff)
/source/blender/nodes/SConscript (+1, -0) (Diff)
/source/blender/python/api2_2x/Makefile (+1, -0) (Diff)
/source/blender/python/SConscript (+1, -0) (Diff)
/source/blender/radiosity/intern/source/Makefile (+1, -0) (Diff)
/source/blender/radiosity/SConscript (+1, -1) (Diff)
/source/blender/SConscript (+1, -0) (Diff)
/source/blender/src/buttons_shading.c (+7, -0) (Diff)
/source/blender/src/drawmesh.c (+6, -0) (Diff)
/source/blender/src/drawobject.c (+182, -57) (Diff)
/source/blender/src/Makefile (+2, -0) (Diff)
/source/blender/src/previewrender.c (+6, -1) (Diff)
/source/blender/src/SConscript (+1, -0) (Diff)
/source/blender/src/sculptmode.c (+1, -1) (Diff)
/source/blender/src/space.c (+18, -4) (Diff)
/source/blender/src/usiblender.c (+3, -0) (Diff)
/source/blender/yafray/SConscript (+1, -1) (Diff)
/source/creator/Makefile (+1, -0) (Diff)
/source/creator/SConscript (+1, -1) (Diff)
/source/gameengine/BlenderRoutines/KX_BlenderGL.cpp (+1, -1) (Diff)
/source/gameengine/BlenderRoutines/Makefile (+2, -1) (Diff)
/source/gameengine/BlenderRoutines/SConscript (+1, -0) (Diff)
/source/Makefile (+2, -0) (Diff)
/source/nan_definitions.mk (+1, -0) (Diff)