WebGL中的函數及內置屬性介紹

initShaders()//對字符串形式的着色器進行初始化

initShaders(gl,vshader,fshader)
在WebGL系統內部創建和初始化着色器
參數 gl 指定渲染上下文
vshader 指定頂點着色器程序代碼(字符串)
fshader 指定片原着色器程序代碼(字符串)
返回值 true 初始化着色器成功
false 初始化着色器失敗

gl.drawArrays()是一個強大的函數,他能夠用來描繪各類圖形

gl.drawArrays(mode,first,count)
執行頂點着色器,按照mode參數指定的方式描繪圖形
參數 mode 指定的繪製的方式,能夠接收如下常量符號:gl.POINTS,gl.LINES,gl.LINE_STRIP,gl.LINE_LOOP,gl.TRIANGLES,gl.TRIANGLE_STRIP,gl.TRIANGLE_FAN
first 指定從哪一個頂點開始繪製(整型數)
count 指定繪製須要用到多少個頂點(整型數)
返回值  
錯誤 INVALID_ENUM 傳入的mode參數不是前述參數之一
INVALID_VALUE 參數first或count是負值

gl.getAttribLocation()//獲取attribute變量的儲存位置web

gl.getAttribLocation(program,name)
獲取由name參數指定的attribute變量的儲存地址
參數 program 指定包含頂點着色器和片原着色器的色器程序對象
name 指定想要獲取其儲存地址的attribute變量的名稱
返回值 大於等於0 attribute變量的儲存地址
-1 指定的attribute變量不存在,或者其命名具備gl_或webgl_前綴
錯誤 INVALID_OPERATION 程序對象未能成功鏈接
  INVALID_VALUE name參數的長度大於attribute變量名的最大長度(默認256字節)

gl.vertexAttrib3f()//向attribute變量賦值函數

gl.vertexAttrib3f(location,v0,v1,v2)
將數據(v0,v1,v2)傳給由location參數指定的attribute變量
參數 location 指定將要修改的attribute變量的儲存位置
v0 指定填充attribute變量第一個份量的值
v1 指定填充attribute變量第二個份量的值
v2 指定填充attribute變量第三個份量的值
返回值  
錯誤 INVALID_OPERATION 沒有當前的program對象
INVALID_VALUE location大於等於attribute變量的最大數目(默認爲8)
相關文章
相關標籤/搜索