Progress
- Zooid Engine: Simple Render Graph System. This is a really simple system for now. Render Graph can contain multiple render passes. Each pass has input and output. Currently, input and output on the render graph only limited to Frame Buffer and Texture Buffer.
- Zooid Engine: Implemented Deferred Shading using simple render graph. It is working now. Not really robust. There is still room from improvement.
- Zooid Engine: Added some Render/GPU Debug group for debugging GPU calls on GPU Debugger tools.
- Zooid Engine:Implemented Point light with shadow map. Current implementation of shadow map is using 4 2D texture separately instead of using them as a cubemap. It is easier for the current implementation of the engine. But I need to refactor the system to support cubemap to improve the performance.
Zooid Engine is a game engine that I’ve been working on since 2017 in my own free time as my personal project.
Below the deferred shading GBuffers (Note: Currently using the Lambertian model)







Learning/Tutorial
- (Book/Tutorial) Ray Tracer: Finished the last book of Peter Shirley’s ray tracing book series. You can get the book and the source of the book here:https://github.com/petershirley/raytracingtherestofyourlife/releases
- (Tutorial) LearnOpenGL (learnopengl.com): Finished Physically Based Rendering (PBR) – Image-Based Lighting computing Diffuse Irradiance.
- (Book) Real-Time Rendering Third Edition: Chapter 7 – Advance Shading. The chapter contains physics introduction of shading and lighting, like Radiometry, Photometry, and Colorimetry. Then heavy part of all is the BRDF (Bidirectional Reflectance Distribution Function) Theory. This explains a basic math underlying of BRDF, type of BRDF and comparing both. Beside BRDF theory, there is also subchapter that explains how BRDF modeled and implemented. The last part of the chapter explains some practical techniques that can be used to implement shaders, such as forward shading, multi-pass light shading, and deferred light shading.
- (Presentation) Deferred Shading by Shawn Hargreaves, GDC.
Tools
The one tool that I constantly use starting this month is NVIDIA NSight Graphics 2019.3. It’s a powerful debug tool to debug GPU draws/calls. I believe it supports various Graphics APIs, but now I’m only using it for OpenGL and DirectX 11.

In the tool, you can see the draw calls being made, the output of the draw calls (you can see on the top right of the UI), time needed to render certain draw call or program’s debug group, the graphic pipeline settings and shaders. Other helpful part is you can read and modify your shader on the fly. It’s really helpful if you want to tweak some value or fix a bug in the shader.
2 responses to “Game Programming Journey Monthly – June 2019”
[…] ZooRaytracer is a ray tracing implementation that I’ve been working one. It’s an extension of Peter Shirley’s mini books implementation that I finished last month. […]
LikeLike
[…] and Ambient Occlusion. Since the PBR works done in the deferred rendering pipeline (refer to update June 2019 to see how the deferred rendering works), I need to make some changes to the GBuffer to generate a […]
LikeLike