tim doerries
|
19bb93a3fc
|
Implemented multi-phase initialization for SparseVolumeTextures.
#rb Devon.Penney
#rnx
#preflight 643848bcdf20983c4172fa18
[CL 25038431 by tim doerries in ue5-main branch]
|
2023-04-14 07:47:32 -04:00 |
|
tim doerries
|
bb1da72ead
|
Implemented support for importing .vdb grids with half float formats.
#rb Patrick.Kelly
#rnx
#preflight 6436b7e900398d6f88504765
[CL 25025416 by tim doerries in ue5-main branch]
|
2023-04-13 10:50:12 -04:00 |
|
tim doerries
|
2eb735892e
|
Added try/catch around openvdb file parsing to catch exceptions thrown on bad files. Moved grid typedefs for openvdb types into shared header.
#rb none
#rnx
#preflight 6436a9912909bc56c82e657a
[CL 25006193 by tim doerries in ue5-main branch]
|
2023-04-12 09:45:05 -04:00 |
|
tim doerries
|
19fe3af446
|
Moved SparseVolumeTexture initialization into a function, simplifying (and hiding implementation details of) SVT creation in factories etc.
#rb Sebastien.Hillaire
#rnx
#preflight 641db9ffc42c7fd1cbba3436
[CL 24781341 by tim doerries in ue5-main branch]
|
2023-03-24 12:42:28 -04:00 |
|
tim doerries
|
5bfb8ca971
|
Fix for imported SVT assets having a name different from the package name, which causes them to not show up in the content browser.
#rnx
#preflight trivial
[CL 24752141 by tim doerries in ue5-main branch]
|
2023-03-22 14:58:34 -04:00 |
|
tim doerries
|
ef19fb9547
|
Fixes for two small bugs when trying to import certain .vdb files. One is an off-by-one bug, the other one is an edge case for when a SVT frame is empty except for the null tile.
#rnx
#preflight trivial
[CL 24740075 by tim doerries in ue5-main branch]
|
2023-03-21 17:22:58 -04:00 |
|
tim doerries
|
5402186994
|
Fixed VDB importer missing tile data on import. Implemented SVT tile deduplication by hashing and redirecting page table entries to identical tiles, potentially saving a good chunk of memory on suitable assets.
#rb Sebastien.Hillaire
#rnx
#preflight 640b37dc3c2db40029943cd3
[CL 24592752 by tim doerries in ue5-main branch]
|
2023-03-10 11:43:31 -05:00 |
|
tim doerries
|
ed6155ff68
|
All SparseVolumeTexture mips are now stored in the same resource/proxy, making binding and sampling different mip levels much easier. This version is still missing streaming at mip level granularity and has a minimum mip level size of 16x16x16 (no mip tails). Since the added logic started bloating SparseVolumeTexture.h/.cpp, FSparseVolumeRawSource (now renamed to FSparseVolumeTextureData), FSparseVolumeTextureRuntime and FSparseVolumeTextureProxy were moved into their own files. FSparseVolumeTextureData stores a potentially mipped (after cooking) 3D page table indexing into linear arrays of physical tile data. At runtime the physical tiles are rearranged/packed into 3D physical tile textures in FSparseVolumeTextureRuntime and the page table payload adjusted from indices to 3D tile coordinates. The SVTSample node now also takes an optional MipLevel parameter which enables sampling across mips (lerp).
#rb Sebastien.Hillaire
#rnx
#preflight 63fdec5aae54ee4ce99490f9
[CL 24471451 by tim doerries in ue5-main branch]
|
2023-03-01 16:56:41 -05:00 |
|
tim doerries
|
cd143277a9
|
Fixed OpenVDB import being limited to a maximum source asset file size of 2GB.
#rb Sebastien.Hillaire
#rnx
#preflight 63f74973b91d7b0a122429cd
[CL 24386923 by tim doerries in ue5-main branch]
|
2023-02-23 14:53:04 -05:00 |
|
tim doerries
|
5f1e71bd18
|
Implemented first version of mip maps for SparseVolumeTextures. Each mip is currently an individual SVT structure/proxy. Mip generation is currently done on import; this will be moved to cooking in a later CL. Much of the OpenVDB->SVT conversion logic has been moved into SparseVolumeTexture.cpp, decoupling it from the vdb library. OpenVDBUtility.cpp now only implements an interface for querying data from the source file. The SVT preview received a few fixes for issues that became apparent when trying to visualize low res mips (Can't early out if the packed page table result is 0 when no null tile exists; ray stepping needs to be done after volume sampling in order to not miss voxels; sampling needs to be guarded by checking against the virtual volume resolution).
#rb Sebastien.Hillaire
#rnx
#preflight 63f5d9b2ac06ce789f025459
[CL 24360541 by tim doerries in ue5-main branch]
|
2023-02-22 09:39:24 -05:00 |
|
tim doerries
|
ba186ef2a0
|
Converted SparseVolumeTextures from AssetTypeActions to AssetDefinition.
#rnx
#preflight 63f5fdfc977ceed9152ec256
[FYI] Sebastien.Hillaire
[CL 24359383 by tim doerries in ue5-main branch]
|
2023-02-22 07:58:57 -05:00 |
|
tim doerries
|
ed3cc7ae76
|
Import of .vdb sequences for SparseVolumeTextures now uses multithreading to parallelize per-frame processing. Fixed background/fallback values always being zero, even if the value specified in the source .vdb file is non-zero.
#rb Sebastien.Hillaire
#rnx
#preflight 63ed0cf5205b5ccbc71dc82e
[CL 24258199 by tim doerries in ue5-main branch]
|
2023-02-16 10:42:36 -05:00 |
|
tim doerries
|
7f260f4daa
|
Implemented first version of streaming for SparseVolumeTextures. Fixed PostEditChange() being called twice on newly imported SVT. Small refactors on UStreamableSVT, UStaticSVT and UAnimatedSVT.
#rb Sebastien.Hillaire
#rnx
#preflight 63dd2dcf4d25c400b7b7cfaa
[CL 24047693 by tim doerries in ue5-main branch]
|
2023-02-07 08:59:18 -05:00 |
|
tim doerries
|
2bd647ec10
|
Switched SparseVolumeTextures to new DDC API. Also introduced UStreamableSparseVolumeTexture as new base class for static and animated SVT classes. This is in preparation for streaming and also to clean up and deduplicate some code that could be shared. Fixed missing call to ExpandVolumeBounds() when importing an animated SVT.
#rb Sebastien.Hillaire
#rnx
#preflight 63d9528a65738ba951d804a8
[CL 23945941 by tim doerries in ue5-main branch]
|
2023-02-01 06:20:15 -05:00 |
|
tim doerries
|
1ca91d6ea2
|
SVT uassets now no longer store the original vdb file. Conversion now happens during import, giving the user a progress bar instead of just blocking the editor on PostLoad() when the derived data was generated. Also renamed "PackedData" to "Attributes".
#rnx
#preflight 63d7f61031334253e5ff28c4
[CL 23923279 by tim doerries in ue5-main branch]
|
2023-01-31 01:11:48 -05:00 |
|
tim doerries
|
f997163b17
|
Animated SparseVolumeTextures can now be sampled in material graphs. This is done by using a UAnimatedSparseVolumeTextureController to control animation playback. Every tick, updating this controller returns a UAnimatedSparseVolumeTextureFrame that contains the current frame to sample. This frame can then be set as a SVT parameter on a MID.
#rb Sebastien.Hillaire
#rnx
#preflight 63d179096a14d8406d707c0a
[CL 23922325 by tim doerries in ue5-main branch]
|
2023-01-31 00:53:46 -05:00 |
|
tim doerries
|
9dc9439611
|
OpenVDB import dialog now uses a proper table/list view for displaying grid info and sets the "Import as Sequence" checkbox automatically. Improved the algorithm for finding files belonging to a sequence. Also did some slight refactoring, moving out some logic of the SOpenVDBImportWindow class into the factory.
#rnx
#preflight 63d3cabdba4fadeef0f87ab4
[CL 23909326 by tim doerries in ue5-main branch]
|
2023-01-30 11:48:00 -05:00 |
|
tim doerries
|
b57be03128
|
Implemented support for importing animated OpenVDB sequences using the new import dialog. SVTViewerComponent can now properly play back animated SVT. Fixed warped looking artifact when raymarching non-cubic SVT volumes. Fixed SVT cooking not working. Slightly restructured and cleaned up SparseVolumeTexture.cpp and SparseVolumeTextureOpenVDBUtility.cpp. Also refactored SparseVolumeTextureFactory to share as much code as possible between static and animated SVT, now that they both use the same import UI.
#rb Sebastien.Hillaire
#rnx
#preflight 63cad658fa66be4cc340b00e
[CL 23843563 by tim doerries in ue5-main branch]
|
2023-01-24 21:44:51 -05:00 |
|
tim doerries
|
bf5bf6f469
|
Implemented sparse iteration when sampling the volume data from OpenVDB during import.
#rb Sebastien.Hillaire
#rnx
#preflight 63c014668f4acc7b54d3f79e
[CL 23665934 by tim doerries in ue5-main branch]
|
2023-01-12 13:06:52 -05:00 |
|
tim doerries
|
4dd6dc0c2d
|
Added second float4/PackedDataB to SparseVolumeTextures.
#rb Sebastien.Hillaire
#rnx
#preflight 63bddd32d862fdd3470c2a02
[CL 23658523 by tim doerries in ue5-main branch]
|
2023-01-11 20:56:20 -05:00 |
|
tim doerries
|
88b2dcae6b
|
Implemented support for importing additional OpenVDB grid types (multi-component Float and Double). Also refactored some related functions and added a display of all the grids present in the source file to the import dialog.
#rb Sebastien.Hillaire
#rnx
#preflight 63b6cc53592c1a9d7cf1fe65
[CL 23632643 by tim doerries in ue5-main branch]
|
2023-01-10 15:51:23 -05:00 |
|
tim doerries
|
b1de9218d4
|
Fixes for warnings in OpenVDB importer.
#rb trivial
#rnx
#preflight skip
[CL 23371199 by tim doerries in ue5-main branch]
|
2022-12-02 06:59:27 -05:00 |
|
tim doerries
|
07c6b6526f
|
Reworked OpenVDB import dialog to allow for combining source grids into different channels of the resulting page atlas. Also now supports three different formats (32bit float, 16bit float, 8bit unorm).
#rb Sebastien.Hillaire
#rnx
#preflight 6388fa994c3ce8ae5dc059d0
[CL 23367549 by tim doerries in ue5-main branch]
|
2022-12-01 19:25:56 -05:00 |
|
tim doerries
|
ddf21a7d34
|
Fixed missing copyright boilerplate.
#rb trivial
#rnx
#preflight skip
[CL 23341491 by tim doerries in ue5-main branch]
|
2022-11-30 17:13:25 -05:00 |
|
tim doerries
|
84d2de5fbc
|
Implemented first version of OpenVDB import dialog.
#rb Sebastien.Hillaire
#rnx
#preflight 638668bdb21cdd3a266f335d
[CL 23338862 by tim doerries in ue5-main branch]
|
2022-11-30 15:06:09 -05:00 |
|