Comments (6)
Have you set your voxel size to be very low by any chance? (Like 0.001 units?) You might have some luck if you set a unit (1.0) voxel size and increase the size of your model proportionally. I think this may have to do with single precision / rounding limitations.
In any case, this problem exists on all hardware I've tested so I don't think it's unique to your card.
from gvdb-voxels.
Confirm that UpdateApron is being called after the voxelization func.
from gvdb-voxels.
Same here. Just run the pre-compiled g3DPrint.exe. There are gaps at brick boundaries. UpdateApron is called and apron voxels are updated properly. GTX 850M. All samples are affected by the same issue if you check carefully.
Not sure this is related. In rayDeepBrick(), val.w is initialized to 0. The "skip empty voxels" block will step once anyway because val.w is not checked after transfer(). The check against SCN_MINVAL is put in for-loop condition. So the first non-empty voxel in a brick is always skipped and cause some gaps. But this only affects volume rendering.. It's not related to voxel/surface rendering in the issue..
Additinally, there are gaps at brick boundaries if the voxel size is not uniform (voxelSize.x != voxelSize.y || voxelSize.y != voxelSize.z). In rayDeepBrick(), dir is world space direction but p is index space position. If voxel size is not uniform, dir in world space can't be used to march the ray in index space..
from gvdb-voxels.
Additionally, the last step in a brick does not terminate at the brick boundary. In most casts, the last point falls out of a brick. In the neighbor brick, gvdb should add the length from the last brick boundary to the last point. Because the transmittance is always computed using SCN_PSTEP. Actually, the first step in the next neighbor brick is smaller than one step if gvdb doesn't add it..
For better appearance, it would be nice to add some jittering..
from gvdb-voxels.
One more thing. the alpha in gvdbRayDeep() is not correct. If the ray hits nothing, the final alpha is 1.0 if background color is 0,0,0,0
from gvdb-voxels.
Check out the latest GVDB Voxels 1.1 release where this should be resolved.
from gvdb-voxels.
Related Issues (20)
- CMake Error at source/gvdb_library/CMakeLists.txt:225 (target_link_libraries): The "optimized" argument must be followed by a library. HOT 2
- GVDB CUDA ERROR: the provided PTX was compiled with an unsupported toolchain HOT 2
- Error Buiding OpenVDB Samples HOT 1
- Hardware Requirement HOT 2
- Missing case for T_FLOAT4 in AllocateTextureGPU
- GVDB CUDA ERROR with T_UCHAR channel in UpdateAtlas() -> Allocator::AllocateTextureGPU
- Which commit/version of NanoVDB should I use? HOT 5
- UpdatePolygons OptixScene not working
- Error thrown in RebuildTopology()
- How to add and display multiple models to a scene?
- Error when run the samples
- nanovdb has no member "mOffset" and "childID" , what version nanovdb is needed?
- How to load multiple vdb?
- compilation errors in gvdb_cutils.cu with CUDA 12 HOT 1
- compilation errors in gvdb_cutils.cu with CUDA 12 HOT 1
- How to manage the format of source codes, since the .clang-format file is NOT offered?
- NOT FOUND. GVDB Ptx/Glsl. (ptx or glsl missing) HOT 1
- Allocate bricks for negative values in the world space
- VolumeGVDB::RenderKernel ERROR: an illegal memory access was encountered
- PTX JIT compilation failed
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gvdb-voxels.