1
\$\begingroup\$

I'm dealing with hardware that uses quads as its polygonal primitive. Not triangles. A triangle can be expressed by setting 2 of the 4 equal to each other for a degenerate quad.

For the 3D engine, I'm in need of clipping for polygons outside of clip space volume in order to avoid vertex inversion and division by zero errors when performing the perspective divide.

My logic is that I first identify the primitives that intersect with the 6 planes. From there I add edges to cut the primitive. What I don't understand at this point is how to cut/add quads. Do I need to "triangulate", but for quads?

\$\endgroup\$
  • \$\begingroup\$ I can't imagine a hardware, that uses quads as the main primitive, but still has the potential for a 3d engine \$\endgroup\$ – Bálint Jul 28 '17 at 23:23
  • 2
    \$\begingroup\$ The hardware is the Sega Saturn. NV1 from Nvida used quads. \$\endgroup\$ – mrkotfw Jul 29 '17 at 0:02
  • \$\begingroup\$ You might find better answers to this on the Computer Graphics StackExchange, since a lot of modern game development platforms sweep the complexities of clipping under the hardware rug, so we don't usually have to think about it much for day-to-day gamedev tasks. ;) \$\endgroup\$ – DMGregory Jul 29 '17 at 3:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.