html
html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE html>
<!--
* Generative Art Shader Framework
* WebGL rendering setup HTML code
*
GLSL Shader: Shader Heart
* Author: Svetlana V
-->
<html>
<head>
<meta charset="UTF-8">
<title>Shader Heart</title>
</head>
<body>
<canvas></canvas>
<script type="glsl" id="vertex-shader">
attribute vec2 vPos;
void main() {
gl_Position = vec4(vPos, 0., 1.);
}
</script>
<script type="glsl" id="fragment-shader">
precision highp float;
uniform vec2 iCanvasSize;
uniform vec2 iTime;
Enter to Rename, Shift+Enter to Preview
css
css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
* Generative Art Shader Framework
* WebGL rendering setup CSS code
*
GLSL Shader: Shader Heart
* Author: Svetlana V
*/
body {
margin: 0;
padding: 0;
overflow: hidden;
background-color: blueviolet
}
canvas {
width: 100vw;
height: 100vh;
position: absolute;
}
Enter to Rename, Shift+Enter to Preview
js
js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/**
* Generative Art Shader Framework
* WebGL rendering setup JavaScript code
*
GLSL Shader: Shader Heart
* Author: Svetlana V
*/
var hddpi = false;
var thisLink = "https://code.sololearn.com/W8zPB0KdcBl9/?ref=app#js";
var sound = new Audio('https://instaud.io/_/3wAV.mp3');
sound.loop = true;
window.onload = function() {
// get canvas html element
const canvas = document.querySelector('canvas');
// get canvas webgl rendering context
const gl = canvas.getContext('webgl');
if (!gl) {
document.write("<p>WebGL is not supported :(<br>Try to show it in another web browser?<button onclick='window.open(thisLink);'>Open</button></p>");
return;
}
Enter to Rename, Shift+Enter to Preview
BROWSER
Console
Run