2022-06-08 12:47:24 +00:00
|
|
|
// Copyright (C) 2018 Klaralvdalens Datakonsult AB (KDAB).
|
2024-02-23 14:41:04 +00:00
|
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
|
2018-01-15 21:00:25 +00:00
|
|
|
|
|
|
|
import Qt3D.Core 2.0
|
|
|
|
import Qt3D.Render 2.0
|
|
|
|
|
|
|
|
Material {
|
|
|
|
id: root
|
|
|
|
|
|
|
|
//! [0]
|
|
|
|
property color maincolor: Qt.rgba(0.0, 0.0, 0.0, 1.0)
|
|
|
|
|
|
|
|
parameters: [
|
|
|
|
Parameter {
|
|
|
|
name: "maincolor"
|
|
|
|
value: Qt.vector3d(root.maincolor.r, root.maincolor.g, root.maincolor.b)
|
|
|
|
}
|
|
|
|
]
|
|
|
|
|
|
|
|
//! [0]
|
|
|
|
|
|
|
|
effect: Effect {
|
|
|
|
|
|
|
|
//! [1]
|
|
|
|
property string vertex: "qrc:/shaders/gl3/simpleColor.vert"
|
|
|
|
property string fragment: "qrc:/shaders/gl3/simpleColor.frag"
|
|
|
|
property string vertexES: "qrc:/shaders/es2/simpleColor.vert"
|
|
|
|
property string fragmentES: "qrc:/shaders/es2/simpleColor.frag"
|
|
|
|
//! [1]
|
|
|
|
|
|
|
|
FilterKey {
|
|
|
|
id: forward
|
|
|
|
name: "renderingStyle"
|
|
|
|
value: "forward"
|
|
|
|
}
|
|
|
|
|
|
|
|
//! [2]
|
|
|
|
ShaderProgram {
|
|
|
|
id: gl3Shader
|
|
|
|
vertexShaderCode: loadSource(parent.vertex)
|
|
|
|
fragmentShaderCode: loadSource(parent.fragment)
|
|
|
|
}
|
|
|
|
ShaderProgram {
|
|
|
|
id: es2Shader
|
|
|
|
vertexShaderCode: loadSource(parent.vertexES)
|
|
|
|
fragmentShaderCode: loadSource(parent.fragmentES)
|
|
|
|
}
|
|
|
|
//! [2]
|
|
|
|
|
|
|
|
techniques: [
|
|
|
|
//! [3]
|
|
|
|
// OpenGL 3.1
|
|
|
|
Technique {
|
|
|
|
filterKeys: [forward]
|
|
|
|
graphicsApiFilter {
|
|
|
|
api: GraphicsApiFilter.OpenGL
|
|
|
|
profile: GraphicsApiFilter.CoreProfile
|
|
|
|
majorVersion: 3
|
|
|
|
minorVersion: 1
|
|
|
|
}
|
|
|
|
renderPasses: RenderPass {
|
|
|
|
shaderProgram: gl3Shader
|
|
|
|
}
|
|
|
|
},
|
|
|
|
//! [3]
|
|
|
|
// OpenGL 2.0
|
|
|
|
Technique {
|
|
|
|
filterKeys: [forward]
|
|
|
|
graphicsApiFilter {
|
|
|
|
api: GraphicsApiFilter.OpenGL
|
|
|
|
profile: GraphicsApiFilter.NoProfile
|
|
|
|
majorVersion: 2
|
|
|
|
minorVersion: 0
|
|
|
|
}
|
|
|
|
renderPasses: RenderPass {
|
|
|
|
shaderProgram: es2Shader
|
|
|
|
}
|
|
|
|
},
|
|
|
|
// ES 2.0
|
|
|
|
Technique {
|
|
|
|
filterKeys: [forward]
|
|
|
|
graphicsApiFilter {
|
|
|
|
api: GraphicsApiFilter.OpenGLES
|
|
|
|
profile: GraphicsApiFilter.CoreProfile
|
|
|
|
majorVersion: 2
|
|
|
|
minorVersion: 0
|
|
|
|
}
|
|
|
|
renderPasses: RenderPass {
|
|
|
|
shaderProgram: es2Shader
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|