/opengl-3d-examples

Learn 3D rendering by OpenGL

Primary LanguageC++MIT LicenseMIT

opengl-3d-examples

한글문서(Korean documents)

Learn 3D rendering by OpenGL

  • Making an OpenGL window.
  • Drawing triangles, colors and textures.
  • Making vertex buffers and index buffers.
  • Transform coordinates.
  • Making a camera.
  • Lambert lighting shader.
  • Making a 3D scene.


Build(VisualStudio)

You need to install CMake to generate build files.

Build external libraries.

glew-2.1.0(Performs only once for the first time)

  • Move to /externals/glew-2.1.0/generated folder.
  • Execute run_cmake.bat.
  • Double click glew.sln in generated folder.
  • Build glew_s project in Debug and Release mode.
  • After the build is complete, check if the following files are created.
/externals/glew-2.1.0/generated/lib/Debug/libglew32d.lib
/externals/glew-2.1.0/generated/lib/Release/libglew32.lib

glfw(Performs only once for the first time)

  • Move to /externals/glfw/generated folder.
  • Execute run_cmake.bat.
  • Double click GLFW.sln in generated folder.
  • Build glfw project in Debug and Release mode.
  • After the build is complete, check if the following files are created.
/externals/glfw/generated/src/Debug/glfw3.lib
/externals/glfw/generated/src/Release/glfw3.lib

Build an example project.

  • Move to /build folder.
  • Execute run_cmake.bat.
  • Double click Examples.sln in build folder.
  • Build ExampleMain project in Debug and Release mode.
  • Press F5 or Go to Debugging -> Start debug.
  • Input an example number and press ENTER key then it'll execute.

External libraries

These libraries are included in this project so you don't need to install it separately.

name version url purpose
glfw 3.3.8 https://github.com/glfw/glfw Making a window. Event handling.
glew 2.1.0 https://glew.sourceforge.net/ OpenGL extensions.
glad gl:4.6 / gles:2.0 https://glad.dav1d.de/ OpenGL drivers.
glm 0.9.9 https://github.com/g-truc/glm Math library.
stb_image 2.27 https://github.com/nothings/stb/blob/master/stb_image.h Loading image files.