POV-Ray : Newsgroups : povray.programming : where to start? : Re: where to start? Server Time
18 Apr 2024 09:14:52 EDT (-0400)
  Re: where to start?  
From: clipka
Date: 2 Jun 2010 06:36:20
Message: <4c063424$1@news.povray.org>
Am 02.06.2010 12:07, schrieb jazzman:
> Hello programmers!
> I am a programming student and would like to think of an efficient way of
> splitting the Ray-Tracing problem to multiple threads.
> According to my understanding, the current development version of POV-Ray is
> working on doing this.
>
> My question is:
> Where can I get information about the algorithm POV-Ray is using?
> Can someone refer me to a specific file in the "source" directory of the source
> code which is responsible for the top-level ray-tracing?

I would suggest diving into it at "TraceTask::Run()", in the file 
"source/backend/render/tracetask.cpp". This is the method run for every 
rendering thread.

Concentrate on the simplest case, "tracingMethod=0" (no anti-aliasing) 
with "previewSize=0" (no mosaic preview), i.e. 
"TraceTask::SimpleSamplingM0()".

The basic idea behind the code is to repeatedly retrieve a work package 
(a rectangular chunk of the image) from a dispatcher 
("GetViewData()->GetNextRectangle(...)"), render it pixel by pixel, and 
retrieve the next work package - until the dispatcher has no more work 
to do.


Post a reply to this message

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