WebGL程式設計(1) 學習總結之WebGL常用方法

2021-09-26 09:14:57 字數 2192 閱讀 1494

webgl簡介:

webgl,是一項使用canvas在網頁上繪製和渲染複雜三維圖形(3d圖形),並允許使用者與之進行互動的技術,webgl的技術規範繼承自免費和開源的opengl標準,而後者在計算機圖形學、電子遊戲、計算機輔助設計等領域已被廣泛使用多年。

由於webgl處理的是三維圖形,所以它使用的是三維座標系統(笛卡爾座標系),具有x軸、y軸、z軸,並且webgl採用的是右手座標系。

canvas的中心點就是webgl的(0.0,0.0,0.0)

canvas的x軸左邊緣和右邊緣分別對應webgl的x軸的-1.0和1.0

canvas的y軸上邊緣和下邊緣分別對應webgl的y軸的1.0和-1.0

例子:

"canvas" height=

"400" width=

"400"

>該瀏覽器不支援canvas!<

/canvas>

(function

main()

gl.clearcolor

(0.0

,0.0

,0.0

,1.0

) gl.

clear

(gl.

color_buffer_bit);

}())

;<

/script>

1. #.clearcolor(red,green,blue,alpha)指定繪圖區域的背景色(清空canvas的顏色,並以該顏色覆蓋)。

引數:r,g,b,a 都是0.0~1.0的浮點數,並且必須帶小數點

2. #.clear(buffer)

將指定緩衝區的值設為預定的值。

如果清空的是顏色緩衝區,那麼將使用gl.clearcolor()指定的值作為預定值。

引數:buffer,指定待清空的緩衝區,使用位操作符or( | )可指定多個緩衝區 。

可選緩衝區:

對應的清空緩衝區的函式:

顏色快取區 , gl.clearcolor(red,green,blue,alpha);

深度緩衝區 , gl.cleardepth(depth)

模板緩衝區 ,gl.clearstencil(s)

3.#.drawarrays(mode, first, count)用於從向量陣列中繪製圖元,按照mode引數指定的方式繪製圖形。

引數:mode

first

指定從哪個點開始繪製,從0開始。

count

指定繪製需要使用到多少個點。

返回值:無。

異常:

4.#.getattriblocation(program,name)

返回值:

錯誤:

5.#.vertexattrib3f(location,v0,v1,v2)

將資料(v0,v1,v2)傳給由location引數指定的attribute變數

引數:

*返回值:*無

錯誤:

該同族函式:分量的值對應填充

#.vertexattrib1f(location,v0)

#.vertexattrib2f(location,v0,v1)

#.vertexattrib3f(location,v0,v1,v2)

#.vertexattrib4f(location,v0,v1,v2,v3)

6.#.getuniformlocation(program,name)獲取由name引數指定的uniform變數的儲存位置

7.#.uniform4f(location,u1,u2,u3,u4)

將資料傳遞給由location引數指定的uniform變數,同族函式用法相似。

C 高階程式設計學習1 總結

多看,多練 多寫 程式是寫出來的 1.程式集 打包的類,類的訪問級別 public 公共的 private 私有的 protected 子類訪問 internal 預設 自己寫程式集 新建類庫 生成 bin debug dll檔案 新增引用 程式集不能a b b a 不能相互引用 單向引用 exe,...

程式設計總結1

從事c 開發工作已有三四年之久,之前一直都是埋頭專心幹活。三年前的狀態幾乎是待在公司的實驗室裡有種兩耳不聞窗外事,一心只繫正在研發的系統。現在慢慢的空閒下來了,就趁著空閒的時間,把以前的遇到的問題好好整理進行反思反思。同時在反思的過程中也研究研究最近流行的新技術。以下幾點是我在開發過程中的幾點總結 ...

程式設計總結1

7 1 列印沙漏 20 分 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個 要求按下列格式列印 所謂 沙漏形狀 是指每行輸出奇數個符號 各行符號中心對齊 相鄰兩行符號數差2 符號數先從大到小順序遞減到1,再從小到大順序遞增 首尾符號數相等。給定任意n個符號,不一定能正好組成乙個沙漏。...