mirror of
https://github.com/PrismLauncher/PrismLauncher.git
synced 2025-04-29 22:24:26 +02:00
Move shaders to separate files
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
parent
cd0895b237
commit
6fc386cfe9
@ -810,6 +810,7 @@ SET(LAUNCHER_SOURCES
|
|||||||
resources/flat/flat.qrc
|
resources/flat/flat.qrc
|
||||||
resources/flat_white/flat_white.qrc
|
resources/flat_white/flat_white.qrc
|
||||||
resources/documents/documents.qrc
|
resources/documents/documents.qrc
|
||||||
|
resources/shaders/shaders.qrc
|
||||||
../${Launcher_Branding_LogoQRC}
|
../${Launcher_Branding_LogoQRC}
|
||||||
|
|
||||||
# Icons
|
# Icons
|
||||||
@ -1252,6 +1253,7 @@ qt_add_resources(LAUNCHER_RESOURCES
|
|||||||
resources/iOS/iOS.qrc
|
resources/iOS/iOS.qrc
|
||||||
resources/flat/flat.qrc
|
resources/flat/flat.qrc
|
||||||
resources/documents/documents.qrc
|
resources/documents/documents.qrc
|
||||||
|
resources/shaders/shaders.qrc
|
||||||
../${Launcher_Branding_LogoQRC}
|
../${Launcher_Branding_LogoQRC}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -84,6 +84,8 @@ int main(int argc, char* argv[])
|
|||||||
Q_INIT_RESOURCE(iOS);
|
Q_INIT_RESOURCE(iOS);
|
||||||
Q_INIT_RESOURCE(flat);
|
Q_INIT_RESOURCE(flat);
|
||||||
Q_INIT_RESOURCE(flat_white);
|
Q_INIT_RESOURCE(flat_white);
|
||||||
|
|
||||||
|
Q_INIT_RESOURCE(shaders);
|
||||||
return app.exec();
|
return app.exec();
|
||||||
}
|
}
|
||||||
case Application::Failed:
|
case Application::Failed:
|
||||||
|
21
launcher/resources/shaders/fshader.glsl
Normal file
21
launcher/resources/shaders/fshader.glsl
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
// Copyright (C) 2024 The Qt Company Ltd.
|
||||||
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
||||||
|
// https://code.qt.io/cgit/qt/qtbase.git/tree/examples/opengl/cube/fshader.glsl
|
||||||
|
#ifdef GL_ES
|
||||||
|
// Set default precision to medium
|
||||||
|
precision mediump int;
|
||||||
|
precision mediump float;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
uniform sampler2D texture;
|
||||||
|
|
||||||
|
varying vec2 v_texcoord;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
// Set fragment color from texture
|
||||||
|
// gl_FragColor = texture2D(texture, v_texcoord);
|
||||||
|
vec4 texColor = texture2D(texture, v_texcoord);
|
||||||
|
if (texColor.a < 0.1) discard; // Optional: Discard fully transparent pixels
|
||||||
|
gl_FragColor = texColor;
|
||||||
|
}
|
6
launcher/resources/shaders/shaders.qrc
Normal file
6
launcher/resources/shaders/shaders.qrc
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<RCC>
|
||||||
|
<qresource prefix="/shaders">
|
||||||
|
<file>vshader.glsl</file>
|
||||||
|
<file>fshader.glsl</file>
|
||||||
|
</qresource>
|
||||||
|
</RCC>
|
26
launcher/resources/shaders/vshader.glsl
Normal file
26
launcher/resources/shaders/vshader.glsl
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
// Copyright (C) 2024 The Qt Company Ltd.
|
||||||
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
||||||
|
// https://code.qt.io/cgit/qt/qtbase.git/tree/examples/opengl/cube/vshader.glsl
|
||||||
|
#ifdef GL_ES
|
||||||
|
// Set default precision to medium
|
||||||
|
precision mediump int;
|
||||||
|
precision mediump float;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
uniform mat4 mvp_matrix;
|
||||||
|
uniform mat4 model_matrix;
|
||||||
|
|
||||||
|
attribute vec4 a_position;
|
||||||
|
attribute vec2 a_texcoord;
|
||||||
|
|
||||||
|
varying vec2 v_texcoord;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
// Calculate vertex position in screen space
|
||||||
|
gl_Position = mvp_matrix * model_matrix * a_position;
|
||||||
|
|
||||||
|
// Pass texture coordinate to fragment shader
|
||||||
|
// Value will be automatically interpolated to fragments inside polygon faces
|
||||||
|
v_texcoord = a_texcoord;
|
||||||
|
}
|
@ -70,56 +70,11 @@ void SkinOpenGLWidget::initializeGL()
|
|||||||
void SkinOpenGLWidget::initShaders()
|
void SkinOpenGLWidget::initShaders()
|
||||||
{
|
{
|
||||||
// Compile vertex shader
|
// Compile vertex shader
|
||||||
if (!m_program.addCacheableShaderFromSourceCode(QOpenGLShader::Vertex, R"(// Copyright (C) 2024 The Qt Company Ltd.
|
if (!m_program.addCacheableShaderFromSourceFile(QOpenGLShader::Vertex, ":/shaders/vshader.glsl"))
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
|
||||||
#ifdef GL_ES
|
|
||||||
// Set default precision to medium
|
|
||||||
precision mediump int;
|
|
||||||
precision mediump float;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
uniform mat4 mvp_matrix;
|
|
||||||
uniform mat4 model_matrix;
|
|
||||||
|
|
||||||
attribute vec4 a_position;
|
|
||||||
attribute vec2 a_texcoord;
|
|
||||||
|
|
||||||
varying vec2 v_texcoord;
|
|
||||||
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
// Calculate vertex position in screen space
|
|
||||||
gl_Position = mvp_matrix * model_matrix * a_position;
|
|
||||||
|
|
||||||
// Pass texture coordinate to fragment shader
|
|
||||||
// Value will be automatically interpolated to fragments inside polygon faces
|
|
||||||
v_texcoord = a_texcoord;
|
|
||||||
}
|
|
||||||
)"))
|
|
||||||
close();
|
close();
|
||||||
|
|
||||||
// Compile fragment shader
|
// Compile fragment shader
|
||||||
if (!m_program.addCacheableShaderFromSourceCode(QOpenGLShader::Fragment, R"(// Copyright (C) 2024 The Qt Company Ltd.
|
if (!m_program.addCacheableShaderFromSourceFile(QOpenGLShader::Fragment, ":/shaders/fshader.glsl"))
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
|
||||||
#ifdef GL_ES
|
|
||||||
// Set default precision to medium
|
|
||||||
precision mediump int;
|
|
||||||
precision mediump float;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
uniform sampler2D texture;
|
|
||||||
|
|
||||||
varying vec2 v_texcoord;
|
|
||||||
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
// Set fragment color from texture
|
|
||||||
// gl_FragColor = texture2D(texture, v_texcoord);
|
|
||||||
vec4 texColor = texture2D(texture, v_texcoord);
|
|
||||||
if (texColor.a < 0.1) discard; // Optional: Discard fully transparent pixels
|
|
||||||
gl_FragColor = texColor;
|
|
||||||
}
|
|
||||||
)"))
|
|
||||||
close();
|
close();
|
||||||
|
|
||||||
// Link shader pipeline
|
// Link shader pipeline
|
||||||
|
Loading…
x
Reference in New Issue
Block a user