89 lines
3.6 KiB
Plaintext
89 lines
3.6 KiB
Plaintext
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta
|
|
name="Description"
|
|
content="Simple WebGL app to demonstrate my skills">
|
|
<title>WebGL</title>
|
|
|
|
<link rel="stylesheet" href="static/css/style.css">
|
|
</head>
|
|
<body>
|
|
<div id="root">
|
|
<canvas id='glCanvas' width='640' height='640'></canvas>
|
|
<div id='ui'>
|
|
<div class='ui-block'>
|
|
To control the camera orientation with mouse, click in the canvas, to exit, click again.<br>
|
|
To control the camera position, use W/S for Z axis, A/D for X axis, and Space/Shift for fixed Y axis.
|
|
</div>
|
|
<div class='ui-block'>
|
|
<div style='display: inline;'>Change shader: </div>
|
|
<button id='s_blackandwhite'>Black & White</button>
|
|
<button id='s_color'>Colored</button>
|
|
<button id='s_grey'>No texture</button>
|
|
<button id='s_texture'>Texture</button>
|
|
<button id='s_sobel'>Sobel Edge Detection</button>
|
|
</div>
|
|
<div class='ui-block'>
|
|
<div style='display: inline;'>Change distance: </div>
|
|
<div style='display: inline;'>Fine: </div>
|
|
<input type="range" min="1" max="50" value="25" class="slider" id="distancefine">
|
|
<div style='display: inline;'>Coarse: </div>
|
|
<input type="range" min="1" max="1000" value="40" class="slider" id="distance">
|
|
</div>
|
|
<div class='ui-block'>
|
|
<div style='display: inline;'>Change circle size: </div>
|
|
<input type="range" min="0" max="50" value="2" class="slider" id="circlesize">
|
|
</div>
|
|
<div class='ui-block'>
|
|
<div style='display: inline;'>Change fov: </div>
|
|
<input type="range" min="15" max="150" value="45" class="slider" id="fov">
|
|
</div>
|
|
<div class='ui-block'>
|
|
<div style='display: inline;'>Change base rotation speed: </div>
|
|
<input type="range" min="0" max="5" value="1" step='0.0001' class="slider" id="rotspeed">
|
|
</div>
|
|
<div class='ui-block'>
|
|
<div style='display: inline;'>Change instances number: </div>
|
|
<input type="range" min="1" max="180" value="9" step='1' class="slider" id="instance">
|
|
</div>
|
|
<div class='ui-block'>
|
|
<div style='display: inline;'>Change rotation: </div>
|
|
<div style='display: inline;'>X: </div>
|
|
<input type="range" min="0" max="6.2830" value="0" step='0.0001' class="slider" id="rotx">
|
|
<div style='display: inline;'>Y: </div>
|
|
<input type="range" min="0" max="6.2830" value="0" step='0.0001' class="slider" id="roty">
|
|
<div style='display: inline;'>Z: </div>
|
|
<input type="range" min="0" max="6.2830" value="0" step='0.0001' class="slider" id="rotz">
|
|
</div>
|
|
<div class='ui-block'>
|
|
<div style='display: inline;'>Change object: </div>
|
|
<button id='o_sphere'>Sphere</button>
|
|
<button id='o_teapot'>Teapot</button>
|
|
<button id='o_fox'>Fox</button>
|
|
<button id='o_mecha'>Mecha</button>
|
|
<button id='o_racer'>Racer</button>
|
|
</div>
|
|
<div class='ui-block'>
|
|
<div style='display: inline;'>Change texture: </div>
|
|
<button id='t_wall'>Wall</button>
|
|
<button id='t_ice'>Ice</button>
|
|
<button id='t_noise'>Noise</button>
|
|
<button id='t_fox'>Fox</button>
|
|
<button id='t_racer'>Racer</button>
|
|
<button id='t_racer_wireframe'>Racer Wireframe</button>
|
|
</div>
|
|
<div class='ui-block'>
|
|
<a href='https://git.gaetanbrochard.dev/gbrochar/webgl'>This project's git</a>
|
|
<br>
|
|
<a href='https://git.gaetanbrochard.dev/gbrochar'>My git</a>
|
|
<p>If you're on mobile, you need to set the shader to texture or sobel to change object, then you can change the shader</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script src="js/bundle.js"></script>
|
|
</body>
|
|
</html>
|