Skip to content

qbranchmaster/Puffin-OpenGL-Engine-V2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Puffin OpenGL Engine ver. 2.0

3D graphics rendering engine written in C++ and OpenGL 3.3+.

Previous version of this engine is no longer developed. I decided to create a new version from scratch.

I am working on this project only in my free time after work, so new features and bug fixes are not commited often.

Features

  • Phong and Blinn-Phong lighting,
  • Dynamic shadow mapping (directional and point lights) with PCF,
  • Fog,
  • Normal mapping,
  • Antialiasing,
  • Skybox reflections,
  • Water reflections and refractions,
  • Particle effects,
  • Postprocessing effects,
  • HDR and bloom effect,
  • Integration with IMGUI,
  • Font rendering using FreeType,
  • Depth of field.

Screenshots

Screenshot #1 [26.04.2019]

Screenshot 26.04.2019

Screenshot #2 [15.08.2019]

Screenshot 15.08.2019

Build instructions

Required libraries:

On Windows I recommend using Visual Studio to compile above libraries. Building instructions of these libraries can be found on library website or in source code Readme file.

After building all of specified above libraries (except GLM, which is headers files only library) there is a need to put all following files in one directory, e.g. "binary_libs":

  • glew32d.lib
  • glfw3.lib
  • freetype.lib
  • FreeImagePlusd.lib
  • FreeImaged.lib
  • assimp-vc140-mt.lib

To build Puffin OpenGL Engine CMake tool is needed. Go to Puffin Engine directory, create empty Build directory and then from command line execute:

cd Build
cmake -G "Visual Studio 15 2017" -DASSIMP_INC_PATH="C:/Libs/assimp/include" -DFREE_IMAGE_INC_PATH="C:/Libs/FreeImage/Dist/x32" -DFREE_IMAGE_WRAP_INC_PATH="C:/Libs/FreeImage/Wrapper/FreeImagePlus/dist/x32" -DFREE_TYPE_INC_PATH="C:/Libs/freetype/include" -DGLEW_INC_PATH="C:/Libs/glew/include" -DGLFW_INC_PATH="C:/Libs/glfw/include" -DGLM_INC_PATH="D:/Libs/glm" -DLIBS_BINARY_PATH="C:/Libs/binary" ..

After that go to Build directory and run PuffinEngineV2.sln. Build project and then copy following *.dll files to PuffinEngineV2.exe location (PuffinEngineV2/Build/bin/Debug):

  • assimp-vc140-mt.dll
  • FreeImaged.dll
  • FreeImagePlusd.dll
  • freetype.dll
  • glew32d.dll

About

3D graphics rendering engine written in C++ and OpenGL API.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published