Lecture 9: Intro to Ray-Tracing & Accelerating Ray-Scene Intersection (29)
Sicheng-Pan
Maybe we can reuse the calculations for repetitive objects (e.g. grass) in the scene if the light source is very far away (e.g. the sun)
wangdotjason
Would an analog computer be practical in computing these rays more quickly and efficiently? The ray tracing algorithm has a lot of floating point arithmetic which is relatively inefficient. The inprecision of analog computers might not be an issue as long as it is close enough, although the error could compound for sufficiently deep recursive ray tracing.
egbenedict
Perhaps we could implement some kind of bounding box/prism to more easily check if a ray intersects an object. We could also then hierarchically order these bounding boxes so that if one is in front of another and the front one is not intersected, we don't need to check the one behind.
saltyminty
In lecture, it was mentioned that we could use "Sampling heuristic to cast rays in only particular directions." In a somewhat similar sense, in EECS 106A, there was a lab in which we used LIDAR scans to map out a room and generate an occupancy grid. One of the optimizations to speed up the calculations was to simply randomly skip some percentage of the LIDAR rays, which would continue working fine when we were dropping as high as 90% of rays.
lwg0320
@sicheng-Pan Can you elaborate on your idea to reuse calculations for repetitive objects? The idea seems interesting and seems plausible to implement but I don't see how it can be done?
adham-elarabawy
If it was possible to retain and reuse some computation that is a function of locality, then we could spend a lot less resources re-computing similar things for similar objects (i.e. many similar plants next to each other)
LuxuFate
@lwg0320 When the light source is extremely far from two very close together repetitive objects, their rays would be similar enough to perhaps reuse some calculations on the effects of the lighting
jonathanlu31
@LuxuFate How would that account for occlusion though? For example, if two triangles for a leaf were right next to each other, but there was an object only over one triangle, blocking it from the light source.
jierui-cell
I really like other people's interesting idea. One idea I have thought of might be to build a spatial hierarchy data structure based on uniform grids to reduce the number of intersections we need to calculate.
Maybe we can reuse the calculations for repetitive objects (e.g. grass) in the scene if the light source is very far away (e.g. the sun)
Would an analog computer be practical in computing these rays more quickly and efficiently? The ray tracing algorithm has a lot of floating point arithmetic which is relatively inefficient. The inprecision of analog computers might not be an issue as long as it is close enough, although the error could compound for sufficiently deep recursive ray tracing.
Perhaps we could implement some kind of bounding box/prism to more easily check if a ray intersects an object. We could also then hierarchically order these bounding boxes so that if one is in front of another and the front one is not intersected, we don't need to check the one behind.
In lecture, it was mentioned that we could use "Sampling heuristic to cast rays in only particular directions." In a somewhat similar sense, in EECS 106A, there was a lab in which we used LIDAR scans to map out a room and generate an occupancy grid. One of the optimizations to speed up the calculations was to simply randomly skip some percentage of the LIDAR rays, which would continue working fine when we were dropping as high as 90% of rays.
@sicheng-Pan Can you elaborate on your idea to reuse calculations for repetitive objects? The idea seems interesting and seems plausible to implement but I don't see how it can be done?
If it was possible to retain and reuse some computation that is a function of locality, then we could spend a lot less resources re-computing similar things for similar objects (i.e. many similar plants next to each other)
@lwg0320 When the light source is extremely far from two very close together repetitive objects, their rays would be similar enough to perhaps reuse some calculations on the effects of the lighting
@LuxuFate How would that account for occlusion though? For example, if two triangles for a leaf were right next to each other, but there was an object only over one triangle, blocking it from the light source.
I really like other people's interesting idea. One idea I have thought of might be to build a spatial hierarchy data structure based on uniform grids to reduce the number of intersections we need to calculate.