Skip to content

Commit

Permalink
Complete project.
Browse files Browse the repository at this point in the history
  • Loading branch information
Leroks committed Jan 8, 2024
1 parent 2bd6aab commit f8230db
Show file tree
Hide file tree
Showing 11 changed files with 1,547 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions .idea/simple-textured-cube-and-lighting-webgl2.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

100 changes: 100 additions & 0 deletions shadedCube.html
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>
Loading

0 comments on commit f8230db

Please sign in to comment.