[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14539] branches/apricot:

Brecht Van Lommel brechtvanlommel at pandora.be
Thu Apr 24 22:21:33 CEST 2008


Revision: 14539
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14539
Author:   blendix
Date:     2008-04-24 22:21:33 +0200 (Thu, 24 Apr 2008)

Log Message:
-----------

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.

Modified Paths:
--------------
    branches/apricot/extern/Makefile
    branches/apricot/extern/SConscript
    branches/apricot/release/datafiles/datatoc.c
    branches/apricot/source/Makefile
    branches/apricot/source/blender/Makefile
    branches/apricot/source/blender/SConscript
    branches/apricot/source/blender/blenkernel/BKE_DerivedMesh.h
    branches/apricot/source/blender/blenkernel/BKE_node.h
    branches/apricot/source/blender/blenkernel/SConscript
    branches/apricot/source/blender/blenkernel/intern/DerivedMesh.c
    branches/apricot/source/blender/blenkernel/intern/Makefile
    branches/apricot/source/blender/blenkernel/intern/cdderivedmesh.c
    branches/apricot/source/blender/blenkernel/intern/image.c
    branches/apricot/source/blender/blenkernel/intern/material.c
    branches/apricot/source/blender/blenkernel/intern/node.c
    branches/apricot/source/blender/blenkernel/intern/subsurf_ccg.c
    branches/apricot/source/blender/blenloader/intern/readfile.c
    branches/apricot/source/blender/include/BDR_drawobject.h
    branches/apricot/source/blender/include/BIF_gl.h
    branches/apricot/source/blender/makesdna/DNA_image_types.h
    branches/apricot/source/blender/makesdna/DNA_material_types.h
    branches/apricot/source/blender/makesdna/DNA_userdef_types.h
    branches/apricot/source/blender/nodes/SConscript
    branches/apricot/source/blender/nodes/intern/CMP_nodes/Makefile
    branches/apricot/source/blender/nodes/intern/Makefile
    branches/apricot/source/blender/nodes/intern/SHD_nodes/Makefile
    branches/apricot/source/blender/nodes/intern/SHD_nodes/SHD_camera.c
    branches/apricot/source/blender/nodes/intern/SHD_nodes/SHD_curves.c
    branches/apricot/source/blender/nodes/intern/SHD_nodes/SHD_dynamic.c
    branches/apricot/source/blender/nodes/intern/SHD_nodes/SHD_geom.c
    branches/apricot/source/blender/nodes/intern/SHD_nodes/SHD_hueSatVal.c
    branches/apricot/source/blender/nodes/intern/SHD_nodes/SHD_invert.c
    branches/apricot/source/blender/nodes/intern/SHD_nodes/SHD_mapping.c
    branches/apricot/source/blender/nodes/intern/SHD_nodes/SHD_material.c
    branches/apricot/source/blender/nodes/intern/SHD_nodes/SHD_math.c
    branches/apricot/source/blender/nodes/intern/SHD_nodes/SHD_mixRgb.c
    branches/apricot/source/blender/nodes/intern/SHD_nodes/SHD_normal.c
    branches/apricot/source/blender/nodes/intern/SHD_nodes/SHD_output.c
    branches/apricot/source/blender/nodes/intern/SHD_nodes/SHD_rgb.c
    branches/apricot/source/blender/nodes/intern/SHD_nodes/SHD_sepcombRGB.c
    branches/apricot/source/blender/nodes/intern/SHD_nodes/SHD_squeeze.c
    branches/apricot/source/blender/nodes/intern/SHD_nodes/SHD_texture.c
    branches/apricot/source/blender/nodes/intern/SHD_nodes/SHD_valToRgb.c
    branches/apricot/source/blender/nodes/intern/SHD_nodes/SHD_value.c
    branches/apricot/source/blender/nodes/intern/SHD_nodes/SHD_vectMath.c
    branches/apricot/source/blender/nodes/intern/SHD_util.h
    branches/apricot/source/blender/python/SConscript
    branches/apricot/source/blender/python/api2_2x/Makefile
    branches/apricot/source/blender/radiosity/SConscript
    branches/apricot/source/blender/radiosity/intern/source/Makefile
    branches/apricot/source/blender/src/Makefile
    branches/apricot/source/blender/src/SConscript
    branches/apricot/source/blender/src/buttons_shading.c
    branches/apricot/source/blender/src/drawmesh.c
    branches/apricot/source/blender/src/drawobject.c
    branches/apricot/source/blender/src/previewrender.c
    branches/apricot/source/blender/src/sculptmode.c
    branches/apricot/source/blender/src/space.c
    branches/apricot/source/blender/src/usiblender.c
    branches/apricot/source/blender/yafray/SConscript
    branches/apricot/source/creator/Makefile
    branches/apricot/source/creator/SConscript
    branches/apricot/source/gameengine/BlenderRoutines/KX_BlenderGL.cpp
    branches/apricot/source/gameengine/BlenderRoutines/Makefile
    branches/apricot/source/gameengine/BlenderRoutines/SConscript
    branches/apricot/source/nan_definitions.mk

Added Paths:
-----------
    branches/apricot/extern/glew/
    branches/apricot/extern/glew/ChangeLog
    branches/apricot/extern/glew/README.txt
    branches/apricot/extern/glew/SConscript
    branches/apricot/extern/glew/doc/
    branches/apricot/extern/glew/doc/advanced.html
    branches/apricot/extern/glew/doc/basic.html
    branches/apricot/extern/glew/doc/credits.html
    branches/apricot/extern/glew/doc/glew.css
    branches/apricot/extern/glew/doc/glew.html
    branches/apricot/extern/glew/doc/glx.txt
    branches/apricot/extern/glew/doc/glxew.html
    branches/apricot/extern/glew/doc/gpl.txt
    branches/apricot/extern/glew/doc/index.html
    branches/apricot/extern/glew/doc/install.html
    branches/apricot/extern/glew/doc/log.html
    branches/apricot/extern/glew/doc/sgi.txt
    branches/apricot/extern/glew/doc/wglew.html
    branches/apricot/extern/glew/include/
    branches/apricot/extern/glew/include/GL/
    branches/apricot/extern/glew/include/GL/glew.h
    branches/apricot/extern/glew/include/GL/glxew.h
    branches/apricot/extern/glew/include/GL/wglew.h
    branches/apricot/extern/glew/src/
    branches/apricot/extern/glew/src/Makefile
    branches/apricot/extern/glew/src/glew.c
    branches/apricot/source/blender/gpu/
    branches/apricot/source/blender/gpu/GPU_extensions.h
    branches/apricot/source/blender/gpu/GPU_material.h
    branches/apricot/source/blender/gpu/GPU_node.h
    branches/apricot/source/blender/gpu/Makefile
    branches/apricot/source/blender/gpu/SConscript
    branches/apricot/source/blender/gpu/intern/
    branches/apricot/source/blender/gpu/intern/Makefile
    branches/apricot/source/blender/gpu/intern/gpu_codegen.c
    branches/apricot/source/blender/gpu/intern/gpu_codegen.h
    branches/apricot/source/blender/gpu/intern/gpu_composite.c
    branches/apricot/source/blender/gpu/intern/gpu_extensions.c
    branches/apricot/source/blender/gpu/intern/gpu_material.c
    branches/apricot/source/blender/gpu/intern/gpu_nodes.c
    branches/apricot/source/blender/gpu/intern/gpu_nodes.h
    branches/apricot/source/blender/gpu/intern/gpu_temp.glsl
    branches/apricot/source/blender/gpu/intern/material_shaders.glsl
    branches/apricot/source/blender/gpu/intern/material_shaders.glsl.c
    branches/apricot/source/blender/gpu/intern/material_vertex_shader.glsl
    branches/apricot/source/blender/gpu/intern/material_vertex_shader.glsl.c

Modified: branches/apricot/extern/Makefile
===================================================================
--- branches/apricot/extern/Makefile	2008-04-24 20:10:01 UTC (rev 14538)
+++ branches/apricot/extern/Makefile	2008-04-24 20:21:33 UTC (rev 14539)
@@ -30,7 +30,7 @@
 
 SOURCEDIR = extern
 DIR = $(OCGDIR)/extern
-DIRS = qhull/src solid 
+DIRS = qhull/src solid glew/src
 
 ifeq ($(WITH_FREETYPE2), true)
     DIRS += bFTGL/src

Modified: branches/apricot/extern/SConscript
===================================================================
--- branches/apricot/extern/SConscript	2008-04-24 20:10:01 UTC (rev 14538)
+++ branches/apricot/extern/SConscript	2008-04-24 20:21:33 UTC (rev 14539)
@@ -2,6 +2,8 @@
 
 Import('env')
 
+SConscript(['glew/SConscript'])
+
 if env['WITH_BF_GAMEENGINE']:
     SConscript(['qhull/SConscript',
             'solid/SConscript'])

Added: branches/apricot/extern/glew/ChangeLog
===================================================================
--- branches/apricot/extern/glew/ChangeLog	                        (rev 0)
+++ branches/apricot/extern/glew/ChangeLog	2008-04-24 20:21:33 UTC (rev 14539)
@@ -0,0 +1,1703 @@
+2005-05-16 00:35  ikits
+
+	* auto/src/template.html, doc/advanced.html, doc/basic.html,
+	  doc/credits.html, doc/index.html, doc/install.html, doc/log.html:
+	  getting ready for the release
+
+2005-05-16 00:14  ikits
+
+	* auto/Makefile: Added option for splitting the source into
+	  multiple files
+
+2005-05-16 00:13  ikits
+
+	* auto/bin/update_ext.sh: Fixed GL_ARB_transpose_matrix bug
+
+2005-04-22 18:47  ikits
+
+	* auto/: bin/update_ext.sh, core/GL_VERSION_2_0: fixed bugs 1185517
+	  and 1182116
+
+2005-04-04 23:49  ikits
+
+	* auto/src/: glew_head.c, glew_init_gl.c: fix for OGL 2.0 problem
+
+2005-03-16 21:49  ikits
+
+	* config/version: bump version number
+
+2005-03-16 21:48  ikits
+
+	* auto/src/glew_init_gl.c: minor issue
+
+2005-03-16 21:04  ikits
+
+	* doc/advanced.html, doc/basic.html, doc/credits.html,
+	  doc/index.html, doc/install.html, doc/log.html,
+	  auto/src/template.html: getting ready for the release
+
+2005-03-16 20:49  ikits
+
+	* ChangeLog: it's that time again
+
+2005-03-16 20:48  ikits
+
+	* TODO.txt: fix it when there is time
+
+2005-03-16 20:45  ikits
+
+	* auto/src/glew_init_gl.c: added check for crippled hardware
+
+2005-03-14 23:50  ikits
+
+	* auto/src/template.html: documentation update
+
+2005-03-14 23:38  ikits
+
+	* doc/log.html: update log
+
+2005-03-14 23:24  ikits
+
+	* TODO.txt: done
+
+2005-03-14 23:21  ikits
+
+	* doc/: advanced.html, basic.html, credits.html, index.html,
+	  install.html, log.html, glew.css: changes for html 4.01
+	  compliance
+
+2005-03-14 00:13  ikits
+
+	* TODO.txt: oops
+
+2005-03-14 00:10  ikits
+
+	* TODO.txt: some more
+
+2005-03-14 00:08  ikits
+
+	* TODO.txt: the road ahead
+
+2005-03-14 00:00  ikits
+
+	* config/: Makefile.mingw, Makefile.mingw32: fixed bug #1161790
+
+2005-03-13 23:09  ikits
+
+	* auto/core/: GL_APPLE_pixel_buffer, GL_EXT_framebuffer_object,
+	  GL_SGIX_shadow: cleanup and bug fixes; thanks to Stephane for
+	  these
+
+2005-02-05 02:17  ikits
+
+	* auto/core/GL_VERSION_2_0: fixed bug 1116569
+
+2005-02-03 00:25  ikits
+
+	* ChangeLog: version bump
+
+2005-02-03 00:21  ikits
+
+	* config/version: version bump
+
+2005-02-03 00:13  ikits
+
+	* doc/log.html: oops
+
+2005-02-02 23:28  ikits
+
+	* doc/index.html: added reference
+
+2005-02-02 22:49  ikits
+
+	* doc/install.html: ready for release
+
+2005-02-02 22:34  ikits
+
+	* auto/Makefile, auto/src/template.html, doc/advanced.html,
+	  doc/basic.html, doc/credits.html, doc/glew.css, doc/index.html,
+	  doc/install.html, doc/log.html: prepare for release
+
+2005-01-30 17:26  ikits
+
+	* doc/advanced.html, doc/basic.html, doc/credits.html,
+	  doc/index.html, doc/install.html, doc/log.html,
+	  auto/src/template.html: ,
+
+2005-01-30 17:12  ikits
+
+	* doc/install.html: corrected VS.NET install location
+
+2005-01-30 01:46  ikits
+
+	* auto/src/: glew.rc, glewinfo.rc, visualinfo.rc: added description
+	  fields
+
+2005-01-30 01:35  ikits
+
+	* ChangeLog, doc/log.html: update logs
+
+2005-01-29 20:48  ikits
+
+	* auto/Makefile, auto/src/glew.rc, auto/src/glewinfo.rc,
+	  auto/src/visualinfo.rc, build/vc6/glew_shared.dsp,
+	  build/vc6/glew_static.dsp, build/vc6/glewinfo.dsp,
+	  build/vc6/visualinfo.dsp: added resource files for win32
+	  versioning
+
+2005-01-29 18:39  ikits
+
+	* config/version: changed versioning to make it easier to follow
+
+2005-01-29 11:59  ikits
+
+	* auto/src/glew_head.h: fix borland compilation problem
+
+2005-01-28 23:36  ikits
+
+	* auto/bin/parse_spec.pl: fixed GLhalf bug
+
+2005-01-21 09:04  ikits
+
+	* auto/core/GL_EXT_framebuffer_object: ubercomplete
+
+2005-01-20 19:53  ikits
+
+	* auto/core/GL_VERSION_2_0: fixed bugs
+
+2005-01-11 18:03  mem
+
+	* auto/lib/OpenGL/Spec.pm: Clean up a little
+
+2005-01-11 15:40  mem
+
+	* auto/lib/OpenGL/Spec.pm: Modularized parser
+
+2005-01-06 01:53  ikits
+
+	* doc/: advanced.html, basic.html, credits.html, index.html,
+	  install.html, log.html, ogl_sm.jpg, new.png: sync up webpage and
+	  docs
+
+2005-01-06 01:26  ikits
+
+	* TODO.txt: one more item
+
+2005-01-06 01:25  ikits
+
+	* auto/bin/update_ext.sh: fixed GLhandleARB
+
+2005-01-05 15:37  mem
+
+	* config/version: Forgot to bump GLEW version
+
+2005-01-05 15:35  mem
+
+	* TODO.txt: Expanded TODO item about autoinitialization
+
+2005-01-05 15:27  mem
+
+	* ChangeLog: Added ChangeLog.  The file is generated with cvs2cl.
+
+2005-01-05 15:19  mem
+
+	* Makefile, auto/Makefile, config/Makefile.darwin,
+	  config/Makefile.freebsd, config/Makefile.irix,
+	  config/Makefile.linux, config/Makefile.solaris, config/version:
+	  Fix soname, ABI broke
+
+2005-01-04 20:55  ikits
+
+	* doc/gpl.txt: documentation update
+
+2005-01-04 20:32  ikits
+
+	* doc/index.html: documentation update
+
+2005-01-04 20:17  ikits
+
+	* doc/glew.css: documentation update
+
+2005-01-04 20:10  ikits
+
+	* auto/src/template.html, doc/README.html, doc/advanced.html,
+	  doc/basic.html, doc/credits.html, doc/index.html,
+	  doc/install.html, doc/log.html: documentation update
+
+2005-01-04 20:01  ikits
+
+	* README.txt, auto/src/template.html, doc/glew.css: documentation
+	  update
+
+2005-01-04 10:02  ikits
+
+	* auto/src/glew_head.c: bug fixes
+
+2005-01-04 01:00  ikits
+
+	* auto/src/template.html: web crap
+
+2005-01-04 00:30  ikits
+
+	* auto/: bin/make_str.pl, src/glew_head.c, src/glew_str_glx.c,
+	  src/glew_str_head.c, src/glew_str_tail.c, src/glew_str_wgl.c,
+	  src/glew_utils.c, src/glew_utils.h: extended glewIsSupported
+
+2005-01-03 23:17  ikits
+
+	* config/: Makefile.solaris, Makefile.sunos: makefile fixes
+
+2005-01-03 23:11  ikits
+
+	* Makefile, config/Makefile.cygwin, config/Makefile.mingw32:
+	  makefile fixes
+
+2005-01-03 22:57  ikits
+
+	* Makefile, config/Makefile.darwin: added darwin makefile
+
+2005-01-03 22:29  ikits
+
+	* auto/: Makefile, bin/make_info.pl, bin/make_list.pl,
+	  bin/make_str.pl: bug fixes
+
+2005-01-03 22:05  ikits
+
+	* auto/: Makefile, bin/make_init.pl, src/glew_head.c,
+	  src/glew_utils.c, src/glew_utils.h: bug fixes
+
+2005-01-03 02:32  ikits
+
+	* Makefile, TODO.txt, auto/Makefile,
+	  auto/bin/fix_OML_sync_control.sh, auto/bin/make.pl,
+	  auto/bin/make_def_fun.pl, auto/bin/make_def_var.pl,
+	  auto/bin/make_header.pl, auto/bin/make_html.pl,
+	  auto/bin/make_info.pl, auto/bin/make_info_list.pl,
+	  auto/bin/make_init.pl, auto/bin/make_list.pl,
+	  auto/bin/make_str.pl, auto/bin/make_struct_fun.pl,
+	  auto/bin/make_struct_var.pl, auto/bin/parse_spec.pl,
+	  auto/bin/update_ext.sh, auto/bin/update_registry.sh,
+	  auto/src/glew_head.html, auto/src/glew_tail.html,
+	  auto/src/glxew_head.html, auto/src/wglew_head.html,
+	  auto/src/wglew_tail.html, src/visualinfo.c: Year bump in
+	  copyright message. Removed obsolete files from auto/src.
+
+2005-01-03 02:09  ikits
+
+	* build/vc6/: glew_shared.dsp, glew_static.dsp: Single file now
+	  compiles with VC71. Kept multi-file split for future use.
+
+2005-01-03 02:05  ikits
+
+	* auto/Makefile, auto/bin/make_header.pl, auto/bin/make_html.pl,
+	  auto/src/glew_gl_fun.c, auto/src/glew_gl_head.c,
+	  auto/src/glew_gl_init.c, auto/src/glew_gl_tail.c,
+	  auto/src/glew_gl_var.c, auto/src/glew_glx_fun.c,
+	  auto/src/glew_glx_head.c, auto/src/glew_glx_init.c,
+	  auto/src/glew_glx_tail.c, auto/src/glew_glx_var.c,
+	  auto/src/glew_head.c, auto/src/glew_head.h,
+	  auto/src/glew_init_gl.c, auto/src/glew_init_glx.c,
+	  auto/src/glew_init_tail.c, auto/src/glew_init_wgl.c,
+	  auto/src/glew_license.h, auto/src/glew_str_head.c,
+	  auto/src/glew_utils.c, auto/src/glew_utils.h,
+	  auto/src/glew_wgl_head.c, auto/src/glew_wgl_init.c,
+	  auto/src/glew_wgl_tail.c, auto/src/glew_wgl_var.c,
+	  auto/src/glewinfo_head.c, auto/src/glx_license.h,
+	  auto/src/glxew_head.h, auto/src/sgi_license.h,
+	  auto/src/template.html, auto/src/wglew_head.h,
+	  build/vc6/glew_shared.dsp, build/vc6/glew_static.dsp,
+	  src/glew_utils.c, src/glew_utils.h: Single file now compiles with
+	  VC71. Kept multi-file split for future use.
+
+2004-12-31 03:49  ikits
+
+	* auto/Makefile, auto/bin/make_def_fun.pl,
+	  auto/bin/make_def_var.pl, auto/bin/make_header.pl,
+	  auto/bin/make_html.pl, auto/bin/make_info.pl,
+	  auto/bin/make_info_list.pl, auto/bin/make_init.pl,
+	  auto/bin/make_list.pl, auto/bin/make_str.pl,
+	  auto/bin/make_struct_fun.pl, auto/bin/make_struct_var.pl,
+	  auto/custom.txt, TODO.txt: added customized subset selection
+
+2004-12-29 22:11  ikits
+
+	* auto/src/glew_tail.h: added longer alias
+
+2004-12-29 22:05  ikits
+
+	* auto/core/GL_VERSION_2_0: bug fixes
+
+2004-12-29 21:59  ikits
+
+	* auto/core/GL_VERSION_2_0: added core 2.0 spec file
+
+2004-12-29 02:45  ikits
+
+	* auto/core/WGL_ATI_render_texture_rectangle: the drivers seem to
+	  support it; no public spec yet, though
+
+2004-12-29 02:22  ikits
+
+	* auto/Makefile, auto/src/glew_gl_head.c, auto/src/glew_gl_tail.c,
+	  auto/src/glew_glx_head.c, auto/src/glew_glx_init.c,
+	  auto/src/glew_glx_tail.c, auto/src/glew_str_glx.c,
+	  auto/src/glew_str_tail.c, auto/src/glew_str_wgl.c,
+	  auto/src/glxew_tail.h, auto/src/wglew_tail.h, build/vc6/Makefile,
+	  build/vc6/glew_shared.dsp, build/vc6/glew_static.dsp,
+	  auto/bin/make_def.pl, auto/bin/make_def_fun.pl,
+	  auto/bin/make_def_var.pl, auto/src/glew_gl_fun.c,
+	  auto/src/glew_gl_var.c, auto/src/glew_glx_fun.c,
+	  auto/src/glew_glx_var.c, auto/src/glew_wgl_var.c: fixed problems
+	  with mx builds; update project files
+
+2004-12-29 00:42  ikits
+

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list