Lecture 9: Ray Tracing & Acceleration Structures (22)
rcorona
Are there cases in geometric modeling where one would want to use implicitly defined surfaces instead of a triangle mesh? I imagine that for very round objects, it might take much less memory to store the implicit function instead of all the triangles in a mesh approximating it.
I thought it was pretty interesting that you could render any surface with ray tracing assuming you have its implicit function, but it also seems like coming up with the implicit function for anything more complicated than simple geometric objects would be quite difficult?
Edge7481
If there's applications for ray intersection with implicit surfaces I do wonder if you can also do ray intersection on bezier surfaces directly
sebzhao
Apparently implicit surfaces can be useful for soft or organic material. Here's an article with more info https://paulbourke.net/geometry/implicitsurf/
weinatalie
Assuming that implicit surfaces would be stored as triangle meshes by the computer regardless, I can see how equations would probably pose a far lighter computational load than testing if the ray intersects with every single triangle in the mesh. With that said, would it be possible to compute how rays intersect with a model by decomposing the model into implicit surfaces or something similar? Or would this approach be unfeasible for models with a lot of complex curves and edges?
buggy213
turning a triangulated mesh into one defined by implicit surfaces sounds like a difficult inverse problem. one interesting reason why tracing triangles is preferred is due to the particularities of the hardware used for raytracing: on gpus, the fixed function raytracing cores are specifically implementing ray triangle intersections, and if you want to use compute cores (i.e. CUDA/OpenCL) to do raytracing then supporting many different types of meshes / shaders can lead to serious issues of thread divergence without some clever machinery
508312
Are implicit surfaces actually used when rendering, to me it seems that the numbers of object you can model with them is quite limited and using triangles is slower but more versitile
Are there cases in geometric modeling where one would want to use implicitly defined surfaces instead of a triangle mesh? I imagine that for very round objects, it might take much less memory to store the implicit function instead of all the triangles in a mesh approximating it.
I thought it was pretty interesting that you could render any surface with ray tracing assuming you have its implicit function, but it also seems like coming up with the implicit function for anything more complicated than simple geometric objects would be quite difficult?
If there's applications for ray intersection with implicit surfaces I do wonder if you can also do ray intersection on bezier surfaces directly
Apparently implicit surfaces can be useful for soft or organic material. Here's an article with more info https://paulbourke.net/geometry/implicitsurf/
Assuming that implicit surfaces would be stored as triangle meshes by the computer regardless, I can see how equations would probably pose a far lighter computational load than testing if the ray intersects with every single triangle in the mesh. With that said, would it be possible to compute how rays intersect with a model by decomposing the model into implicit surfaces or something similar? Or would this approach be unfeasible for models with a lot of complex curves and edges?
turning a triangulated mesh into one defined by implicit surfaces sounds like a difficult inverse problem. one interesting reason why tracing triangles is preferred is due to the particularities of the hardware used for raytracing: on gpus, the fixed function raytracing cores are specifically implementing ray triangle intersections, and if you want to use compute cores (i.e. CUDA/OpenCL) to do raytracing then supporting many different types of meshes / shaders can lead to serious issues of thread divergence without some clever machinery
Are implicit surfaces actually used when rendering, to me it seems that the numbers of object you can model with them is quite limited and using triangles is slower but more versitile