Blender Git Commits

Blender Git "hair_system" branch commits.

Page: 21 / 35

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.
September 15, 2014, 12:18 (GMT)
Added a calculation function for the fictitious forces introduced by
moving hair root reference frames.

This calculates Euler, Coriolis and Centrifugal forces which result
from describing hair in a moving reference frame.
http://en.wikipedia.org/wiki/Fictitious_force
September 15, 2014, 10:51 (GMT)
Fix for own misconception of fictitious forces in the moving hair root
frames.

These forces don't have to be calculated for each individual
contribution. Rather they can be split off and be calculated on top of
the basic force vector rotation (todo).
September 15, 2014, 10:10 (GMT)
Added back spring force definitions outside the implicit solver.

There are currently 3 types of springs: basic linear springs, goal
springs toward a fixed global target (not recommended, but works) and
bending springs.

These are agnostic to the specific spring definition in the cloth system
so hair systems can use the same API without converting everything to
cloth first.
September 14, 2014, 17:36 (GMT)
Main cloth force calculation function outside of implicit core code.

Still misses spring forces.
September 14, 2014, 16:08 (GMT)
Hair volume calculation is now in its own file.

Code is currently disabled until the other main forces are in place.
September 14, 2014, 15:47 (GMT)
Moved the unused goal force calculation function to the main mass-spring
source file.
September 14, 2014, 15:36 (GMT)
Moved most of the main cloth solver function out of implicit code core.

Force calculation is disabled, will follow shortly.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021