performance - Raytracer - What are the standard approaches for finding the the next ray intersection point and what are their pros and cons -


i not asking how compute intersection point of ray specific primitive, asking current approaches determining possible of millions of primitives in scene next 1 ray intersects.

i have heard octtrees , kd-trees commmonly used. don't know whether there other methods current contenders.

if octrees used, 1 allow each cube keep track of whether of 8 subcubes intersects goemetry? don't no corresponding branch , each subcube gets branch. 1 descends down tree until 1 finds final node gives limited number of primitives intersects? if 1 builds such octree 1 can trace rays moving one's ray starting point through cubes descending in each point 1 can either verify ray meets no geometry in cube or descend point 1 can check against small number of primitives (which ray might miss, requiring 1 move on next cube)?

anyway, question of how 1 finds next intersection looks huge performance factor top approaches , pros , cons?

this large topic. can find information on tis website www.scratchapixel.com. @ lesson on acceleration techniques. ray tracing slow (computers actually), doing naive ray-triangle intersection tests in test triangles of scene, becomes prohibitively expensive. leverage problem can use acceleration structures , mentioned techniques in post (octrees, k-d trees). performance of 1 vs other subjective, depends on implementation, need for, etc. both bvh , k-d trees considered good. can find papers on web in authors reviews different type of acceleration structures, pros , cons, etc. such acceleration structure survey. trend these days techniques acceleration structures not stored in memory created on fly rays cast.


Comments

Popular posts from this blog

How to remove text and logo OR add Overflow on Android ActionBar using AppCompat on API 8? -

html - How to style widget with post count different than without post count -

url rewriting - How to redirect a http POST with urlrewritefilter -