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( | )可指定多個緩衝區 。
可選緩衝區:
對應的清空緩衝區的函式:3.#.drawarrays(mode, first, count)用於從向量陣列中繪製圖元,按照mode引數指定的方式繪製圖形。顏色快取區 , gl.clearcolor(red,green,blue,alpha);
深度緩衝區 , gl.cleardepth(depth)
模板緩衝區 ,gl.clearstencil(s)
引數:mode
first
指定從哪個點開始繪製,從0開始。
count
指定繪製需要使用到多少個點。
返回值:無。
異常:
4.#.getattriblocation(program,name)
返回值:
錯誤:
5.#.vertexattrib3f(location,v0,v1,v2)
將資料(v0,v1,v2)傳給由location引數指定的attribute變數
引數:
*返回值:*無
錯誤:
該同族函式:分量的值對應填充6.#.getuniformlocation(program,name)獲取由name引數指定的uniform變數的儲存位置#.vertexattrib1f(location,v0)
#.vertexattrib2f(location,v0,v1)
#.vertexattrib3f(location,v0,v1,v2)
#.vertexattrib4f(location,v0,v1,v2,v3)
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個符號,不一定能正好組成乙個沙漏。...