How to Cull a Polygon in WindowSpace?

26 Views Asked by At

I'm writing a Software Renderer.

I need to cull a Polygon in Window Space.

For a Triangle the algorithm is:

function v3dPolyBackface(p: v3dPoly): boolean; 
var 
   ax, ay, bx, by, cz : longint;
begin
 ax:= p.v[0].prjX - p.v[1].prjX;
 ay:= p.v[0].prjY - p.v[1].prjY;
 bx:= p.v[0].prjX - p.v[2].prjX;
 by:= p.v[0].prjY - p.v[2].prjY;

 cz:= (ax * by - ay * bx) div 2;

 if cz >= 0 then
     result:= true else result:= false;
 end;

how to cull a N-Pon?

Culling an Arbitrary Triangle out of a Polygon results sometimes to errors.

0

There are 0 best solutions below