このページでは

Qt3DExtras::QPhongAlphaMaterial Class

class Qt3DExtras::QPhongAlphaMaterial

QPhongAlphaMaterial クラスは、アルファ値を含むフォン照明効果のデフォルトの実装を提供します。詳細...

ヘッダー: #include <qphongalphamaterial.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3dextras)
target_link_libraries(mytarget PRIVATE Qt6::3dextras)
qmake: QT += 3dextras
継承元: Qt3DRender::QMaterial
ステータス: 非推奨

このクラスは非推奨です。新しいコードでの使用は強く推奨しません。

プロパティ

パブリック関数

QPhongAlphaMaterial(Qt3DCore::QNode *parent = nullptr)
virtual ~QPhongAlphaMaterial()
float alpha() const
QColor ambient() const
Qt3DRender::QBlendEquation::BlendFunction blendFunctionArg() const
Qt3DRender::QBlendEquationArguments::Blending destinationAlphaArg() const
Qt3DRender::QBlendEquationArguments::Blending destinationRgbArg() const
QColor diffuse() const
float shininess() const
Qt3DRender::QBlendEquationArguments::Blending sourceAlphaArg() const
Qt3DRender::QBlendEquationArguments::Blending sourceRgbArg() const
QColor specular() const

パブリックスロット

void setAlpha(float alpha)
void setAmbient(const QColor &ambient)
void setBlendFunctionArg(Qt3DRender::QBlendEquation::BlendFunction blendFunctionArg)
void setDestinationAlphaArg(Qt3DRender::QBlendEquationArguments::Blending destinationAlphaArg)
void setDestinationRgbArg(Qt3DRender::QBlendEquationArguments::Blending destinationRgbArg)
void setDiffuse(const QColor &diffuse)
void setShininess(float shininess)
void setSourceAlphaArg(Qt3DRender::QBlendEquationArguments::Blending sourceAlphaArg)
void setSourceRgbArg(Qt3DRender::QBlendEquationArguments::Blending sourceRgbArg)
void setSpecular(const QColor &specular)

シグナル

void alphaChanged(float alpha)
void ambientChanged(const QColor &ambient)
void blendFunctionArgChanged(Qt3DRender::QBlendEquation::BlendFunction blendFunctionArg)
void destinationAlphaArgChanged(Qt3DRender::QBlendEquationArguments::Blending destinationAlphaArg)
void destinationRgbArgChanged(Qt3DRender::QBlendEquationArguments::Blending destinationRgbArg)
void diffuseChanged(const QColor &diffuse)
void shininessChanged(float shininess)
void sourceAlphaArgChanged(Qt3DRender::QBlendEquationArguments::Blending sourceAlphaArg)
void sourceRgbArgChanged(Qt3DRender::QBlendEquationArguments::Blending sourceRgbArg)
void specularChanged(const QColor &specular)

詳細な説明

このクラスは非推奨です。代わりにQDiffuseSpecularMaterial を使用してください。

フォン照明効果は、アンビエント、ディフューズ、スペキュラーという 3 つの照明コンポーネントの組み合わせに基づいています。これらのコンポーネントの相対的な強度は、RGB の 3 値としてモデル化された反射率係数によって制御されます。

  • アンビエントは、他の光源が存在しない状態でオブジェクトから放出される色です。
  • ディフューズは、光が粗い表面で反射した際に発せられる色です。
  • スペキュラーは、光が光沢のある表面で反射した際に発せられる色です。
  • 表面の光沢度は、float型のプロパティによって制御されます。
  • アルファは、0(完全に透明)から1(不透明)までの範囲で表面の透明度を表します。

このマテリアルは、シングルレンダーパス方式のエフェクトを使用し、フラグメントごとのライティングを実行します。OpenGL 2、OpenGL 3 以降、および OpenGL ES 2 向けのテクニックが用意されています。

プロパティのドキュメント

alpha : float

オブジェクトのアルファ成分を保持します。この値は 0 から 1 の間で変化します。

デフォルト値は 0.5f です。

アクセス関数:

float alpha() const
void setAlpha(float alpha)

通知シグナル:

void alphaChanged(float alpha)

ambient : QColor

周囲の色を保持します。

アクセス関数:

QColor ambient() const
void setAmbient(const QColor &ambient)

通知シグナル:

void ambientChanged(const QColor &ambient)

blendFunctionArg : Qt3DRender::QBlendEquation::BlendFunction

ブレンド方程式関数の引数を保持します。

アクセス関数:

Qt3DRender::QBlendEquation::BlendFunction blendFunctionArg() const
void setBlendFunctionArg(Qt3DRender::QBlendEquation::BlendFunction blendFunctionArg)

通知信号:

void blendFunctionArgChanged(Qt3DRender::QBlendEquation::BlendFunction blendFunctionArg)

Qt3DRender::QBlendEquation::BlendFunctionも参照してください 。

destinationAlphaArg : Qt3DRender::QBlendEquationArguments::Blending

ブレンド方程式の宛先アルファブレンディング引数を保持します。

アクセス関数:

Qt3DRender::QBlendEquationArguments::Blending destinationAlphaArg() const
void setDestinationAlphaArg(Qt3DRender::QBlendEquationArguments::Blending destinationAlphaArg)

通知シグナル:

void destinationAlphaArgChanged(Qt3DRender::QBlendEquationArguments::Blending destinationAlphaArg)

関連項目: Qt3DRender::QBlendEquationArguments::Blending 。

destinationRgbArg : Qt3DRender::QBlendEquationArguments::Blending

ブレンド方程式の宛先RGBブレンド引数を保持します。

アクセス関数:

Qt3DRender::QBlendEquationArguments::Blending destinationRgbArg() const
void setDestinationRgbArg(Qt3DRender::QBlendEquationArguments::Blending destinationRgbArg)

通知信号:

void destinationRgbArgChanged(Qt3DRender::QBlendEquationArguments::Blending destinationRgbArg)

関連項目: Qt3DRender::QBlendEquationArguments::Blending 。

diffuse : QColor

拡散色を保持します。

アクセス関数:

QColor diffuse() const
void setDiffuse(const QColor &diffuse)

通知シグナル:

void diffuseChanged(const QColor &diffuse)

shininess : float

光沢指数を保持します。

アクセス関数:

float shininess() const
void setShininess(float shininess)

通知シグナル:

void shininessChanged(float shininess)

sourceAlphaArg : Qt3DRender::QBlendEquationArguments::Blending

ブレンド方程式のソースであるアルファブレンディング引数を保持します。

アクセス関数:

Qt3DRender::QBlendEquationArguments::Blending sourceAlphaArg() const
void setSourceAlphaArg(Qt3DRender::QBlendEquationArguments::Blending sourceAlphaArg)

通知信号:

void sourceAlphaArgChanged(Qt3DRender::QBlendEquationArguments::Blending sourceAlphaArg)

Qt3DRender::QBlendEquationArguments::Blendingも参照してください 。

sourceRgbArg : Qt3DRender::QBlendEquationArguments::Blending

ブレンド方程式のソースRGBブレンド引数を保持します。

アクセス関数:

Qt3DRender::QBlendEquationArguments::Blending sourceRgbArg() const
void setSourceRgbArg(Qt3DRender::QBlendEquationArguments::Blending sourceRgbArg)

通知シグナル:

void sourceRgbArgChanged(Qt3DRender::QBlendEquationArguments::Blending sourceRgbArg)

関連項目: Qt3DRender::QBlendEquationArguments::Blending 。

specular : QColor

スペキュラーカラーを保持します。

アクセス関数:

QColor specular() const
void setSpecular(const QColor &specular)

通知シグナル:

void specularChanged(const QColor &specular)

メンバ関数のドキュメント

[explicit] QPhongAlphaMaterial::QPhongAlphaMaterial(Qt3DCore::QNode *parent = nullptr)

親オブジェクトparent を持つ新しいQPhongAlphaMaterialインスタンスを作成します。

[virtual noexcept] QPhongAlphaMaterial::~QPhongAlphaMaterial()

QPhongAlphaMaterial を削除します。

© 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.