Saturday, December 07, 2002

TODO:

- read more on graphics-theory proper
- do one, either or all of:
1. Use the ATI 7500 in the TiBook as the basis for OpenGL development aswell as exploration of the architecture
2. get a new GPU board to use for experimentation and architecture hacking
3. Investigate homeworks 1 and 2
4. Investigate: Navier-Stokes equation and realted mathematics; SIGACT magazine

- some terms to look into: register combiners

Friday, December 06, 2002

Good Graphics Website:

http://www.realtimerendering.com

Thursday, December 05, 2002

Stable Fluid description

-The Navier-Stokes equation; advection; the gradient operator;

- One simulation step of our solver is composed of steps.
The first three steps may take the field out of the space of divergent
free fields. The last projection step ensures that the field is divergent
free after the entire simulation step.


- A non-reactive substance which is injected into the fluid will be ad-
vected by it while diffusing at the same time. Common examples of
this phenomenon include the patterns created by milk stirred in cof-
fee or the smoke rising from a cigarette.;

- The values of the discretized fields are defined at the center of the grid cells.;



Wednesday, December 04, 2002

Summary -­ Vertex Programs K
· Increased programmability
· Customizable engine for transform, lighting,
texture coordinate generation, and more.
· Facilitates setup for per-fragment shading.
· Allows animation/deformation through key-frame
interpolation and skinning.
· Accelerated in Future Generation GPUs!
· Offloads CPU tasks to GPU yielding higher
performance.
Performance

· Be clever!
· Exploit vector parallelism
· Swizzle and negate away (no performance penalty for doing so)
· Use LIT (lighting coefficients) and DST (distance attenuation) effectively
· Use Vertex State Programs for "pre-processing".
Vertex Programming Assembly Language
- Powerful SIMD instruction set
- Four operations simultaneously
- 17 instructions
- Operate on scalar or 4-vector input
- Result in a vector or replicated scalar output


Vertex Programs
Complete control of transform and lighting HW
Complex vertex operations accelerated in HW
Custom vertex lighting
Custom skinning and blending
Custom texture coordinate generation
Custom texture matrix operations
Custom vertex computations of your choice

Offloading vertex computations frees up CPU
· More physics and simulation possible!

Vertex Program
· Assembly language interface to T&L (Transform and Lighting) unit
· GPU instruction set to perform all vertex math
· Reads an untransformed, unlit vertex
· Creates a transformed vertex
- Optionally creates
- Lights a vertex
- Creates texture coordinates
- Creates fog coordinates
- Creates point sizes


Two types:
· Per-Vertex: Up to 16x4 per-vertex attributes; Values correspond to 16x4 readable vertex attribute registers
· Per-Begin/End block: Up to 96x4 per-block parameters; Store parameters such as matrices, lighting params, and constants required by vertex programs; Correspond to 96 registers (c[0] , ... , c[95]);




Hacking the GPU

Here's the actual homepage to the course which inspired this blog:

Hacking The GPU

...it looks to be rather fascinating. I'll use this as a vehicle to ramp up my knowledge of graphics, modelling ,etc. Excellent!!!!

Quote:

n this new seminar/project course we will bring together graphics,
numerical analysis, computer languages and computer architecture as we explore the use of programmable graphics processors (GPUs) for
scientific computing tasks. The next generation of graphics cards will
feature fully programmable floating point pipelines well matched to a
streaming model of computation. Architecturally they are the first
broadly available, commercial examples of high performance
architectures well suited to scientific supercomputing.

We will explore this computing paradigm in theory and (bleeding edge) practice covering background on graphics pipelines and how they came to be the way they are; different architectures and their related compute and communication trade-offs; programming languages and semantics for high performance computations; computational kernels from different numerical simulation areas; and their implementation in hard and software.
Wavelet, Multiresolution and Graphics

Wavelets are an example of Multiresolution techniques used in representing complex data and/or algorithms. See:

Wavelet s in Graphics Course