QShaderVersion Class
셰이딩 언어 버전을 지정합니다. 더 보기...
| 헤더: | #include <qshader.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| 다음부터: | Qt 6.6부터 |
공개 유형
공개 함수
| QShaderVersion() | |
| QShaderVersion(int v, QShaderVersion::Flags f = Flags()) | |
| QShaderVersion::Flags | flags() const |
| void | setFlags(QShaderVersion::Flags f) |
| void | setVersion(int v) |
| int | version() const |
관련 비멤버
(since 6.12) size_t | qHash(QShaderVersion key, size_t seed) |
| bool | operator!=(const QShaderVersion &lhs, const QShaderVersion &rhs) |
| bool | operator<(const QShaderVersion &lhs, const QShaderVersion &rhs) |
| bool | operator==(const QShaderVersion &lhs, const QShaderVersion &rhs) |
상세 설명
SPIR-V나 Metal Shading Language와 같은 언어는 전통적인 버전 번호를 사용하는 반면, 다른 API용 셰이더는 약간 다른 버전 지정 체계를 사용할 수 있습니다. 그러나 여기에서는 이 모든 것이 단일 버전 번호로 매핑됩니다. HLSL의 경우, 버전은 5.0, 5.1, 6.0과 같은 셰이더 모델 버전을 의미합니다. GLSL의 경우 GLSL과 GLSL/ES 중 하나를 선택하기 위해 추가 플래그가 필요합니다.
다음은 다양한 그래픽 API에 대한 가장 일반적인 셰이더 버전 예시 목록입니다:
- Vulkan (SPIR-V): 100
- OpenGL: 120, 330, 440 등
- OpenGL ES: GlslEs 의 경우 100, GlslEs 의 경우 300 등
- Direct3D: 50, 51, 60
- Metal: 12, 20
기본 생성된 QShaderVersion은 버전이 100이며 플래그가 설정되어 있지 않습니다.
참고: 이는 호환성 보장이 제한적인 RHI API입니다. 자세한 내용은 QShader 을 참조하십시오.
멤버 유형 문서
enum QShaderVersion::Flag
flags QShaderVersion::Flags
설정할 수 있는 플래그에 대해 설명합니다.
| 상수 | 값 | 설명 |
|---|---|---|
QShaderVersion::GlslEs | 0x01 | GlslShader와 함께 사용할 때 GLSL/ES를 의미함을 나타냅니다. |
Flags 유형은 QFlags<Flag>에 대한 typedef입니다. 이 유형은 Flag 값들의 OR 조합을 저장합니다.
멤버 함수 설명
[constexpr noexcept default] QShaderVersion::QShaderVersion()
QShaderVersion::QShaderVersion(int v, QShaderVersion::Flags f = Flags())
버전 v 과 플래그 f 를 가진 새로운 QShaderVersion을 생성합니다.
QShaderVersion::Flags QShaderVersion::flags() const
플래그를 반환합니다.
setFlags()도 참조하십시오 .
void QShaderVersion::setFlags(QShaderVersion::Flags f)
f 플래그를 설정합니다.
flags()도 참조하십시오 .
void QShaderVersion::setVersion(int v)
셰이딩 언어 버전을 v 로 설정합니다.
version()도 참조하십시오 .
int QShaderVersion::version() const
버전을 반환합니다.
setVersion()도 참조하십시오 .
관련 비멤버
[noexcept, since 6.12] size_t qHash(QShaderVersion key, size_t seed)
` key`에 대한 해시 값을 반환하며, 계산의 시드 값으로 ` seed `을 사용합니다.
참고: INTEGRITY에서 이 함수는 6.2 버전부터 사용할 수 있습니다.
이 함수는 Qt 6.12에서 도입되었습니다.
[noexcept] bool operator!=(const QShaderVersion &lhs, const QShaderVersion &rhs)
두 개의 ` QShaderVersion ` 객체 lhs 와 rhs 의 값이 같으면 ` false `를 반환하고, 그렇지 않으면 ` true`를 반환합니다.
[noexcept] bool operator<(const QShaderVersion &lhs, const QShaderVersion &rhs)
lhs 가 rhs 보다 작으면 true를 반환합니다.
QShaderVersion, lhs 및 rhs 사이의 정렬 순서를 설정합니다.
[noexcept] bool operator==(const QShaderVersion &lhs, const QShaderVersion &rhs)
두 개의 ` QShaderVersion ` 객체인 ` lhs `와 ` rhs `가 같을 경우, ` true `를 반환합니다.
© 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.