我想學習OpenGL,並已諮詢了幾個「指南」和「教程」。這些「指南」和「教程」說,「做這個,這個和這個,然後你有繪製命令」。不那麼好想過OpenGL學習材料
我正在尋找一些OpenGL的學習材料,它實際上解釋了引擎是如何工作的,而不是在這裏給我無意識的東西 - 你是做什麼的。我已經諮詢過像www.glprogramming.com/red/這樣的東西,並且一直都不高興。到目前爲止,在第一章中,我不知道配置選項如何工作,opengl有什麼樣的「上下文結構」,實際上有什麼擴展,最重要的是,在讀完所有內容後,這完全沒有意義:
I也瀏覽過,看過「framebuffer」和「renderbuffer」以及「OpenGL context」。我仍然不知道這些是什麼(我認爲在閱讀這些東西之前我至少知道幀緩衝是什麼)。有衝突的解釋是,幀緩衝區保存所有基元的數據,並且幀緩衝區被綁定(??)到一個渲染緩衝區,它執行某些操作?無論如何,所有這些「指南」都會在第1章中詳細說明綁定和緩衝這些詞。在紅皮書的第1章中,我可以看到glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
。我不知道這是做什麼的,因爲這一章沒有告訴我,下一個也沒有。
想象一下,如果我只是向您投擲GObject系統,並說:「好吧,那麼,就把這段代碼放進去,然後定製它並編寫您的應用程序。」這就是我讀過的所有內容。 不可能這樣學習,因爲我不理解幕後發生了什麼。
我想知道:
- 什麼幀緩衝是
- 什麼幀緩衝的內部結構是
- 我如何使用/創建幀緩衝區對象
- 同樣的事情了「渲染」 ,我懷疑我可能不需要
- 什麼是GL擴展以及它們如何與引擎交互
- 如果我想要在屏幕上繪製3D立方體以及這些對象做什麼,我必須創建哪些類型的對象
- 如何從開始到結束初始化opengl系統,以便設置內存來繪製,跟蹤頂點/基元/紋理/其他元數據,渲染等
- 流水線從開始到結束的過程,比如說我想渲染一個紅色方塊到內存中的位置
- 像glVertex3f這樣的調用如何與引擎
- 所有其他緩衝區如何工作,如「顏色緩衝區」和「頂點緩衝區」
- 背後的所有理論有點廢話像
GL_COLOR_BUFFER_BIT
- 什麼是深度緩衝區和模板緩衝區,他們如何與繪圖交互?它們是幀緩衝區對象的一部分嗎?
基本上我想在人們向我拋出代碼和奇怪術語之前,實際學習OpenGL背後的理論。我想知道系統是如何工作的,然後我開始無意識地從網上覆制代碼並稱之爲「學習」。出於某種原因,沒有人寫這樣的材料。
任何人都可以在這裏解釋這些事情或指出我在正確的方向(最好是指導,明白我不知道GL)?
http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Table-of-Contents.html – 2012-08-19 01:07:22
到目前爲止,在鏈接上這麼好,比我發現的任何東西都好,但我我仍然對「緩衝區」的術語感到困惑,特別是像「頂點緩衝區」這樣的東西。這件事在什麼地方浮現在內存中,系統如何與多個人一起工作?幀緩衝區和渲染緩衝區之間最大的區別是什麼?非常不錯的鏈接。 – Relish 2012-08-19 01:12:32
這篇維基百科文章解釋了緩衝區:http://en.wikipedia.org/wiki/Data_buffer – 2012-08-19 01:16:33