-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
82 lines (66 loc) · 2.67 KB
/
index.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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<!DOCTYPE Html>
<html>
<head>
<title>Exercise 4: BRDF and Procedural Textures</title>
<link rel="stylesheet" type="text/css" href="brdf.css"/>
<script type="text/javascript" src="jquery-2.0.3.min.js"></script>
<script type="text/javascript" src="ShaderLoader.min.js"></script>
<script type="text/javascript" src="glMatrix-0.9.5.min.js"></script>
<script type="text/javascript" src="teapot.js"></script>
<script type="text/javascript" src="sphere.js"></script>
<script type="text/javascript" src="brdf.js"></script>
<script type="text/javascript">
// be warned that objects are not copied, but their references.
var WHITE3 = new Float32Array([1, 1, 1]);
var RED3 = new Float32Array([1, 0.5, 0.5]);
var BLUE3 = new Float32Array([.7, .7, 1]);
var STEEL = new Float32Array([0.58, 0.57, 0.55]);
var STEEL2 = new Float32Array([0.38, 0.37, 0.35]);
var HEMATITE = new Float32Array([0.16, 0.16, 0.16]);
// dummy material properties
var materials = new Array();
materials.push({ambient: STEEL, diffuse: STEEL, specular: STEEL2, shininess: 4.0});
materials.push({ambient: HEMATITE, diffuse: HEMATITE, specular: WHITE3, shininess: 32.0});
</script>
<script type="text/javascript">
shadersList.push("C_earth");
shadersList.push("B_marble");
shadersList.push("A_wood");
shadersList.push("7_svbrdf");
shadersList.push("6_cook_torrance");
shadersList.push("5_wards");
shadersList.push("4_blinn-phong");
shadersList.push("3_phong_lighting");
shadersList.push("2_lambertian");
shadersList.push("0_ambient");
</script>
</head>
<body onload="init();">
<script language="JavaScript">
window.onbeforeunload = function()
{
return "Warning! If you have edited the shaders in the textarea, you need to export them, otherwise your work will be lost.";
}
</script>
<canvas id="screen">Your browser may not support HTML5 canvas.</canvas>
<div id="message" class="unselectable"></div>
<div id="controls">
<button id="show_button" onclick="showShader()"></button>
<select id="shaderSelector" onChange="selectShader(this.selectedIndex)"></select>
</div>
<div id="editor">
<div style="margin-top: 70px;">
<button id="compile_button" onclick="compileShader()">Compile shader</button> <button id="export_button" onclick="exportShaders()">Export shaders</button>
<br/><br/>
Vertex Shader: <br/>
<textarea id="editor_vshader">
</textarea>
<br />
Fragment Shader: <br/>
<textarea id="editor_fshader">
</textarea>
</div>
</div>
<a id="exportLink" class="hidden"/>
</body>
</html>