爲學習者啓動C/C++(2D和3D)基本圖形編程有什麼好的選擇?我想嘗試一下書中給出的東西(3D math primer)。 顯然我不想使用OpenGL。沒有OpenGL的Linux基本圖形編程
我有一臺擁有Linux(Debian)的機器。從Linux開始,我有什麼選擇? QT或GTK或其他東西?
編輯:我不想使用OpenGL,因爲它爲我做了大部分有趣的工作。像旋轉,投影等我想學習這些東西。
爲學習者啓動C/C++(2D和3D)基本圖形編程有什麼好的選擇?我想嘗試一下書中給出的東西(3D math primer)。 顯然我不想使用OpenGL。沒有OpenGL的Linux基本圖形編程
我有一臺擁有Linux(Debian)的機器。從Linux開始,我有什麼選擇? QT或GTK或其他東西?
編輯:我不想使用OpenGL,因爲它爲我做了大部分有趣的工作。像旋轉,投影等我想學習這些東西。
對於2D圖形我推薦SDL Library。它很簡單但很強大。庫API是C/C++原生的,但支持您可以想到的所有語言。您不必使用OpenGL,但如果您稍後決定使用OpenGL,則SDL將支持它。它也支持大多數音頻和視頻文件。我覺得與初學遊戲開發者合作非常棒。
使用OpenGL。您可以使用傳統OpenGL並將轉換矩陣保留爲標識,並在調用glVertex
*之前執行自己的旋轉投影等,或者使用帶着色器的現代OpenGL,您必須在頂點着色器中實現這些功能。
謝謝。這看起來很不錯。但我不知道OpenGL將在整個工作中做多少工作。 3D圖形對我來說仍然是個謎。對編輯抱歉,我的網絡連接出現問題。 –
查看以下鏈接中的教程。您不需要任何圖形庫 http://www.codermind.com/articles/Raytracer-in-C++-Introduction-What-is-ray-tracing.html
完成教程後,在OpenCL中重寫光線跟蹤器並使用SDL顯示像素緩衝區。讓實時的全球照明讓你的朋友印象深刻,他們認爲OpenGL是唯一的圖形處理方式。
看一看tinyrenderer。
在本系列文章中,我想通過編寫它的克隆(一個非常簡化的)來展示OpenGL的工作方式。令人驚訝的是,我經常遇到無法克服學習OpenGL/DirectX最初障礙的人。因此,我準備了一系列簡短的講座,然後我的學生展示了相當不錯的渲染器。
爲什麼「很明顯」,你想用什麼? – 2013-06-01 05:01:04
如果您想做2D,只需查看[SDL](http://www.libsdl.org/)。如果你想3D,你應該認真考慮OpenGL,或者至少指定你不想使用它的確切原因。 –
我編輯了這個問題。 –