我正在用OpenGL製作2D遊戲。我想通過使用VBOs加速我的紋理繪圖。帶有頂點緩衝對象的OpenGL快速紋理繪製。這是做到這一點的方式嗎?
目前我正在使用即時模式。當我旋轉和縮放紋理時,我正在生成自己的座標。我還具有四捨五入紋理角的功能,使用多邊形基元繪製這些紋理。
我在想,如果使用包含無偏移量的紋理兩邊的頂點來製作VBO,最快的方法是使用glTranslate,glScale和glRotate來移動紋理的繪製位置。然後,我可以使用相同的VBO而不更改每次繪製紋理。我只能在需要爲圓角添加座標時更改VBO。
這是最好的方法嗎?做這件事時我應該注意什麼?在現代顯卡中使用GL_TRIANGLES而不是GL_QUADS真的是最快的嗎?
謝謝你的回答。
謝謝。我設法讓VBOS爲某些行代碼工作,但不能用於紋理繪製。我還沒有線索如何去做。我試過的每件事都失敗我想我需要另一個問題。 – 2010-06-01 14:06:04
你看到你的對象在你想要的位置嗎?這只是模型的不正確紋理嗎?如果您看到您的物體處於正確的位置,請記住紋理座標值就像頂點位置值一樣。從一些簡單的事情開始(不要在紋理矩陣模式下使用glTranslate等修改紋理座標),然後嘗試擴展它以實現您最終想看到的效果。 – AdilYalcin 2010-06-01 17:13:59
目前它在正確的位置呈現,它只是沒有被正確渲染。它對GL_QUADS和GL_TRIANGLES都失敗。我會用我的VBO代碼提出一個新問題。 是否將重要的顏色信息添加到VBO? 「glColor」會成爲一個問題嗎? 謝謝你的回答和幫助。 – 2010-06-01 19:16:32