MultiSampleAntiAliasing QML Type
Multisample-Antialiasing aktivieren. Mehr...
| Import Statement: | import Qt3D.Render 2.12 |
| In C++: | QMultiSampleAntiAliasing |
| Inherits: | |
| Status: | Deprecated |
Dieser Typ ist veraltet. Wir raten dringend davon ab, ihn in neuem Code zu verwenden.
Ausführliche Beschreibung
Ein „MultiSampleAntiAliasing“-Typ aktiviert Multisample-Antialiasing.
Er kann einem „ RenderPass “ hinzugefügt werden:
RenderPass {
shaderProgram: ShaderProgram {
// ...
}
renderStates: [
MultiSampleAntiAliasing {}
]
}Oder einem „ RenderStateSet “:
RenderStateSet {
renderStates: [
MultiSampleAntiAliasing {}
]
}Damit Multisampling wirksam wird, muss das Renderziel mit aktiviertem Multisampling zugewiesen worden sein:
RenderTarget {
attachments: [
RenderTargetOutput {
attachmentPoint: RenderTargetOutput.Color0
texture: Texture2DMultisample {
width: 1024
height: 1024
format: Texture.RGBA8_UNorm
}
},
RenderTargetOutput {
attachmentPoint: RenderTargetOutput.DepthStencil
texture: Texture2DMultisample{
width: 1024
height: 1024
format: Texture.D24S8
}
}
]
}Außerdem muss der Shader-Code Multisampling-Sampler-Typen und `texelFetch()` anstelle von `texture()` verwenden.
Außerdem muss der Shader-Code Multisampling-Sampler-Typen und `texelFetch()` anstelle von `texture()` verwenden.
Wenn Sie beispielsweise folgenden Code haben:
#version 150
uniform sampler2D colorTexture;
in vec2 texCoord;
out vec4 fragColor;
void main()
{
fragColor = texture(colorTexture, texCoord);
}können Sie ihn wie folgt umschreiben:
#version 150
uniform sampler2DMS colorTexture;
in vec2 texCoord;
out vec4 fragColor;
void main()
{
ivec2 tc = ivec2(floor(textureSize(colorTexture) * texCoord));
vec4 c = texelFetch(colorTexture, tc, 0) +
texelFetch(colorTexture, tc, 1) +
texelFetch(colorTexture, tc, 2) +
texelFetch(colorTexture, tc, 3);
fragColor = c / 4.0;
}Hinweis: Bei Verwendung von OpenGL als Grafik-API wird glEnable(GL_MULTISAMPLE) aufgerufen, wenn „MultiSampleAntiAliasing“ zu den Render-Zuständen hinzugefügt wurde.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.