iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Modern Web

前端互動視覺技術實作 LAB 系列

探索各種互動感強烈的網頁效果,實際拆解並實作背後的前端視覺技術。系列將從 Vue、GSAP 與瀏覽器 API 開始,逐步探索 Canvas、SVG、p5.js、Matter.js、WebGL、GLSL、WebGPU、Three.js 與 3D 資產整合,記錄不同工具的實作方式、踩坑過程與適用情境。最後將這些實驗整合進個人作品集,打造兼具設計感與互動性的 Modern Web 體驗。

參賽天數 22 天 | 共 22 篇文章 | 1 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11|WebGL(1)基本原理

經過鐵人賽的 1/3,我們終於來到 WebGL,可喜可賀! 如同在 Day 7 稍微提過的,WebGL 是 提供的另一種繪圖環境,也可以把它理解成瀏覽器中的...

2026-08-30 ‧ 由 mountainway54 分享
DAY 12

Day 12|WebGL(2)繪製第一個 3D

昨天我們畫出一個 2D 漸層三角形,走過一次 WebGL 的基本渲染流程:準備頂點資料、把資料放進 Buffer,再交給 Shader 和 GPU 繪製。 今天...

2026-08-31 ‧ 由 mountainway54 分享
DAY 13

Day 13|WebGL(3)空間轉換

昨天我們用 36 筆頂點組成 12 個三角形,畫出一個 3D 立方體。 看到這裡,你可能會覺得哪利怪怪的?3D 空間中的座標,究竟是如何映射到 2D 的 Can...

2026-09-01 ‧ 由 mountainway54 分享
DAY 14

Day 14|WebGL(4)淺談 Shader著色器與 GLSL

在 day11 的文章中我們已經有稍微提過 shader 的概念,今天就延續前兩天的立方體,進一步認識 Shader 的運作方式,並用 GLSL 寫出負責頂點位...

2026-09-02 ‧ 由 mountainway54 分享
DAY 15

Day 15|WebGL(5)光影變化

昨天我們認識了 Shader 與 GLSL,也知道 Vertex Shader 負責決定頂點的位置,Fragment Shader 則負責輸出片段最後的顏色。...

2026-09-03 ‧ 由 mountainway54 分享
DAY 16

Day 16|WebGL(6)球體上的高光與鏡面反射

昨天我們講解了光影如何改變物體的顏色,但如果想更細緻地討論光影,就必須進一步考慮材質。 今天我們就來看看光滑表面在光線照射下會產生什麼變化——高光與鏡面反射。👉...

2026-09-04 ‧ 由 mountainway54 分享
DAY 17

Day 17| OBJ 模型轉換成頂點資料

這幾天已經被 GLSL 與各種向量計算搞得頭昏眼花,今天就先來輕鬆一下~ 前面畫三角形、立方體時,我們直接在程式裡寫下頂點座標;到了球體,則用迴圈搭配三角函數產...

2026-09-05 ‧ 由 mountainway54 分享
DAY 18

Day 18|Three.js(1)基礎認識

Day 18|Three.js(1)基礎認識 昨天的 OBJ Demo 則先借用了 Three.js,幫我們把模型放進網頁。接下來幾天就讓我們來認識 Three...

2026-09-06 ‧ 由 mountainway54 分享
DAY 19

Day 19|Three.js(2)場景、相機、光源、視角控制

昨天認識了 Three.js 常見的工具,今天就把場景、相機、材質與光源放在一起,做出一個可以旋轉的漸層立方體。 原本手刻的頂點、矩陣和光照 Shader,這次...

2026-09-07 ‧ 由 mountainway54 分享
DAY 20

Day 20|Three.js(3)材質:粗糙度與金屬度

昨天用 Three.js 建立了場景、相機和立方體,也透過光源讓各個面呈現明暗。今天把模型換成球體,試著讓同一顆球呈現金屬、塑膠等不同材質。球體的形狀和顏色都保...

2026-09-08 ‧ 由 mountainway54 分享