概要
状態:-
閲覧数:748
投稿日:2018-01-19
更新日:2018-01-29
WebGLShaderはWebGL APIの一部であり、頂点シェーダまたはフラグメントシェーダの何れかになる
・WebGLプログラムには、両方の種類のシェーダが必要である
WebGLShaderを作成するには?
・WebGLRenderingContext.createShaderを使用し、WebGLRenderingContext.shaderSource()を使用してGLSLソースコードをフックし、最後にWebGLRenderingContext.compileShader()を呼び出してシェーダを終了し、コンパイルする
・この時点で、WebGLShaderはまだ使用可能な形式ではなく、依然としてWebGLProgramに接続されていなければならない
・シェーダの取り付けについては、WebGLプログラムを参照する
WebGLShader
WebGLでGLSL (Shader) を書く流れを(ざっくり)まとめた
WebGLの基本
・WebGLプログラムには、両方の種類のシェーダが必要である
WebGLShaderを作成するには?
・WebGLRenderingContext.createShaderを使用し、WebGLRenderingContext.shaderSource()を使用してGLSLソースコードをフックし、最後にWebGLRenderingContext.compileShader()を呼び出してシェーダを終了し、コンパイルする
・この時点で、WebGLShaderはまだ使用可能な形式ではなく、依然としてWebGLProgramに接続されていなければならない
function createShader (gl, sourceCode, type) {
// gl.VERTEX_SHADER 型または gl.FRAGMENT_SHADER 型のシェーダをコンパイルする
var shader = gl.createShader( type );
gl.shaderSource( shader, sourceCode );
gl.compileShader( shader );
if ( !gl.getShaderParameter(shader, gl.COMPILE_STATUS) ) {
var info = gl.getShaderInfoLog( shader );
throw 'Could not compile WebGL program. \n\n' + info;
}
return shader;
}
・シェーダの取り付けについては、WebGLプログラムを参照する
WebGLShader
WebGLでGLSL (Shader) を書く流れを(ざっくり)まとめた
WebGLの基本