[Soc-2009-dev] Raytrace api

Brecht Van Lommel brecht at blender.org
Sun Jun 28 17:28:49 CEST 2009


> ==Next Week==
> *add counters/statistics on render code and look on metadata/stamp export
> *get other machine ready to run tests
> *gather more scenes

I don't think this is a very efficient way to spend your time for a 
whole week? There's been a few scenes proposed, and for other corner 
cases just throw together some objects. Gathering scenes should be one 
day of work at most.

I would not spend too much time setting such counters, just print 
stuff to the console and parse it with python if you need to, that is 
only a few lines of code. Going through image metadata is too much 
work in my opinion, what's the point of that if you already have an 
easier way to do it?

> ==Questions==
> =1=
> I am getting lost on the render pipeline (or at least losing time on 
> reading it), can anyone give me clues on:
> *Where should I export counters from raytree build and from each 
> raytrace call?
> *Where does the shading code starts (and in what way can I better 
> isolate raytrace and raytree creation time from the other processing time)?

Ray tracing time should be easy to isolate, there's only a few 
functions, put the counters in the ray tracer functions? The ray tree 
struct can contain the variables you need. No need to isolate the 
shading code I think, also because that's fairly complicated to do anyway.

> *Where can I merge counters from each thread?

For each counter, make it an array like int 
counter[BLENDER_MAX_THREADS]; in the ray tree struct. Use shi->thread 
to pick the right one, then when you free the ray tree they can be 
merged, and printed to the console.


More information about the Soc-2009-dev mailing list