oamates / sketchpad

A simple canvas for testing out various topics and rendering techniques in computer graphics using the OpenGL rendering pipeline.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sketchpad (Windows 10)

A simple canvas for testing out various topics and rendering techniques in computer graphics using the OpenGL rendering pipeline. This framework was built to quickly test some low-level graphics features and to learn how they work in OpenGL. Future versions may consider using the SPIR-V open source ecosystem to support Vulkan or OpenCL.

Dependencies

git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg.exe install assimp              # x86 build
./vcpkg.exe install assimp:x64-windows  # x64 build

How to build

The Premake Lua scripts will handle the workspace/project/build settings for all configurations and platforms for us, there's no need to set things up in Visual Studio by hand. To build the application, simply run

git clone https://github.com/neo-mashiro/sketchpad.git
cd sketchpad/
vendor/premake/premake5.exe vs2019

As an aside, it is recommended to use spaces everywhere instead of tabs. In case the tab size of the editor and the website rendering the source code do not meet, indentation can be very messy. For example, there are so many hard-to-read repos on Github that use inconsistent indentation in the same file, because they are mixing four spaces with two tabs (of size 2) in the IDE, which is then converted to eight spaces on Github...

tab-settings

tab-settings

How to build a scene

  • (WIP) add screenshot: select startup project in the solution's properties window
  • (WIP) add screenshot: keyboard controls, message boxes, mouse controls, motions, etc.

Scenes

  • scene1 name (come up with a name for each scene): detailed description (summarize the model, theory and techniques applied in this scene and what to expect)
  • scene2 name

Useful References

About

A simple canvas for testing out various topics and rendering techniques in computer graphics using the OpenGL rendering pipeline.

License:Creative Commons Zero v1.0 Universal


Languages

Language:C++ 86.3%Language:GLSL 7.4%Language:Lua 6.0%Language:C 0.3%