# Ray tracing tree

Let's suppose that we have a light source. Which of the following are correct for the tree of recursive ray-tracing (ray tree) that create when we make the colors for each pixel in the screen. Which of the following are correct:

a) if scene contains of one non-convex polyhedron (random shape and position) then we can't have a bound for the height of tree in general. (Even the camera is outside of object)

b) if scene contains of two convex polyhedrons then the height of tree can be at most 2 independent of the position of camera and the position of objects (the camera is outside two objects)

c) if scene contains of two non-convex polyhedrons (random shape and position) then we can't have a bound for the height of tree in general. (Even the camera is outside of object)

d) if scene contains of one convex polyhedron then the height of tree can be at most 1 independent of the position of camera and the position of objects (the camera is outside of object)

e) if scene contains of one non-convex polyhedron then the height of tree can be at most 1 independent of the position of camera and the position of object (the camera is outside of object)

My thoughts are the following:

if a ray R1 inserts into a convex polyhedron object from front then always leave from the back another ray R2.So for convex objects i believe that we can define a height for the tree.

if the object is non-convex then we can have multiple different rays that insert and leave in the object. Because there are parts of object that if we get a line are not all in this object. So can we define as upper bound the number of vertices (or something else) of the object as the maximum number of possible rays ?

• Neither because the question is no properly posed. If one makes the additional necessary guesswork to figure out what your assignment means, then a), c) and d). d) because if a mesh is convex, and we assume that there is no transmission, then the bounces are only in the upper hemisphere, but they will not intersect the object again because of convexity. a) because I can construct configurations with infinitely many self-intersections for a non-convex shape, and from this c) obviously follows. Jun 16 at 14:01
• I have two questions why b) is not correct ? If i have in row two convex polyhedra then why i don't have a tree with height 2? Also i don't understand why a) is correct . If someone said that i can have a bound that is at most the number of vertices , why it's wrong. In polyhedra the ray pass through object. After it is non-convex one ray will pass many times . Jun 16 at 14:56
• For example in this image (erich.realtimerendering.com/ptinpoly/fig1.gif) we'll have R1,R2,R3. Jun 16 at 15:03
• We seem to have a misunderstanding. Your question suggests you are doing some form of ray-tracing with bounces. What does the linked image have to do with your question? Then again, there are still not enough details in the question, so maybe you can elaborate. b) isn't correct because you can pick a ray angle that results in infinitely many bounces between two surfaces. I already explained why a) is correct, but maybe I didn't understand your question to begin with. Jun 16 at 15:13
• Look the pages 47-49 / 92. www3.cs.stonybrook.edu/~cse328/2021-lecture-notes/… Jun 16 at 15:28