Last Update: 2016/4/16 19:00+08
Type: Note
q = a + bi + cj + dk = a + v
讓空間表示、運算和旋轉都變簡單的東西
2016年2月29日 星期一
2011年1月15日 星期六
Basic Lights of Shader
Last Update: 2011/01/16 17:31+08
這篇是介紹Light
Demo是自製 WebGL 的常用/預設Shader。
如果你是用Visual Studio, IntelliSense可以Work.
>Download Demo
代碼在 glShader.js 裡
之前都是以達成目標為主,反倒是忽略了基礎得紮穩點。
前陣子去面試考題要說明 3 種 Light 和演算法
一紙筆, 才發現一時寫不出來(=_=a.
這次學 WebGL 就給它認真的來記一次,順便寫個筆記。
Intro
這篇是介紹Light
Demo是自製 WebGL 的常用/預設Shader。
如果你是用Visual Studio, IntelliSense可以Work.
>Download Demo
代碼在 glShader.js 裡
之前都是以達成目標為主,反倒是忽略了基礎得紮穩點。
前陣子去面試考題要說明 3 種 Light 和演算法
一紙筆, 才發現一時寫不出來(=_=a.
這次學 WebGL 就給它認真的來記一次,順便寫個筆記。
2010年10月18日 星期一
Fluid Fire
Painting on Mesh
Last Update: 2010/12/18 12:45+08
上面的影片是用 DirectX 完成的
配合一些基本的向量概念
步驟大致分為
◆ Step1
以滑鼠投影到3D空間的射線與Mesh構成之平面(Plane)
求得滑鼠點擊到的位置(N)
這就不贅述了
◆ Step2
求得 N 在 Mesh 上之 UV 貼圖座標
如下圖所示
PAB為構成Mesh之三頂點

我們在 Step1 中會求得滑鼠射線在平面上的交點
沒有交點自然就沒有 Step2
因此,若 PA 與 PB 不為平行線
就存在著

在三維空間表示成

我們只要求解 變數 a、b
在得知了 a、b ,我們可以求得 UV貼圖座標,例如

還有個問題,請看下圖,是由 0 <= a、b <= 1,所構成之平面

很明顯的,我們的Mesh僅只佔了一半的面積
從上圖也可以看出

解出 c、d
只要滿足 0 <= a、b、c <= 1 就表示在Mesh所構成的三角形裡
d 怎樣的無所謂,看上圖,當 a、b、c 都被限制住的話,d 也跑不掉。
自己(雖然可能不是什麼好物。_。)
Intro
上面的影片是用 DirectX 完成的
配合一些基本的向量概念
步驟大致分為
◆ Step1
以滑鼠投影到3D空間的射線與Mesh構成之平面(Plane)
求得滑鼠點擊到的位置(N)
這就不贅述了
◆ Step2
求得 N 在 Mesh 上之 UV 貼圖座標
如下圖所示
PAB為構成Mesh之三頂點
我們在 Step1 中會求得滑鼠射線在平面上的交點
沒有交點自然就沒有 Step2
因此,若 PA 與 PB 不為平行線
就存在著
在三維空間表示成
我們只要求解 變數 a、b
在得知了 a、b ,我們可以求得 UV貼圖座標,例如
還有個問題,請看下圖,是由 0 <= a、b <= 1,所構成之平面
很明顯的,我們的Mesh僅只佔了一半的面積
從上圖也可以看出
解出 c、d
只要滿足 0 <= a、b、c <= 1 就表示在Mesh所構成的三角形裡
d 怎樣的無所謂,看上圖,當 a、b、c 都被限制住的話,d 也跑不掉。
參考
自己(雖然可能不是什麼好物。_。)
2010年10月16日 星期六
彈性形變(計算機圖學)
這是基於彈性及對頂點的操作而進行的變形
為了避免大量的運算,省略了點與點之間的連接作用
而改為令所有點都參考質量中心點而作用
進而達成娛樂或遊戲所需的效果。
參考:
Matthias Müller-Fischer の Meshless Deformations Based on Shape Matching
為了避免大量的運算,省略了點與點之間的連接作用
而改為令所有點都參考質量中心點而作用
進而達成娛樂或遊戲所需的效果。
參考:
Matthias Müller-Fischer の Meshless Deformations Based on Shape Matching
訂閱:
文章 (Atom)