Blender Git Loki

Blender Git "temp_hair_modifiers" branch commits.

Page: 32 / 37

September 18, 2014, 07:06 (GMT)
Added basic filtering feature for velocity smoothing.

This is part of the original method from "Volumetric Methods for
Simulation and Rendering of Hair". The current filter is a simple box
filter. Other energy-preserving filters such as gaussian filtering
can be implemented later.

The filter size is currently given as a cell count. This is not ideal,
rather it should use a geometrical length value, but this is too
abstract for proper artistical use. Eventually defining the whole grid
in terms of spatial size might work better (possibly using an external
object).
September 17, 2014, 12:21 (GMT)
Made the voxel grid size for hair interaction configurable and increased
the default to 32.
September 17, 2014, 11:49 (GMT)
Reduced the length threshold for disabling short hairs from 0.1 to 0.01.
September 17, 2014, 09:34 (GMT)
Fix for rB71271bb, was replacing the force vectors entirely instead of
adding.
September 17, 2014, 09:01 (GMT)
Fix for effector force fields on hair, using the world-to-root
transformation.
September 17, 2014, 08:11 (GMT)
Add weak repulsion forces to hair collision response to keep the hair
at a the margin distance ("outer" softbody margin).

This has to be clamped arbitrarily unfortunately, otherwise the
repulsion force can add too much energy into the system. A factor of
4 * restitution impulse seems to give good results for now, this can
be refined later on if necessary.
September 16, 2014, 21:56 (GMT)
fix issue with scons
September 16, 2014, 18:44 (GMT)
Added back the velocity smoothing implementation.

This is now also decoupled from the internal solver data. The grid is
created as an opaque structure, filled with vertex or collider data
(todo), and then forces can be calculated by interpolating the grid at
random locations. These forces and derivatives are then fed into the
solver.
September 16, 2014, 17:07 (GMT)
WIP, beginning of renderer system that should take care of sorting
materials properly for rendering.

-Need to check aspect system first before going too much into this-
September 16, 2014, 16:30 (GMT)
Hook up flags to request a specific sorting scheme from GPU buffer setup
routines. (still inactive
)
September 16, 2014, 12:36 (GMT)
Fix for Sintel hair bug.

The hair solver needs sane input to converge within reasonable time
steps. In particular the spring lengths must not be too difference
(factor 0.01..100 or so max, this is comparable to rigid body simulation
of vastly different masses, which is also unstable).

The basic hair system generate strands with equally spaced points, which
is good solver material. However, the hair edit operators, specifically
the cutting tool, can move points along the strands, creating tightly
packed hair points. This puts the solver under enormous stress and
causes the "explosions" observed already during the Sintel project.

The simple solution for now is to exclude very short hairs from the
simulation. Later the cutting tool should be modified such that it
keeps the segments roughly at the same length and throws away vertices
when the hair gets too short (same goes for the extension tool).

The hair system should have a general mechanism for making sure that
situations such as this don't occur. This will have to be a design
consideration for replacements in any future hair system.
September 16, 2014, 12:09 (GMT)
Fix issue with sculpting and SSAO.

We need to enable stenciling on the compositing FBO or we can clear
areas we don't want to clear and cause invalid depth values.
September 16, 2014, 09:25 (GMT)
Restore texture coordinates properly
September 16, 2014, 08:26 (GMT)
Merge branch 'master' into viewport_experiments
September 15, 2014, 18:32 (GMT)
Fix for flickering, recreate the framebuffer textures in that case
(looks like it's the only way to have matching per pixel results too)
September 15, 2014, 18:06 (GMT)
Move GPU compositing to its own file.

Also avoid recreating the framebuffers and gpu/color textures each
frame.

Happiness :)

There are still some glithes when scaling the areas, I'll look at those
next.
September 15, 2014, 15:41 (GMT)
Minor fix when gravity code is disabled.
September 15, 2014, 14:55 (GMT)
SSAO

* Expose attenuation value - allows to change influence of far objects
* Change influence of far objects to quadratic, eliminates some extreme
fringing from far occluding surfaces.
September 15, 2014, 14:12 (GMT)
SSAO shader.

This works by using the calculated view space normal and accumulating
coverage of a certain area by nearby pixels. There are two sliders to
control the effect:

* Scale controls the area around each pixel that the shader "collides"
against
* Darkening scales the occlusion effect.

The effect works, but due to the way the normals are calculated, the
normals are never smooth shaded (that would require a separate render
target to store them) and the edges or polygons can be too apparent.
This is not really fixable at the moment unless we move to deferred
pipeline.

The FX system is stll not well optimized and rendering does not always
work correctly, but it's good to have this out for people to play with.
September 15, 2014, 12:22 (GMT)
Removed unused code.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021