[Bf-committers] Approving the Basic Render API

Aaron Moore two.a.ron at gmail.com
Sun Jul 1 10:11:30 CEST 2007


Hi Shaul,

>  Can you please explain what the main API will be used for as opposed
> to the plug-in API?

The plugin api is used by plugin writers to register and manage their
plugins. This includes things like:
  - declaring what features the plugin supports
  - declaring the author
  - eventually, creating GUI elements

By contrast, the render api specifies which callbacks are needed for
rendering, what they have to do, and provides the input and output
mechanisms for doing it. This includes:
  - getting scene data
  - getting rasterization information
  - sending back image data

The render api can be used by more than just renderer plugins. It can
be used for hooking up the internal renderer... potentially for
gaming...

The plugin api is used by all plugin systems in blender: textures,
sequence, eventually more ;)

Also, for clarity, I am not building the plugin API, what I am doing is:
 1. building a plugin system for renderers which uses the plugin API
 2. building the render API
 3. reimplementing the blender internal convert code with the plugin API

>  Also, I've seen you are using both registered "hooks" and "query"
> function in the main API, isn't there a way to give all of the control
> to the caller and have only queries in the main API side? I always
> think of such "event driven" mechanisms as risky and since this is C
> and not C++ the whole constructor/destructor thing is not available,
> and simulating it never goes well.

I'm afraid I don't completely understand you here. I agree that
simulating constructors and destructors is a bad idea (I come from a
c++ background, so I should probably make sure I'm not doing this...).
I'm not sure what you're talking about with "hooks" and "query" could
you point out specifically where in the document you're getting this?

Aaron


More information about the Bf-committers mailing list