Questions tagged [data-structure]

31 questions
15
votes
1 answer

Difference between BVH and Octree/K-d trees

So I'm currently reading up on acceleration data structures and so far I've heard there are 2 main schemes. Object Subdivision and Spatial Subdivision. The Bounding Volume Hierarchy belongs to the Object Subdivision approach and K-d/Octree belong to…
gallickgunner
  • 2,353
  • 1
  • 10
  • 32
12
votes
1 answer

What is the benefit of using Half Edge over Winged Edge?

For mesh representation, what is the benefit of using Half Edge over Winged Edge data structure? I understand both mesh representations, the only difference is that half edge uses directional edge and winged edge uses undirectional edge. So far, I…
Bla...
  • 451
  • 4
  • 12
10
votes
0 answers

How to describe the bi-directional links for the Weiler-Atherton algorithm?

My postscript interpreter currently implements the Hodgeman-Sutherland clipping algorithm but this is limited to simpler shapes and doesn't have a provision for utilizing various winding-number rules. So it doesn't help me to implement even-odd…
luser droog
  • 1,328
  • 2
  • 12
  • 27
9
votes
2 answers

Why are oct trees so much more common than hash tables?

When reading papers I commonly find Oct tree implementations of geometry representations to sort the data. However whenever I think about the problem hash tables seem better overall. Hash tables have a better average and worse case scenarios for…
Makogan
  • 1,584
  • 8
  • 27
8
votes
1 answer

What is the definition of a Half Edge?

I ran into half-edges as part of the result of a Delaunay Triangulation library, but can't find an actual definition of what one is. I understand vertices, edges and faces, but can't find a concrete definition of a half-edge.
Mark A. Ropper
  • 287
  • 2
  • 6
8
votes
1 answer

The meaning of early ray termination and front-to-back traversal in ray tracing

I'm new to computer graphics. These days I've been trying to understand how ray tracing using an acceleration data structure works. I came across the term "early ray termination" several times, I looked it over the internet several times too, but I…
S.E.K.
  • 141
  • 1
  • 5
5
votes
1 answer

Why sending data from gpu to cpu is slower than cpu to gpu?

Why sending data from gpu to cpu is slower than cpu to gpu? I heard the relation is similar to network situation, in detail, the upload is slower than download. However, I could not understand the meaning. In my opinion, the sending operation…
shashack
  • 523
  • 4
  • 13
5
votes
2 answers

Is it possible to store the plain buffer data in gltf files?

The GL Transmission Format comes along with a JSON styled main file which basicly describes the scene and binary files which contain the buffers. I'm currently writing a WebGL library and I need to work alot with the vertex and index buffers. So,…
q9f
  • 703
  • 1
  • 8
  • 22
4
votes
2 answers

Are there any gltf example datasets available?

I'm currently researching my options on effeciently exchanging data for a webgl application. I understand the gltf format is still being drafted but I need some example data to understand whether this format is really useful for my application. I'm…
q9f
  • 703
  • 1
  • 8
  • 22
4
votes
1 answer

Data structure and algorithm for clipping triangulation with leaf nodes of an octree

I have an application in which I am using an octree to store a volume mesh of axis-aligned bounding boxes (AABBs). Given a water-tight manifold triangle mesh, I need to: find if an AABB is intersected by or completely inside/outside of the surface…
gnzlbg
  • 141
  • 3
4
votes
2 answers

How to generate binary gltf array buffers?

I'm looking for any way which enables me to quickly generate gltf files including the conversion of plain array buffers (vertex, index, color, etc.) into binary (bgltf, glb, bin) files. I'm asking because it currently looks like there are only high…
q9f
  • 703
  • 1
  • 8
  • 22
4
votes
1 answer

Which provides better intuition: THREE.Geometry or THREE.BufferGeometry?

THREE.js recently dropped support for THREE.Geometry in favor of exclusively THREE.BufferGeometry. I'm trying to decide which paradigm to teach in my computer graphics course to best provide students with an intuition for the field (I don't mind…
TomKern
  • 251
  • 1
  • 4
3
votes
1 answer

Compute shader textures compared 2D float4 arrays

I am wondering is there a difference in performance between using floating point textures as my 2D float4 array vs just passing in 2D float4 arrays? 2D float arrays eliminate the need to do texture look ups to get the colour value, but i am not…
3
votes
0 answers

What techniques are used to build ray intersection acceleration structures on the GPU?

What improvements and alternatives have been developed since HLBVH was introduced in the 2010 paper HLBVH: Hierarcihcal LBVH Construction for Real-Time Ray Tracing of Dynamic Geometry by J. Pantaleoni and D. Luebke?
3
votes
3 answers

Dealing with wasted space when using SIMD on CPU for vector maths

I've been getting interested in SIMD programming on CPU using SSE recently, but I'm a complete noob on the subject. I found this article describing how to make an efficient float3 type using the recent __vectorcall convention, and it made me wonder…
russ
  • 2,332
  • 8
  • 17
1
2 3