MultiSampleAntiAliasing QML Type
マルチサンプル・アンチエイリアスを有効にする。詳細...
Import Statement: | import Qt3D.Render 2.8 |
In C++: | QMultiSampleAntiAliasing |
Inherits: | |
Status: | Deprecated |
詳細説明
MultiSampleAntiAliasing型は、マルチサンプル・アンチエイリアシングを有効にする。
これは、RenderPass :
RenderPass { shaderProgram: ShaderProgram { // ... } renderStates: [ MultiSampleAntiAliasing {} ] }
またはRenderStateSet に追加できます:
RenderStateSet { renderStates: [ MultiSampleAntiAliasing {} ] }
マルチサンプリングを有効にするには、レンダーターゲットがマルチサンプリングを有効にした状態で割り当てられている必要があります:
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 } } ] }
さらに、シェーダコードは、マルチサンプリング サンプラータイプと、texture() の代わりに texelFetch() を使用しなければなりません。
さらに、シェーダコードはマルチサンプリングサンプラータイプとtexture()の代わりにtexelFetch()を使用しなければなりません。
たとえば
#version 150 uniform sampler2D colorTexture; in vec2 texCoord; out vec4 fragColor; void main() { fragColor = texture(colorTexture, texCoord); }
のように書き換えることができます。
#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; }
注意: グラフィックス API として OpenGL を使用する場合、MultiSampleAntiAliasing がレンダリングステートに追加されていると、glEnable(GL_MULTISAMPLE) が呼び出されます。
©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。