我正在編寫一個程序來顯示500萬個使用OpenGL進行渲染的矩形。 它大約需要約。 3秒鐘在屏幕上顯示這些矩形。 但是,當我嘗試放大/縮小或平移屏幕時,也會出現同樣的情況。如何在不渲染整個屏幕的情況下放大/縮小到OpenGL屏幕
我想知道是否有辦法將所有內容保存到內存/緩衝區,因此屏幕不必一遍遍地重新繪製。
我也打開其他解決方案。
以下是我的重塑功能:
static void reshape_cb() {
glViewport(0, 0, (GLint) screen_width, (GLint) screen_height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D (0.0, DESIGN_SIZE, 0.0, DESIGN_SIZE);
}
感謝您的快速回復。我實際上在閱讀這些座標。來自數據庫的每個矩形,並使用GL_LINE_LOOP進行繪製。你認爲這是問題嗎? – user3097451
@ user3097451:你的意思是你在渲染時從數據庫中讀取它?那麼,是的,那肯定是問題所在。只有在幾何數據發生變化並且以Vertex Buffer Object的形式將其上傳到OpenGL服務器端(= GPU)內存中時才應該讀取幾何數據。 – datenwolf