Useful Links
Computer Science
Computer Graphics and Visualization
OpenGL Graphics Library
1. Introduction to OpenGL
2. Development Environment Setup
3. OpenGL Fundamentals
4. Graphics Rendering Pipeline
5. Vertex Data and Drawing
6. Shaders and GLSL
7. Coordinate Systems and Transformations
8. Texturing
9. Lighting and Shading
10. Advanced Texturing Techniques
11. Model Loading and Rendering
12. Advanced Rendering Techniques
13. Framebuffers and Off-Screen Rendering
14. Advanced Lighting Techniques
15. Post-Processing Effects
16. Instanced Rendering
17. Geometry and Tessellation Shaders
18. Performance Optimization
19. Debugging and Error Handling
Shaders and GLSL
OpenGL Shading Language Overview
GLSL Purpose
Language Characteristics
Version Compatibility
GLSL Syntax Fundamentals
Language Structure
Preprocessor Directives
Comments and Documentation
GLSL Data Types
Scalar Types
bool
int
uint
float
double
Vector Types
vec2, vec3, vec4
ivec2, ivec3, ivec4
uvec2, uvec3, uvec4
bvec2, bvec3, bvec4
Matrix Types
mat2, mat3, mat4
Matrix Operations
Sampler Types
sampler2D
samplerCube
sampler3D
Array Samplers
Array Types
Struct Types
GLSL Variables and Qualifiers
Storage Qualifiers
in
out
uniform
const
Precision Qualifiers
Interpolation Qualifiers
smooth
flat
noperspective
Shader Types
Vertex Shaders
Fragment Shaders
Geometry Shaders
Tessellation Shaders
Compute Shaders
Shader Compilation Process
Shader Object Creation
Source Code Loading
Compilation
Error Handling
Compilation Log Analysis
Shader Program Management
Program Object Creation
Shader Attachment
Linking Process
Link Error Handling
Program Validation
Program Usage
Vertex Shader Programming
Vertex Shader Purpose
Input Attributes
Output Variables
Built-in Variables
gl_Position
gl_VertexID
gl_InstanceID
Transformation Operations
Fragment Shader Programming
Fragment Shader Purpose
Input Variables
Output Variables
Built-in Variables
gl_FragCoord
gl_FrontFacing
gl_FragDepth
Color Output
Discard Operations
Shader Communication
Vertex Attributes
Attribute Binding
Attribute Locations
Uniforms
Uniform Variables
Uniform Locations
Uniform Setting
Varying Variables
Inter-Stage Communication
Interpolation
Uniform Buffer Objects
UBO Concept
Buffer Layout
Binding Points
Data Upload
Shader Interface
Previous
5. Vertex Data and Drawing
Go to top
Next
7. Coordinate Systems and Transformations