我遵循本指南http://open.gl/學習如何使用現代opengl進行編程。我陷入了一件事。早些時候用較老的opengl Api,我用來創建不同的函數來繪製不同類型的形狀。像drawRect(),drawCircle()等。我需要做的就是在glBegin()和glEnd()中使用不同組合的glVertex3f()。如何在OpenGL3.2 +中渲染多個形狀和對象?
但是在OpenGl3.2 +中,即使畫一個矩形,我們也得寫很多代碼。我知道它可以讓你更好地控制渲染,但是當你渲染多個東西,比如繪製矩形,圓形等等時,我很困惑該怎麼做。我是否需要多次編寫包含着色器的所有代碼,或者我可以重用代碼。
我已經實現了這個代碼http://open.gl/content/code/c2_triangle_elements.txt 這個例子繪製了一個矩形,但是如果我想繪製一個三角形以及這個矩形,那我該怎麼做。
我認爲您需要充分理解着色器和緩衝區如何以更深入的方式工作。 通過頂點緩衝區邊界,您可以映射頂點並像這樣改變它們,或者在着色器中使用模型矩陣和均勻性來移動形狀並使用不同的模型矩陣繪製它兩次。 – CoffeeandCode