OpenGL, GLSL and C++ Level Renderer

As a game developer specialized in engine programming and graphics, I developed a Level Renderer using OpenGL and C++. This renderer is designed to import levels from Blender and process them using an Object-Oriented approach, breaking them down into individual objects with vertex coordinates and materials. The renderer uses rasterization for per-pixel processing and is planned to be updated to include Ray tracing. Moreover, the project incorporates advanced features like camera movement, dual viewports, camera collision, reflections, lighting, and a skybox to provide an immersive experience.

Key Features:

  • Camera Movement & Collision: Integrated a camera system allowing for free movement and object collision, enhancing user navigation.
  • Dual Viewports: Implemented dual viewports offering two different perspectives, enriching the user’s visual experience.
  • Object-Oriented Approach: Built on a strong Object-Oriented foundation, allowing individualized rendering down to vertex coordinates and materials.
  • Reflections & Lighting: Integrated real-time reflections and dynamic lighting to elevate visual realism.
  • Skybox Integration: Added a skybox for an immersive atmosphere, completing the environment.
  • Rasterization: Utilized rasterization techniques for per-pixel processing, laying the groundwork for future Ray tracing updates.

Technologies Used:

  • OpenGL
  • C++
  • Object-Oriented Programming
  • Camera Systems (Movement & Collision)
  • Dual Viewports
  • Rasterization

Accomplishments:

  • Holistic Development: Responsible for both engine and graphics programming, delivering a fully-realized rendering tool.
  • Optimized Performance: Achieved smooth rendering through efficient coding practices and algorithm optimization.
  • Future-Proof: Designed with extensibility in mind, laying the foundation for Ray tracing and other advanced features.