bcjohn's blog
理解 Three.js 的 shader 架構
發布於: 2025-02-08 更新於: 2025-05-11 分類於: Three.js

前言

繼上一篇 使用 Three.js 操作 shader 畫出國旗 後,這一篇文章希望了解 Three.js 裡的 shader 架構

WebGL 裡的 shader 綁定

因為 Three.js 的底層就是 WebGL 所以我們可以先從 WebGL 是如何綁定 shader 來找到 Three.js 中處理 shader 的起始點

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// WebGL 綁定 shader 部分片段

const canvas = document.querySelector('canvas');
const gl = canvas.getContext('webgl'); // WebGL 1.0
// 或
const gl = canvas.getContext('webgl2'); // WebGL 2.0

// 1. 創建 shader
const vertexShader = gl.createShader(gl.VERTEX_SHADER);

// 2. 撰寫 shader code
const vertexShaderSource = `
attribute vec4 aPosition;
void main() {
gl_Position = aPosition;
}
`;
gl.shaderSource(vertexShader, vertexShaderSource);

gl.compileShader(vertexShader); // 3. 編譯 shader
const shaderProgram = gl.createProgram(); // 4. 創建 program
gl.attachShader(shaderProgram, vertexShader); // 5. 附加 shader 到 program
gl.linkProgram(shaderProgram); // 6. 連接 program
gl.useProgram(shaderProgram); // 7. 使用 program
閱讀更多
2025/01/23 (四)
發布於: 2025-01-23 更新於: 2025-05-11 分類於: Life
To 奶奶

前幾天有跟醫生提出拔管的需求了,但拔管後只能在醫院再住五天,之後就必須要回家照顧或轉到護理之家,這附近的護理之家我都問過了都沒有位置要排很久,所以目前會讓爺爺維持現在的狀態先在呼吸病房待著

另外爺爺之後一直臥床的話,一兩個月後八成會有肺部或是尿道的感染,正常來說醫院會使用抗生素治療,但即使暫時治好了,之後感染的狀況一樣會反覆出現,所以我打算簽署拒絕使用抗生素、輸血的同意書,這樣當下次有感染症狀時,爺爺會比較自然地...

閱讀更多
2025/01/21 (二)
發布於: 2025-01-22 更新於: 2025-05-11 分類於: Life
- 晚上 7:00

昨天晚上來看爺爺的時候就有跟護士提出安寧拔管的意願,很快今天晚上蔡醫生就來病房跟我們討論後續的狀況,原來安寧拔管並沒有這麼簡單,之前以為拔管後就可以不用再忍受痛苦,很快的就會到天上,但醫生提醒有另一種狀況是拔管完後可能可以自主呼吸,而健保規定拔管後的病人只能繼續在呼吸病房再住五天,五天之後就需要回家或轉介到護理之家,之前完全沒想過還有這種狀況,如果真的要拔管的話,就要把之後有可能要轉介的機構也想好,這樣...

閱讀更多
2025/01/19 (日)
發布於: 2025-01-19 更新於: 2025-05-11 分類於: Life
- 早上 11:30

沒想到禮拜天胸腔主治的蔡醫生竟然會出現,我發現他講話很實在直接而且還會用一般人能理解的比喻解釋病況,說明了爺爺目前的狀況如下:

一. 爺爺是多發性腦中風,提到丘腦還有某個腦都受損,把大腦想像成台北捷運系統,爺爺現在壞掉的就是台北車站,所以四肢的運動神經、意識方面都受到影響,就爺爺現...

閱讀更多
2025/01/18 (六)
發布於: 2025-01-19 更新於: 2025-05-11 分類於: Life
- 下午 4:00

上週抽到的籤詩還沒有找師傅解,剛好今天是星期六想說解籤師傅應該在了,於是再度去台北府城隍廟,一到那邊先問櫃台的小姐解籤師傅是否有上班,沒想到他認得我上週來過,他說師傅現在正在祭改中,要等晚一點,於是我就先參拜了一輪跟神明們說爺爺目前的最新狀況,上週爺爺人還在加護病房但這週狀況有比較穩定所以下轉到呼吸病房,但目前住院接近一個月,爺爺還是昏迷臥床中,身上插著鼻胃管、氣管這些維生的儀器

拜完後,...

閱讀更多
2025/01/17 (五)
發布於: 2025-01-19 更新於: 2025-05-11 分類於: Life

爺爺從上個月 23 號住進醫院,到現在已經過了三個禮拜了,一開始為了呼吸道暢通才插管使用呼吸器,但插管時間久了會傷害到喉嚨、聲帶等,通常醫生不會建議插管超過一個月,如果插太長時間之後也會引起肺部感染

爺爺現在一樣無法睜開眼睛躺在呼吸病房,手腳偶爾會動一下,但醫生說那個是基本上是無意識的肌肉反射,目前三餐是靠著鼻胃管灌食牛奶、營養品等,另外每天擦澡、翻身都需要 24 小時看護照顧

醫生說爺爺因為腦中風的關係之後要清醒的機率很低,就算有機會清醒之後都要臥床了,爺爺目前身上都還插著氣管內管、鼻胃管等,這些維生設備插著都很痛苦,所以我覺得現在對爺爺最好的方式是安...

閱讀更多
2025/01/16 (四)
發布於: 2025-01-19 更新於: 2025-05-11 分類於: Life
- 早上 10:00

兩天前加護病房的護士就說爺爺的升壓藥已經停了,隨時做好可以去呼吸病房的準備,剛好今天是加護病房移到新大樓的日子,他們建議今天就把爺爺直接轉到呼吸病房,就不用到時新大樓舊大樓這樣移來移去,十點整我就準時在呼吸病房的外面等,等到大約十點半終於被叫進去,原來他們病房內部自己有電梯,難怪我在外面一直看都沒看到爺爺的病床推進去。

接著護理師做個簡單的環境介紹,然後是看護公司那邊的小老闆拿著契...

閱讀更多
2025/01/12 (日)
發布於: 2025-01-13 更新於: 2025-05-11 分類於: Life
- 早上 11:00

今天一樣去陪爺爺,但卻遇到我覺得最莫名其妙的護士,直接氣到跟他吵起來,一開始我詢問他前幾天有心臟科醫生來會診有說之後會再用藥,這部分的話是明天開始會使用嗎?原本只是想說順便詢問一下而已,沒想到他回說關於病況的部分要平日早上來詢問醫生,我們護士不負責做病況的講解,然後我說我只是聽前兩天的護士有提到這塊,所以想順便問一下時間,沒想到他還是一樣說護士不負責講解病況,他會再跟前兩天的護士告知,不能跟家屬...

閱讀更多
2025/01/10 (五)
發布於: 2025-01-12 更新於: 2025-05-11 分類於: Life
- 早上 11:00

接到醫院邱個管師打來的電話,因為我們昨天有去參觀呼吸病房,他今天就打來介紹病房的設施狀況,主要大概提到幾點

  1. 院內配合的看護一個人會同時照顧六到七位病人,費用是一個月 36000,並且戶籍都是大陸或本國籍的,如果我們要自己找外面的看護也是可以的

  2. 當爺爺使用呼吸器 21 天後,可以申請呼吸重大傷病卡,有這個的話在呼吸病房的耗材、食物營...

閱讀更多
2025/01/09 (四)
發布於: 2025-01-11 更新於: 2025-05-11 分類於: Life
- 早上 10:00

早上拜訪廖阿伯,一進門就問了關於爺爺現在住院的事情,阿伯好像只問了爺爺的名字,過一會後就說爺爺現在的身體機能越來越下降了,原本應該是去年還前年的時候,就已經有個劫很難度過了,沒想到能撐到今年已經是很厲害了,然後建議我們可以去城隍廟拜拜跟城隍說爺爺的名字,住的醫院病房,然後說「如果是該老該壽讓他順利的走,如果不是讓他身體好起來 一份金紙拜託」,接著插香等兩三分鐘後再擲筊問城隍看一份金紙夠不夠,是聖...

閱讀更多