Real-time upscaling demo using C++ and OpenGL
This project is a simple real-time upscaling demo using C++ and OpenGL.
It implements classic spatial upscalers and AMD-style techniques:
- Nearest Neighbor
- Bilinear
- EASU (Edge-Adaptive Spatial Upscaling)
- RCAS (Robust Contrast-Adaptive Sharpening)
The project includes a small demo app (textured cube + ImGui controls).
- Render at a lower resolution and upscale to your display.
- Switch between upscaling modes at runtime (via ImGui).
- Adjustable sharpening strength (for RCAS).
upscaler-demo/
├── dependencies/ # Project dependencies (e.g., third-party libraries)
│ ├── include/
│ └── lib/
├── public/ # Static assets like images
│ └── images
├── src/
│ ├── shaders/ # GLSL shader files
│ └── main.cpp # Main application entry point
└── CMakeLists.txt # CMake build script
Requirements:
- CMake ≥ 3.29
- OpenGL 3.3+
- A C++23 compiler (GCC/Clang/MSVC)
Steps:
git clone https://github.com/Yojda/upscaler-demo.git
cd upscaler-demo
mkdir build && cd build
cmake ..
makeRun the demo:
./upscaler-demoMIT License – free to use and modify.
