/3D-Rolling-Ball

A Simple 3D Rolling Ball Game

Primary LanguageC++

3D-Rolling-Ball

A Simple 3D Rolling Ball Game

Use C++ and openGL (glfw)

Dependencies :

  • c++11 ( for lambda expression and shared_ptr )
  • opengl + glfw

Build :

./src/make
cd ./bin
./rollingBall  # must run in bin directory

Features :

  • Blinn-Phong Lighting
  • Rotating Skybox
  • Shadow effect
  • Signed Distance Fields text rendering
  • Ping-Pong shader
  • Water surface
  • simple HDR and Bloom effect
  • Sun lens flare

ScreenShots :

Shadow effect : use shadowMap to render shadow and PCF to avoid sharp shadow edge
Before PCF After PCF

Signed Distance Fields text rendering And Ping-Pong shader for background blurring

For text rendering, I use the so called SDF technology instead of freetype

support text mode : Normal, Outlined, Glow, Drop-shadow ( all with hover effect )

For background blurring, I use ping-pong shader, which takes two framebuffers.


Water Effect : reflection + refraction + dudvMap + normalMap

reflection + refraction :

dudvMap :

normalMap :


Simple HDR + Bloom Effect :


Sun lens flare :