Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
OpenGL 4.0 Shading Language Cookbook
Table of Contents OpenGL 4.0 Shading Language Cookbook Credits About the Author About the Reviewers www.PacktPub.com
Support files, eBooks, discount offers and more
Why subscribe? Free access for Packt account holders
Preface
What this book covers What you need for this book Who this book is for Conventions Reader feedback Customer support
Downloading the example code for this book Errata Piracy Questions
1. Getting Started with GLSL 4.0
Introduction
The OpenGL Shading Language Profiles: Core vs. Compatibility
Using the GLEW Library to access the latest OpenGL functionality
Getting ready How to do it... How it works... There's more...
GLEW visualinfo GLEW glewinfo Checking for extension availability at runtime
See also
Using the GLM library for mathematics
Getting ready How to do it... How it works... There's more...
Using the GLM types as input to OpenGL
See also
Determining the GLSL and OpenGL version
How to do it... How it works... There's more... See also
Compiling a shader
Getting ready How to do it... How it works... There's more...
Deleting a shader object
See also
Linking a shader program
Getting ready How to do it... How it works... There's more...
Deleting a shader program
See also
Sending data to a shader using per-vertex attributes and vertex buffer objects
Getting ready How to do it... How it works... There's more...
Using layout qualifiers Using element arrays Interleaved arrays
See also
Getting a list of active vertex input attributes and indices
Getting ready How to do it... How it works... There's more... See also
Sending data to a shader using uniform variables
Getting ready How to do it... How it works... There's more... See also
Getting a list of active uniform variables
Getting ready How to do it... How it works... There's more... See also
Using uniform blocks and uniform buffer objects
Getting ready How to do it... How it works... There's more...
Using an instance name with a uniform block Using layout qualifiers with uniform blocks
See also
Building a C++ shader program class
Getting ready How to do it... How it works... See also
2. The Basics of GLSL Shaders
Introduction
Vertex and fragment shaders Replicating the old fixed functionality
Implementing diffuse, per-vertex shading with a single point light source
Getting ready How to do it... How it works... There's more... See also
Implementing per-vertex ambient, diffuse, and specular (ADS) shading
Getting ready How to do it... How it works... There's more...
Using a non-local viewer Per-vertex vs. Per-fragment Directional lights Light attenuation with distance
See also
Using functions in shaders
Getting ready How to do it... How it works... There's more...
The const qualifier Function overloading Passing arrays or structures to a function
See also
Implementing two-sided shading
Getting ready How to do it... How it works... There's more...
Using two-sided rendering for debugging
See also
Implementing flat shading
How to do it... How it works... See also
Using subroutines to select shader functionality
Getting ready How to do it... How it works... There's more... See also
Discarding fragments to create a perforated look
Getting ready How to do it... How it works... See also
3. Lighting, Shading Effects, and Optimizations
Introduction Shading with multiple positional lights
Getting ready How to do it... How it works... See also
Shading with a directional light source
Getting ready How to do it... How it works... There's more... See also
Using per-fragment shading for improved realism
Getting ready How to do it... How it works... There's more... See also
Using the halfway vector for improved performance
Getting ready How to do it... How it works... There's more... See also
Simulating a spotlight
Getting ready How to do it... How it works... See also
Creating a cartoon shading effect
Getting ready How to do it... How it works... There's more... See also
Simulating fog
Getting ready How to do it... How it works... There's more...
Computing distance from the eye
See also
4. Using Textures
Introduction Applying a 2D texture
Getting ready How to do it... How it works... There's more... See also
Applying multiple textures
Getting ready How to do it... How it works... There's more... See also
Using alpha maps to discard pixels
Getting ready How to do it... How it works... There's more... See also
Using normal maps
Getting ready How to do it... How it works... See also
Simulating reflection with cube maps
Getting ready How to do it... How it works... There's more... See also
Simulating refraction with cube maps
Getting ready How to do it... How it works... There's more...
The Fresnel equations Chromatic aberration Both sides of the object?
See also
Image-based lighting
Getting ready How to do it... How it works... There's more... See also
Applying a projected texture
Getting ready How to do it... How it works... There's more... See also
Rendering to a texture
Getting ready How to do it... How it works... There's more... See also
5. Image Processing and Screen Space Techniques
Introduction Applying an edge detection filter
Getting ready How to do it... How it works... There's more...
Optimization techniques
See also
Applying a Gaussian blur filter
Getting ready How to do it... How it works... There's more... See also
Creating a "bloom" effect
Getting ready How to do it... How it works... There's more...
Using low-res textures
See also
Using gamma correction to improve image quality
How to do it... How it works... There's more...
Using multisample anti-aliasing
Getting ready How to do it... How it works... There's more...
Using deferred shading
Getting ready How to do it... How it works... There's more... See also
6. Using Geometry and Tessellation Shaders
Introduction
The shader pipeline extended The geometry shader The tessellation shaders
Point sprites with the geometry shader
Getting ready How to do it... How it works... There's more...
Drawing a wireframe on top of a shaded mesh
Getting ready How to do it... How it works... There's more... See also
Drawing silhouette lines using the geometry shader
Getting ready How to do it... How it works... There's more... See also
Tessellating a curve
Getting ready How to do it... How it works... There's more...
Tessellating a 2D quad
Getting ready How to do it... How it works... See also
Tessellating a 3D surface
Getting ready How to do it... How it works... See also
Tessellating based on depth
Getting ready How to do it... How it works... There's more... See also
7. Shadows
Introduction Rendering shadows with shadow maps
Getting ready How to do it... How it works... There's more...
Aliasing Rendering back faces only for the shadow map
See also
Anti-aliasing shadow edges with PCF
Getting ready How to do it... How it works... There's more... See also
Creating soft shadow edges with random sampling
Getting ready How to do it... How it works... There's more... See also
Improving realism with prebaked ambient occlusion
Getting ready How to do it... How it works... There's more...
Screen-space ambient occlusion Another technique for dynamic ambient occlusion
8. Using Noise in Shaders
Introduction Creating a noise texture using libnoise
Getting ready How to do it... How it works... There's more... See also
Creating a seamless noise texture
Getting ready How to do it... How it works... There's more... See also
Creating a cloud-like effect
Getting ready How to do it... How it works... There's more... See also
Creating a wood grain effect
Getting ready How to do it... How it works... There's more... See also
Creating a disintegration effect
Getting ready How to do it... How it works... See also
Creating a paint-spatter effect
Getting ready How to do it... How it works... There's more... See also
Creating a night-vision effect
Getting ready How to do it... How it works... There's more... See also
9. Animation and Particles
Introduction Animating a surface with vertex displacement
Getting ready How to do it... How it works... There's more... See also
Creating a particle fountain
Getting ready How to do it... How it works... There's more... See also
Creating a particle system using transform feedback
Getting ready How to do it... How it works... There's more...
Querying transform feedback results Recycling particles
See also
Creating a particle system using instanced particles
Getting ready How to do it... How it works... There's more... See also
Simulating fire with particles
Getting ready How to do it... How it works... There's more... See also
Simulating smoke with particles
Getting ready How to do it... How it works... See also
Index
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion