[Soc-2012-dev] Viewport FX - Week 01

Jason Wilkins jason.a.wilkins at gmail.com
Sat May 26 10:43:41 CEST 2012


Created the first part of an OpenGL compatibility layer: gpuImmediate

gpuImmediate is meant to be a simple and direct replacement for
glBegin/glEnd style programming.  The goal is to reduce the work
required to port this style of code in cases where what is being drawn
is so simple and small that the effort to convert it to a direct
vertex array rendering style would be costly in developer time and
regressions.

glBegin/glEnd is inefficient for large amounts of geometry, but it has
been highly tuned by the graphics card vendors to be about as good as
it can possibly be.  I am not yet able to match the performance.  The
only place I think this will matter however is in the text editor,
which I was forced to rewrite some parts of, because it sent each
character to the GL one. at. a. time.  Eventually I think it would be
better to revisit the text editor by somebody interested in making it
better generally, for now I just wanted to make sure I did not make it
slower (it became unusable).

Next week I hope to convert everything that uses GL immediate mode to
use the new interface.  Also, I will be centralizing much of what
would be considered GL utility functions in various parts of Blender
into a central location to reduce duplication (for example there are 3
different chunks of code that draw "unit cubes" and countless "draw a
single line" routines.

I'm keeping a day by day development diary here:
http://wiki.blender.org/index.php/Viewport_FX_Design_Diary


More information about the Soc-2012-dev mailing list