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 |
|