圖書館:Feng3d
{{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>