Questions tagged [octree]

An octree is a tree data structure in which each node has eight child nodes. A major application of octrees is in 3d graphics as they are the primary structure used for storing voxel (volumetric pixel) data.

Wikipedia: "An octree is a tree data structure in which each internal node has exactly eight children. Octrees are most often used to partition a three dimensional space by recursively subdividing it into eight octants. Octrees are the three-dimensional analog of quadtrees."

Relevant topics include voxels and color quantization.
For more information see http://en.wikipedia.org/wiki/Octree

148 questions
2
votes
1 answer

Next iteration in z-order curve

I am building a quadtree using the techniques described in this wikipedia article. I am storing the coordinates in an 2- or 3-dimansional array. boost::array coord; I need a method to calculate the coordinates of the next…
Smittii
  • 187
  • 1
  • 10
1
vote
1 answer

Increasing performance in Voxel Engine

As I have mentioned in a few previous posts I am creating a minecraft like engine thing. I have seperated the terrain into regions, and only the regions which are in the camera's viewing frustum are rendered. When the vertex buffers of each region…
Darestium
  • 643
  • 2
  • 11
  • 29
1
vote
1 answer

Python: Best particles self-collision / triangle collision algorithm

I'm starting to work on this particle engine for Blender in Python: http://www.youtube.com/watch?v=uoK4QV3jg58&feature=channel_video_title All data is processed by my script, Blender is just there for the visual. My problem is for now, in the video…
Jean-Francois Gallant
  • 13,583
  • 6
  • 20
  • 24
1
vote
0 answers

CGAL QuadTree build_with_custom_split based on node bounding box

Following the CGAL's example in the documentation linked below: [https://doc.cgal.org/latest/Orthtree/Orthtree_2octree_build_with_custom_split_8cpp-example.html][1] Is it possible for one to run quadtree.bbox(n) accessor inside the custom function…
Tunity
  • 141
  • 1
  • 2
  • 7
1
vote
2 answers

How to efficiently store different node types of an octree

I am struggling my way through implementing a sparse voxel octree, but I don't know how to differenciate between branch and leaf nodes effectively. One way I thought of was to downcast the Node pointers to a child class, but I fear a big performance…
noergel1
  • 35
  • 5
1
vote
2 answers

How do you actually MAKE an octree(for voxels)?

I have seen code that creates an octree, adds and remove data from them, but how does one actually build the octree? Is there 3d voxel software that will save to an array of some sort that can then be converted to an octree? or can you save directly…
user713635
  • 23
  • 5
1
vote
0 answers

How to convert octree to voxel grid with open3d?

I found to_voxel_grid from open3d documentation, however it didn't show any thing after visualization. I'm wondering if I used the function in the wrong way and how to fix it. import open3d as o3d import numpy as np N = 2000 armadillo =…
Kevin Liu
  • 23
  • 3
1
vote
1 answer

Why glTextureStorage*D functions consume so much memory ? What opengl actually do?

// test data brick class Brick { public: Brick() { data = new U32[27]; } virtual ~Brick() { delete[] data; } U32* data; }; Texture3D* OctreeMipmapper::GenerateBrickTexture() { auto ret = new Texture3D(); ret->Initialize(); …
pneuma
  • 11
  • 2
1
vote
0 answers

Get Touching components using their AABB bounding box C#

I have a problem statement. I have 1000 3d components in a cad assembly. For all 1000 components I have 3d AABB bounding box. I want to get the pair of components that are touching each other in the most efficient way. You can see the image for…
NAGA REDDY
  • 43
  • 5
1
vote
1 answer

create octree by bottom up approach in Pyspark

I have to create octree in parallel on Pyspark dataframe. and I have to use create octree with bottom up approach. i am not able to clearly understand bottom up approach. Can someone please write briefly direction? what I need to start. First I…
ariun ariun
  • 29
  • 1
  • 5
1
vote
1 answer

Ray to Octree Intersection for boolean geometry

I'm trying to do boolean geometry that I have two meshes and would like to compute the intersection between them. So I construct an octree from mesh A, and I check the vertices from mesh B against the octants, if there is an intersection, check the…
andre_lamothe
  • 2,171
  • 2
  • 41
  • 74
1
vote
0 answers

Fast Occlusion Discovery between objects in 3D data

lets assume a voxelized region (represented by Octree) where occupied voxels are objects. The number of these objects varies in a wide 3D region. Let's say the region is 200(w) by 200(l) by 10(h) and voxel resolution is 0.1. My algorithm needs to…
zlg
  • 13
  • 3
1
vote
0 answers

Tree Simple Data Manipulation

We've been tasked to create an Octree that has blue and white voxels. However, I've only been able to get the correct answers for Inputs with Level 1 and Level 2. Details: p - denotes that the large voxel still needs to be divided into octants b…
Bel
  • 45
  • 7
1
vote
1 answer

Octomap (octree) coordinates in xyx space

Given an octomap::OcTree, how can I get the cartesian coordinates of the occupied cells? double printOccupied(boost::shared_ptr octree) { // Get some octomap config data auto res = octree->getResolution(); unsigned int…
BoltzmannBrain
  • 5,082
  • 11
  • 46
  • 79
1
vote
0 answers

Dual Contouring: Refactoring a complex head-recursion octree dual traversal algorithm to be iterative

Introduction: I have successfully implemented Dual Contouring of Hermite Data by Ju et. al. Dual Contouring is an approach to contour volumetric data obtained by adaptively sampling a signed distance field using an octree. The algorithm has two…
Jacques Nel
  • 581
  • 2
  • 11