[Bf-committers] Compositing View Port Proposal

Jason Wilkins jason.a.wilkins at gmail.com
Tue Mar 27 22:58:06 CEST 2012

This year I am considering proposing a new viewport for Blender as a
Summer of Code project.

Name is subject to change.  I've already had one person think that I
want to preview compositing nodes in the view port.  That is not my

This email is to solicit some feedback so that I can write a good
proposal or change my focus and propose something else.

The problems as I currently see them:

* The current view port rendering code in Blender is a mess.

* Extending the view port has to be done ad hoc and is even
recommended against due to its complexity

* Taking advantage of modern opengl features might be especially
difficult.  These include:
- pixel buffers
- floating point or HDR formats
- depth textures

Parts of a possible proposal:

* re-factor all view port drawing operations into a set of composable commands
* enable rendering to pixel buffers
* compose pixel buffers using GLSL and/or blending operations
* new view port modes can be written as scripts, like Render Monkey or
DirectX Effect format (or even Quake 3 if you wanna go back that far)
* re-enable all current view port modes as just simple scripts in the new system
* create new view port modes (like Material Capture or SSAO)
* let expert users create their own custom viewports
* the ability to control view port script parameters using RNA, i.e.,
automatically add controls to the UI

I am not proposing doing anything with the GLSL code generator that is
used for materials.

I have not looked into how this integrates with the different view
port drawing modes (triple, etc.)

I am concerned that PBVH drawing in 'partial redraw' mode may be more
difficult to integrate, or not.

Cursor rendering probably is not affected.

I discussed this briefly with Ton, he had some ideas about glowing
outlines around objects.  That kind of feature would be possible.
Part of my proposal could include a set of example view ports scripts
like that to get the expert users started.

I'd like to really focus this year on a single goal with an easily
defined deliverable.

More information about the Bf-committers mailing list