2010-09-08 38 views
2

我目前正在學習OpenGL 2和3之間的差異,並且我注意到很多函數如glVertex,glVertexPointer,glColor,glColorPointer等已經消失。Cg和OpenGL 3

我習慣使用Cg來處理着色器。比如我會寫這個簡單的頂點着色器:

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

然後我會使用兩種glVertexglVertexPointer設置的inPos值。

但是由於這些函數在OpenGL 3中不再可用,你應該怎麼做綁定?

回答

0

首先,我會建議你看一看the answer to this question: What's so different about OpenGL 3.x?

其次,諾伯特Nopper有很多的例子在使用OpenGL 3和GLSL here

最後這裏有一個簡單的GLSL example這表明你如何綁定頂點和片段着色器程序。

+0

但是如果我想使用Cg語法呢? : - /(不是因爲我更喜歡它,而是因爲它幾乎與HLSL的語法相同) – Tomaka17 2010-09-09 14:13:49

+0

請看http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=47。另外這篇文章http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=267914在OpenGL論壇上。 – Tchami 2010-09-09 14:56:34

+0

謝謝,第二個鏈接正是我正在尋找的 – Tomaka17 2010-09-10 06:05:33