4 ms·
(I do geometry but I'm not in the gaming field) I'd guess that this is because the fastest way to compute a precise silhouette of an arbitrary shape (like quad
by haldean 9y ago
(I do geometry but I'm not in the gaming field)
I'd guess that this is because the fastest way to compute a precise silhouette of an arbitrary shape (like quadratic surfaces) is to do a ray test for every pixel that might hit the surface. You could project the surface onto the image plane to get boundary curves, but (a) determining the curves that make up that silhouette is a complicated geometric process that's prone to numerical error in weird edge cases (of which there are lots) and (b) once you have the projected curves, you still have to actually shade the interior, which require you to project back onto the original surface to figure out the normal, texture, etc. At that point, you're essentially doing little ray tests for each pixel anyway, so why not just raytrace the whole thing? The global illumination approximation is much much better with raytracing, and modern GPUs can do it real-time.
By the way, modelling everything as an analytic surface rather than as a discretized polygon mesh is called "Boundary Representation" or b-rep, and it's what's used in solid CAD programs that engineers use, like Solidworks or Inventor. Engineers and designers like analytic surfaces because they have "infinite" resolution, but even those CAD programs almost invariably polygonalize b-rep to a mesh and then render the mesh, because it's expensive to hit-test all the surfaces involved; computers only recently became able to do that fast enough for real time interaction, and most CAD programs are old old old.
- electricslpnsld 9y ago> By the way, modelling everything as an analytic surface rather than as a discretized polygon mesh is called "Boundary Representation" or b-rep I thought that was iso-geometric analysis? What is the difference?
- haldean 9y agoIsogeometric analysis is a means of doing finite element analysis over boundary representation models; FEA is used to physically simulate materials, and usually requires a polyhedral mesh (a mesh where the elements are 3D, instead of the "normal" kind where the elements are 2D polygons). IGA is a way to skip conversion of your b-rep to a mesh while doing that sort of simulation.