Skip to content

Instantly share code, notes, and snippets.

@ahmadyogi543
Created May 8, 2023 05:57
Show Gist options
  • Save ahmadyogi543/9f999df565230f6bbce3449bf14bf923 to your computer and use it in GitHub Desktop.
Save ahmadyogi543/9f999df565230f6bbce3449bf14bf923 to your computer and use it in GitHub Desktop.
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;
}
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 false;
}
gl.program = shaderProgram;
return true;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment