{{notability|time=2018-06-08T12:41:32+00:00}}

Feng3d是使用TypeScript進行編寫基於WebGL遊戲引擎,編譯後生成一個跨瀏覽器的JavaScript腳本,提供API可在網頁瀏覽器中創建和展示三維計算機圖形。Feng3d代碼託管在GitHub

概述

Feng3d允許使用TypeScript創建網頁中GPU加速的動畫元素,而不需要任何瀏覽器插件。

歷史

Feng3d由Feng在2014三月與GitHub首次發佈。它起源於Feng學習Away3D的過程,代碼最初使用ActionScript進行編寫,2016年三月使用TypeScript進行重構。Feng認為使用TypeScript進行重構有兩個突出的優勢,不再需要虛擬機運行和TypeScript是個足夠強大與靈活的程式語言。

特性
  • 編輯器:提供快速遊戲開發
  • 腳本:能夠使用腳本實現任何想要的功能
  • 自定義材質:提供shader代碼以及所有到的數據結構可以實現任何渲染效果(目前高級效果除外)

Feng3d在支持WebGL 1.0的瀏覽器中可以正常運行。

使用

Feng3d函數庫是一個獨立的JavaScript文件,通過連結至該頁面中:

<script src="https://unpkg.com/feng3d"></script>

以下代碼創建了一個立方體到場景,並且使立方體勻速繞Y軸旋轉。

<html>
<head>
    <title>My first feng3d app</title>
</head>
<body>
    <script src="https://unpkg.com/feng3d"></script>
    <script>
        window.onload = function ()
        {
            var engine = new feng3d.Engine();
            var cube = feng3d.gameObjectFactory.createCube();
            cube.transform.z = 4;
            cube.transform.y = -1;
            engine.scene.gameObject.addChild(cube);

            feng3d.ticker.onframe(() =>
            {
                cube.transform.ry++;
            });
        }
    </script>
</body>
</html>
外部連結