diff options
author | Arisotura <thetotalworm@gmail.com> | 2020-05-30 03:19:20 +0200 |
---|---|---|
committer | Arisotura <thetotalworm@gmail.com> | 2020-05-30 03:19:20 +0200 |
commit | b62d90cbe4c5232f0fe8604bd5e11f8eccd48ba1 (patch) | |
tree | bfd0a5e6f30fc382170ec9402adea32f12ebc342 /src/frontend/qt_sdl/main_shaders.h | |
parent | 82302c9bf48598f889d0942340c224852c1378c5 (diff) | |
parent | 993048dd241b59747a7b30edfc861eedd4c005c9 (diff) |
Merge remote-tracking branch 'remotes/origin/master' into melonDSi
Diffstat (limited to 'src/frontend/qt_sdl/main_shaders.h')
-rw-r--r-- | src/frontend/qt_sdl/main_shaders.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/src/frontend/qt_sdl/main_shaders.h b/src/frontend/qt_sdl/main_shaders.h new file mode 100644 index 0000000..c55f79e --- /dev/null +++ b/src/frontend/qt_sdl/main_shaders.h @@ -0,0 +1,64 @@ +/* + Copyright 2016-2020 Arisotura + + This file is part of melonDS. + + melonDS is free software: you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free + Software Foundation, either version 3 of the License, or (at your option) + any later version. + + melonDS is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with melonDS. If not, see http://www.gnu.org/licenses/. +*/ + +#ifndef MAIN_SHADERS_H +#define MAIN_SHADERS_H + +const char* kScreenVS = R"(#version 140 + +uniform vec2 uScreenSize; +uniform mat2x3 uTransform; + +in vec2 vPosition; +in vec2 vTexcoord; + +smooth out vec2 fTexcoord; + +void main() +{ + vec4 fpos; + + fpos.xy = vec3(vPosition, 1.0) * uTransform; + + fpos.xy = ((fpos.xy * 2.0) / uScreenSize) - 1.0; + fpos.y *= -1; + fpos.z = 0.0; + fpos.w = 1.0; + + gl_Position = fpos; + fTexcoord = vTexcoord; +} +)"; + +const char* kScreenFS = R"(#version 140 + +uniform sampler2D ScreenTex; + +smooth in vec2 fTexcoord; + +out vec4 oColor; + +void main() +{ + vec4 pixel = texture(ScreenTex, fTexcoord); + + oColor = vec4(pixel.bgr, 1.0); +} +)"; + +#endif // MAIN_SHADERS_H |