Skip to Content
Real-Time 3D Graphics with WebGL 2 - Second Edition
book

Real-Time 3D Graphics with WebGL 2 - Second Edition

by Farhad Ghayour, Diego Cantor
October 2018
Intermediate to advanced
500 pages
12h 40m
English
Packt Publishing
Content preview from Real-Time 3D Graphics with WebGL 2 - Second Edition

Vertex Shader

Let's cover a sample vertex shader:

#version 300 esuniform mat4 uModelViewMatrix;uniform mat4 uProjectionMatrix;uniform mat4 uNormalMatrix;uniform vec3 uLightDirection;uniform vec3 uLightDiffuse;uniform vec3 uMaterialDiffuse;in vec3 aVertexPosition;in vec3 aVertexNormal;out vec4 vVertexColor;void main(void) {  vec3 normal = normalize(vec3(uNormalMatrix * vec4(aVertexNormal, 1.0)));    vec3 lightDirection = normalize(uLightDirection);  float LambertianTerm = dot(normal, -lightDirection);  vVertexColor = vec4(uMaterialDiffuse * uLightDiffuse * LambertianTerm,    1.0);  gl_Position = uProjectionMatrix * uModelViewMatrix *    vec4(aVertexPosition, 1.0);}

On first inspection, we can identify the attributes, uniforms, and varyings that we ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL

WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL

Kouichi Matsuda, Rodger Lea
3D Graphics Rendering Cookbook

3D Graphics Rendering Cookbook

Sergey Kosarevsky, Viktor Latypov

Publisher Resources

ISBN: 9781788629690Supplemental Content