Just got back from SIGGRAPH a couple days ago.

This year's unofficial technical theme was "the year of general  
purpose computing on GPUs (GPGPUs)".  This got me thinking about how  
the CPU controlling the GPU is  like a server and client  
communicating over a network.  Just like giving the user a high  
quality, low latency experience means moving computation to the  
client, getting better graphics performance means moving computation  
to the GPU.  What is interesting is that the programming model for  
GPUs is relatively standardized, and is based on functional  
programming principals that avoid side effects (which is what makes  
massive parallelism possible.)  They define transformations of some  
input data to some output data.

So my idea is that in VOS, one could associate a property value with  
a "property shader" which defined a transformation of that data.   
This could include typical graphics functions (vertex shaders,  
fragment shaders) but also be applied further up the graphics  
pipeline, for example to interpolate the world position of a moving  
character based on the last know position and some time step, or  
render effects like speech bubbles.  The latter case is interesting  
because it splits up the event into a semantic part (the text message  
being communicating) and a presentation part (the shader that draws it).

The interesting thing about GPUs that I didn't realize until last  
week is that they have been abstracted behind a virtual machine  
model; this means moving shader programs around the network in source  
or bytecode form is realistic since it will be compiled to the native  
architecture on the fly.  The upcoming OpenCL ("Open Compute Library"  
or "Open Computing Language") is interesting since it's an attempt to  
standardize the CPU/GPU interface backed by the Khronos group (the  
same people that maintain the OpenGL spec.)

All that said, VOS is pretty far away from actually trying out these  
ideas, but I wanted to throw the idea out there.

[ Peter Amstutz ][ [EMAIL PROTECTED] ] 
[Lead Programmer][Interreality Project][Virtual Reality for the  
[ VOS: Next Generation Internet Communication][ http:// 
interreality.org ]
[ http://interreality.org/~tetron ][ pgpkey:  pgpkeys.mit.edu   
18C21DF7 ]

vos-d mailing list

Reply via email to