STEM 隨筆︰古典力學︰模擬術【小工具】九《WebGL》 B

唐朝白居易〈長恨歌〉寫︰上窮碧落下黃泉,兩處茫茫皆不見。

今文件完備,無須四處谷歌,不過是『從上往下』︰

pythreejs/examples/threejs/

 

打洞固樁,求其一氣貫通也︰

/threejs forked from mrdoob/three.js

threejs/examples/webgl_interactive_voxelpainter.html

<!DOCTYPE html>
<html lang="en">
	<head>
		<title>three.js webgl - interactive - voxel painter</title>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
		<style>
			body {
				font-family: Monospace;
				background-color: #f0f0f0;
				margin: 0px;
				overflow: hidden;
			}
			#oldie { background-color: #ddd !important }
		</style>
	</head>
	<body>

		<script src="../build/three.min.js"></script>

		<script src="js/Detector.js"></script>
		<script src="js/libs/stats.min.js"></script>

		<script src='js/libs/DAT.GUI.min.js'></script>

		<script>

………

 

豈不能抵達根本耶?

Three.js

Three.js是一個跨瀏覽器的腳本,使用JavaScript函數庫API來在網頁瀏覽器中創建和展示動畫的三維計算機圖形。Three.js使用WebGL。原始碼託管在GitHub

概述

Three.js允許使用JavaScript創建網頁中的GPU加速的3D動畫元素,而不是使用特定的瀏覽器插件。[3][4]這歸功於WebGL的出現。[5]

高級的JavaScript函數庫例如Three.js或GLGE、SceneJS、PhiloGL或一定數量的其他函數庫使作者在瀏覽器中顯示複雜的三維計算機動畫而不需要使用傳統的獨立應用程式或插件成為可能。[6]

歷史

Three.js由Ricardo Cabello在2010四月於GitHub首次發布。[2]它的起源可以追溯到他在本世紀初演示場景的參與。代碼最初是在ActionScript,稍後2009年移植到JavaScript。在Cabello看來,轉移到JavaScript有兩個優點:每次運行前沒有編譯代碼和平台獨立性。隨著WebGL的到來,Paul Brunt增加渲染功能,這使Three.js的設計與繪製的代碼作為一個模塊,而不是核心本身。[7]Cabello的貢獻包括API的設計、CanvasRenderer、 SVGRenderer並負責合併各種貢獻到該項目。

該項目的二號貢獻者Branislav Ulicny在2010年張貼在自己的網站一些WebGL演示後開始參與Three.js的開發工作。他希望Three.js中的WebGL渲染能力超過CanvasRenderer或SVGRenderer。[7]他的主要貢獻通常涉及素材、著色器和後處理。

稍後在 WebGL 1.0 在2011年引入火狐4後,Joshua Koo開始參與工作。他在2011年9月創建了他的第一個面向3D文本的Three.js樣本。[7] 目前該項目總共有650次貢獻。[7]

特性

Three.js包括以下特性:[8]

  • 效果:浮雕,對眼和視差屏障。
  • 場景:在運行時添加和刪除對象;霧
  • 鏡頭:視角和正字法;控制器:軌跡球、FPS、路徑等
  • 動畫:電樞,運動學,逆運動學,變形和關鍵幀
  • 燈光:環境、方向、點和點光;陰影:投射和接收
  • 材料:Lambert、海防、光滑陰影,紋理和更多
  • 材質:訪問完整的OpenGL著色語言(GLSL)能力:鏡頭光暈,經過深入而廣泛的後置處理庫
  • 對象:網格、粒子、精靈、線、帶、骨頭和更多-所有細節層次
  • 幾何:平面,立方體,球體,圓環,3D文本等;修改器:車床,擠壓和管
  • 數據加載器:二進位,圖像,JSON和場景
  • 事業:全套時間和三維數學函數包括錐、矩陣、四元、UVs等
  • 輸入輸出:three.js-compatible JSON文件:Blender,openctm,FBX,Max,OBJ
  • 支持:API文檔正在建設中,公共論壇和維基全面運作
  • 例子:超過150個文件的編碼例子加字體,模型,紋理,聲音和其他支持文件
  • 調試:Stats.js,[9] WebGL檢查員[10],Three.js檢查員[11]

Three.js在所有支持WebGL 1.0的瀏覽器皆可運行。

Three.js依據MIT公用許可證發布。[1]

───

Main Page