summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpommicket <pommicket@gmail.com>2023-06-14 11:58:41 +0100
committerpommicket <pommicket@gmail.com>2023-06-14 11:58:41 +0100
commita6df8658309f82c62e4507894e409b65a6470950 (patch)
treefd0252730d8c391f38bb914d677e80819d3bee1c
parented5d2abddffcf72d28dd427d08efc50d4b1456d9 (diff)
nicer show_error
-rw-r--r--fractiform.js5
-rw-r--r--index.html41
2 files changed, 30 insertions, 16 deletions
diff --git a/fractiform.js b/fractiform.js
index eac29a6..9575802 100644
--- a/fractiform.js
+++ b/fractiform.js
@@ -39,6 +39,7 @@ void main() {
gl.linkProgram(program);
if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
show_error('Error linking shader program:\n' + gl.getProgramInfoLog(program));
+ return;
}
vertex_buffer = gl.createBuffer();
@@ -92,6 +93,6 @@ function compile_shader(name, type, source) {
}
function show_error(error) {
- // TODO: display error in browser
- console.log(error);
+ document.getElementById('error-message').innerText = error;
+ document.getElementById('error-dialog').showModal();
}
diff --git a/index.html b/index.html
index 2c6dfd3..399671f 100644
--- a/index.html
+++ b/index.html
@@ -6,9 +6,10 @@
<style>
body {
font-family: sans-serif;
- background-color: #111;
+ background-color: black;
margin: 0;
padding: 0;
+ color: white;
overflow: hidden;
}
@@ -16,30 +17,42 @@
width: 100vw;
height: 100vh;
}
+
+ .error {
+ color: red;
+ }
+
+ #error-dialog {
+ border: 2px solid red;
+ background-color: black;
+ }
+ #error-dialog button {
+ border: 2px solid white;
+ background-color: black;
+ color: white;
+ }
+ button:focus {
+ outline: 2px solid #0a0;
+ }
</style>
<meta charset="utf-8">
<meta content="width=device-width,initial-scale=1" name="viewport">
</head>
<body>
-<script id="vertex-shader" type="x-shader/x-vertex">
- attribute vec2 aVertexPosition;
- void main() {
- gl_Position = vec4(aVertexPosition, 0.0, 1.0);
- }
-</script>
-<script id="fragment-shader" type="x-shader/x-fragment">
- uniform vec4 uGlobalColor;
-
- void main() {
- gl_FragColor = uGlobalColor;
- }
-</script>
<script src="fractiform.js" type="text/javascript"></script>
<canvas id="canvas">
Your browser doesn't support &lt;canvas&gt;<br>
This page won't work for you.
</canvas>
+
+<dialog id="error-dialog">
+ <pre id="error-message" class="error"></pre>
+ <form method="dialog">
+ <button>OK</button>
+ </form>
+</dialog>
+
</body>
</html>