[Bf-funboard] GPU accelerated rendering

Robert Wenzlaff rwenzlaff at soylent-green.com
Fri Oct 22 03:53:31 CEST 2004


On Wednesday 20 October 2004 16:27, Konrad Haenel wrote:
> And lastly I feel the urge to quote:
>
> "I stand by what I said.  If you want Gelato (et al.), the best way to get
> it is to support the Blenderman project.  If we had a fully useable
> Renderman interface today, we'd have GPU rendering (plus about 20 other
> software renderers) _TODAY_ .  Some work on Blenderman has already been
> done."
>
> Gelato isn't free. We might have nice watermarked images with it's
> evaluation copy now, in case we own an nVIDA Quadro FX board
> (requirement). That's some downside I see.

I was only using Gelato as an example as it was one of the links posted.  Any 
time we delve into using proprietary hardware (as all gfx cards are) we have 
to deal with proprietary code.  The drivers are supplied free, as the cards 
aren't worth squat without them, but it's proprietary code.  I'll bet that 
since nVidia _is_ selling Gelato, they won't be too forthcoming on the 
technical details of their cards that would allow us to do this any other 
way.   They only supply their Linux driver in a binary form just to keep 
those technical details secret.  

There is nothing in C, C++, python, or any other language, that says how to 
manuipulate the registers in any particular GFX card to achieve any 
particular effect.   There are literally  thousands of registers in some of 
these GPU's.  And the registers in Brand A aren't even remotely like the ones 
in Brand B.   If you want to do GPU assisted rendering, you either buy their 
API, or spend nearly as many man-hours reverse engineering their card as they 
spent engineering it.  Oh, and when they come out with a new card, do it all 
again.

When OpenGL accesses the features of a GPU, it does so through a library 
provided by the GPU manufacturer (or based on data provided by the GPU 
manufacturer in the rare cases they actually publish that data).   As 
applications programmers, we are 2-3 layers removed from that 
complexity/uniqueness.  Just because they look the same at this level, don't 
assume they are the same all the way down.

>From your description on how you forsee these being used, it sounds like you 
just want enhanced preview modes.  The preview modes are already done in 
OpenGL and already use as much GPU assist as your particular driver lib 
offers.  OpenGL offers methods to do more exact texture mapping and more 
accurate lighting.  If you want to code a Shift-Ctrl-Z mode that uses these, 
please do.   But that's not really what GPU assisted rendering is all about.

If you want real GPU assisted rendering, you are going to have to deal with 
nVidia's Gelato (or ATI's equivilent) at sometime.  They simply are not going 
to tell you how to program their cards.  And since you are asking their cards 
for the assist, you have to speak their language.  The OpenSource nVidia 
driver developers have been butting their heads against this for several 
years.  Their drivers are no where near as good as the nVidia provided 
binaries.

-- 
********************************************
Robert Wenzlaff  rwenzlaff at soylent-green.com



More information about the Bf-funboard mailing list