OpenGL ES 對 DirectX?
01-21
DX在PC和手機上用同一套API,不用寫兩套代碼,為什麼OpenGL要搞個ES支持移動設備,而且發展比DirectX慢(各種shader等)
原先D3D也有D3D Mobile和桌面兩個版本。後來到D3D11的時候才統一成一個。OpenGL和OpenGLES現在也都統一到Vulkan了。
OpenGLES發展可不慢。3.0+的設備已經佔android的一半以上和ios的絕大部分。看看D3D feature level 11.0+的Windows phone?也就950/XL。有各種shader也沒用,沒地方跑。比較外行,以下內容不一定正確,摺疊吧。
dx只在win上有,所以opengl必然存在。然後由於pc和移動端的區別與側重點,es也就理所應當地出現了。opengl es支持擴展,新功能通過擴展去用,寫入標準還需要多方博弈,自然慢了。
再說了,手機遊戲的發展才過了幾年啊,得考慮歷史的進程啊。openGLES相比於openGL,主要是去掉了一些效率低但精度高的操作.比如去除GLdouble,增加GLfixed.去除glVertex/glBegin/glEnd等.另外,並不是說openGLES只能在嵌入式平台上應用,目前很多PC上的GL實現都包括openGL和openGLES兩部分.你完全可以在PC和手機上同時使用openGLES進行開發.由於WIN在移動端完全落後於iOS和Android, DX目前已經在移動端完全無法與openGLES較量了.
雖然早在 windows mobile 上就有dx了,但是不太好用,用的人也不多。
比較wm開發也比較坑。當然 其實主要是ms自己太逗比。雖然當時wm 沒有現在的安卓或者蘋果好,但是絕對比起塞班系統之流還是要高不少的,但是可惜 沒能流行,知道為什麼嗎?因為逼格裝得太高。導致想買的人也買不起!!!看看安卓 是怎麼奪取天下的,開放,免費,手機超低價。支持MTK的CPU這點很重要。再看看MS,什麼都慢人一拍。桌面win系統雖然還是佔優 但是已經不是多年前的絕對統治地位了。
所以照著目前的發展趨勢來看 dx 發展再快也沒用了。。。
OpenGL ES 確實發展慢,慢在出現的晚啊
但是最近很快 快在安卓的流行。用的人多了,自然就會得到重視,發展就快。至於 為什麼單獨搞個 ES ,我想是因為opengl 本身太爛吧
另外你說的 Dx在移動端和PC端 同一套API的問題。雖然API是同一套?但是移動端是子集。有些PC上的API,移動端並不能夠使用。DirectX 支持安卓和iOS嗎?你說的是遊戲引擎支持跨平台還是DirectX支持跨平台?
推薦閱讀:
※雙核1.7GHz 四核1.2GHz 哪個更強?
※Android 和 Chrome OS 會最終合併成一個平台嗎?如何合併?
※微軟統一全平台的經驗對 Chrome OS 與 Android 的融合有什麼借鑒意義?
※對普通用戶來說,有哪些事情是 iOS 能做,而安卓不能做的?
※對於Android客戶端程序,不依賴於發布下載而實現交互方案有哪些?