QOpenGLTexture Class
QOpenGLTexture 클래스는 OpenGL 텍스처 객체를 캡슐화합니다. 더 보기...
Header: | #include <QOpenGLTexture> |
공용 유형
enum | BindingTarget { BindingTarget1D, BindingTarget1DArray, BindingTarget2D, BindingTarget2DArray, BindingTarget3D, …, BindingTargetBuffer } |
enum | ComparisonFunction { CompareLessEqual, CompareGreaterEqual, CompareLess, CompareGreater, CompareEqual, …, CompareNever } |
enum | ComparisonMode { CompareRefToTexture, CompareNone } |
enum | CoordinateDirection { DirectionS, DirectionT, DirectionR } |
enum | CubeMapFace { CubeMapPositiveX, CubeMapNegativeX, CubeMapPositiveY, CubeMapNegativeY, CubeMapPositiveZ, CubeMapNegativeZ } |
enum | DepthStencilMode { DepthMode, StencilMode } |
enum | Feature { ImmutableStorage, ImmutableMultisampleStorage, TextureRectangle, TextureArrays, Texture3D, …, TextureMipMapLevel } |
flags | Features |
enum | Filter { Nearest, Linear, NearestMipMapNearest, NearestMipMapLinear, LinearMipMapNearest, LinearMipMapLinear } |
enum | MipMapGeneration { GenerateMipMaps, DontGenerateMipMaps } |
enum | PixelFormat { NoSourceFormat, Red, RG, RGB, BGR, …, LuminanceAlpha } |
enum | PixelType { NoPixelType, Int8, UInt8, Int16, UInt16, …, Float32_D32_UInt32_S8_X24 } |
enum | SwizzleComponent { SwizzleRed, SwizzleGreen, SwizzleBlue, SwizzleAlpha } |
enum | SwizzleValue { RedValue, GreenValue, BlueValue, AlphaValue, ZeroValue, OneValue } |
enum | Target { Target1D, Target1DArray, Target2D, Target2DArray, Target3D, …, TargetBuffer } |
enum | TextureFormat { NoFormat, R8_UNorm, RG8_UNorm, RGB8_UNorm, RGBA8_UNorm, …, LuminanceAlphaFormat } |
enum | TextureUnitReset { ResetTextureUnit, DontResetTextureUnit } |
enum | WrapMode { Repeat, MirroredRepeat, ClampToEdge, ClampToBorder } |
공용 함수
QOpenGLTexture(QOpenGLTexture::Target target) | |
QOpenGLTexture(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps) | |
void | allocateStorage() |
void | allocateStorage(QOpenGLTexture::PixelFormat pixelFormat, QOpenGLTexture::PixelType pixelType) |
void | bind() |
void | bind(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit) |
QColor | borderColor() const |
void | borderColor(float *border) const |
void | borderColor(int *border) const |
void | borderColor(unsigned int *border) const |
QOpenGLTexture::ComparisonFunction | comparisonFunction() const |
QOpenGLTexture::ComparisonMode | comparisonMode() const |
bool | create() |
QOpenGLTexture * | createTextureView(QOpenGLTexture::Target target, QOpenGLTexture::TextureFormat viewFormat, int minimumMipmapLevel, int maximumMipmapLevel, int minimumLayer, int maximumLayer) const |
int | depth() const |
QOpenGLTexture::DepthStencilMode | depthStencilMode() const |
void | destroy() |
int | faces() const |
QOpenGLTexture::TextureFormat | format() const |
void | generateMipMaps() |
void | generateMipMaps(int baseLevel, bool resetBaseLevel = true) |
int | height() const |
bool | isAutoMipMapGenerationEnabled() const |
bool | isBound() const |
bool | isBound(uint unit) |
bool | isCreated() const |
bool | isFixedSamplePositions() const |
bool | isStorageAllocated() const |
bool | isTextureView() const |
int | layers() const |
QPair<float, float> | levelOfDetailRange() const |
float | levelofDetailBias() const |
QOpenGLTexture::Filter | magnificationFilter() const |
float | maximumAnisotropy() const |
float | maximumLevelOfDetail() const |
int | maximumMipLevels() const |
QPair<QOpenGLTexture::Filter, QOpenGLTexture::Filter> | minMagFilters() const |
QOpenGLTexture::Filter | minificationFilter() const |
float | minimumLevelOfDetail() const |
int | mipBaseLevel() const |
QPair<int, int> | mipLevelRange() const |
int | mipLevels() const |
int | mipMaxLevel() const |
void | release() |
void | release(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit) |
int | samples() const |
void | setAutoMipMapGenerationEnabled(bool enabled) |
void | setBorderColor(const QColor &color) |
void | setBorderColor(float r, float g, float b, float a) |
void | setBorderColor(int r, int g, int b, int a) |
void | setBorderColor(uint r, uint g, uint b, uint a) |
void | setComparisonFunction(QOpenGLTexture::ComparisonFunction function) |
void | setComparisonMode(QOpenGLTexture::ComparisonMode mode) |
void | setCompressedData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
void | setCompressedData(int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
void | setCompressedData(int mipLevel, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
void | setCompressedData(int mipLevel, int layer, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
void | setCompressedData(int mipLevel, int layer, int layerCount, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
void | setData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
void | setData(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps) |
void | setData(QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
void | setData(int mipLevel, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
void | setData(int mipLevel, int layer, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
void | setData(int mipLevel, int layer, int layerCount, QOpenGLTexture::CubeMapFace cubeFace, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
void | setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
void | setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
void | setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
void | setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::CubeMapFace face, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
void | setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::CubeMapFace face, int layerCount, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
void | setDepthStencilMode(QOpenGLTexture::DepthStencilMode mode) |
void | setFixedSamplePositions(bool fixed) |
void | setFormat(QOpenGLTexture::TextureFormat format) |
void | setLayers(int layers) |
void | setLevelOfDetailRange(float min, float max) |
void | setLevelofDetailBias(float bias) |
void | setMagnificationFilter(QOpenGLTexture::Filter filter) |
void | setMaximumAnisotropy(float anisotropy) |
void | setMaximumLevelOfDetail(float value) |
void | setMinMagFilters(QOpenGLTexture::Filter minificationFilter, QOpenGLTexture::Filter magnificationFilter) |
void | setMinificationFilter(QOpenGLTexture::Filter filter) |
void | setMinimumLevelOfDetail(float value) |
void | setMipBaseLevel(int baseLevel) |
void | setMipLevelRange(int baseLevel, int maxLevel) |
void | setMipLevels(int levels) |
void | setMipMaxLevel(int maxLevel) |
void | setSamples(int samples) |
void | setSize(int width, int height = 1, int depth = 1) |
void | setSwizzleMask(QOpenGLTexture::SwizzleComponent component, QOpenGLTexture::SwizzleValue value) |
void | setSwizzleMask(QOpenGLTexture::SwizzleValue r, QOpenGLTexture::SwizzleValue g, QOpenGLTexture::SwizzleValue b, QOpenGLTexture::SwizzleValue a) |
void | setWrapMode(QOpenGLTexture::WrapMode mode) |
void | setWrapMode(QOpenGLTexture::CoordinateDirection direction, QOpenGLTexture::WrapMode mode) |
QOpenGLTexture::SwizzleValue | swizzleMask(QOpenGLTexture::SwizzleComponent component) const |
QOpenGLTexture::Target | target() const |
GLuint | textureId() const |
int | width() const |
QOpenGLTexture::WrapMode | wrapMode(QOpenGLTexture::CoordinateDirection direction) const |
정적 공용 멤버
GLuint | boundTextureId(QOpenGLTexture::BindingTarget target) |
GLuint | boundTextureId(uint unit, QOpenGLTexture::BindingTarget target) |
bool | hasFeature(QOpenGLTexture::Feature feature) |
상세 설명
QOpenGLTexture를 사용하면 OpenGL 텍스처와 OpenGL 구현의 기능에 따라 제공되는 수많은 기능과 타깃으로 쉽게 작업할 수 있습니다.
QOpenGLTexture의 일반적인 사용 패턴은 다음과 같습니다.
- 텍스처 타깃 유형을 지정하는 오브젝트 인스턴스화
- 저장소 요구 사항에 영향을 미치는 속성 설정(예: 저장소 형식, 크기)
- 서버 측 저장소 할당
- 선택적으로 픽셀 데이터 업로드
- 필터링 및 테두리 옵션과 같은 추가 속성을 선택적으로 설정합니다.
- 텍스처로 렌더링 또는 텍스처로 렌더링
일반적으로 텍스처 픽셀 데이터의 소스로 QImage 을 사용하는 경우 위의 대부분의 단계가 자동으로 수행됩니다.
// Prepare texture QOpenGLTexture *texture = new QOpenGLTexture(QImage(fileName).mirrored()); texture->setMinificationFilter(QOpenGLTexture::LinearMipMapLinear); texture->setMagnificationFilter(QOpenGLTexture::Linear); ... // Render with texture texture->bind(); glDrawArrays(...);
QImage 은 OpenGL과 QImage 이 y 축에 반대 방향을 사용한다는 사실을 고려하여 수직으로 미러링됩니다. 또 다른 옵션은 텍스처 좌표를 변환하는 것입니다.
멤버 유형 문서
enum QOpenGLTexture::BindingTarget
이 열거형은 텍스처 유닛의 가능한 바인딩 타깃을 정의합니다.
Constant | 값 | 설명 |
---|---|---|
QOpenGLTexture::BindingTarget1D | 0x8068 | GL_TEXTURE_BINDING_1D 에 해당합니다. |
QOpenGLTexture::BindingTarget1DArray | 0x8C1C | GL_TEXTURE_BINDING_1D_ARRAY 에 해당합니다. |
QOpenGLTexture::BindingTarget2D | 0x8069 | GL_TEXTURE_BINDING_2D 와 같음 |
QOpenGLTexture::BindingTarget2DArray | 0x8C1D | GL_TEXTURE_BINDING_2D_ARRAY와 같음 |
QOpenGLTexture::BindingTarget3D | 0x806A | GL_TEXTURE_BINDING_3D와 같음 |
QOpenGLTexture::BindingTargetCubeMap | 0x8514 | GL_TEXTURE_BINDING_CUBE_MAP 와 같음 |
QOpenGLTexture::BindingTargetCubeMapArray | 0x900A | GL_TEXTURE_BINDING_CUBE_MAP_ARRAY와 같음 |
QOpenGLTexture::BindingTarget2DMultisample | 0x9104 | GL_TEXTURE_BINDING_2D_MULTISAMPLE와 같음 |
QOpenGLTexture::BindingTarget2DMultisampleArray | 0x9105 | GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY와 같음 |
QOpenGLTexture::BindingTargetRectangle | 0x84F6 | GL_TEXTURE_BINDING_RECTANGLE 와 같음 |
QOpenGLTexture::BindingTargetBuffer | 0x8C2C | GL_TEXTURE_BINDING_BUFFER와 같음 |
enum QOpenGLTexture::ComparisonFunction
이 열거형은 이 텍스처에서 텍스처 비교가 활성화될 때 사용되는 비교 연산자를 지정합니다.
Constant | 값 | 설명 |
---|---|---|
QOpenGLTexture::CompareLessEqual | 0x0203 | GL_LEQUAL 과 같습니다. |
QOpenGLTexture::CompareGreaterEqual | 0x0206 | GL_GEQUAL 과 같습니다. |
QOpenGLTexture::CompareLess | 0x0201 | GL_LESS 와 같습니다. |
QOpenGLTexture::CompareGreater | 0x0204 | GL_GREATER 와 같습니다. |
QOpenGLTexture::CompareEqual | 0x0202 | GL_EQUAL 과 동등. |
QOpenGLTexture::CompareNotEqual | 0x0205 | GL_NOTEQUAL과 동등. |
QOpenGLTexture::CompareAlways | 0x0207 | GL_ALWAYS 와 동등. |
QOpenGLTexture::CompareNever | 0x0200 | GL_NEVER 와 동등. |
enum QOpenGLTexture::ComparisonMode
이 Enum은 이 텍스처를 샘플링할 때 사용되는 비교 모드를 지정합니다.
Constant | 값 | 설명 |
---|---|---|
QOpenGLTexture::CompareRefToTexture | 0x884E | GL_COMPARE_REF_TO_TEXTURE 에 해당합니다. |
QOpenGLTexture::CompareNone | 0x0000 | GL_NONE 에 해당합니다. |
enum QOpenGLTexture::CoordinateDirection
이 열거형은 가능한 텍스처 좌표 방향을 정의합니다.
Constant | 값 | 설명 |
---|---|---|
QOpenGLTexture::DirectionS | 0x2802 | 수평 방향입니다. GL_TEXTURE_WRAP_S 에 해당합니다. |
QOpenGLTexture::DirectionT | 0x2803 | 세로 방향입니다. GL_TEXTURE_WRAP_T 에 해당합니다. |
QOpenGLTexture::DirectionR | 0x8072 | 깊이 방향입니다. GL_TEXTURE_WRAP_R 과 같습니다. |
enum QOpenGLTexture::CubeMapFace
이 열거형은 가능한 큐브맵 면을 정의합니다.
Constant | 값 | 설명 |
---|---|---|
QOpenGLTexture::CubeMapPositiveX | 0x8515 | GL_TEXTURE_CUBE_MAP_POSITIVE_X 와 같습니다. |
QOpenGLTexture::CubeMapNegativeX | 0x8516 | GL_TEXTURE_CUBE_MAP_NEGATIVE_X 와 같습니다. |
QOpenGLTexture::CubeMapPositiveY | 0x8517 | GL_TEXTURE_CUBE_MAP_POSITIVE_Y 와 같음 |
QOpenGLTexture::CubeMapNegativeY | 0x8518 | GL_TEXTURE_CUBE_MAP_NEGATIVE_Y와 같음 |
QOpenGLTexture::CubeMapPositiveZ | 0x8519 | GL_TEXTURE_CUBE_MAP_POSITIVE_Z 와 같음 |
QOpenGLTexture::CubeMapNegativeZ | 0x851A | GL_TEXTURE_CUBE_MAP_NEGATIVE_Z와 같음 |
enum QOpenGLTexture::DepthStencilMode
텍스처를 샘플링할 때 액세스하는 뎁스/스텐실 텍스처의 컴포넌트를 지정하는 Enum입니다.
Constant | 값 | 설명 |
---|---|---|
QOpenGLTexture::DepthMode | 0x1902 | GL_DEPTH_COMPONENT 에 해당합니다. |
QOpenGLTexture::StencilMode | 0x1901 | GL_STENCIL_INDEX에 해당합니다. |
enum QOpenGLTexture::Feature
플래그 QOpenGLTexture::Features
이 열거형은 테스트할 수 있는 OpenGL 텍스처 관련 기능을 정의합니다.
상수 | 값 | 설명 |
---|---|---|
QOpenGLTexture::ImmutableStorage | 0x00000001 | 불변 텍스처 저장소 지원 |
QOpenGLTexture::ImmutableMultisampleStorage | 0x00000002 | 멀티샘플 타깃에 불변 텍스처 저장소 지원 |
QOpenGLTexture::TextureRectangle | 0x00000004 | GL_TEXTURE_RECTANGLE 타깃 지원 |
QOpenGLTexture::TextureArrays | 0x00000008 | 배열 레이어가 있는 텍스처 타깃 지원 |
QOpenGLTexture::Texture3D | 0x00000010 | 3차원 텍스처 타깃 지원 |
QOpenGLTexture::TextureMultisample | 0x00000020 | 멀티샘플 기능이 있는 텍스처 타깃 지원 |
QOpenGLTexture::TextureBuffer | 0x00000040 | OpenGL 버퍼 오브젝트를 데이터 소스로 사용하는 텍스처 지원 |
QOpenGLTexture::TextureCubeMapArrays | 0x00000080 | 큐브맵 배열 텍스처 타깃 지원 |
QOpenGLTexture::Swizzle | 0x00000100 | 텍스처 컴포넌트 스위즐 마스크 지원 |
QOpenGLTexture::StencilTexturing | 0x00000200 | 스텐실 텍스처링 지원(즉, GLSL 셰이더에서 뎁스/스텐실 포맷 텍스처의 뎁스 또는 스텐실 컴포넌트 조회). |
QOpenGLTexture::AnisotropicFiltering | 0x00000400 | 애니소트로픽 텍스처 필터링 지원 |
QOpenGLTexture::NPOTTextures | 0x00000800 | 2제곱이 아닌 텍스처에 대한 기본 지원 |
QOpenGLTexture::NPOTTextureRepeat | 0x00001000 | 텍스처 반복 모드를 포함한 2제곱이 아닌 텍스처에 대한 완벽한 지원 |
QOpenGLTexture::Texture1D | 0x00002000 | 1차원 텍스처 타깃 지원 |
QOpenGLTexture::TextureComparisonOperators | 0x00004000 | 텍스처 비교 연산자 지원 |
QOpenGLTexture::TextureMipMapLevel | 0x00008000 | 기본 및 최대 밉맵 레벨 설정 지원 |
피처 유형은 QFlags<Feature>에 대한 타입 정의입니다. 피처 값의 OR 조합을 저장합니다.
enum QOpenGLTexture::Filter
이 열거형은 QOpenGLTexture 개체에 대한 필터링 매개변수를 정의합니다.
Constant | 값 | 설명 |
---|---|---|
QOpenGLTexture::Nearest | 0x2600 | GL_NEAREST에 해당 |
QOpenGLTexture::Linear | 0x2601 | GL_LINEAR에 해당 |
QOpenGLTexture::NearestMipMapNearest | 0x2700 | GL_NEAREST_MIPMAP_NEAREST 와 같음 |
QOpenGLTexture::NearestMipMapLinear | 0x2702 | GL_NEAREST_MIPMAP_LINEAR 와 같음 |
QOpenGLTexture::LinearMipMapNearest | 0x2701 | GL_LINEAR_MIPMAP_NEAREST와 같음 |
QOpenGLTexture::LinearMipMapLinear | 0x2703 | GL_LINEAR_MIPMAP_LINEAR와 같음 |
enum QOpenGLTexture::MipMapGeneration
이 열거형은 밉맵 생성을 제어하는 옵션을 정의합니다.
Constant | 값 | 설명 |
---|---|---|
QOpenGLTexture::GenerateMipMaps | 0 | 밉맵을 생성해야 합니다. |
QOpenGLTexture::DontGenerateMipMaps | 1 | 밉맵을 생성하지 않습니다. |
enum QOpenGLTexture::PixelFormat
이 열거형은 픽셀 전송 작업에 사용할 수 있는 클라이언트 측 픽셀 형식을 정의합니다.
Constant | 값 | 설명 |
---|---|---|
QOpenGLTexture::NoSourceFormat | 0 | GL_NONE에 해당 |
QOpenGLTexture::Red | 0x1903 | GL_RED에 해당 |
QOpenGLTexture::RG | 0x8227 | GL_RG와 동일 |
QOpenGLTexture::RGB | 0x1907 | GL_RGB와 동일 |
QOpenGLTexture::BGR | 0x80E0 | GL_BGR과 동일 |
QOpenGLTexture::RGBA | 0x1908 | GL_RGBA와 동일 |
QOpenGLTexture::BGRA | 0x80E1 | GL_BGRA와 동일 |
QOpenGLTexture::Red_Integer | 0x8D94 | GL_RED_INTEGER와 같음 |
QOpenGLTexture::RG_Integer | 0x8228 | GL_RG_INTEGER와 같음 |
QOpenGLTexture::RGB_Integer | 0x8D98 | GL_RGB_INTEGER와 같음 |
QOpenGLTexture::BGR_Integer | 0x8D9A | GL_BGR_INTEGER와 같음 |
QOpenGLTexture::RGBA_Integer | 0x8D99 | GL_RGBA_INTEGER와 같음 |
QOpenGLTexture::BGRA_Integer | 0x8D9B | GL_BGRA_INTEGER와 같음 |
QOpenGLTexture::Stencil | 0x1901 | GL_STENCIL_INDEX와 동등합니다. Qt 5.4에 도입 |
QOpenGLTexture::Depth | 0x1902 | GL_DEPTH_COMPONENT와 같습니다. |
QOpenGLTexture::DepthStencil | 0x84F9 | GL_DEPTH_STENCIL과 동등합니다. |
QOpenGLTexture::Alpha | 0x1906 | GL_ALPHA와 동등합니다 (OpenGL ES 2에만 해당). |
QOpenGLTexture::Luminance | 0x1909 | GL_LUMINANCE 와 동일 (OpenGL ES 2 만 해당) |
QOpenGLTexture::LuminanceAlpha | 0x190A | GL_LUMINANCE_ALPHA 와 동일 (OpenGL ES 2 만 해당) |
enum QOpenGLTexture::PixelType
이 열거형은 픽셀 전송 연산에 사용할 수 있는 픽셀 데이터 유형을 정의합니다.
Constant | 값 | 설명 |
---|---|---|
QOpenGLTexture::NoPixelType | 0 | GL_NONE 에 해당 |
QOpenGLTexture::Int8 | 0x1400 | GL_BYTE 에 해당 |
QOpenGLTexture::UInt8 | 0x1401 | GL_UNSIGNED_BYTE와 같습니다. |
QOpenGLTexture::Int16 | 0x1402 | GL_SHORT와 동일 |
QOpenGLTexture::UInt16 | 0x1403 | GL_UNSIGNED_SHORT와 같음 |
QOpenGLTexture::Int32 | 0x1404 | GL_INT와 동일 |
QOpenGLTexture::UInt32 | 0x1405 | GL_UNSIGNED_INT와 같음 |
QOpenGLTexture::Float16 | 0x140B | GL_HALF_FLOAT와 같음 |
QOpenGLTexture::Float16OES | 0x8D61 | GL_HALF_FLOAT_OES와 같음 |
QOpenGLTexture::Float32 | 0x1406 | GL_FLOAT와 동등 |
QOpenGLTexture::UInt32_RGB9_E5 | 0x8C3E | GL_UNSIGNED_INT_5_9_9_9_REV와 같음 |
QOpenGLTexture::UInt32_RG11B10F | 0x8C3B | GL_UNSIGNED_INT_10F_11F_11F_REV와 같음 |
QOpenGLTexture::UInt8_RG3B2 | 0x8032 | GL_UNSIGNED_BYTE_3_3_2와 같음 |
QOpenGLTexture::UInt8_RG3B2_Rev | 0x8362 | GL_UNSIGNED_BYTE_2_3_3_REV와 같음 |
QOpenGLTexture::UInt16_RGB5A1 | 0x8034 | GL_UNSIGNED_SHORT_5_5_5_1과 같음 |
QOpenGLTexture::UInt16_RGB5A1_Rev | 0x8366 | GL_UNSIGNED_SHORT_1_5_5_5_REV와 같음 |
QOpenGLTexture::UInt16_R5G6B5 | 0x8363 | GL_UNSIGNED_SHORT_5_6_5와 같음 |
QOpenGLTexture::UInt16_R5G6B5_Rev | 0x8364 | GL_UNSIGNED_SHORT_5_6_5_REV와 같음 |
QOpenGLTexture::UInt16_RGBA4 | 0x8033 | GL_UNSIGNED_SHORT_4_4_4_4와 같음 |
QOpenGLTexture::UInt16_RGBA4_Rev | 0x8365 | GL_UNSIGNED_SHORT_4_4_4_4_REV와 같음 |
QOpenGLTexture::UInt32_RGBA8 | 0x8035 | GL_UNSIGNED_INT_8_8_8_8과 같음 |
QOpenGLTexture::UInt32_RGBA8_Rev | 0x8367 | GL_UNSIGNED_INT_8_8_8_8_REV와 같음 |
QOpenGLTexture::UInt32_RGB10A2 | 0x8036 | GL_UNSIGNED_INT_10_10_10_2와 같음 |
QOpenGLTexture::UInt32_RGB10A2_Rev | 0x8368 | GL_UNSIGNED_INT_2_10_10_10_REV와 같음 |
QOpenGLTexture::UInt32_D24S8 | 0x84FA | GL_UNSIGNED_INT_24_8과 같습니다. Qt 5.4에 도입 |
QOpenGLTexture::Float32_D32_UInt32_S8_X24 | 0x8DAD | GL_FLOAT_32_UNSIGNED_INT_24_8_REV와 동등합니다. Qt 5.4에 도입 |
enum QOpenGLTexture::SwizzleComponent
이 열거형은 스위즐 마스크를 할당할 수 있는 텍스처 색상 컴포넌트를 정의합니다.
Constant | 값 | 설명 |
---|---|---|
QOpenGLTexture::SwizzleRed | 0x8E42 | 빨간색 컴포넌트입니다. GL_TEXTURE_SWIZZLE_R에 해당합니다. |
QOpenGLTexture::SwizzleGreen | 0x8E43 | 녹색 컴포넌트입니다. GL_TEXTURE_SWIZZLE_G 에 해당합니다. |
QOpenGLTexture::SwizzleBlue | 0x8E44 | 파란색 컴포넌트입니다. GL_TEXTURE_SWIZZLE_B 에 해당합니다. |
QOpenGLTexture::SwizzleAlpha | 0x8E45 | 알파 컴포넌트입니다. GL_TEXTURE_SWIZZLE_A 에 해당합니다. |
enum QOpenGLTexture::SwizzleValue
이 열거형은 텍스처 휘즐링에 가능한 마스크 값을 정의합니다.
Constant | 값 | 설명 |
---|---|---|
QOpenGLTexture::RedValue | 0x1903 | 컴포넌트를 빨간색 채널에 매핑합니다. GL_RED와 동일 |
QOpenGLTexture::GreenValue | 0x1904 | 컴포넌트를 녹색 채널에 매핑합니다. GL_GREEN과 동일 |
QOpenGLTexture::BlueValue | 0x1905 | 컴포넌트를 파란색 채널에 매핑합니다. GL_BLUE와 동일 |
QOpenGLTexture::AlphaValue | 0x1906 | 컴포넌트를 알파 채널에 매핑합니다. GL_ALPHA와 동일 |
QOpenGLTexture::ZeroValue | 0 | 컴포넌트를 고정값 0에 매핑합니다. GL_ZERO와 같습니다. |
QOpenGLTexture::OneValue | 1 | 컴포넌트를 고정값 1에 매핑합니다. GL_ONE과 같습니다. |
enum QOpenGLTexture::Target
이 열거형은 QOpenGLTexture 객체의 텍스처 대상을 정의합니다. 배열 텍스처 생성에 대한 자세한 내용은 배열 텍스처를 참조하십시오.
Constant | 값 | 설명 |
---|---|---|
QOpenGLTexture::Target1D | 0x0DE0 | 1차원 텍스처입니다. GL_TEXTURE_1D에 해당합니다. |
QOpenGLTexture::Target1DArray | 0x8C18 | 1차원 텍스처의 배열입니다. GL_TEXTURE_1D_ARRAY 와 같습니다. |
QOpenGLTexture::Target2D | 0x0DE1 | 2차원 텍스처입니다. GL_TEXTURE_2D와 같습니다. |
QOpenGLTexture::Target2DArray | 0x8C1A | 2차원 텍스처의 배열입니다. GL_TEXTURE_2D_ARRAY와 같습니다. |
QOpenGLTexture::Target3D | 0x806F | 3차원 텍스처입니다. GL_TEXTURE_3D와 동등합니다. |
QOpenGLTexture::TargetCubeMap | 0x8513 | 큐브맵 텍스처입니다. GL_TEXTURE_CUBE_MAP 에 해당합니다. |
QOpenGLTexture::TargetCubeMapArray | 0x9009 | 큐브맵 텍스처 배열입니다. GL_TEXTURE_CUBE_MAP_ARRAY와 동등합니다. |
QOpenGLTexture::Target2DMultisample | 0x9100 | 멀티샘플을 지원하는 2차원 텍스처입니다. GL_TEXTURE_2D_MULTISAMPLE과 동일합니다. |
QOpenGLTexture::Target2DMultisampleArray | 0x9102 | 멀티샘플을 지원하는 2차원 텍스처 배열입니다. GL_TEXTURE_2D_MULTISAMPLE_ARRAY와 동등합니다. |
QOpenGLTexture::TargetRectangle | 0x84F5 | 직사각형 2차원 텍스처입니다. GL_TEXTURE_RECTANGLE과 동등합니다. |
QOpenGLTexture::TargetBuffer | 0x8C2A | OpenGL 버퍼 오브젝트의 데이터가 포함된 텍스처입니다. GL_TEXTURE_BUFFER와 동일합니다. |
enum QOpenGLTexture::TextureFormat
이 열거형은 가능한 텍스처 포맷을 정의합니다. OpenGL 구현에 따라 이 중 일부만 지원될 수 있습니다.
Constant | 값 | 설명 |
---|---|---|
QOpenGLTexture::NoFormat | 0 | GL_NONE에 해당 |
QOpenGLTexture::R8_UNorm | 0x8229 | GL_R8에 해당 |
QOpenGLTexture::RG8_UNorm | 0x822B | GL_RG8과 동일 |
QOpenGLTexture::RGB8_UNorm | 0x8051 | GL_RGB8과 동일 |
QOpenGLTexture::RGBA8_UNorm | 0x8058 | GL_RGBA8과 동일 |
QOpenGLTexture::R16_UNorm | 0x822A | GL_R16과 동일 |
QOpenGLTexture::RG16_UNorm | 0x822C | GL_RG16과 동일 |
QOpenGLTexture::RGB16_UNorm | 0x8054 | GL_RGB16과 동일 |
QOpenGLTexture::RGBA16_UNorm | 0x805B | GL_RGBA16과 동일 |
QOpenGLTexture::R8_SNorm | 0x8F94 | GL_R8_SNORM과 동일 |
QOpenGLTexture::RG8_SNorm | 0x8F95 | GL_RG8_SNORM과 같음 |
QOpenGLTexture::RGB8_SNorm | 0x8F96 | GL_RGB8_SNORM과 같음 |
QOpenGLTexture::RGBA8_SNorm | 0x8F97 | GL_RGBA8_SNORM과 같음 |
QOpenGLTexture::R16_SNorm | 0x8F98 | GL_R16_SNORM과 같음 |
QOpenGLTexture::RG16_SNorm | 0x8F99 | GL_RG16_SNORM과 같음 |
QOpenGLTexture::RGB16_SNorm | 0x8F9A | GL_RGB16_SNORM과 같음 |
QOpenGLTexture::RGBA16_SNorm | 0x8F9B | GL_RGBA16_SNORM과 같음 |
QOpenGLTexture::R8U | 0x8232 | GL_R8UI와 동일 |
QOpenGLTexture::RG8U | 0x8238 | GL_RG8UI와 동일 |
QOpenGLTexture::RGB8U | 0x8D7D | GL_RGB8UI와 동일 |
QOpenGLTexture::RGBA8U | 0x8D7C | GL_RGBA8UI와 동일 |
QOpenGLTexture::R16U | 0x8234 | GL_R16UI와 동일 |
QOpenGLTexture::RG16U | 0x823A | GL_RG16UI와 동일 |
QOpenGLTexture::RGB16U | 0x8D77 | GL_RGB16UI와 동일 |
QOpenGLTexture::RGBA16U | 0x8D76 | GL_RGBA16UI와 동일 |
QOpenGLTexture::R32U | 0x8236 | GL_R32UI와 동일 |
QOpenGLTexture::RG32U | 0x823C | GL_RG32UI와 동일 |
QOpenGLTexture::RGB32U | 0x8D71 | GL_RGB32UI와 동일 |
QOpenGLTexture::RGBA32U | 0x8D70 | GL_RGBA32UI와 동일 |
QOpenGLTexture::R8I | 0x8231 | GL_R8I와 동일 |
QOpenGLTexture::RG8I | 0x8237 | GL_RG8I와 동일 |
QOpenGLTexture::RGB8I | 0x8D8F | GL_RGB8I와 동일 |
QOpenGLTexture::RGBA8I | 0x8D8E | GL_RGBA8I와 동일 |
QOpenGLTexture::R16I | 0x8233 | GL_R16I와 동일 |
QOpenGLTexture::RG16I | 0x8239 | GL_RG16I와 동일 |
QOpenGLTexture::RGB16I | 0x8D89 | GL_RGB16I와 동일 |
QOpenGLTexture::RGBA16I | 0x8D88 | GL_RGBA16I와 동일 |
QOpenGLTexture::R32I | 0x8235 | GL_R32I와 동일 |
QOpenGLTexture::RG32I | 0x823B | GL_RG32I와 동일 |
QOpenGLTexture::RGB32I | 0x8D83 | GL_RGB32I와 동일 |
QOpenGLTexture::RGBA32I | 0x8D82 | GL_RGBA32I와 동일 |
QOpenGLTexture::R16F | 0x822D | GL_R16F와 동일 |
QOpenGLTexture::RG16F | 0x822F | GL_RG16F와 동일 |
QOpenGLTexture::RGB16F | 0x881B | GL_RGB16F와 동일 |
QOpenGLTexture::RGBA16F | 0x881A | GL_RGBA16F와 동일 |
QOpenGLTexture::R32F | 0x822E | GL_R32F와 동일 |
QOpenGLTexture::RG32F | 0x8230 | GL_RG32F와 동일 |
QOpenGLTexture::RGB32F | 0x8815 | GL_RGB32F와 동일 |
QOpenGLTexture::RGBA32F | 0x8814 | GL_RGBA32F와 동일 |
QOpenGLTexture::RGB9E5 | 0x8C3D | GL_RGB9_E5와 동일 |
QOpenGLTexture::RG11B10F | 0x8C3A | GL_R11F_G11F_B10F와 동일 |
QOpenGLTexture::RG3B2 | 0x2A10 | GL_R3_G3_B2와 동일 |
QOpenGLTexture::R5G6B5 | 0x8D62 | GL_RGB565와 동일 |
QOpenGLTexture::RGB5A1 | 0x8057 | GL_RGB5_A1과 동일 |
QOpenGLTexture::RGBA4 | 0x8056 | GL_RGBA4와 동일 |
QOpenGLTexture::RGB10A2 | 0x906F | GL_RGB10_A2UI와 동일 |
QOpenGLTexture::D16 | 0x81A5 | GL_DEPTH_COMPONENT16과 동일 |
QOpenGLTexture::D24 | 0x81A6 | GL_DEPTH_COMPONENT24와 동일 |
QOpenGLTexture::D24S8 | 0x88F0 | GL_DEPTH24_STENCIL8과 같음 |
QOpenGLTexture::D32 | 0x81A7 | GL_DEPTH_COMPONENT32와 같음 |
QOpenGLTexture::D32F | 0x8CAC | GL_DEPTH_COMPONENT32F 와 같음 |
QOpenGLTexture::D32FS8X24 | 0x8CAD | GL_DEPTH32F_STENCIL8과 같음 |
QOpenGLTexture::S8 | 0x8D48 | GL_STENCIL_INDEX8과 동등합니다. Qt 5.4에 도입 |
QOpenGLTexture::RGB_DXT1 | 0x83F0 | GL_COMPRESSED_RGB_S3TC_DXT1_EXT와 같습니다. |
QOpenGLTexture::RGBA_DXT1 | 0x83F1 | GL_COMPRESSED_RGBA_S3TC_DXT1_EXT와 같습니다. |
QOpenGLTexture::RGBA_DXT3 | 0x83F2 | GL_COMPRESSED_RGBA_S3TC_DXT3_EXT와 동일 |
QOpenGLTexture::RGBA_DXT5 | 0x83F3 | GL_COMPRESSED_RGBA_S3TC_DXT5_EXT와 동일 |
QOpenGLTexture::R_ATI1N_UNorm | 0x8DBB | GL_COMPRESSED_RED_RGTC1과 동일 |
QOpenGLTexture::R_ATI1N_SNorm | 0x8DBC | GL_COMPRESSED_SIGNED_RED_RGTC1과 동일 |
QOpenGLTexture::RG_ATI2N_UNorm | 0x8DBD | GL_COMPRESSED_RG_RGTC2와 같음 |
QOpenGLTexture::RG_ATI2N_SNorm | 0x8DBE | GL_COMPRESSED_SIGNED_RG_RGTC2와 같음 |
QOpenGLTexture::RGB_BP_UNSIGNED_FLOAT | 0x8E8F | GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB와 같음 |
QOpenGLTexture::RGB_BP_SIGNED_FLOAT | 0x8E8E | GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB와 같음 |
QOpenGLTexture::RGB_BP_UNorm | 0x8E8C | GL_COMPRESSED_RGBA_BPTC_UNORM_ARB와 같음 |
QOpenGLTexture::R11_EAC_UNorm | 0x9270 | GL_COMPRESSED_R11_EAC와 동일 |
QOpenGLTexture::R11_EAC_SNorm | 0x9271 | GL_COMPRESSED_SIGNED_R11_EAC와 같음 |
QOpenGLTexture::RG11_EAC_UNorm | 0x9272 | GL_COMPRESSED_RG11_EAC와 같음 |
QOpenGLTexture::RG11_EAC_SNorm | 0x9273 | GL_COMPRESSED_SIGNED_RG11_EAC와 같음 |
QOpenGLTexture::RGB8_ETC2 | 0x9274 | GL_COMPRESSED_RGB8_ETC2와 같음 |
QOpenGLTexture::SRGB8_ETC2 | 0x9275 | GL_COMPRESSED_SRGB8_ETC2와 같음 |
QOpenGLTexture::RGB8_PunchThrough_Alpha1_ETC2 | 0x9276 | GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2와 동일 |
QOpenGLTexture::SRGB8_PunchThrough_Alpha1_ETC2 | 0x9277 | GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2와 같음 |
QOpenGLTexture::RGBA8_ETC2_EAC | 0x9278 | GL_COMPRESSED_RGBA8_ETC2_EAC와 동일 |
QOpenGLTexture::SRGB8_Alpha8_ETC2_EAC | 0x9279 | GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC와 같음 |
QOpenGLTexture::RGB8_ETC1 | 0x8D64 | GL_ETC1_RGB8_OES와 동일 |
QOpenGLTexture::RGBA_ASTC_4x4 | 0x93B0 | GL_COMPRESSED_RGBA_ASTC_4x4_KHR와 같음 |
QOpenGLTexture::RGBA_ASTC_5x4 | 0x93B1 | GL_COMPRESSED_RGBA_ASTC_5x4_KHR와 같음 |
QOpenGLTexture::RGBA_ASTC_5x5 | 0x93B2 | GL_COMPRESSED_RGBA_ASTC_5x5_KHR와 동일 |
QOpenGLTexture::RGBA_ASTC_6x5 | 0x93B3 | GL_COMPRESSED_RGBA_ASTC_6x5_KHR와 동일 |
QOpenGLTexture::RGBA_ASTC_6x6 | 0x93B4 | GL_COMPRESSED_RGBA_ASTC_6x6_KHR와 동일 |
QOpenGLTexture::RGBA_ASTC_8x5 | 0x93B5 | GL_COMPRESSED_RGBA_ASTC_8x5_KHR와 동일 |
QOpenGLTexture::RGBA_ASTC_8x6 | 0x93B6 | GL_COMPRESSED_RGBA_ASTC_8x6_KHR와 동일 |
QOpenGLTexture::RGBA_ASTC_8x8 | 0x93B7 | GL_COMPRESSED_RGBA_ASTC_8x8_KHR와 동일 |
QOpenGLTexture::RGBA_ASTC_10x5 | 0x93B8 | GL_COMPRESSED_RGBA_ASTC_10x5_KHR와 동일 |
QOpenGLTexture::RGBA_ASTC_10x6 | 0x93B9 | GL_COMPRESSED_RGBA_ASTC_10x6_KHR와 동일 |
QOpenGLTexture::RGBA_ASTC_10x8 | 0x93BA | GL_COMPRESSED_RGBA_ASTC_10x8_KHR와 동일 |
QOpenGLTexture::RGBA_ASTC_10x10 | 0x93BB | GL_COMPRESSED_RGBA_ASTC_10x10_KHR와 같음 |
QOpenGLTexture::RGBA_ASTC_12x10 | 0x93BC | GL_COMPRESSED_RGBA_ASTC_12x10_KHR와 같음 |
QOpenGLTexture::RGBA_ASTC_12x12 | 0x93BD | GL_COMPRESSED_RGBA_ASTC_12x12_KHR와 동일 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_4x4 | 0x93D0 | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR와 같음 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x4 | 0x93D1 | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR와 같음 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x5 | 0x93D2 | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR와 같음 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x5 | 0x93D3 | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR와 같음 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x6 | 0x93D4 | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR와 같음 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x5 | 0x93D5 | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR와 같음 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x6 | 0x93D6 | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR와 같음 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x8 | 0x93D7 | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR와 같음 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x5 | 0x93D8 | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR와 같음 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x6 | 0x93D9 | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR와 같음 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x8 | 0x93DA | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR와 같음 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x10 | 0x93DB | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR와 같음 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x10 | 0x93DC | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR와 같음 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x12 | 0x93DD | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR와 같음 |
QOpenGLTexture::SRGB8 | 0x8C41 | GL_SRGB8과 동일 |
QOpenGLTexture::SRGB8_Alpha8 | 0x8C43 | GL_SRGB8_ALPHA8과 동일 |
QOpenGLTexture::SRGB_DXT1 | 0x8C4C | GL_COMPRESSED_SRGB_S3TC_DXT1_EXT와 동일 |
QOpenGLTexture::SRGB_Alpha_DXT1 | 0x8C4D | GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT와 같음 |
QOpenGLTexture::SRGB_Alpha_DXT3 | 0x8C4E | GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT와 같음 |
QOpenGLTexture::SRGB_Alpha_DXT5 | 0x8C4F | GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT와 같음 |
QOpenGLTexture::SRGB_BP_UNorm | 0x8E8D | GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB와 같음 |
QOpenGLTexture::DepthFormat | 0x1902 | GL_DEPTH_COMPONENT와 동일(OES_depth_texture가 있는 OpenGL ES 3 또는 ES 2만 해당) |
QOpenGLTexture::AlphaFormat | 0x1906 | GL_ALPHA와 동일(OpenGL ES 2에만 해당) |
QOpenGLTexture::RGBFormat | 0x1907 | GL_RGB와 동일(OpenGL ES 2만 해당) |
QOpenGLTexture::RGBAFormat | 0x1908 | GL_RGBA와 동일(OpenGL ES 2만 해당) |
QOpenGLTexture::LuminanceFormat | 0x1909 | GL_LUMINANCE와 동일(OpenGL ES 2만 해당) |
QOpenGLTexture::LuminanceAlphaFormat | 0x190A | GL_LUMINANCE_ALPHA와 동일(OpenGL ES 2만 해당) |
enum QOpenGLTexture::TextureUnitReset
이 열거형은 텍스처 유닛 활성화를 제어하는 옵션을 정의합니다.
Constant | 값 | 설명 |
---|---|---|
QOpenGLTexture::ResetTextureUnit | 0 | 이전 활성 텍스처 유닛이 리셋됩니다. |
QOpenGLTexture::DontResetTextureUnit | 1 | 이전 활성 텍스처 유닛이 휴식되지 않습니다. |
enum QOpenGLTexture::WrapMode
이 열거형은 가능한 텍스처 좌표 래핑 모드를 정의합니다.
Constant | 값 | 설명 |
---|---|---|
QOpenGLTexture::Repeat | 0x2901 | 텍스처 좌표가 반복됩니다. GL_REPEAT와 동일 |
QOpenGLTexture::MirroredRepeat | 0x8370 | 텍스처 좌표가 0과 1에 대해 반영됩니다. GL_MIRRORED_REPEAT와 동일합니다. |
QOpenGLTexture::ClampToEdge | 0x812F | 텍스처 좌표를 [0,1]에 고정합니다. GL_CLAMP_TO_EDGE와 동일합니다. |
QOpenGLTexture::ClampToBorder | 0x812D | 클램프 투 엣지와 마찬가지로 0과 1의 샘플을 고정 테두리 색상으로 블렌딩합니다. GL_CLAMP_TO_BORDER와 동일합니다. |
멤버 함수 문서
[explicit]
QOpenGLTexture::QOpenGLTexture(QOpenGLTexture::Target target)
나중에 target 에 바인딩할 수 있는 QOpenGLTexture 객체를 생성합니다.
이것은 기본 OpenGL 텍스처 객체를 생성하지 않습니다. 따라서 이 생성자를 사용한 구성에는 유효한 현재 OpenGL 컨텍스트가 필요하지 않습니다.
[explicit]
QOpenGLTexture::QOpenGLTexture(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps)
나중에 2D 텍스처 대상에 바인딩할 수 있고 image 에 포함된 픽셀 데이터를 포함하는 QOpenGLTexture 객체를 생성합니다. 밉맵 체인을 생성하려면 genMipMaps 을 true
로 설정합니다(기본값입니다).
이렇게 하면 기본 OpenGL 텍스처 객체가 생성됩니다. 따라서 이 생성자를 사용하여 구성하려면 유효한 현재 OpenGL 컨텍스트가 필요합니다.
참고: image 은 자동으로 QImage::Format_RGBA8888 으로 변환되므로 포맷이 다른 큰 이미지의 경우 성능에 영향을 미칠 수 있습니다.
void QOpenGLTexture::allocateStorage()
형식, 치수, 밉맵 레벨, 배열 레이어 및 큐브맵 면을 고려하여 이 텍스처 오브젝트에 대한 서버 측 스토리지를 할당합니다.
저장소가 할당되면 더 이상 이러한 속성을 변경할 수 없습니다.
지원되는 경우 QOpenGLTexture 불변 텍스처 저장소를 사용합니다.
텍스처에 저장소가 할당되면 setData() 오버로드 중 하나를 통해 픽셀 데이터를 업로드할 수 있습니다.
참고: 변경 불가능한 텍스처 저장소를 사용할 수 없는 경우 기본 픽셀 형식과 픽셀 유형을 사용하여 변경 가능한 저장소를 생성합니다. 다른 allocateStorage() 오버로드를 사용하여 변경 가능한 스토리지를 할당할 때 사용할 픽셀 포맷과 픽셀 유형을 정확히 지정할 수 있습니다. 이는 할당 시 사용되는 픽셀 포맷과 픽셀 유형이 후속 setData() 호출에 전달되는 포맷 및 유형과 완벽하게 일치해야 하는 특정 OpenGL ES 구현(특히 OpenGL ES 2)에서 특히 유용합니다.
isStorageAllocated() 및 setData()도 참조하세요 .
void QOpenGLTexture::allocateStorage(QOpenGLTexture::PixelFormat pixelFormat, QOpenGLTexture::PixelType pixelType)
형식, 치수, 밉맵 레벨, 배열 레이어 및 큐브맵 면을 고려하여 이 텍스처 오브젝트에 대한 서버 측 스토리지를 할당합니다.
저장소가 할당되면 더 이상 이러한 프로퍼티를 변경할 수 없습니다.
지원되는 경우 QOpenGLTexture 불변 텍스처 스토리지를 사용합니다. 그러나 불변 텍스처 스토리지를 사용할 수 없는 경우 지정된 pixelFormat 및 pixelType 을 사용하여 변경 가능한 스토리지를 할당합니다. 특정 OpenGL 구현(특히 OpenGL ES 2)에서는 형식과 후속 setData() 호출에 전달되는 유형이 완벽하게 일치해야 합니다.
텍스처에 대한 스토리지가 할당되면 setData() 오버로드 중 하나를 통해 픽셀 데이터를 업로드할 수 있습니다.
isStorageAllocated() 및 setData()도 참조하세요 .
void QOpenGLTexture::bind()
이 텍스처를 렌더링할 준비가 된 현재 활성 텍스처 유닛에 바인딩합니다. 구현은 사용 가능한 경우 EXT_direct_state_access 확장자를 사용하고 그렇지 않은 경우 시뮬레이션하므로 QOpenGLTexture 객체를 수정하기 위해 바인딩할 필요가 없습니다.
release()도 참조하세요 .
void QOpenGLTexture::bind(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit)
이 텍스처를 렌더링할 준비가 된 텍스처 유닛 unit 에 바인딩합니다. 이 구현은 사용 가능한 경우 EXT_direct_state_access 확장자를 사용하고 그렇지 않은 경우 시뮬레이션하므로 QOpenGLTexture 오브젝트를 수정하기 위해 바인딩할 필요가 없습니다.
파라미터 reset 가 true
인 경우 이 함수는 입력 시 활성화된 텍스처 유닛으로 활성 유닛을 복원합니다.
release()도 참조하세요 .
QColor QOpenGLTexture::borderColor() const
이 텍스처의 borderColor를 반환합니다.
setBorderColor()도 참조하세요 .
void QOpenGLTexture::borderColor(float *border) const
border 이 가리키는 배열의 처음 네 요소에 텍스처 테두리 색상을 씁니다.
setBorderColor()도 참조하세요 .
void QOpenGLTexture::borderColor(int *border) const
border 이 가리키는 배열의 처음 네 요소에 텍스처 테두리 색상을 씁니다.
이것은 오버로드된 함수입니다.
void QOpenGLTexture::borderColor(unsigned int *border) const
border 이 가리키는 배열의 처음 네 요소에 텍스처 테두리 색상을 씁니다.
이것은 오버로드된 함수입니다.
[static]
GLuint QOpenGLTexture::boundTextureId(QOpenGLTexture::BindingTarget target)
현재 활성 텍스처 유닛의 target 에 바인딩된 텍스처의 textureId 를 반환합니다.
[static]
GLuint QOpenGLTexture::boundTextureId(uint unit, QOpenGLTexture::BindingTarget target)
텍스처 유닛 unit 의 target 에 바인딩된 텍스처의 textureId 를 반환합니다.
QOpenGLTexture::ComparisonFunction QOpenGLTexture::comparisonFunction() const
이 텍스처에 설정된 텍스처 비교 연산자를 반환합니다. 기본적으로 텍스처에는 CompareLessEqual 비교 함수가 있습니다.
setComparisonFunction()도 참조하세요 .
QOpenGLTexture::ComparisonMode QOpenGLTexture::comparisonMode() const
이 텍스처에 설정된 텍스처 비교 모드를 반환합니다. 기본적으로 텍스처에는 CompareNone 비교 모드가 있습니다(즉, 비교가 비활성화됨).
setComparisonMode()도 참조하십시오 .
bool QOpenGLTexture::create()
기본 OpenGL 텍스처 오브젝트를 생성합니다. 이를 위해서는 현재 유효한 OpenGL 컨텍스트가 필요합니다. 텍스처 객체가 이미 존재하는 경우 이 함수는 아무 작업도 수행하지 않습니다.
텍스처 객체가 생성되면 textureId() 함수에서 객체 이름을 얻을 수 있습니다. 이 텍스처와 관련된 일부 원시 OpenGL 호출을 수행하려는 경우 유용할 수 있습니다.
일반적으로 텍스처 객체의 프로퍼티를 설정하는 모든 함수는 사용자를 대신하여 create()를 암시적으로 호출하므로 이 함수를 직접 호출할 필요는 없습니다.
생성에 성공하면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
destroy(), isCreated(), textureId()도 참조하세요 .
QOpenGLTexture *QOpenGLTexture::createTextureView(QOpenGLTexture::Target target, QOpenGLTexture::TextureFormat viewFormat, int minimumMipmapLevel, int maximumMipmapLevel, int minimumLayer, int maximumLayer) const
이 텍스처에 텍스처 뷰를 만들려고 시도합니다. 텍스처 뷰는 원본 데이터의 제한된 보기 또는 재해석된 보기를 제공한다는 점에서 SQL의 뷰와 다소 유사합니다. 텍스처 뷰는 더 이상 서버 측 스토리지를 할당하지 않고 소스 텍스처의 스토리지 버퍼에 의존합니다.
텍스처 뷰는 변경 불가능한 저장소를 사용할 때만 사용할 수 있습니다. 텍스처 뷰에 대한 자세한 내용은 http://www.opengl.org/wiki/Texture_Storage#Texture_views 을 참조하세요.
target 인수는 뷰에 사용할 대상을 지정합니다. 원본 대상의 대상에 따라 일부 대상만 사용할 수 있습니다. 예를 들어 Target1DArray 텍스처에 대한 뷰는 Target1DArray 또는 Target1D 중 하나를 지정할 수 있지만 후자의 경우 minimumLayer 및 maximumLayer 로 지정된 배열 레이어 수는 정확히 1이어야 합니다.
viewFormat 에도 간단한 제약 조건이 적용됩니다. 자세한 내용은 위의 링크와 사양을 참조하세요.
minimumMipmapLevel, maximumMipmapLevel, minimumLayer, maximumLayer 인수는 텍스처 뷰에서 액세스할 수 있는 텍스처의 일부를 제한하는 역할을 합니다.
텍스처 뷰 생성이 실패하면 이 함수는 0을 반환합니다. 함수가 성공하면 isTextureView() 함수에서 true
을 반환하는 새 QOpenGLTexture 객체에 대한 포인터를 반환합니다.
isTextureView()도 참조하세요 .
int QOpenGLTexture::depth() const
3D 텍스처의 깊이를 반환합니다.
width(), height() 및 setSize()도 참조하세요 .
QOpenGLTexture::DepthStencilMode QOpenGLTexture::depthStencilMode() const
결합된 뎁스/스텐실 형식을 사용하는 텍스처의 뎁스 스텐실 모드를 반환합니다.
setDepthStencilMode()도 참조하세요 .
void QOpenGLTexture::destroy()
기본 OpenGL 텍스처 오브젝트를 파괴합니다. 이를 위해서는 현재 유효한 OpenGL 컨텍스트가 필요합니다.
create(), isCreated() 및 textureId()도 참조하세요 .
int QOpenGLTexture::faces() const
이 텍스처의 면 수를 반환합니다. 큐브맵 및 큐브맵 배열 유형 타깃의 경우 6이 됩니다.
큐브맵 유형이 아닌 타깃의 경우 1을 반환합니다.
QOpenGLTexture::TextureFormat QOpenGLTexture::format() const
이 텍스처 객체의 형식을 반환합니다.
setFormat()도 참조하십시오 .
void QOpenGLTexture::generateMipMaps()
밉맵 레벨 0에서 이 텍스처 오브젝트에 대한 밉맵을 생성합니다. 밉맵이 필요한 텍스처 대상 및 필터링 옵션을 사용 중이고 자동 밉맵 생성을 비활성화한 경우 이 함수 또는 오버로드를 호출하여 밉맵 체인을 생성해야 합니다.
참고: OpenGL ES를 사용하는 압축 텍스처에는 밉맵 생성이 지원되지 않습니다.
setAutoMipMapGenerationEnabled(), setMipLevels() 및 mipLevels()도 참조하세요 .
void QOpenGLTexture::generateMipMaps(int baseLevel, bool resetBaseLevel = true)
밉맵 레벨에서 이 텍스처 오브젝트에 대한 밉맵을 생성합니다 baseLevel. 밉맵이 필요한 텍스처 대상 및 필터링 옵션을 사용 중이고 자동 밉맵 생성을 비활성화한 경우 이 함수 또는 오버로드를 호출하여 밉맵 체인을 생성해야 합니다.
baseLevel 이상으로 밉맵을 생성하려면 밉맵 베이스 레벨을 baseLevel 으로 설정한 다음 밉맵 체인을 생성하면 됩니다. resetBaseLevel 가 true
인 경우 텍스처의 baseLevel은 이전 값으로 재설정됩니다.
setAutoMipMapGenerationEnabled(), setMipLevels() 및 mipLevels()도 참조하십시오 .
[static]
bool QOpenGLTexture::hasFeature(QOpenGLTexture::Feature feature)
OpenGL 구현 및 버전이 텍스처 기능을 지원하는 경우 true
를 반환합니다 feature.
int QOpenGLTexture::height() const
2D 또는 3D 텍스처의 높이를 반환합니다.
width(), depth() 및 setSize()도 참조하세요 .
bool QOpenGLTexture::isAutoMipMapGenerationEnabled() const
이 텍스처 오브젝트에 대해 자동 밉맵 생성이 활성화되었는지 여부를 반환합니다.
setAutoMipMapGenerationEnabled() 및 generateMipMaps()도 참조하십시오 .
bool QOpenGLTexture::isBound() const
이 텍스처가 현재 활성 텍스처 유닛의 해당 타깃에 바인딩된 경우 true
를 반환합니다.
bool QOpenGLTexture::isBound(uint unit)
이 텍스처가 텍스처 단위 unit 의 해당 타깃에 바인딩된 경우 true
를 반환합니다.
bool QOpenGLTexture::isCreated() const
기본 OpenGL 텍스처 객체가 생성된 경우 true
를 반환합니다.
create(), destroy() 및 textureId()도 참조하세요 .
bool QOpenGLTexture::isFixedSamplePositions() const
이 텍스처가 멀티 샘플 샘플의 고정 패턴을 사용하는지 여부를 반환합니다. 이 텍스처에 저장소가 아직 할당되지 않은 경우 이 함수는 요청된 고정 샘플 위치 설정을 반환합니다.
멀티샘플링을 지원하지 않는 텍스처 타깃의 경우 true
을 반환합니다.
setFixedSamplePositions() 및 isStorageAllocated()도 참조하세요 .
bool QOpenGLTexture::isStorageAllocated() const
이 텍스처에 대한 서버 측 스토리지가 할당된 경우 true
를 반환합니다.
텍스처 형식, 치수, 밉맵 레벨 및 배열 레이어는 저장소가 할당된 후에는 변경할 수 없습니다.
allocateStorage(), setSize(), setMipLevels(), setLayers() 및 setFormat()도 참조하세요 .
bool QOpenGLTexture::isTextureView() const
이 텍스처 객체가 실제로 다른 텍스처 객체에 대한 뷰인 경우 true
를 반환합니다.
createTextureView()도 참조하십시오 .
int QOpenGLTexture::layers() const
이 텍스처의 배열 레이어 수를 반환합니다. 이 텍스처에 스토리지가 아직 할당되지 않은 경우 이 함수는 요청된 배열 레이어 수를 반환합니다.
배열 레이어를 지원하지 않는 텍스처 타깃의 경우 1을 반환합니다.
setLayers() 및 isStorageAllocated()도 참조하세요 .
QPair<float, float> QOpenGLTexture::levelOfDetailRange() const
최소 및 최대 세부 수준 매개변수를 반환합니다.
setLevelOfDetailRange(), minimumLevelOfDetail() 및 maximumLevelOfDetail()도 참조하세요 .
float QOpenGLTexture::levelofDetailBias() const
세부 수준 바이어스 매개변수를 반환합니다.
setLevelofDetailBias()도 참조하세요 .
QOpenGLTexture::Filter QOpenGLTexture::magnificationFilter() const
확대 필터를 반환합니다.
setMagnificationFilter()도 참조하세요 .
float QOpenGLTexture::maximumAnisotropy() const
텍스처 룩업을 수행할 때 고려할 최대 이방성 레벨을 반환합니다. 이를 위해서는 GL_EXT_texture_filter_anisotropic 확장이 필요합니다.
setMaximumAnisotropy()도 참조하세요 .
float QOpenGLTexture::maximumLevelOfDetail() const
최대 세부 수준 매개변수를 반환합니다.
setMaximumLevelOfDetail(), minimumLevelOfDetail() 및 levelOfDetailRange()도 참조하세요 .
int QOpenGLTexture::maximumMipLevels() const
현재 치수가 주어졌을 때 이 텍스처가 가질 수 있는 밉맵 레벨의 최대 개수를 반환합니다.
setMipLevels(), mipLevels(), setSize()도 참조하세요 .
QPair<QOpenGLTexture::Filter, QOpenGLTexture::Filter> QOpenGLTexture::minMagFilters() const
현재 축소 및 확대 필터를 반환합니다.
setMinMagFilters()도 참조하세요 .
QOpenGLTexture::Filter QOpenGLTexture::minificationFilter() const
축소 필터를 반환합니다.
setMinificationFilter()도 참조하세요 .
float QOpenGLTexture::minimumLevelOfDetail() const
최소 세부 수준 매개변수를 반환합니다.
setMinimumLevelOfDetail(), maximumLevelOfDetail() 및 levelOfDetailRange()도 참조하세요 .
int QOpenGLTexture::mipBaseLevel() const
이 텍스처의 모든 텍스처 룩업에 사용되는 밉맵 베이스 레벨을 반환합니다. 기본값은 0입니다.
setMipBaseLevel(), mipMaxLevel(), mipLevelRange()도 참조하세요 .
QPair<int, int> QOpenGLTexture::mipLevelRange() const
이 텍스처로 텍스처 룩업에 사용할 수 있는 밉맵 레벨의 범위를 반환합니다.
setMipLevelRange(), mipBaseLevel(), mipMaxLevel()도 참조하세요 .
int QOpenGLTexture::mipLevels() const
이 텍스처의 밉맵 레벨 수를 반환합니다. 이 텍스처에 스토리지가 아직 할당되지 않은 경우 요청된 밉맵 레벨 수를 반환합니다.
setMipLevels(), maximumMipLevels(), isStorageAllocated()도 참조하세요 .
int QOpenGLTexture::mipMaxLevel() const
이 텍스처의 모든 텍스처 룩업에 사용되는 밉맵 최대 레벨을 반환합니다.
setMipMaxLevel(), mipBaseLevel(), mipLevelRange()도 참조하세요 .
void QOpenGLTexture::release()
현재 활성 텍스처 유닛에서 이 텍스처의 바인딩을 해제합니다.
bind()도 참조하세요 .
void QOpenGLTexture::release(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit)
텍스처 유닛 unit 에서 이 텍스처를 바인딩 해제합니다.
파라미터 reset 가 true
인 경우 이 함수는 활성 유닛을 입력 시 활성화되었던 텍스처 유닛으로 복원합니다.
int QOpenGLTexture::samples() const
이 텍스처의 멀티 샘플 샘플 포인트 수를 반환합니다. 이 텍스처에 스토리지가 아직 할당되지 않은 경우 이 함수는 요청된 샘플 수를 반환합니다.
멀티샘플링을 지원하지 않는 텍스처 타깃의 경우 0을 반환합니다.
setSamples() 및 isStorageAllocated()도 참조하세요 .
void QOpenGLTexture::setAutoMipMapGenerationEnabled(bool enabled)
enabled 가 true
인 경우 setData()를 통해 레벨 0 밉맵 데이터를 설정할 때마다 이 텍스처 오브젝트에 대한 자동 밉맵 생성을 활성화합니다.
자동 밉맵 생성은 기본적으로 활성화되어 있습니다.
참고: OpenGL ES 2.0을 사용하는 압축 텍스처에는 밉맵 생성이 지원되지 않습니다.
isAutoMipMapGenerationEnabled() 및 generateMipMaps()도 참조하세요 .
void QOpenGLTexture::setBorderColor(const QColor &color)
텍스처의 테두리 색상을 color 로 설정합니다.
참고: 이 함수는 Mac 및 OpenGL ES 2용으로 제작된 Qt에는 영향을 미치지 않습니다.
borderColor()도 참조하십시오 .
void QOpenGLTexture::setBorderColor(float r, float g, float b, float a)
빨간색은 r, 녹색은 g, 파란색은 b, a 을 알파값으로 설정합니다.
이 함수는 오버로드된 함수입니다.
void QOpenGLTexture::setBorderColor(int r, int g, int b, int a)
빨간색은 r, 녹색은 g, 파란색은 b, 알파 값은 a 으로 설정합니다 .
이 함수는 오버로드된 함수입니다.
void QOpenGLTexture::setBorderColor(uint r, uint g, uint b, uint a)
빨간색은 r, 녹색은 g, 파란색은 b, 알파 값은 a 으로 설정합니다 .
이 함수는 오버로드된 함수입니다.
void QOpenGLTexture::setComparisonFunction(QOpenGLTexture::ComparisonFunction function)
이 텍스처의 텍스처 비교 기능을 function 로 설정합니다. 텍스처 비교 기능은 섀도우 샘플러가 깊이 텍스처를 샘플링할 때 사용됩니다.
comparisonFunction()도 참조하십시오 .
void QOpenGLTexture::setComparisonMode(QOpenGLTexture::ComparisonMode mode)
이 텍스처의 텍스처 비교 모드를 mode 로 설정합니다. 텍스처 비교 모드는 섀도우 샘플러가 깊이 텍스처를 샘플링할 때 사용됩니다.
comparisonMode()도 참조하십시오 .
void QOpenGLTexture::setCompressedData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
압축 픽셀 data 을 mipLevel, 배열 layer, 및 cubeFace 에 업로드합니다. 픽셀 전송은 선택적으로 options 로 제어할 수 있습니다. dataSize 인수는 data 이 가리키는 데이터의 크기를 지정해야 합니다.
압축된 format()를 사용하지 않는 경우 이 함수 대신 setData()를 사용해야 합니다.
void QOpenGLTexture::setCompressedData(int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
과부하가 걸린 기능입니다.
void QOpenGLTexture::setCompressedData(int mipLevel, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
과부하가 걸린 기능입니다.
void QOpenGLTexture::setCompressedData(int mipLevel, int layer, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
과부하가 걸린 기능입니다.
void QOpenGLTexture::setCompressedData(int mipLevel, int layer, int layerCount, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
이 함수는 오버로드된 함수입니다.
매개변수 layerCount 는 이 호출로 업로드/채우는 텍스처 배열의 레이어 수입니다.
void QOpenGLTexture::setData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
이 텍스처 오브젝트 mipLevel, 배열 layer, 및 cubeFace 에 대한 픽셀 data 을 업로드합니다. 픽셀 데이터를 업로드하기 전에 저장소가 할당되어 있어야 합니다. 일부 setData()의 오버로드는 적절한 차원, 밉맵 레벨 및 배열 레이어를 설정한 다음 충분한 정보가 있는 경우 스토리지를 할당합니다. 이는 함수 설명서에 명시되어 있습니다.
data 에서 가리키는 픽셀 데이터의 구조는 sourceFormat 과 sourceType 에서 지정합니다. 픽셀 데이터 업로드는 선택적으로 options 로 제어할 수 있습니다.
압축된 format()를 사용하는 경우 이 함수 대신 setCompressedData()를 사용해야 합니다.
setCompressedData()도 참조하세요 .
void QOpenGLTexture::setData(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps)
이 setData()의 오버로드는 저장소를 할당합니다. 픽셀 데이터는 image 에 포함되어 있습니다. 밉맵은 기본적으로 생성됩니다. 밉맵 생성을 끄려면 genMipMaps 을 DontGenerateMipMaps 으로 설정하세요.
참고: image 은 자동으로 QImage::Format_RGBA8888 으로 변환되므로 포맷이 다른 큰 이미지의 경우 성능에 영향을 미칠 수 있습니다.
이는 과부하가 걸린 기능입니다.
void QOpenGLTexture::setData(QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
과부하가 걸린 기능입니다.
void QOpenGLTexture::setData(int mipLevel, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
과부하가 걸린 기능입니다.
void QOpenGLTexture::setData(int mipLevel, int layer, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
과부하가 걸린 기능입니다.
void QOpenGLTexture::setData(int mipLevel, int layer, int layerCount, QOpenGLTexture::CubeMapFace cubeFace, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
이 함수는 오버로드된 함수입니다.
파라미터 layerCount 는 이 호출에 의해 업로드/채워지는 텍스처 배열의 레이어 수입니다.
void QOpenGLTexture::setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
이것은 오버로드된 함수입니다.
이 오버로드는 텍스처의 일부를 업데이트하는 데 사용됩니다. 파라미터 xOffset, yOffset, zOffset 는 텍스처 내의 텍셀 오프셋을 지정합니다. 파라미터 width, height, depth 는 서브 이미지의 치수를 지정합니다.
data 이 가리키는 픽셀 데이터의 구조는 sourceFormat 과 sourceType 으로 지정됩니다. 픽셀 데이터 업로드는 options 로 선택적으로 제어할 수 있습니다.
void QOpenGLTexture::setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
이것은 오버로드된 함수입니다.
이 오버로드는 텍스처의 일부를 업데이트하는 데 사용됩니다. 파라미터 xOffset, yOffset, zOffset 는 텍스처 내의 텍셀 오프셋을 지정합니다. 파라미터 width, height, depth 는 서브 이미지의 치수를 지정합니다. 업데이트하려는 서브 이미지의 밉 맵 레벨은 mipLevel 로 지정합니다.
data 이 가리키는 픽셀 데이터의 구조는 sourceFormat 과 sourceType 로 지정합니다. 픽셀 데이터 업로드는 options 로 선택적으로 제어할 수 있습니다.
void QOpenGLTexture::setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
이것은 오버로드된 함수입니다.
이 오버로드는 텍스처의 일부를 업데이트하는 데 사용됩니다. 파라미터 xOffset, yOffset, zOffset 는 텍스처 내의 텍셀 오프셋을 지정합니다. 파라미터 width, height, depth 는 서브 이미지의 치수를 지정합니다. 업데이트하려는 서브 이미지의 밉 맵 레벨과 레이어는 mipLevel 및 layer 으로 지정합니다.
data 이 가리키는 픽셀 데이터의 구조는 sourceFormat 과 sourceType 로 지정합니다. 픽셀 데이터 업로드는 options 로 선택적으로 제어할 수 있습니다.
void QOpenGLTexture::setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::CubeMapFace face, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
이것은 오버로드된 함수입니다.
이 오버로드는 텍스처의 일부를 업데이트하는 데 사용됩니다. 매개변수 xOffset, yOffset, zOffset 는 텍스처 내의 텍셀 오프셋을 지정합니다. 파라미터 width, height, depth 는 서브 이미지의 치수를 지정하고, 업데이트하려는 서브 이미지의 밉 맵 레벨, 레이어 및 큐브 맵 면은 mipLevel, layer, face 로 지정합니다.
data 가 가리키는 픽셀 데이터의 구조는 sourceFormat 과 sourceType 로 지정합니다. 픽셀 데이터 업로드는 options 로 선택적으로 제어할 수 있습니다.
void QOpenGLTexture::setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::CubeMapFace face, int layerCount, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
이것은 오버로드된 함수입니다.
이 오버로드는 텍스처의 일부를 업데이트하는 데 사용됩니다. 매개변수 xOffset, yOffset, zOffset 는 텍스처 내의 텍셀 오프셋을 지정합니다. 파라미터 width, height, depth 는 서브 이미지의 치수를 지정하고, 업데이트하려는 서브 이미지의 밉 맵 레벨, 시작 레이어, 큐브 맵 면 및 레이어 수는 mipLevel, layer, face, layerCount 로 지정합니다.
data 에서 가리키는 픽셀 데이터의 구조는 sourceFormat 과 sourceType 로 지정합니다. 픽셀 데이터 업로드는 options 로 선택적으로 제어할 수 있습니다.
void QOpenGLTexture::setDepthStencilMode(QOpenGLTexture::DepthStencilMode mode)
뎁스/스텐실 형식이 결합된 텍스처를 사용하는 경우 이 함수는 텍스처의 어느 컴포넌트에 액세스할지 mode 로 설정합니다.
파라미터가 DepthMode 로 설정된 경우 셰이더에서 액세스하면 평소와 같이 단일 플로트로 뎁스 컴포넌트에 액세스합니다. 그러나 파라미터가 StencilMode 로 설정된 경우 셰이더는 스텐실 컴포넌트에 액세스합니다.
참고: 이 함수는 Mac 및 OpenGL ES 2용으로 빌드된 Qt에는 영향을 미치지 않습니다.
depthStencilMode()도 참조하십시오 .
void QOpenGLTexture::setFixedSamplePositions(bool fixed)
다중 샘플 지원 텍스처 대상에 사용되는 샘플 위치와 샘플 수를 fixed 로 설정합니다. true
로 설정하면 사용되는 샘플 위치와 샘플 수는 이미지의 모든 텍셀에 대해 동일하며 이미지 크기나 내부 형식에 따라 달라지지 않습니다. 이 함수는 텍스처에 대한 저장소가 할당되기 전에 호출해야 합니다.
멀티샘플링을 지원하지 않는 대상의 경우 이 함수는 효과가 없습니다.
기본값은 true
입니다.
isFixedSamplePositions() 및 isStorageAllocated()도 참조하세요 .
void QOpenGLTexture::setFormat(QOpenGLTexture::TextureFormat format)
이 텍스처 오브젝트의 형식을 format 로 설정합니다. 이 함수는 텍스처 저장소가 할당되기 전에 호출해야 합니다.
모든 포맷이 지원되지 않을 수도 있습니다. 지원되는 형식의 정확한 세트는 OpenGL 구현 및 버전에 따라 다릅니다.
format() 및 allocateStorage()도 참조하세요 .
void QOpenGLTexture::setLayers(int layers)
스토리지를 할당할 layers 배열의 수를 설정합니다. 이 함수는 텍스처에 저장소가 할당되기 전에 호출해야 합니다.
배열 레이어를 지원하지 않는 타깃의 경우 이 함수는 효과가 없습니다.
layers() 및 isStorageAllocated()도 참조하세요 .
void QOpenGLTexture::setLevelOfDetailRange(float min, float max)
최소 세부 수준 파라미터를 min 로, 최대 수준을 max 로 설정합니다.
참고: 이 함수는 OpenGL ES 2용으로 빌드된 Qt에는 영향을 미치지 않습니다.
levelOfDetailRange(), setMinimumLevelOfDetail() 및 setMaximumLevelOfDetail()도 참조하십시오 .
void QOpenGLTexture::setLevelofDetailBias(float bias)
세부 수준 바이어스를 bias 로 설정합니다. 세부 수준 바이어스는 밉매핑 수준이 변경되는 지점에 영향을 줍니다. 세부 수준 바이어스 값을 높이면 전체 이미지가 더 흐릿해지거나 부드러워집니다. 값을 낮추면 전체 이미지가 더 선명해집니다.
참고: 이 함수는 OpenGL ES 2용으로 빌드된 Qt에는 영향을 미치지 않습니다.
levelofDetailBias()도 참조하세요 .
void QOpenGLTexture::setMagnificationFilter(QOpenGLTexture::Filter filter)
배율 필터를 filter 로 설정합니다.
magnificationFilter(), setMinificationFilter() 및 setMinMagFilters()도 참조하세요 .
void QOpenGLTexture::setMaximumAnisotropy(float anisotropy)
OpenGL 구현이 GL_EXT_texture_filter_anisotropic 확장을 지원하는 경우 이 함수는 최대 이방성 레벨을 anisotropy 으로 설정합니다.
maximumAnisotropy()도 참조하세요 .
void QOpenGLTexture::setMaximumLevelOfDetail(float value)
최대 세부 수준을 value 으로 설정합니다. 이렇게 하면 가장 낮은 해상도의 밉맵(가장 높은 밉맵 수준) 선택이 제한됩니다. 기본값은 1000입니다.
참고: 이 함수는 OpenGL ES 2용으로 빌드된 Qt에는 영향을 미치지 않습니다.
maximumLevelOfDetail(), setMinimumLevelOfDetail() 및 setLevelOfDetailRange()도 참조하십시오 .
void QOpenGLTexture::setMinMagFilters(QOpenGLTexture::Filter minificationFilter, QOpenGLTexture::Filter magnificationFilter)
축소 필터를 minificationFilter 로, 확대 필터를 magnificationFilter 로 설정합니다.
minMagFilters(), setMinificationFilter() 및 setMagnificationFilter()도 참조하세요 .
void QOpenGLTexture::setMinificationFilter(QOpenGLTexture::Filter filter)
축약에 사용되는 필터를 filter 로 설정합니다.
minificationFilter(), setMagnificationFilter() 및 setMinMagFilters()도 참조하세요 .
void QOpenGLTexture::setMinimumLevelOfDetail(float value)
최소 세부 수준을 value 으로 설정합니다. 이렇게 하면 최고 해상도 밉맵(가장 낮은 밉맵 수준)의 선택이 제한됩니다. 기본값은 -1000입니다.
참고: 이 함수는 OpenGL ES 2용으로 빌드된 Qt에는 영향을 미치지 않습니다.
minimumLevelOfDetail(), setMaximumLevelOfDetail() 및 setLevelOfDetailRange()도 참조하십시오 .
void QOpenGLTexture::setMipBaseLevel(int baseLevel)
이 텍스처의 모든 텍스처 룩업에 사용되는 기본 밉맵 레벨을 baseLevel 으로 설정합니다.
참고: 이 함수는 OpenGL ES 2용으로 빌드된 Qt에는 영향을 미치지 않습니다.
mipBaseLevel(), setMipMaxLevel() 및 setMipLevelRange()도 참조하십시오 .
void QOpenGLTexture::setMipLevelRange(int baseLevel, int maxLevel)
이 텍스처의 텍스처 룩업에 사용할 수 있는 밉맵 레벨의 범위를 baseLevel ~ maxLevel 범위로 설정합니다.
참고: 이 함수는 OpenGL ES 2용으로 빌드된 Qt에는 영향을 미치지 않습니다.
setMipBaseLevel(), setMipMaxLevel() 및 mipLevelRange()도 참조하십시오 .
void QOpenGLTexture::setMipLevels(int levels)
밉맵을 지원하는 텍스처 타깃의 경우, 이 함수는 저장소를 할당할 밉맵 levels 의 요청 수를 설정합니다. 이 함수는 텍스처에 저장소가 할당되기 전에 호출해야 합니다.
텍스처 타깃이 밉맵을 지원하지 않는 경우 이 함수는 효과가 없습니다.
mipLevels(), maximumMipLevels() 및 isStorageAllocated()도 참조하세요 .
void QOpenGLTexture::setMipMaxLevel(int maxLevel)
이 텍스처의 모든 텍스처 룩업에 사용되는 최대 밉맵 레벨을 maxLevel 로 설정합니다.
참고: 이 함수는 OpenGL ES 2용으로 빌드된 Qt에는 영향을 미치지 않습니다.
mipMaxLevel(), setMipBaseLevel(), setMipLevelRange()도 참조하십시오 .
void QOpenGLTexture::setSamples(int samples)
멀티 샘플 지원 텍스처 타깃에 렌더링할 때 저장소를 할당할 samples 의 수를 설정합니다. 이 함수는 텍스처에 저장소가 할당되기 전에 호출해야 합니다.
멀티샘플링을 지원하지 않는 타깃의 경우 이 함수는 효과가 없습니다.
samples() 및 isStorageAllocated()도 참조하십시오 .
void QOpenGLTexture::setSize(int width, int height = 1, int depth = 1)
이 텍스처 객체의 치수를 width, height, depth 로 설정합니다. 각 치수의 기본값은 1입니다. 허용되는 최대 텍스처 크기는 OpenGL 구현에 따라 달라집니다. 시스템에 리소스가 부족한 경우 최대 크기보다 작은 텍스처에 스토리지를 할당해도 실패할 수 있습니다.
2승이 아닌 width, height 또는 depth 이 제공되고 OpenGL 구현이 2승이 아닌 텍스처 반복을 지원하지 않는 경우 랩 모드는 자동으로 ClampToEdge 으로 설정됩니다.
width(), height() 및 depth()도 참조하세요 .
void QOpenGLTexture::setSwizzleMask(QOpenGLTexture::SwizzleComponent component, QOpenGLTexture::SwizzleValue value)
GLSL 셰이더는 텍스처 함수에 의해 반환된 vec4의 컴포넌트를 재정렬할 수 있습니다. CPU 측 코드에서 이 재정렬을 제어할 수 있는 것도 바람직합니다. 이는 OpenGL 3.3부터 스위즐 마스크를 통해 가능해졌습니다.
텍스처의 각 컴포넌트는 SwizzleValue 옵션 중 하나에 매핑할 수 있습니다.
이 함수는 component 을 출력 value 에 매핑합니다.
참고: 이 함수는 Mac과 OpenGL ES 2용으로 빌드된 Qt에는 영향을 미치지 않습니다.
swizzleMask()도 참조하십시오 .
void QOpenGLTexture::setSwizzleMask(QOpenGLTexture::SwizzleValue r, QOpenGLTexture::SwizzleValue g, QOpenGLTexture::SwizzleValue b, QOpenGLTexture::SwizzleValue a)
매개변수 r, g, b, a 는 빨강, 초록, 파랑 및 알파 값을 설정하는 데 사용되는 값입니다.
이 함수는 오버로드된 함수입니다.
void QOpenGLTexture::setWrapMode(QOpenGLTexture::WrapMode mode)
모든 텍스처 치수의 래핑(또는 반복 모드)을 mode 로 설정합니다.
wrapMode()도 참조하세요 .
void QOpenGLTexture::setWrapMode(QOpenGLTexture::CoordinateDirection direction, QOpenGLTexture::WrapMode mode)
텍스처 치수를 보유합니다 direction.
이것은 오버로드된 함수입니다.
QOpenGLTexture::SwizzleValue QOpenGLTexture::swizzleMask(QOpenGLTexture::SwizzleComponent component) const
텍스처용 스위즐 마스크를 반환합니다 component.
setSwizzleMask()도 참조하세요 .
QOpenGLTexture::Target QOpenGLTexture::target() const
이 텍스처의 바인딩 타깃을 반환합니다.
GLuint QOpenGLTexture::textureId() const
기본 OpenGL 텍스처 객체의 이름을 반환하거나 아직 생성되지 않은 경우 0을 반환합니다.
create(), destroy() 및 isCreated()도 참조하세요 .
int QOpenGLTexture::width() const
1D, 2D 또는 3D 텍스처의 너비를 반환합니다.
height(), depth() 및 setSize()도 참조하세요 .
QOpenGLTexture::WrapMode QOpenGLTexture::wrapMode(QOpenGLTexture::CoordinateDirection direction) const
텍스처 치수에 대한 래핑 모드를 반환합니다 direction.
setWrapMode()도 참조하세요 .
© 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.