Gabriel Putnam

Gabriel Christopher Putnam

 Email: gabriel putnam at gmail
 Google Scholar: G. C. Putnam
 Wikipedia: Araesmojo
 Stack Overflow: G. Putnam
 Hacker News: araes
 Github: araesmojo-eng
 
 
💻
Software
🔢
Math / Stats
🚀
NASA
🤝
Volunteer
📜
Publications
 
 
∆ Learn OpenGL, Hello Triangle
  
🕵🏻
G. C. Putnam
🌐
Hello Triangle, LearnOpenGL
🛈
Program demonstrating one of the hardest parts of modern OpenGL, drawing your first triangles with keyboard input.
🔽
Download
2024-2025
 
🎨 Learn OpenGL, Shaders
  
🕵🏻
G. C. Putnam
🌐
Shaders, LearnOpenGL
🛈
Program demonstrating implementing and compiling a simple three color shader in OpenGL.
🔽
Download
2024-2025
 
🖼 Learn OpenGL, Textures
  
🕵🏻
G. C. Putnam
🌐
Textures, LearnOpenGL
🛈
Program demonstrating drawing geometry with colorized and textured surfaces. Keyboard input to swap render modes.
🔽
Download
2024-2025
 
⌭ Learn OpenGL, Transforms
  
🕵🏻
G. C. Putnam
🌐
Transforms, LearnOpenGL
🛈
Program demonstrating drawing geometry displaced, scaled, and rotated with matrix transforms.
🔽
Download
2024-2025
 
✇ Learn OpenGL, Coordinate Systems
  
🕵🏻
G. C. Putnam
🌐
Coordinate Systems, LearnOpenGL
🛈
Program demonstrating drawing multiple shapes with 3D perspective projection, color, textures, transforms, and keyboard input.
🔽
Download
2024-2025
 
📷 Learn OpenGL, Camera
  
🕵🏻
G. C. Putnam
🌐
Camera, LearnOpenGL
🛈
Program demonstrating adding a user moveable camera to the scene of objects from previous examples.
🔽
Download
2024-2025
 
⧝ Learn OpenGL, Colors
  
🕵🏻
G. C. Putnam
🌐
Colors, LearnOpenGL
🛈
Program demonstrating adding simplistic lighting with constant object and light color.
🔽
Download
2024-2025
 
💡 Learn OpenGL, Basic Lighting
  
🕵🏻
G. C. Putnam
🌐
Basic Lighting, LearnOpenGL
🛈
Program demonstrating adding ambient, diffuse, and specular phong lighting.
🔽
Download
2024-2025
 
▨ Learn OpenGL, Materials
  
🕵🏻
G. C. Putnam
🌐
Materials, LearnOpenGL
🛈
Program demonstrating (amb, diff, spec) colored materials with varying lighting, and normal maps.
🔽
Download
2024-2025
 
▦ Learn OpenGL, Lighting Maps
  
🕵🏻
G. C. Putnam
🌐
Lighting Maps, LearnOpenGL
🛈
Program demonstrating (diff, spec) material lighting maps along with multi-image textures. The varying light was also made constant color.
🔽
Download
2024-2025
 
🔦 Learn OpenGL, Light Casters
  
🕵🏻
G. C. Putnam
🌐
Light Casters, LearnOpenGL
🛈
Program demonstrating different lighting types (ambient, directional, point, spot, point attenuating, spot attenuating.
🔽
Download
2024-2025
 
🌇 Learn OpenGL, Multiple Lights
  
🕵🏻
G. C. Putnam
🌐
Multiple Lights, LearnOpenGL
🛈
Program demonstrating scenes with colored backgrounds and multiple lights with different colors and intensities.
🔽
Download
2024-2025
 
ℝ Learn OpenGL, Model (with Valve 2007 Signed Distance Field (SDF) Fonts
  
🕵🏻
G. C. Putnam
🌐
Models, LearnOpenGL
🛈
Program demonstrating OBJ model loading (OBJ Loader was used rather than ASIMP in the LearnOpenGL example) along with Signed Distance Field Fonts based on the 2007 SIGGRAPH paper from Chris Green of Valve used for Frames Per Second (FPS) display as well as writing.
📄
OBJ Loader, Robert Smith (Bly7), Github
🎸
Survival Guitar Backpack, Berk Gedik, Sketchfab
🎓
"Improved alpha-tested magnification for vector textures and special effects." Green, Chris. ACM SIGGRAPH 2007 courses, pp. 9-18. 2007. Steam CDN. (also provided below in a minified copy)
 
🔽
Download
2024-2025
 
💧 Learn OpenGL, Offscreen Framebuffers and Filter Kernels
  
🕵🏻
G. C. Putnam
🌐
Framebuffers, LearnOpenGL
🛈
Program demonstrating use of offscreen framebuffers to perform multiple post-processing effects (color inversion, grayscale, unsharp mask [3x3 and 5x5], sharpen [3x3], emboss [3x3], gaussian blur [3x3, 5x5, and two-step 9x9], box blur [3x3], edge detect, lapacian blur [two-step 9x9], poisson blur [two-step 9x9], rayleigh blur [two-step 9x9], spherical blur [two-step 9x9].
🔽
Download
2024-2025
 
🌅 Learn OpenGL, Cubemaps, Reflection, Refraction, and Multi-Rendering
  
🕵🏻
G. C. Putnam
🌐
Cubemaps, LearnOpenGL
🛈
Program demonstrating use of cubemaps to draw a background skybox, along with visible object depth, reflection surfaces, refraction surfaces, and multi-view single shader rendering.
🔽
Download
2024-2025
 
░ Learn OpenGL, Advanced GLSL and Particles
  
🕵🏻
G. C. Putnam
🌐
Advanced GLSL, LearnOpenGL
🛈
Program demonstrating a particle system using point sprites.
🔽
Download
2024-2025
 
▒ Learn OpenGL, Geometry Shader, Instancing, and Normals
  
🕵🏻
G. C. Putnam
🌐
Geometry Shader, LearnOpenGL
🛈
Program demonstrating drawing normals, shifting vertex locations, and creating instances using a geometry shader.
🔽
Download
2024-2025
 
🌔 Learn OpenGL, Instancing, Planet with Rocks, and Blinn-Phong Lighting
  
🕵🏻
G. C. Putnam
🌐
Instancing, LearnOpenGL
🌐
Advanced-Lighting, LearnOpenGL
🛈
Program demonstrating instancing using two different methods (pre-created matrices, and matrices in the vertex shader) vs independent draw calls per object, along with blinn-phong lighting relative to regular phong lighting.
🔽
Download
2024-2025
 
🌘 Learn OpenGL, Shadow Mapping
  
🕵🏻
G. C. Putnam
🌐
Shadow Mapping, LearnOpenGL
🛈
Program demonstrating creating objects shadows by rendering to a object depth based shadow map (results displayed on a status panel).
🔽
Download
2024-2025
 
🕯 Learn OpenGL, Point Shadows with Cubemaps
  
🕵🏻
G. C. Putnam
🌐
Point Shadows, LearnOpenGL
🛈
Program demonstrating creating objects shadows by rendering to a object depth based shadow map (results displayed on a status panel).
🔽
Download
2024-2025
 
🌄 Learn OpenGL, Parallax Mapping with Exposure and Gamma Adjustment
  
🕵🏻
G. C. Putnam
🌐
Parallax Mapping, LearnOpenGL
🌐
HDR, LearnOpenGL
🛈
Program demonstrating parallax mapping (per pixel surface height offsets) with image exposure and gamma lighting adjustments for High Definition Rendering (HDR).
🔽
Download
2024-2025
 
╣ Learn OpenGL, Deferred Shading
  
🕵🏻
G. C. Putnam
🌐
Deferred Shading, LearnOpenGL
🛈
Program demonstrating deferred shading (two step shading with lighting calculated on a depth image of the geometry). Point lights have also been changed to render to four layers of a single texture rather than four textures. Further icosahedrons have been added as an additional shape.
🔽
Download
2024-2025
 
🪞 Learn OpenGL, Physics Based Rendering (PBR)
  
🕵🏻
G. C. Putnam
🌐
Physics Based Rendering, Theory, LearnOpenGL
🌐
Physics Based Rendering, Lighting, LearnOpenGL
🛈
Program demonstrating Physics Based Rendering (PBR). Using moving and multiple point lights simulataneously.
🔽
Download
2024-2025
 
⛅ Learn OpenGL, PBR, Irradiance Based Lighting
  
🕵🏻
G. C. Putnam
🌐
PBR, Irradiance Based Lighting, Diffuse, LearnOpenGL
🌐
PBR, Irradiance Based Lighting, Specular, LearnOpenGL
🛈
Program demonstrating Irradiance Based Lighting with PBR. (HDR lighting cubemaps with diffuse and specular contibution). Spheres with a range of PBR textures along with tetrahedron objects were added. The ability to adjust sphere hue is included. Further, point lights can now move dynamically for changing shadows and lighting, light frustrums can be drawn on screen to show lighting extents, and the multiple point lights can be switch between for individual lighting.
🔽
Download
2024-2025
 
🧹 Source Files ReFactor, Font Colors, Grass, Texture Particles, and Paraboloid Mapping Shadows
  
🕵🏻
G. C. Putnam
🛈
Program refactoring the work from all the previous examples. Shaders have all been changed to have consistent naming. Font colors can now be changed. Grass models and textures have been added to test transparent objects. In addition, particles using texture storage have been added, along with paraboloid mapping shadows. Downloads had to be split for this example because the compressed files were too large.
🔽
Download Main Files
🔽
Download Additional Resources
2024-2025