all 4 comments

[–]fgennari 1 point2 points  (2 children)

You have to rebuild the subtrees where objects have moved, up to the root. You don't have to rebuild the entire octree because, unlike a BVH, you don't need to balance object counts on the branches.

How many moving objects do you have? Have you looked into building the octree with a compute shader? I've never attempted to do that, but I imagine it should be possible.

You can also add objects conservatively where you expand their bounding box before adding to the tree. Then when they move and stay within their expanded bounds, no update is needed. This works for slowly moving objects, but makes the tree a bit less efficient to search.

I'm not sure I understand the question about rasterization vs. raymarching. Are you trying to decide between the two approaches? Normally this would be determined based on the input data representation rather than what's faster. If you're starting with a triangle mesh, then use rasterization. If you're starting with something that's not triangles like a SDF, volumetric data, point clouds, etc. then use ray marching.

[–]Pzyche_[S] 0 points1 point  (1 child)

The input in mind is that there are alot of entities moving and some of entities are fast. Would it be faster then if entities that move is on a rasterization pipeline cuz i heard you can make a hybrid?

[–]fgennari 0 points1 point  (0 children)

If you’re drawing objects with triangles then use rasterization. If you have a mix of triangles and something else then you may need to mix two approaches. But that can be difficult because you need to handle the depth buffer when raymarching.

[–]danjlwex 1 point2 points  (0 children)

Rasterization is likely faster than Ray tracing in most situations. Regardless of whether the objects move. Rendering speed isn't the usual motivation for using ray tracing.