|
|
Le 27/02/2011 13:51, Aidy nous fit lire :
> Le_Forgeron <jgr### [at] freefr> wrote:
>> Le 26/02/2011 20:23, Aidy nous fit lire :
>>> Hiya,
>>>
>>> I'm working on a project using porvay, and am currently looking through the
>>> "Start_Adaptive_Tracing" method and inside the loop (over columns then rows)
>>> there are two for loops which are commented as setting the last row inactive and
>>> setting the first column inactive.
>>>
>>> I was just wondering what these actually do as I'm a little confused by them?
> It's the release available on the main site, so version 3.6.2, June 2009.
> The file I'm currently looking in is render.cpp in the Start_Adaptive_Tracing
> method.
> I'm getting confused at line 1535, which should be :
>
> for (xx = 0; xx < sub_pixel_size * Frame.Screen_Width + 1; xx++)
>
Remember that rendering in 3.6.2 was always from top-left corner, by
full line, left to right first.
In Adaptative tracing, the Block is 2^k subpixels, arranged as a square.
subpixels on square lines are shared between squares.
Last_Row is the storage of the subpixels from the previous line (there
is no point in computing them again).
On the same way, at the end of a block, the right side of the square
become the left side of the new square.
So far so good... but there is two caveat:
* on the first line, there is no previous line, so the .active of
Last_Row is turned to false, to avoid the usage of bogus values.
* on each start of a new line, the block must be started afresh (you
cannot reuse the right side for the new left side).
Hope this helps.
Post a reply to this message
|
|