Skip to content

Instantly share code, notes, and snippets.

@ahmadyogi543
Created March 27, 2023 01:51
Show Gist options
  • Save ahmadyogi543/44a4aac53a1205bf00a01fc62ea23290 to your computer and use it in GitHub Desktop.
Save ahmadyogi543/44a4aac53a1205bf00a01fc62ea23290 to your computer and use it in GitHub Desktop.
Kode fungsi pembantu WebGL
function initShaderProgram(gl, vsSource, fsSource) {
const vertexShader = loadShader(gl, gl.VERTEX_SHADER, vsSource);
const fragmentShader = loadShader(gl, gl.FRAGMENT_SHADER, fsSource);
const shaderProgram = gl.createProgram();
gl.attachShader(shaderProgram, vertexShader);
gl.attachShader(shaderProgram, fragmentShader);
gl.linkProgram(shaderProgram);
if (!gl.getProgramParameter(shaderProgram, gl.LINK_STATUS)) {
alert(
`Tidak dapat menginisialisasi program shader: ${gl.getProgramInfoLog(
shaderProgram
)}`
);
return null;
}
return shaderProgram;
}
function loadShader(gl, type, source) {
const shader = gl.createShader(type);
gl.shaderSource(shader, source);
gl.compileShader(shader);
if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
alert(
`Terjadi kesalahan saat proses kompilasi shaders: ${gl.getShaderInfoLog(
shader
)}`
);
gl.deleteShader(shader);
return null;
}
return shader;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment