2010-09-08 5 views
2

Je suis en train d'apprendre les différences entre OpenGL 2 et 3, et j'ai remarqué que de nombreuses fonctions comme glVertex, glVertexPointer, glColor, glColorPointer, etc. ont disparu.Cg et OpenGL 3

J'ai l'habitude d'utiliser Cg pour gérer les shaders. Par exemple, je voudrais écrire ce simple vertex shader:

void main(in inPos : POSITION, out outPos : POSITION) { 
    outPos = inPos; 
} 

Et puis j'utiliser soit glVertex ou glVertexPointer pour définir les valeurs de inPos.

Mais comme ces fonctions ne sont plus disponibles dans OpenGL 3, comment allez-vous faire les liaisons?

Répondre

0

D'abord, je vais vous recommande de jeter un oeil à the answer to this question: What's so different about OpenGL 3.x?

En second lieu, Norbert Nopper a beaucoup d'exemples sur l'utilisation d'OpenGL 3 et GLSL here

Enfin voici simple GLSL example qui vous montre comment lier un programme de vertex et de fragment shader.

+0

Mais que se passe-t-il si je veux utiliser la syntaxe Cg? : -/(pas parce que je le préfère, mais parce que c'est presque la même syntaxe que HLSL) – Tomaka17

+0

Jetez un oeil à http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=47. Aussi cet article http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=267914 sur les forums OpenGL. – Tchami

+0

Merci, le deuxième lien est exactement ce que je cherchais – Tomaka17