2013-05-27 15 views
2

那麼,我對圖形編程非常陌生,我不確定我的假設對於這個GLES是否屬實。但是,我如何正確包含它..因爲我的程序中需要這個glBlendFuncSeparator()作爲這個glColorMask()的替代品,我只能在GLES/gl2.h中找到?我如何將GLES與舊GL包含在一起

還有一個..我可以在PC上使用GLES功能嗎?因爲我遇到的很多使用手機編程等。

回答

3

OpenGL ES代碼應該不需要太多的工作在OpenGL上運行,因爲OpenGL ES基本上是OpenGL的一個子集。你想要的任何OpenGL ES功能也可以在OpenGL中使用。

但是,如果您正在編寫Windows桌面應用程序,則必須警惕Microsoft提供的過時標題。來自Microsoft的OpenGL頭文件是針對OpenGL 1.1的,並且爲您提供瞭如何過時的想法,OpenGL 1.2於1998年發佈。爲了在Windows上編寫現代OpenGL程序,您需要使用較新的頭文件或獲取方法指向所需功能的指針。 GLEW(GLEW home page)是一個經常用於此目的的庫。

列出的函數應該在所有的OpenGL實現上可用(除了可能在Windows上的OpenGL渲染器)。 glColorMask()man page)自1.0版以來一直是OpenGL的一部分,glBlendFuncSeparate()man page)自1.4版以來一直是OpenGL的一部分(您的意思是「單獨的」,對吧?「separator」可能是一個錯字)。

如果您願意,還可以在桌面上創建OpenGL ES上下文。這有點棘手,特定於平臺,但創建正常的OpenGL上下文也是如此。

+0

但爲什麼微軟不升級其OpenGL?我認爲他們只是希望我們使用更多的DirectX?嗯...是的,它是一個錯字,因爲我對其他ogl函數還不是很熟悉。爲什麼他們不斷在GL上添加額外的字母,爲什麼他們不使用數字,比如版本?沒關係,我知道他們有合乎邏輯的目的,他們爲什麼這樣做。非常感謝! – mr5

相關問題