I'm excited to share my latest project, WalkerOGL. This endeavor is a testament to my interest in computer graphics and my journey in learning OpenGL. The project is a work in progress, where I am developing my own rendering engine using GLAD and GLFW.
Project Overview
WalkerOGL started as an experiment with basic OpenGL functionalities. Here's a glimpse of what I've accomplished so far:
- Initial Rendering: Started with rendering a simple triangle to understand the basics.
- Progression to 3D: Implemented perspective projection to render a 3D cube.
After understanding how the view frustum works, projecting the cube to the near plane is intuitive. It can be derived by considering similar triangles, with the specified FOV.
This diagram shows the view frustum from the side, and it is clear how y/f = Y/Z = tan(theta)
.
- Camera Controls: Added simple camera controls to navigate around the 3D space.
Current Focus
Currently, I'm working on implementing a basic lighting engine. The goal is to integrate phong lighting to enhance the realism and depth of the rendered objects.
Code Highlights
The project's core lies in its GLSL shaders:
- Vertex Shader:
VertexShader.glsl
- Fragment Shader:
FragmentShader.glsl
These shaders are pivotal in rendering the graphics and will play a significant role in the upcoming lighting features.
Contribute and Explore
I'm always open to contributions and feedback. Feel free to dive into the code, suggest improvements, or share your ideas.
Check out the repository here: WalkerOGL on GitHub
Stay tuned for more updates as I continue to explore the fascinating world of OpenGL and computer graphics!