Archived

This topic is now archived and is closed to further replies.

Phantom Lord

Vertex Programs

Recommended Posts

Phantom Lord    122
Anyone here tried to program Vertex programs. As i understand it at this moment, you can program functions (in assembler) which modify the Vertices, added to your world with glVertex, the way you want it. I am currenly reading a PDF file which i downloaded from NVidia, i got wonderfull ideas on how to use it, but i need to know more, preferably some tutorials, i want to try to implement specific calculations related to bones. But i also want to try realtime collision detection with alot of objects, now i have to manually maintain the matrices of the dynamic object which can collide with the world, i need to calculate if my object collided with something in the world with the CPU, and i want to try and make it work with Vertex Programs, since the TnL of the Geforce cards is specially made for calculations on Vertices, and collision detection has alot to do with vertices and stuff like that, so i guess it''s worth a try or atleast the research.

Share this post


Link to post
Share on other sites
Pseudo    100
"assembler" huh. I didn''t know that was a language...
here all this time I thought it was called "assembly" and the "assembler" is what translated it into machine code. Guess I was wrong.

hehe, sorry, I couldn''t resist.

Share this post


Link to post
Share on other sites
danbrown    255
Hi,

I think you're talking about NVidia's register combiners which AFAIK are similar in concept to vertex shaders in DirectX 8. I don't think this will work for collision detection, as it only modifies the positions of existing vertices and doesn't give feedback to your prog that could be used for collision response. Also it works at a vertex level having no knowledge about things like triangles or polygons. The amount of workarounds you would need to get it doing anything like this would probably be slower than just doing it in your own code.

It's mostly used to add various effects to a mesh of vertices, such as interpolating between two frames to make the animation smoother. Some funky effects are possible though, stuff like adding a sine wave to your meshes vertices would make it wobble around, nice for an underwater effect.

Dan

Edited by - danbrown on January 31, 2001 2:16:03 PM

Share this post


Link to post
Share on other sites
davepermen    1047
FIRST:

its NOT assembler, its a scriptlanguage, wich is designed a little like assembler.
yes, assembler IS a language, and you can learn it, but its difficult.. (and yes, its machinelanguage..)

SECOND:

you cant find any working programs yet because its not implemented yet in opengl. the extension is coming at the moment its implemented in the next drivers of nvidia, before you cant use it. thats why there arent demos.. i asked nvidia because i wanted to learn it, too, but i''ve to wait, as you have, too..

but have fun reading the .pdf''s, cause you can learn then nice things bout how 3d-grafics really working are (huh, whatasentence..)

see ya later, when its enabled..

(btw, what you think bout the nvidiaregistercombiners?)

we wanna play, not watch the pictures

Share this post


Link to post
Share on other sites
zedzeek    528
the vertex program have nothing to do whatsoever with collision detection.
im sure a lot of demo''s/examples of vertex shader programs when the 7.xx drivers actually come out, that could be quite a while though.
ive always found asm very easy just a major pain in the ass to type in and debug.
an assembler is the program that converts the assembly into machine language

http://members.xoom.com/myBollux

Share this post


Link to post
Share on other sites
danbrown    255
''Assembler'' is a shortened form of ''Assembler language'', the original term used. Assembly is just a different way of saying it. Either way, an assembler is used to compile it.

Dan

Share this post


Link to post
Share on other sites
Phantom Lord    122
LOL

Assembler...Assembly, you knew what i meant, i typed the message quite fast and English is not my base Language, so sorry for that.

Don''t know exactly how it works yet but i was just making ideas, it would be great however to have a call with OGL which can check if a triangle is going through another triangle just before you are going to draw it. But then again, how much has that to do with Rendering the graphics :-( No chance of having such a call in OGL 3.0 :-)

About the ASSEMBLY :-), i did program alot in assembly, but the last time i used it was in 96 or something, wasn''t really hard, only complex.

Share this post


Link to post
Share on other sites
Quaternion    122
OK, let''s clearify some points:
A. NV_Vertex_Program, that had not yet been implemented in the drivers, is parallel to the Vertex Shaders of DX.
B. NV_Register_Combiners, that HAD been already implemented is partially (not exactly) parallel to the Pixel Shaders in DX.
C. If you would like to know more you can: (1) Download the specification for NV_Vertex_Program. (2) Check out this URL:
http://www.opengl.org/discussion_boards/ubb/Forum3/HTML/001914.html

_______________________________________________________
"In C we had to code our own bugs. In C++ we can inherit them."

Share this post


Link to post
Share on other sites
richardve    122
"B. NV_Register_Combiners, that HAD been already implemented is partially (not exactly) parallel to the Pixel Shaders in DX."

- Register combiners are NOT parallel to pixel shaders.

- Pixel shaders are NOT yet available on any hardware (reg combiners are accelerated).

- Register combiners == rewrite of texture environment extension.


DISCLAIMER: I'm very sure that register combiners are not the same as pixel shaders, I know that because I've been using them the last month.
I can also remember some nVIDIA people saying at opengl.org that reg. combiners are not pixel shaders.



Edited by - richardve on February 1, 2001 12:21:32 PM

Share this post


Link to post
Share on other sites