Skip to content

seckujdivad/gameengine

Repository files navigation

OpenGL renderer using wxWidgets components.

Actions Status

Features

  • Perspective rendering
    • Modes
      • Normal
        • Point lights
        • Real time and static point light shadows
        • Real time and dynamic reflection cubemaps
          • Simple
          • Oriented bounding box perspective corrected
        • Screen space reflections
        • Normal mapping
        • Displacement mapping
      • Wireframe
      • Textured
    • Geometry formats
      • Polygonal
      • Bezier patches
        • Interpolated on GPU
        • Detail adapts to camera distance
  • Scene can be drawn by multiple contexts to multiple windows

Platform requirements

  • OpenGL 4.3
    • Post-2012 hardware (released 2012)
    • NVIDIA GeForce 400 series (or newer)
    • AMD Radeon HD 5000 series (or newer)
  • Windows
    • Windows compatibility likely goes as far back as XP, but MSVC++ will need to be reconfigured to run pre-Vista
    • Linux compatibility would rely on making makefiles and writing a linux-compatible resource embedder

Tested on Windows 10 (NVIDIA and AMD)

Build Dependencies

vcpkg

Build dependencies are handled by vcpkg. You must set up vcpkg and install the required libraries:

  • nlohmann-json
  • wxwidgets
  • glm
  • glew
  • opengl
  • gtest
  • ASIO

You can also use the response file at /vcpkg_install.txt.

This project statically links to wxWidgets. vcpkg builds the dynamic version by default, so you will need to edit the CMake files for your platform triplets. For 64-bit Windows, the triplet is x64-windows. Therefore, you will need to edit the file at vcpkg/triplets/x64-windows.cmake before building and add the following to the end before installing wxWidgets through vcpkg:

if (PORT STREQUAL wxwidgets)
	set(VCPKG_LIBRARY_LINKAGE static)
endif()

This is what prevents vcpkg manifests being used - they require you to use the same triplet for all of your dependencies.

Python

When the project is built in Release mode, Visual Studio runs a Python script that creates ZIP archives containing all the runtime dependencies for the x86 and x64 versions of the application. This script should run on any Python 3 version without any PIP requirements. You can still run the application inside Visual Studio without running this script (in debug mode or by removing the post build event), or collect the runtime dependencies yourself.

About

OpenGL renderer using wxWidgets

Resources

Stars

Watchers

Forks

Packages

No packages published