Blender Git Loki

Git Commits -> Revision e6bf29e

Revision e6bf29e by Sergey Sharybin (opensubdiv-modifier)
July 17, 2014, 14:34 (GMT)
OpenSubdiv: Initial glue to the GPU_material routines

For now this only tested on matcaps, the rest of GLSL display is
considered unworkable.

This implements ability to define geometry shader for the GPU
material which later is to be used for texture coordinates generation.

For now GOU materials are split depending on thether they're used
for OpenSubdiv mesh display or for "regular" mesh display. In the
future it'll be possible to get rid of such a split, but that'd
require a bit of changes in how this stuff is used all over the
place. better to do it after the viewport refactor project.

And we're now officially only supporting GPU-side tessellation
only for rather modern GPU, supporting older ones becomeng more
and more difficult. If GPU does not support recent GLSL shading
then Blender will fallback to CPU-side grids evaluation, but it
will still happen using OpenSubdiv. So in the future (once we'll
support uniform subdivisions in evlauator API) there'll be no
differences between old and new GPU visualization.

For those who're using older GPU added new compute type in user
preferences which is called NONE. This means CPU-side tessellation
will be used.

Commit Details:

Full Hash: e6bf29e699fff6de5dbbc1f48b681f9d37deb4f3
Parent Commit: 4b0c2de
Lines Changed: +348, -58

1 Added Path:

/source/blender/gpu/shaders/gpu_shader_geometry.glsl (+80, -0) (View)

21 Modified Paths:

/intern/opensubdiv/gpu_shader_opensubd_display.glsl (+2, -2) (Diff)
/intern/opensubdiv/opensubdiv_capi.cc (+11, -0) (Diff)
/intern/opensubdiv/opensubdiv_capi.h (+3, -2) (Diff)
/intern/opensubdiv/opensubdiv_gpu_capi.cc (+30, -8) (Diff)
/source/blender/blenkernel/intern/CCGSubSurf.c (+2, -2) (Diff)
/source/blender/blenkernel/intern/CCGSubSurf.h (+4, -1) (Diff)
/source/blender/blenkernel/intern/subsurf_ccg.c (+11, -5) (Diff)
/source/blender/gpu/CMakeLists.txt (+4, -0) (Diff)
/source/blender/gpu/GPU_extensions.h (+1, -1) (Diff)
/source/blender/gpu/GPU_material.h (+2, -2) (Diff)
/source/blender/gpu/intern/gpu_codegen.c (+14, -3) (Diff)
/source/blender/gpu/intern/gpu_codegen.h (+2, -1) (Diff)
/source/blender/gpu/intern/gpu_draw.c (+16, -6) (Diff)
/source/blender/gpu/intern/gpu_extensions.c (+102, -6) (Diff)
/source/blender/gpu/intern/gpu_material.c (+26, -11) (Diff)
/source/blender/gpu/intern/gpu_simple_shader.c (+1, -0) (Diff)
/source/blender/gpu/SConscript (+3, -0) (Diff)
/source/blender/gpu/shaders/gpu_shader_material.glsl (+5, -0) (Diff)
/source/blender/gpu/shaders/gpu_shader_vertex.glsl (+19, -2) (Diff)
/source/blender/makesdna/DNA_userdef_types.h (+7, -6) (Diff)
/source/blender/makesrna/intern/rna_userdef.c (+3, -0) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021