Tesseract Gpu Processing
/ DEMO /
GPU Objects with Collision and Physics
A framework for developing Stream apps through
A "Schema Shader" is emulated in software to batch process
calculations on large (65,536) groups of objects. These objects can be
rendered with light-weight models like triangles and drawn efficiently.
We implement a simple instruction set in HLSL code which are
combined end-to-end to create instruction phrases which can be mapped to
Data is stored in a stack of textures, with each texture
representing a single traditional CPU variable and N objects, as defined by the
size of the texture.
The processor uses multiple passes to run shader
instructions against textures. When the processor runs an instructions
sequentially, which creates a low-level process stream. This allows us to map functions from OOP code into a Stream
We have implemented standard force-based physics equations
as an example of the processor. Fleshing out the collision model is all
that is neccessary to complete a model.
This is significant, as this moves both draw and physics
update cycles to the GPU. It frees the CPU-GPU bridge interface from
data-stream updates, opening up bandwith to use for CPU messages and control
signals used to manipulate the objects. In effect, a GPU persistant world
with remote controls.
Object Oriented Approach to GPU Programming
Summary of theoretical work prior to prototype implementation.
Background Research Summary
GLSL Primer - Intro to GLSL with simple
example and resources.
GPU Footprint - Justification for GPU
VertexProcessing - Using the vertex
processor to do interesting things.
These are unedited videos from various stages of development.
Higher numbered files contain more recent footage.
We are currently working a more published video montage, however, we wanted to
show off some raw footage in the mean time.