Blender Git Loki

Blender Git "opensubdiv-modifier" branch commits.

Page: 6 / 10

July 17, 2014, 18:04 (GMT)
OpenSubdiv: Add bits needed for UV mapping support in GLSL shading
July 17, 2014, 17:06 (GMT)
OpenSubdiv: Quick tests for GLSL shaded mode

It all seems to rather work now, apart from the UVs which are
not hooked up yet. For some reason generated coordinates doesn't
work as well, not sure about this yet,

Using sphere/tangent/etc mapping seems to give proper results,
for example http://www.pasteall.org/pic/show.php?id=74096
July 17, 2014, 15:33 (GMT)
OpenSubdiv: Add a workaround to prevent crash using OpenGL from non-main thread
July 17, 2014, 14:45 (GMT)
OpenSubdiv: Get rid of legacy drawing hacks in opensubdiv_gpu
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.
July 17, 2014, 11:19 (GMT)
OpenSubdiv: Use some hacks in order to make it easier to glue with GPU_material

The idea is to use older glsl version (namely 1.3, the same as used for bump
mapping) and require some extensions from newer GLSL in order to use geometry
shader.

This all should make it easier to glue up OpenSubdiv shaders with shaders from
GPU_material.
July 17, 2014, 09:57 (GMT)
OpenSubdiv: Cleanup -- no need to use extensions from glsl4 when shader is glsl5
July 17, 2014, 09:06 (GMT)
OpenSubdiv: Fix crash when drawing mesh without faces
July 17, 2014, 08:56 (GMT)
OpenSubdiv: Reduce number of glDrawEleemnts calls when in solid view

Made it so OsdGLMesh partitions are drawn in batches, so if mesh does have
a continuous set of faces with the same material they all will be displayed
with a single glDrawEelemnts call.

Not sure how this affects on performance on the better quality cards, but
on laptop it brings FPS back to the same value as it was before implementing
multiple textures in solid view (it's around 25% speed gain on Intel card).

That's a good practice anyway to reduce number of glDrawElements anyway, so
even if we wouldn't support low-end GPU with old driver (because of geometry
shader) it's still good to have.

Improvements to textured and GLSL display will be done later,
July 17, 2014, 07:32 (GMT)
OpenSubdiv: Simplify code around wireframe mittion
July 17, 2014, 07:21 (GMT)
OpenSubdiv: Reduce number of glGet* per mesh drawing

This also reduces number of inverse matrix calculation by
updating light model and transformation matricies once per
mesh drawing.
July 17, 2014, 06:41 (GMT)
OpenSubdiv: Dedublicate a bit of a code
July 17, 2014, 06:14 (GMT)
Merge branch 'master' into opensubdiv-modifier
July 16, 2014, 16:57 (GMT)
OpenSubdiv: Initial work towards UV maps support

This lands basic test of pass UV coordinates to the coarse mesh
via evaluator C-API and implements all the needed interpolation
in the GLSL shader.

This code is not used still because GLSL shader is not in use
because enabling it will make it impossible to run anything on
the older cards.

Still need to do some runtime check for this..
July 16, 2014, 15:04 (GMT)
OpenSubdiv: Update GLSL code to use geometry shader

This bumps GLSL requirement for the GPU, but this is the only way
we can support fare-vertex attributes. Shader currently supports
solid draw only but it've got lighting model hooked up.

This gives quite noticeable slowdown on my gt620, but this card
is not really something powerful and likely code could be improved
later.

This also allowed to have proper normals for flat shading.

For now the code stays disabled for until some runtime check or
so is implemented.

TODO: There are some matrix functions which are currently simply
copy-pasted from the blenlib, would be nice to clean this up.
July 16, 2014, 10:39 (GMT)
Merge branch 'master' into opensubdiv-modifier
July 15, 2014, 10:22 (GMT)
Merge branch 'master' into opensubdiv-modifier
July 14, 2014, 16:47 (GMT)
OpenSubdiv: Fix CCGDM drawing when not using GPU backend
July 14, 2014, 15:14 (GMT)
OpenSubdiv: Support matcap viewport drawing

Matcap display is a part of more generic drawMappedFacesGLSL(),
but this doesn't mean GLSL viewport materials are working.

For now stuff is only tested and verified for matcap materials,
BI/Cycles materials and textures are still not supported.
July 14, 2014, 15:13 (GMT)
Merge branch 'master' into opensubdiv-modifier
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021