[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/vr/ - Retro Games

Search:


View post   

>> No.3839596 [View]
File: 5 KB, 320x108, index.jpg [View same] [iqdb] [saucenao] [google]
3839596

>>3838029
Real time graphics on retro systems (and most modern engines) exclusively render surfaces. The easiest surfaces to mathematically describe are planes. Curved surfaces are more complicated to describe, Bézier and NURBS surfaces being some of the most popular methods, but curves can also be drawn by breaking them up into small pieces approximated by planes. In this way, fast 3D graphics really boils down to being able to draw a planar surface primitive (and perhaps a line and point primitive).

In 3D, the minimum number of points needed to constrain a plane is 3. Any fewer points and a surface is no longer fully constrained (for instance, two points is fit by set of planes that can be spun around on the axis that is the line intersecting both points). More than three points can be used to specify a plane in 3D, however this specification is "overconstrained", meaning that either their must be redundancy in the specification of the plane, or the equations trying to describe the plane are inconsistent and no plane exists. In the case of quads, there are 4 points, and you don't have to know a lot of math to convince yourself that there are configurations of 4 points in which you can't draw a plane through.

So why do non coplanar points this matter? Shouldn't you be able to draw some sort of surface? Isn't there a fast and mathematically unambiguous way to do this? Since interpolation is a "filling in data where you don't have it" problem, the answer is there is no unambiguous way. Moreover, something like a minimal area surface (laplacian = second order derivatives) is computationally expensive to compute. Thus you are left with approximating the surface, for instance, with triangles! But even this presents issues (see the image I stole from somewhere). Once again, how to exactly go about drawing the badly behaved quad is not unambiguous, and thus depends on implementation.

Triangles suffer none of these issues.

Navigation
View posts[+24][+48][+96]