POV-Ray : Newsgroups : povray.programming : first colum and last row active?? : Re: first colum and last row active?? Server Time
23 Apr 2024 05:33:40 EDT (-0400)
  Re: first colum and last row active??  
From: Le Forgeron
Date: 27 Feb 2011 08:51:04
Message: <4d6a56c8$1@news.povray.org>
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

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.