PDA

View Full Version : Programmable GPU



xvs
07-19-2000, 01:04 PM
From what I've heard of the XBox (more specifically: the NVIdia GPU), is that it's programmable: the program can upload instruction to the card that will be applied to pixels, vertex, etc.
This feature, I think, will be in DX8. How about something similar in GL ? Or is this too platform specific? Maybe just as an extenstion?

onyXMaster
07-21-2000, 11:58 PM
Hmm... Is I see, the "programmability" feature of DX8 ( vertex/pixel shader assembly ) is just another way of describing the texture effects combiners, which is aleady available as extension for OpenGL. Seems that MS just tries to make shader description easier ... and add some really nice per-pixel features ... which are still not supported in available consumer-class hardware.

ruslan_abdikeev
07-27-2000, 07:43 AM
OpenGL has the *texture* combine functionality but not *vertex* operations.
I haven't see some glNV_register_vertex_combiners or something like this.

onyXMaster
07-28-2000, 10:55 PM
Vertex shading is not a problem ... There is no need for extensions, because vertex both colors and normals can be controlled manually for virtually anything you need, and it seems that there is no need for per-vertex indifferent lighting.

ruslan_abdikeev
08-01-2000, 05:19 AM
To OnyXMaster:
So we can drop out glTexGen functionality, GL_TEXTURE matrices and so on?
According to you we can drop ALL of matrices either, because we can use glVertex, glNormal etc to set up vertices!

A good example of vertex operators is
GL_EXT_vertex_weighting (http://oss.sgi.com/projects/ogl-sample/registry/EXT/vertex_weighting.txt).

onyXMaster
08-05-2000, 02:52 AM
No, Ruslan - we can, but we should not. Tell me, what per-vertex operations cannot be concluded using currently existing stuff ?
Vertex weighting ? It is really goods only for hardware-transforming accelerators - using it on others is slower than performing this operation yourself. BTW, what vertex operations you _really_ need ? Vertex weighting with 4 matrices ( Radeon ? ) is sufficient for any compex vertex deformation. You need colors ? What for ? Per-pixel effects are better ... though theoretically somewhat slower, but still better. Also, hardware manufacturers choosed to use per-pixel shading, not per-vertex ones - do you think you're smarter than nVidia, ATI, Hewlett-Packard, SGI and 3dfx engineers ? http://www.opengl.org/discussion_boards/ubb/wink.gif

Mike F
08-05-2000, 05:17 AM
There's a method of giving everything a black outline (seen in Jet Set Radio) that would be a great application of vertex-shaders. It requires that each mesh be rendered twice - the second time, you flip the face culling direction, push the verts out along their normals by a small distance and render the mesh as solid black. The result is that the black mesh pokes out at the edges giving everything a cartoony black silhouette.

You can generate the silhouette mesh in software but that precludes the use of (eg) hardware skinning, since you need the skinned vert positions and normals to calculate the silhouette mesh.

As more and more geometry stuff goes into hardware (skinning, vert-morphing), you're paying an ever larger cost for inserting your own wacky ops in the geometry pipeline, especially if they live at the end of the pipeline like this example.

Mike F

inet
08-22-2000, 05:35 AM
Hi, Does anybody know whether or not
the Fragment lighting(No. 102) in the gl extension has benn implemented on some platform?

Or there are some software implementation?

newt
08-23-2000, 10:41 AM
Octane2 graphics implements this.