summaryrefslogtreecommitdiff
path: root/frontend/_shared/2d/shader.js
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/_shared/2d/shader.js')
-rw-r--r--frontend/_shared/2d/shader.js76
1 files changed, 0 insertions, 76 deletions
diff --git a/frontend/_shared/2d/shader.js b/frontend/_shared/2d/shader.js
deleted file mode 100644
index 7e85a9e..0000000
--- a/frontend/_shared/2d/shader.js
+++ /dev/null
@@ -1,76 +0,0 @@
-function loadShader(pGl, pShaderType, pShaderSource) {
- const lShader = pGl.createShader(pShaderType);
- pGl.shaderSource(lShader, pShaderSource);
- pGl.compileShader(lShader);
- if (!pGl.getShaderParameter(lShader, pGl.COMPILE_STATUS)) {
- alert('An error occurred compiling the shaders: ' + pGl.getShaderInfoLog(lShader));
- pGl.deleteShader(lShader);
- return null;
- }
-
- return lShader;
-}
-
-function loadOrthographicShader(pGl) {
- var lVertex, lFragment;
-
- function lLoadShaders() {
- const lVertexShader = loadShader(pGl, pGl.VERTEX_SHADER, lVertex);
- const lFragmentShader = loadShader(pGl, pGl.FRAGMENT_SHADER, lFragment);
-
- const lShaderProgram = pGl.createProgram();
- pGl.attachShader(lShaderProgram, lVertexShader);
- pGl.attachShader(lShaderProgram, lFragmentShader);
- pGl.linkProgram(lShaderProgram);
-
- if (!pGl.getProgramParameter(lShaderProgram, pGl.LINK_STATUS)) {
- alert('Unable to initialize the shader program: ' + pGl.getProgramInfoLog(lShaderProgram));
- return null;
- }
-
- var lRetval = {
- program: lShaderProgram,
- attributeLocations: {
- position: pGl.getAttribLocation(lShaderProgram, 'position'),
- color: pGl.getAttribLocation(lShaderProgram, 'color')
- },
- uniformLocations: {
- projection: pGl.getUniformLocation(lShaderProgram, 'projection'),
- model: pGl.getUniformLocation(lShaderProgram, 'model')
- }
- };
-
- lRetval.renderShape = function(pShape) {
- pGl.uniformMatrix4fv(lRetval.uniformLocations.model, false, pShape.model);
- pGl.bindBuffer(pGl.ARRAY_BUFFER, pShape.buffer);
- {
- pGl.enableVertexAttribArray(lRetval.attributeLocations.position);
- pGl.vertexAttribPointer(lRetval.attributeLocations.position, 2, pGl.FLOAT, false, BYTES_PER_FLOAT * 6, 0);
-
- pGl.enableVertexAttribArray(lRetval.attributeLocations.color);
- pGl.vertexAttribPointer(lRetval.attributeLocations.color, 4, pGl.FLOAT, false, BYTES_PER_FLOAT * 6, BYTES_PER_FLOAT * 2);
- }
-
- pGl.drawArrays(pGl.TRIANGLES, 0, pShape.vertexCount);
- }
-
- return lRetval;
- }
-
- return fetch('/_shared/2d/shaders/orthographic.vert').then(function(pResponse) {
- if (pResponse.status === 200) {
- return pResponse.text().then(function(pShader) {
- lVertex = pShader;
-
- return fetch('/_shared/2d/shaders/orthographic.frag').then(function(pResponse) {
- if (pResponse.status === 200) {
- return pResponse.text().then(function(pShader) {
- lFragment = pShader;
- return lLoadShaders();
- });
- }
- });
- });
- }
- });
-} \ No newline at end of file