Created
March 27, 2023 01:51
-
-
Save ahmadyogi543/44a4aac53a1205bf00a01fc62ea23290 to your computer and use it in GitHub Desktop.
Kode fungsi pembantu WebGL
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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