11.25 three.js入門研討,見識它的奇妙之處

Web GL是在瀏覽器中實現三維效果的一套規範,而最初使用Web GL原生的API來寫3D程序是一件非常痛苦的事情。

在辛苦的付出下WebGL開源框架出現了,其中three.js就是非常優秀的一個,它掩蓋了很多麻煩的細節,那麼,就讓我們一起來看看。

什麼是three.js

three.js入門研討,見識它的奇妙之處

three.js可以將它理解成three + js,three表示3D的意思,js表示java>

Three.js是一個偉大的開源Web GL庫,WebGL允許Java Script操作GPU,在瀏覽器端實現真正意義的3D。

Java Script一種直譯式腳本語言,是一種動態類型、弱類型、基於原型的語言,內置支持類型。也是世界上最流行的編程語言,這門語言可用於 HTML 和 web,更可廣泛用於服務器、PC、筆記本電腦、平板電腦和智能手機等設備。

Java>

three.js入門研討,見識它的奇妙之處

如果我們需要使用Three.js來繪圖,只需要創建一個最小繪圖環境即可。Three.js在底層其實還是調用html5中的canvas api來實現繪圖的。

但和我們一般繪製2D圖像不同,Three.js在底層使用的是canvas的web gl context來實現3D繪圖。

Web GL context本身更多是直接對GPU的操作,用起來相當不直觀,為此Three.js在頂層對3D繪圖所需的各種元素(例如場景、攝影機、燈光、幾何圖像、材質等)進行了封裝。

three.js入門研討,見識它的奇妙之處

three.js三大組件

這三大組件分別是相機(Camera)、渲染器(Renderer)和場景(Scene),這三個組件是創建3D圖形的必備組件。其中:

場景用來容納圖形元素,包含所有需要顯示的3D物體以及其他相關元素的容器。場景相當於宇宙,而圖形元素就是星星,圖形元素只有添加到場景中,其座標、大小等才有意義。

攝影機的作用是決定3D場景如何投影到2D畫布之上,定義可視域,確定哪些圖形元素是可見的。

渲染器則負責用如何渲染出圖像,是使用Weg GL還是Canvas,用於最後繪製的畫筆。

下方

技術/運營:lafenla-wk


分享到:


相關文章: