-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
11 changed files
with
1,547 additions
and
0 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
<!DOCTYPE html> | ||
<html><head> | ||
<meta http-equiv="content-type" content="text/html; charset=windows-1252"></head><body><button id="ButtonX">Rotate X</button> | ||
<button id="ButtonY">Rotate Y</button> | ||
<button id="ButtonZ">Rotate Z</button> | ||
<button id="ButtonT">Toggle Rotation</button> | ||
<button id="LightX+">LightX+</button> | ||
<button id="LightX-">LightX-</button> | ||
<button id="LightY+">LightY+</button> | ||
<button id="LightY-">LightY-</button> | ||
<button id="LightZ+">LightZ+</button> | ||
<button id="LightZ-">LightZ-</button> | ||
|
||
|
||
<script id="vertex-shader" type="x-shader/x-vertex">#version 300 es | ||
in vec4 vPosition; | ||
in vec3 vNormal; | ||
out vec4 fColor; | ||
|
||
in vec2 texturePosition; | ||
out vec2 outTexturePosition; | ||
|
||
uniform vec4 ambientProduct, diffuseProduct, specularProduct; | ||
uniform mat4 modelViewMatrix; | ||
uniform mat4 projectionMatrix; | ||
uniform vec4 lightPosition; | ||
uniform float shininess; | ||
|
||
void main() | ||
{ | ||
|
||
|
||
vec3 pos = -(modelViewMatrix * vPosition).xyz; | ||
|
||
//fixed light postion | ||
|
||
vec3 light = lightPosition.xyz; | ||
vec3 L = normalize( light - pos ); | ||
|
||
|
||
vec3 E = normalize( -pos ); | ||
vec3 H = normalize( L + E ); | ||
|
||
vec4 NN = vec4(vNormal,0); | ||
|
||
// Transform vertex normal into eye coordinates | ||
|
||
vec3 N = normalize( (modelViewMatrix*NN).xyz); | ||
|
||
// Compute terms in the illumination equation | ||
vec4 ambient = ambientProduct; | ||
|
||
float Kd = max( dot(L, N), 0.0 ); | ||
vec4 diffuse = Kd*diffuseProduct; | ||
|
||
float Ks = pow( max(dot(N, H), 0.0), shininess ); | ||
vec4 specular = Ks * specularProduct; | ||
|
||
if( dot(L, N) < 0.0 ) { | ||
specular = vec4(0.0, 0.0, 0.0, 1.0); | ||
} | ||
|
||
gl_Position = projectionMatrix * modelViewMatrix * vPosition; | ||
fColor = ambient + diffuse +specular; | ||
|
||
fColor.a = 1.0; | ||
outTexturePosition = texturePosition; | ||
|
||
} | ||
</script> | ||
|
||
<script id="fragment-shader" type="x-shader/x-fragment">#version 300 es | ||
|
||
precision mediump float; | ||
|
||
in vec4 fColor; | ||
out vec4 oColor; | ||
|
||
in vec2 outTexturePosition; | ||
uniform sampler2D textureSampler; | ||
|
||
void main() | ||
{ | ||
|
||
oColor = fColor * texture(textureSampler, outTexturePosition); | ||
} | ||
</script> | ||
|
||
<script type="text/javascript" src="shadedCube_js/webgl-utils.js"></script> | ||
<script type="text/javascript" src="shadedCube_js/initShaders.js"></script> | ||
<script type="text/javascript" src="shadedCube_js/MV.js"></script> | ||
<script type="text/javascript" src="shadedCube_js/shadedCube.js"></script> | ||
|
||
|
||
<canvas id="gl-canvas" width="512" height="512"> | ||
Oops ... your browser doesn't support the HTML5 canvas element | ||
</canvas> | ||
|
||
|
||
</body></html> |
Oops, something went wrong.