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] ]
[EMAIL PROTECTED]
[Lead Programmer][Interreality Project][Virtual Reality for the
Internet]
[ VOS: Next Generation Internet Communication][ http://
interreality.org ]
[ http://interreality.org/~tetron ][ pgpkey: pgpkeys.mit.edu
18C21DF7 ]
_______________________________________________
vos-d mailing list
[email protected]
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d