Comments (7)
On hold :)
Feel free to write a compatible viewer yourself!
Maybe hack something together with stb_voxel_render
from ooc_svo_builder.
@Forceflow Im going trough the documentation and got stuck by "morton: voxel payload" . Can you describe in simple worlds, what does this represent?
from ooc_svo_builder.
The voxel payload is additional info which is saved per voxel.
In the most simple voxel renderer, the only info you need is: "is there a voxel at this point in space or not?". Which is a binary value, and is inherently encoded in the tree: if the tree has a leaf there, there is a voxel :) If the tree doesn't have any leafs there, there are no voxels to be found - hence the tree is sparse there, which is the whole point of using a Sparse Voxel Octree.
Now, you might want to render some more interesting stuff. In my pipeline, I allow for a color (float32 R, float32 G, float32 B) and a normal (float32 X, float32 Y, float32 Z) to be stored in a node as well, which should be seen as " a color and a normal value representative of this voxel".
In this example, the payload (= data you store per voxel) also contains a morton code, which is a number which encodes the X, Y, Z position of the voxel in one 64-bit number.
So the total "voxel payload" = "data I want to store for every voxel of filled space" is:
- 64 bit morton code
- 32 bit + 32 bit + 32 bit color
- 32 bit + 32 bit + 32 bit normal
(Note that this is a horribly wasteful way of storing data, and the color and normal info could be reliably packed into one 32 bit value each, without losing too much precision)
from ooc_svo_builder.
Ok
from ooc_svo_builder.
Good luck :)
from ooc_svo_builder.
@Forceflow ok, but what the point of packing the coords into morton code? Is it much smaller?
from ooc_svo_builder.
The morton code at this point, if I recall correctly, is redundant and just for my own reference (I was working on some wild ideas back then). You can deduce the voxel's coordinates from its location in the tree as well.
from ooc_svo_builder.
Related Issues (16)
- .obj files without normals crash the converter HOT 1
- Partitioning data into 1 partition does unnecessary copy HOT 1
- Lots of partitions leads to hitting file_descriptor limit HOT 1
- CmakeFile doesn't work for linux HOT 1
- 32bits support? HOT 1
- Partition Morton Code Range Swapped In Dimensions HOT 1
- findFirstSetBit functions in libmorton don't compile HOT 1
- OctreeBuilder::addVoxel(const uint64_t morton_number) fails HOT 2
- voxelize_schwarz_method fails for multi partition HOT 2
- OctreeBuilder::finalizeTree() fails HOT 8
- Octree renderer request HOT 1
- Wrong constants in bitshift HOT 2
- cannot bind non-const lvalue reference of type βuint_fast32_t&... HOT 3
- Question - positions of intermediate voxels HOT 2
- Question - why is octreedata needed HOT 1
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 ooc_svo_builder.