QNormalDiffuseSpecularMapMaterial Class
class Qt3DExtras::QNormalDiffuseSpecularMapMaterialQNormalDiffuseSpecularMapMaterial은 텍스처 맵에서 디퓨즈 및 스페큘러 라이트 컴포넌트와 노멀 텍스처 맵에서 렌더링되는 메시의 노멀을 읽어오는 퐁 조명 및 범프 효과의 기본 구현을 제공합니다. 더 보기...
Header: | #include <QNormalDiffuseSpecularMapMaterial> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3dextras) target_link_libraries(mytarget PRIVATE Qt6::3dextras) |
qmake: | QT += 3dextras |
상속합니다: | Qt3DRender::QMaterial |
상태: | Deprecated |
이 클래스는 더 이상 사용되지 않습니다. 새 코드에서 사용하지 않는 것이 좋습니다.
속성
|
공용 기능
QNormalDiffuseSpecularMapMaterial(Qt3DCore::QNode *parent = nullptr) | |
virtual | ~QNormalDiffuseSpecularMapMaterial() |
QColor | ambient() const |
Qt3DRender::QAbstractTexture * | diffuse() const |
Qt3DRender::QAbstractTexture * | normal() const |
float | shininess() const |
Qt3DRender::QAbstractTexture * | specular() const |
float | textureScale() const |
공용 슬롯
void | setAmbient(const QColor &ambient) |
void | setDiffuse(Qt3DRender::QAbstractTexture *diffuse) |
void | setNormal(Qt3DRender::QAbstractTexture *normal) |
void | setShininess(float shininess) |
void | setSpecular(Qt3DRender::QAbstractTexture *specular) |
void | setTextureScale(float textureScale) |
신호
void | ambientChanged(const QColor &ambient) |
void | diffuseChanged(Qt3DRender::QAbstractTexture *diffuse) |
void | normalChanged(Qt3DRender::QAbstractTexture *normal) |
void | shininessChanged(float shininess) |
void | specularChanged(Qt3DRender::QAbstractTexture *specular) |
void | textureScaleChanged(float textureScale) |
상세 설명
이 클래스는 더 이상 사용되지 않으므로 대신 QDiffuseSpecularMaterial 을 사용하세요.
스페큘러 조명 효과는 앰비언트, 디퓨즈, 스페큘러의 세 가지 조명 컴포넌트의 조합을 기반으로 합니다. 이러한 구성 요소의 상대적인 강도는 RGB 삼중 항으로 모델링되는 반사율 계수를 통해 제어됩니다:
- 앰비언트는 다른 광원 없이 물체에서 방출되는 색입니다.
- 확산은 조명에 의한 표면 반사를 위해 방출되는 색상입니다.
- 스페큘러는 조명에 의해 반짝이는 표면 반사를 위해 방출되는 색상입니다.
- 표면의 광택은 플로트 프로퍼티로 제어됩니다.
이 머티리얼은 단일 렌더 패스 접근 방식으로 효과를 사용하며 조각별 조명을 수행합니다. OpenGL 2, OpenGL 3 이상 및 OpenGL ES 2에 대한 기술이 제공됩니다.
프로퍼티 문서
ambient : QColor
현재 주변색을 유지합니다.
기능에 액세스합니다:
QColor | ambient() const |
void | setAmbient(const QColor &ambient) |
알림 신호:
void | ambientChanged(const QColor &ambient) |
diffuse : Qt3DRender::QAbstractTexture*
현재 디퓨즈 맵 텍스처를 보유합니다.
기본적으로 디퓨즈 텍스처에는 다음과 같은 속성이 있습니다:
- 선형 축소 및 확대 필터
- 밉매핑이 활성화된 선형 밉맵
- 반복 랩 모드
- 최대 이방성 16.0
액세스 기능
Qt3DRender::QAbstractTexture * | diffuse() const |
void | setDiffuse(Qt3DRender::QAbstractTexture *diffuse) |
알림 신호:
void | diffuseChanged(Qt3DRender::QAbstractTexture *diffuse) |
normal : Qt3DRender::QAbstractTexture*
현재 노멀 맵 텍스처를 보유합니다.
기본적으로 노멀 텍스처에는 다음과 같은 속성이 있습니다:
- 선형 축소 및 확대 필터
- 반복 랩 모드
- 최대 이방성 16.0
액세스 기능:
Qt3DRender::QAbstractTexture * | normal() const |
void | setNormal(Qt3DRender::QAbstractTexture *normal) |
알림 신호:
void | normalChanged(Qt3DRender::QAbstractTexture *normal) |
shininess : float
현재 광택도를 실수 값으로 보유합니다.
함수에 액세스합니다:
float | shininess() const |
void | setShininess(float shininess) |
알림 신호:
void | shininessChanged(float shininess) |
specular : Qt3DRender::QAbstractTexture*
현재 스페큘러 맵 텍스처를 보유합니다.
기본적으로 스페큘러 텍스처에는 다음과 같은 프로퍼티가 있습니다:
- 선형 축소 및 확대 필터
- 밉매핑이 활성화된 선형 밉맵
- 반복 랩 모드
- 최대 이방성 16.0
액세스 기능
Qt3DRender::QAbstractTexture * | specular() const |
void | setSpecular(Qt3DRender::QAbstractTexture *specular) |
알림 신호:
void | specularChanged(Qt3DRender::QAbstractTexture *specular) |
textureScale : float
현재 텍스처 스케일을 유지합니다. 렌더링 시 텍스처 좌표에 배율로 적용됩니다. 기본값은 1.0입니다.
QTextureWrapMode::Repeat와 함께 사용하면 textureScale은 표면 전체에 텍스처를 타일링하는 간단한 방법을 제공합니다. 예를 들어, 텍스처 스케일이 4.0
인 경우 16(4x4) 타일이 생성됩니다.
함수에 액세스합니다:
float | textureScale() const |
void | setTextureScale(float textureScale) |
알림 신호:
void | textureScaleChanged(float textureScale) |
멤버 함수 문서
[explicit]
QNormalDiffuseSpecularMapMaterial::QNormalDiffuseSpecularMapMaterial(Qt3DCore::QNode *parent = nullptr)
부모 오브젝트 parent 를 사용하여 새로운 QNormalDiffuseSpecularMapMaterial 인스턴스를 생성합니다.
[virtual noexcept]
QNormalDiffuseSpecularMapMaterial::~QNormalDiffuseSpecularMapMaterial()
QNormalDiffuseSpecularMapMaterial 인스턴스를 삭제합니다.
© 2025 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.