Blender Git Commit Log

Git Commits -> Revision 6cc71ba

Revision 6cc71ba by Sergey Sharybin (opensubdiv-modifier)
July 30, 2014, 09:29 (GMT)
OpenSubdiv: Support of multiple UVs for GLSL shading

Now OSD mesh is being constructed with all the UV maps
passed as fave-varying variables making it possible:

- Switch active UV layers without re-building OSD GL mesh
- Access any of the UV maps from the shader

This is quite straightforward change apart from one
aspect, which is updating offset of UV map in the face
varying variables buffer.

The thing here is that the same material can be used
by several meshes which could have different order of
UV maps (hence different offsets). Another issue here
is that binding uniforms knows nothing about mesh itself
so it can't get needed layer indices that easy.

because of this reasons there's now some utility functions
which are used by OSD mesh display.

Commit Details:

Full Hash: 6cc71ba4d27db7e1491151eb6434942a6883b892
Parent Commit: 931f9fb
Lines Changed: +229, -49

12 Modified Paths:

/intern/opensubdiv/gpu_shader_opensubd_display.glsl (+5, -3) (Diff)
/intern/opensubdiv/opensubdiv_capi.h (+2, -1) (Diff)
/intern/opensubdiv/opensubdiv_gpu_capi.cc (+15, -1) (Diff)
/intern/opensubdiv/opensubdiv_partitioned.h (+23, -2) (Diff)
/source/blender/blenkernel/intern/CCGSubSurf.c (+39, -33) (Diff)
/source/blender/blenkernel/intern/subsurf_ccg.c (+3, -0) (Diff)
/source/blender/gpu/GPU_draw.h (+5, -0) (Diff)
/source/blender/gpu/GPU_material.h (+6, -0) (Diff)
/source/blender/gpu/intern/gpu_codegen.c (+49, -4) (Diff)
/source/blender/gpu/intern/gpu_draw.c (+33, -0) (Diff)
/source/blender/gpu/intern/gpu_material.c (+43, -0) (Diff)
/source/blender/gpu/shaders/gpu_shader_geometry.glsl (+6, -5) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021