Page 1 of 1

Rasterizing issue

PostPosted: Oct 25, 2006 @ 8:11pm
by Montellio
I read posts pointing to this article and was wondering if anyone could give me some insights about a change I'm trying to do.

The conversion from subpixel precision is made via a CEIL method ( x = x + 0xFFFF >> 16). Using this, I'm loosing many of the top and left pixels of the screen. So I've tried to use a ROUND method (x = x + 0x8000 >> 16) instead. This create huge artefacts with (almost) horizontal triangles' edge.

eg.:
Having an edge from (0,1.5) to (10,1.4) ==> m = -0.01. Rounding y makes a 1 pixel high edge from y=2 to y=1.
The rightmost x will then be computed as 10 + (ROUND(1.4)-1.4) / -0.01. That is x=40. :(

PostPosted: Oct 26, 2006 @ 6:12am
by refractor

PostPosted: Oct 26, 2006 @ 3:57pm
by Montellio
I've read this section, but it does not seems related to my problem. I don't suffer from any overflow. The result is what it should be, an extrapolation of the slope. But out of the triangle boundary... :?

The clipping should effectively return an absolute 0 (rather than current 0.000??). I was looking for some reason as to why a CEIL works fine while a ROUND blow everythings apart.

Thanks anyway.

PostPosted: Nov 17, 2006 @ 10:24am
by torus

PostPosted: Dec 1, 2006 @ 12:54am
by Montellio

PostPosted: Dec 1, 2006 @ 1:02am
by Kzinti

PostPosted: Dec 1, 2006 @ 7:46pm
by Montellio

PostPosted: Dec 1, 2006 @ 9:12pm
by Kzinti

PostPosted: Dec 15, 2006 @ 9:22pm
by Montellio