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

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

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

javascript - storing input from prompt in array and displaying the array -