建立WebGL著色器程式

2021-09-02 17:37:02 字數 693 閱讀 2031

既然是高階,我們就要先從基礎入手,那麼先看一下如何建立乙個webgl的著色器程式:

// 初始化著色器程式外掛程式

// initshaders.js

//function initshaders(gl, vertexshaderid, fragmentshaderid)

else

}var fragelem = document.getelementbyid(fragmentshaderid); //獲取片元著色器dom物件

if (!fragelem)

else

}var program = gl.createprogram(); //建立乙個著色器程式物件

gl.attachshader(program, vertshdr); //將頂點著色器新增到著色器程式

gl.attachshader(program, fragshdr); //將片元著色器新增到著色器程式

gl.linkprogram(program); //將著色器程式鏈結到新增的著色器物件

if (!gl.getprogramparameter(program, gl.link_status))

//最後將建立的著色器程式返回

return program;

}

以上是乙個初始化著色器程式的**,我做了一下翻譯,大家看一下吧。

webgl學習 著色器

著色器是一段使用glsl語言 一種類c的高階語言 編寫的簡短程式,它定義了3d物件的畫素點實際繪製到螢幕上的方式,webgl要求開發者要為每個待繪製的物件提供乙個著色器,乙個著色器可以應用於多個物件,因此在實際的應用中,整個場景通常提供乙個統一的 著色器。乙個著色器,通常由兩個部分組成 頂點著色器 ...

一 WebGL 著色器和繪製

var vshader source void main 型別和變數名字 var fshader source void main param mode 繪製模式 gl.points,gl.lines,gl.line strip,gl.line loop param first 從哪個點開始繪製 p...

OpenGL著色器程式解析 著色器基礎

部分內容 於 現代opengl渲染管線嚴重依賴著色器來處理傳入的資料。如果不使用著色器,那麼用opengl可以做到的事情可能只有清除視窗內容了,可見著色器對於opengl的重要性。在opengl 3.0版本以前 含該版本 或者如果你用到了相容模式 compatibility prof?ile 環境,...