Blender Git Commits

Blender Git "openvdb" branch commits.

Page: 12 / 16

June 5, 2015, 20:24 (GMT)
Cycles: first pass at using VDB ray intersectors for ray marching.

The idea behind them is to avoid unnecessary ray marching by frog
leaping empty space. The only requirement for it to work is to have a
grid whose voxels are uniform, otherwise Cycles' default ray marching is
used.

For now the code has a some issues and dark sides to it:
- it only works if there is a single object containing vdb volumes in
the scene
- for a given file, only the grid named "density" (case insensitive) is
used for intersection, it's not clear how to handle multiple grids in
this case (maybe we coiuld let the user set which one to use?)
- the ray march loop is a total duplicate of the default one, this will
be addressed later on
- some leaf nodes are missing when using large volumes, the issue might
be the early exit due to the check to see if light was totally absorbed
or not

Here's some render tests:
Dense volume: http://www.pasteall.org/pic/89090
VDB with intersection: http://www.pasteall.org/pic/89092
June 5, 2015, 20:24 (GMT)
Use multithreading when doing an export.
June 5, 2015, 20:24 (GMT)
Fix grid clipping resulting in empty trees.

Issue was that the grids didn't have a transform set when clipping was
happening. As the clip operator copies the transform (here an invalid
one) from the grid to the mask if their tranforms mismatch, the
operation resulted in an invalid/empty tree.

(Best explanation I can give so far.)

Also for some reason exporting the obstacles field doesn't work anymore,
so it is disabled for now, and so is clipping for it as it doesn't make
sense to clip the obstacles based on the density field.
June 5, 2015, 20:24 (GMT)
Draw a voxel in the viewport along with the smoke domain.

This helps a bit choosing a good resolution. Might be for development/
debug only, but it wouldn't hurt leaving it to help users.
June 5, 2015, 12:50 (GMT)
Fixed incorrect macro for testing build settings.
June 5, 2015, 11:52 (GMT)
Small cleanup.

- Remove unnecessary forward declarations
- Use MEM_callocN to initialize memory for new caches, would assert due
to OpenVDBCache.filename not being initialized.
June 5, 2015, 11:47 (GMT)
Exporter: clip grids based on the density field to save on file size.

Patch by @lukastoenne.
June 4, 2015, 14:34 (GMT)
Add an 'is_color' metadata to set an rgba socket for color grids
June 3, 2015, 18:57 (GMT)
Merge branch 'master' into openvdb_smoke
June 3, 2015, 18:34 (GMT)
Various cleanup.
June 3, 2015, 17:53 (GMT)
Quick fix for data corruption happening when changing scene frame in
separate threads.

Patch by @lukastoenne.
June 3, 2015, 17:43 (GMT)
Quick fix for openvdb::ArithmeticError being thrown on frame 1.

Issue is that the smoke simulator stores a zero'd object matrix on frame
1 which makes OpenVDB throw because the matrix is then non-affine.

Patch by @lukastoenne.
June 3, 2015, 17:38 (GMT)
Quiet compile warning when WITH_OPENVDB is off.
June 1, 2015, 13:10 (GMT)
Fix memory leak when creating new sockets.
June 1, 2015, 13:05 (GMT)
Move node socket creation to the C-code.
June 1, 2015, 11:55 (GMT)
Relink outputs when opening a file after one was already open in the
node.
June 1, 2015, 11:26 (GMT)
Ensure filename is absolute in the vdb node.
June 1, 2015, 07:04 (GMT)
Small fix for previous commit.

We might have MOD_SMOKE_VIEW_SHOWBIG flag on without high resolution on.
June 1, 2015, 06:26 (GMT)
Only load the array in memory when needed.

It doesn't account for cases when we reach a frame where nothing was
simulated, this will be handled later on.
June 1, 2015, 05:04 (GMT)
Merge branch 'master' into openvdb_smoke
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021