Issue with sparse_voxels Z-buffer
See original GitHub issue-
K3D version: 2.14.5
-
Python version: Python 3.95
-
Operating System: Windows
-
Using WebGL / GPU accelarated view
Description
Z buffering seems to fail on some near cubes in this sample.
What I Did
` import k3d import numpy as np N = 111220
sparse_voxels = np.random.randint(0, 1115, size=(N, 4), dtype=np.uint16) sparse_voxels[:, 3] = np.random.randint(1, 5, size=(N,))
plot = k3d.plot(grid_visible = False) obj = k3d.sparse_voxels(sparse_voxels, [300, 300, 300], compression_level=1, outlines=False) plot += obj plot.display() `
Issue Analytics
- State:
- Created a year ago
- Comments:8
Top Results From Across the Web
Efficient Sparse Voxel Octrees – Analysis, Extensions, and ...
The main problem with deforming voxel data is that voxels can- not be easily moved from one place to another. Because of this,...
Read more >High Resolution Sparse Voxel DAGs
The standard approach to rendering in real-time computer graphics is to rasterize a stream of triangles and evaluate primary visibility using a depth-buffer....
Read more >Efficient Ray Tracing of Sparse Voxel Octrees on an FPGA
Ray tracing of sparse voxel octrees is a method of rendering images of 3D models, which could soon become practical for use in...
Read more >Sparse voxel octree - Wikipedia
A sparse voxel octree (SVO) is a 3D computer graphics rendering technique using a raycasting or sometimes a ray tracing approach into an...
Read more >Real-Time Rendering of Continuous Levels of Detail ... - CORE
In this paper, we present a novel approach to real-time, continuous and symmetrical level of detail (LOD) man- agement of a 3D object...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Thanks @CoenHordijk !
So it is problem with https://en.wikipedia.org/wiki/Order-independent_transparency . It is not easy problem in computer graphics. Three.js that k3d depends on have no support to that.
There are some techniques to solve that like depth peels. I have that feature in beta stage. But even when we will release it it won’t be enable by default because add extra overhead to rendering. So that will be decision of user to add:
plot.depth_peels = 8
opacity = 1 is fine indeed