Sunday, May 06, 2012

A Simple WebGL Test

6 comments:

daoshengmu said...

你有嘗試去轉native code嗎? 還是直接用JavaScript去寫了?

fallingCAT said...

還沒時間試.....
主要是為了跟開發中的mobile app做一些網頁的互動, 所以直接先寫JavaScript快一些, 之後再找時間看看能不能直接轉到JavaScript

daoshengmu said...

mm. 我最近在想件事情,像您之前設計的引擎game play那端是使用mono來開發。mono很好,執行速度很快開發效率也很好,甚至現在的PS@Suite也支援mono了,以目前態勢而言,幾乎所有的native application都用mono來設計都沒什麼問題。但是現在市場的趨勢有很強烈的未來性都是往mobile + web前進。到了web-HTML5時代,non-plugin的設計變成重點,mono的存在變成引擎無法跨入browser的一個窒礙了。請問Owen大大怎麼看待這件事情? 謝謝。

fallingCAT said...

基本上在native engine中用mono是做為script system來處理需要經常變更的gameplay程式碼, 所以在web的環境, 主要的語言已經是較高階的語言了, 應該是不需要script system了,所以mono的支援也就不重要了, 除非是要以C#做為引擎的主要設計語言.

不過JS+HTML5也是有他的問題在, 第一是執行效率, 第二是WebGL的支援, 目前IE還是沒打算支援WebGL. 我本來要用WebGL開發的網頁小程式最後因為這個原因也改成用Flash+Stage3D做完了.....

但就長遠來說, 我是比較看好JS+HTML5最終應該會變成網路標準, 所以我會嘗試把native引擎轉換成JS+WebGL, 如果可行就會使用這種做法來維護一套code base但產生兩種版本.

daoshengmu said...

我最近已經開始將C++ code轉到JS,過程還算順利。目前遇到一個需要做選擇的議題,想要請問Owen的意見。由於我在公司所開發的引擎shader架構都是使用HLSL,我們查過一些資料直接從HLSL轉到GLSL基本上是有困難的。想請問Owen您在設計shader這部分是同時寫了HLSL/GLSL版本嗎?還是能推薦工具可以幫我不需要再花時間寫另外一套? 謝謝。

fallingCAT said...

如果是ES版本的GLSL我會建議你另外寫, 因為基本上ES機器的效能跟Desktop差異太大, 大部分的shader都是必須重新改寫的, 這樣一來轉換的意義也就不大了.

目前我的引擎也是 GLSL跟HLSL各有一份, UE3也是採用兩套shader code.也許將來有一天可以維護一套shader code就好, 不過那可能還需要一段時間 :)