No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
Repository Summary
Description | Subpixel Morphological AntiAliasing OpenGL/Vulkan demo |
Checkout URI | https://github.com/turol/smaademo.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-07-02 |
Dev Status | UNKNOWN |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | opengl vulkan antialiasing smaa |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
magic_enum | 0.9.6 |
README
SMAA Demo
This is a small program demonstrating the use of the Subpixel Morphological Antialiasing implementation from https://github.com/iryoku/smaa/.
Building
========
Linux: Go to /binaries and type make. To change build settings copy example.mk to local.mk in the same directory. You only need to include changed lines in local.mk. The build defaults to Vulkan renderer, to use OpenGL set "RENDERER:=opengl" in local.mk.
Windows: There is a Visual Studio 2015 solution in /windows/SMAADemo.sln. You will need cmake, Python3, SDL2 and Vulkan SDK. You also need to build the following libraries from the included sources under /foreign:
SPIRV-Tools.lib
SPIRV-Tools-comp.lib
SPIRV-Tools-opt.lib
spirv-cross-core.lib
spirv-cross-glsl.lib
You can use the included windows/build-foreign.bat file to automatically build the required libraries with cmake.
Usage
=====
Command line options:
"--debug" - Enable renderer debugging.
"--trace" - Enable renderer tracing.
"--nocache" - Don't load shaders from cache.
"-f", "--fullscreen" - Start in fullscreen mode.
"novsync" - Disable vsync.
"--width <value>" - Specify window width.
"--height <value>" - Specify window height.
"<file path> ..." - Load specified image(s).
Key commands:
A - Toggle antialiasing on/off
C - Re-color cubes
D - Cycle through debug visualizations. Hold SHIFT to cycle in opposite direction.
F - Toggle fullscreen
H - Print help
M - Change antialiasing method (SMAA/FXAA)
Q - Cycle through AA quality levels. Hold SHIFT to cycle in opposite direction.
V - Toggle vsync
LEFT/RIGHT ARROW - Cycle through scenes
SPACE - Toggle camera rotation
ESC - Quit
Third-party software
====================
GLEW (http://glew.sourceforge.net)
GLM (OpenGL Mathematics) (http://glm.g-truc.net/0.9.8)
glslang (https://github.com/KhronosGroup/glslang)
Dear ImGui (https://github.com/ocornut/imgui)
PCG-Random (http://www.pcg-random.org)
SPIRV-Cross (https://github.com/KhronosGroup/SPIRV-Cross)
SPIRV-Headers (https://github.com/KhronosGroup/SPIRV-Headers)
SPIRV-Tools (https://github.com/KhronosGroup/SPIRV-Tools)
stb_image (https://github.com/nothings/stb/)
TCLAP (http://tclap.sourceforge.net)
Vulkan Memory Allocator (https://gpuopen.com/gaming-product/vulkan-memory-allocator/)
Authors
=======
Turo Lamminen turotl@gmail.com
Tuomas Närväinen tuomas.narvainen@alternativegames.net
Copyright and License
=====================
Copyright (c) 2015-2024 Alternative Games Ltd / Turo Lamminen
This code is licensed under the MIT license (see license.txt).
Third-party code under foreign/ is licensed according to their respective licenses.
CONTRIBUTING
No CONTRIBUTING.md found.
No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.