Useful Links
Computer Science
Computer Graphics and Visualization
WebGL and Computer Graphics
1. Fundamentals of Computer Graphics
2. Introduction to WebGL
3. WebGL Rendering Pipeline
4. Mathematical Foundations for 3D Graphics
5. 3D Transformations and Projections
6. Color and Material Properties
7. Texture Mapping
8. Lighting and Shading
9. Advanced Rendering Techniques
10. WebGL 2.0 Features
11. Performance and Optimization
WebGL Rendering Pipeline
Buffer Management
Vertex Buffer Objects
VBO Purpose and Benefits
Buffer Creation Process
Buffer Deletion and Cleanup
Buffer Operations
Buffer Binding
Array Buffer Target
Element Array Buffer Target
Data Upload Methods
Static Draw Usage
Dynamic Draw Usage
Stream Draw Usage
Vertex Data Organization
Position Attributes
2D Positions
3D Positions
Color Attributes
RGB Colors
RGBA Colors
Normal Attributes
Surface Normals
Vertex Normals
Texture Coordinate Attributes
UV Coordinates
Multiple Texture Coordinates
Index Buffer Objects
Indexed Drawing Benefits
Index Buffer Creation
Element Array Usage
Index Data Types
Shaders and GLSL
GLSL Language Fundamentals
Syntax Overview
C-like Syntax
Precision Qualifiers
Data Types
Scalar Types
Float Type
Integer Type
Boolean Type
Vector Types
vec2 Type
vec3 Type
vec4 Type
ivec Types
bvec Types
Matrix Types
mat2 Type
mat3 Type
mat4 Type
Variable Qualifiers
Attribute Variables
Vertex Input Data
Uniform Variables
Global Shader Parameters
Varying Variables
Interpolated Data
Built-in Functions
Mathematical Functions
Trigonometric Functions
Exponential Functions
Common Functions
Vector Functions
Geometric Functions
Vector Relations
Matrix Functions
Matrix Operations
Vertex Shader Programming
Vertex Shader Purpose
Vertex Transformation
Attribute Processing
Vertex Shader Inputs
Attribute Variables
Uniform Variables
Vertex Shader Outputs
gl_Position Variable
Varying Variables
Common Vertex Operations
Position Transformation
Normal Transformation
Texture Coordinate Passing
Fragment Shader Programming
Fragment Shader Purpose
Pixel Color Calculation
Fragment Shader Inputs
Varying Variables
Uniform Variables
Built-in Variables
Fragment Shader Outputs
gl_FragColor Variable
Color Output
Fragment Operations
Color Calculation
Texture Sampling
Fragment Discard
Shader Compilation and Linking
Shader Object Creation
Vertex Shader Creation
Fragment Shader Creation
Source Code Attachment
Shader Source Setting
Compilation Process
Compile Operation
Compilation Error Checking
Error Message Handling
Program Object Management
Program Creation
Shader Attachment
Program Linking
Link Error Checking
Program Usage
Shader Variable Connections
Attribute Location Management
Getting Attribute Locations
Location Queries
Enabling Vertex Attributes
Attribute Array Enabling
Vertex Attribute Specification
vertexAttribPointer Method
Attribute Layout Definition
Data Type Specification
Stride and Offset Parameters
Uniform Location Management
Getting Uniform Locations
Location Queries
Uniform Value Setting
Scalar Uniforms
uniform1f Method
uniform1i Method
Vector Uniforms
uniform2f Method
uniform3f Method
uniform4f Method
Matrix Uniforms
uniformMatrix3fv Method
uniformMatrix4fv Method
Drawing Operations
Array-based Drawing
drawArrays Method
Method Parameters
Vertex Count Specification
Element-based Drawing
drawElements Method
Index Buffer Usage
Element Count Specification
Primitive Types
Point Primitives
POINTS Mode
Line Primitives
LINES Mode
LINE_STRIP Mode
LINE_LOOP Mode
Triangle Primitives
TRIANGLES Mode
TRIANGLE_STRIP Mode
TRIANGLE_FAN Mode
Previous
2. Introduction to WebGL
Go to top
Next
4. Mathematical Foundations for 3D Graphics