Revision 41a7191 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) 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). |
Revision dc1e92f by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 17, 2014, 12:21 (GMT) |
Made the voxel grid size for hair interaction configurable and increased the default to 32. |
Revision 7334e9d by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 17, 2014, 11:49 (GMT) |
Reduced the length threshold for disabling short hairs from 0.1 to 0.01. |
Revision b963bdd by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 17, 2014, 09:34 (GMT) |
Revision 71271bb by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 17, 2014, 09:01 (GMT) |
Fix for effector force fields on hair, using the world-to-root transformation. |
Revision ea6c035 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) 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. |
Revision 81a3a36 by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, viewport_experiments) September 16, 2014, 21:56 (GMT) |
fix issue with scons |
Revision 7d3ddca by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) 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. |
Revision c56cf0b by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, viewport_experiments) 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- |
Revision 827ad60 by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, viewport_experiments) September 16, 2014, 16:30 (GMT) |
Hook up flags to request a specific sorting scheme from GPU buffer setup routines. (still inactive ) |
Revision 1e65bf5 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) 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. |
Revision d1ed354 by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, viewport_experiments) 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. |
Revision 829addc by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, viewport_experiments) September 16, 2014, 09:25 (GMT) |
Restore texture coordinates properly |
Revision 313b568 by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, viewport_experiments) September 16, 2014, 08:26 (GMT) |
Merge branch 'master' into viewport_experiments |
Revision 3a0d276 by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, 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) |
Revision acdaf71 by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, viewport_experiments) 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. |
Revision fd38892 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 15, 2014, 15:41 (GMT) |
Minor fix when gravity code is disabled. |
Revision 21f43fb by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, viewport_experiments) 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. |
Revision 2632c13 by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, viewport_experiments) 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. |
Revision 624c995 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 15, 2014, 12:22 (GMT) |
Removed unused code. |
|