[Soc-2007-dev] Friday Status Report

Aaron Moore two.a.ron at gmail.com
Sat Aug 11 05:46:41 CEST 2007


Hi,

I spent this entire week working on one problem: the internal
renderer. It wasn't working and it was incredibly difficult for me to
track down the problem.  The problem was that the render database is
pretty big and figuring out exactly which piece of data is causing the
error proved difficult. I ended up creating a map of all the function
calls in the old and new internal renderer / pipeline, from the
beginning of the convert to the calling of the diffuse and specular
shaders. Then I worked backwards through the system from the drawing
of the buffers to the database inputs working out the dependencies.
Finally I used these two maps to work out what was wrong: the end of
this process was a couple hours ago.

I currently have correct buffers saving and drawing for blender
internal, and since the buffer saving / drawing function is an API
function, it's only a matter of writing the axis plugin better to get
the same functionality for aqsis.

Needless to say, I didn't get a lot of the additional work I done that
I wanted to this week, but seeing tangible results is very motivating,
and I think development will proceed quickly from here. We'll see
where I am by Sunday, but I'm feeling optimistic about things for the
first time in quite a while. I think I'm done with what seems to be
the most difficult part of the project: making blender internal work
via the API. There is a lot of cleanup and additions to be made to the
API / blender internal system but it works now.


Next Week.

Tonight I will email the blender developers mailing list about writing
plugins. I could continue to develop the current aqsis plugin, but it
has already been mentioned that the aqsis programmers would do a much
better job, and furthermore, there's no reason why programmers who
work with other renderers shouldn't try out creating their plugins for
others as well. The current aqsis plugin is an example of how to use
the functions for reference, even if it isn't very useful in terms of
a final, complete aqsis plugin.

Also, this would allow me to get feedback on how people find using the
API. One of the principles of API design is write to it early and
often: I've done that some with the renderman example, the aqsis RIB
exporter, and the internal renderer, but having more than just my
opinion would be very helpful. I'll post on the wiki about the state
of the current functions in RenderAPI.h and basically how to write a
plugin.

Saturday: Designing supplements to the current API based on the needs
of both the internal renderer and aqsis, code these supplements, and
add them to the internal renderer. Render settings, camera settings,
light settings, and world settings, and perhaps a few other things.
I'll also fix the lack of osa for internal.

Sunday: There are some issues with the plugin API - render API
integration that I would like to work out. mfoxdogg had a bug for me
that I've still not redressed. I'll also add storage of data that
persists between callback calls. Also, fix the aqsis plugin's
transformation problems. I will also begin designing the rest of the
geometry functions. I will have a draft of the mesh based ones
(subsurfs, particles), and nurbs on the wiki.

After the meeting I would like to discuss sending of intermediate
passes and statistics with someone, Ton or Brecht most likely.
Intermediate passes are, for example motion blur passes or environment
map passes. Shadow map passes could conceivably be passed as well.
This is currently done by the internal renderer, so it needs to be
able to be done with the render API. Second, render statistics need to
happen through the API as well. I'd just like to let people tell me
opinions about this before launching into designing it. I'd like to
implement statistic sending and drawing by the end of the week.

Moday: I'll code subsurfs and particles. I'll have a draft of the rest
of the geometry up on the wiki: curves and metaballs.

Tuesday & Wednesday: I'll code curves and metaballs.

Thursday & Friday: I'll add the new geometry to the internal renderer.

In short, I plan to finish coding geometry, and bring the internal
render / API as much up to speed with where the non-API version is as
the API permits.


Aaron


More information about the Soc-2007-dev mailing list