Gregor Panič
Gameplay Programmer / Designer


Tools used
C++, Direct3D, OpenGL, HLSL, GLSL, Visual Studio, Blender

3dApi is a real time rendering engine used to benchmark Direct3D and OpenGL. It includes several scenes that use different rendering techniques. They are all implemented as indentical as possible in both APIs, then benchmarked to compare the performance and resulting images.

3dApi was developed as the practical part of my master's thesis. The goal of the thesis was to compare Direct3D and OpenGL and highlight the differences and similarities. This comparison included aspects such as history, fields of use, architecture, features, conventions, ease of use and performance. By completing the thesis I gained a deeper theoretical and practical understanding of the real time graphics pipeline. I learned the basics of the two most widely used 3d graphics APIs, shading languages and a lot of techniques used in real time rendering.

Highlighted features:
  • Real time rendering engine in both Direct3D and OpenGL
  • Framework for quickly creating applications in both APIs
  • Phong lighting model
  • Directional lights
  • Shadowmapping