All Projects → turol → smaaDemo

turol / smaaDemo

Licence: MIT license
Subpixel Morphological AntiAliasing OpenGL/Vulkan demo

Programming Languages

C++
36643 projects - #6 most used programming language
HTML
75241 projects
c
50402 projects - #5 most used programming language
GLSL
2045 projects
javascript
184084 projects - #8 most used programming language
go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to smaaDemo

glsl-smaa
SMAA (Enhanced Subpixel Morphological Antialiasing) post-processing; WebGL (OpenGL ES 2.0) implementation with no fluff.
Stars: ✭ 54 (-15.62%)
Mutual labels:  antialiasing, smaa
nautilus
another graphics engine
Stars: ✭ 16 (-75%)
Mutual labels:  vulkan
vortice
Cross-platform .NET 6.0 game engine.
Stars: ✭ 210 (+228.13%)
Mutual labels:  vulkan
DLAA
(DLAA) Directionally Localized antiAliasing
Stars: ✭ 18 (-71.87%)
Mutual labels:  antialiasing
scenery
Flexible VR Visualisation for Volumetric and Geometric Data on the Java VM, powered by Kotlin and Vulkan
Stars: ✭ 107 (+67.19%)
Mutual labels:  vulkan
waifu2x-vulkan
waifu2x-ncnn-vulkan-python, use nihui/waifu2x-ncnn-vulkan
Stars: ✭ 24 (-62.5%)
Mutual labels:  vulkan
vulkan.gpuinfo.org
Front-End and Back-End for the Vulkan Hardware Database
Stars: ✭ 21 (-67.19%)
Mutual labels:  vulkan
rend3
Easy to use, customizable, efficient 3D renderer library built on wgpu.
Stars: ✭ 546 (+753.13%)
Mutual labels:  vulkan
harfang3d
HARFANG 3D source code public repository
Stars: ✭ 173 (+170.31%)
Mutual labels:  vulkan
gatling
Hydra-enabled GPU path tracer that supports MaterialX and MDL.
Stars: ✭ 159 (+148.44%)
Mutual labels:  vulkan
Barycentrics
No description or website provided.
Stars: ✭ 68 (+6.25%)
Mutual labels:  vulkan
SACK
System Abstraction Component Kit
Stars: ✭ 18 (-71.87%)
Mutual labels:  vulkan
quake bsp vulkan
Quake BSP renderer written in C++ and Vulkan
Stars: ✭ 76 (+18.75%)
Mutual labels:  vulkan
glm
OpenGL Mathematics (GLM)
Stars: ✭ 6,667 (+10317.19%)
Mutual labels:  vulkan
rasterx
Rasterx is an SVG 2.0 path compliant rasterizer that can use either scany, the golang vector or a derivative of the freetype anti-aliaser.
Stars: ✭ 107 (+67.19%)
Mutual labels:  antialiasing
RayTracedGGX
Ray tracing sample using GGX reflection model, 1spp with spatial-temporal denoiser. Acceleration structure build uses async compute.
Stars: ✭ 43 (-32.81%)
Mutual labels:  antialiasing
vulkan test applications
No description or website provided.
Stars: ✭ 47 (-26.56%)
Mutual labels:  vulkan
awesome-rtx
Curated collection of projects leveraging NVIDIA RTX technology (OptiX, DXR, VKR)
Stars: ✭ 73 (+14.06%)
Mutual labels:  vulkan
render-doctor
渲染医生,基于 RenderDoc 的渲染分析工具,以 html 形式展现方便阅读和分享。
Stars: ✭ 46 (-28.12%)
Mutual labels:  vulkan
pilka
Another live-coding tool for creating shader demos, Vulkan+Wgpu powered.
Stars: ✭ 84 (+31.25%)
Mutual labels:  vulkan
	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)
mingw-std-threads (https://github.com/meganz/mingw-std-threads)
PCG-Random (http://www.pcg-random.org)
Shaderc (https://github.com/google/shaderc)
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 [email protected]
Tuomas Närväinen [email protected]


Copyright and License
=====================

Copyright (c) 2015-2022 Alternative Games Ltd / Turo Lamminen

This code is licensed under the MIT license (see license.txt).
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].