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)
/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)