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::BindingTarget1D0x8068GL_TEXTURE_BINDING_1D 에 해당합니다.
QOpenGLTexture::BindingTarget1DArray0x8C1CGL_TEXTURE_BINDING_1D_ARRAY 에 해당합니다.
QOpenGLTexture::BindingTarget2D0x8069GL_TEXTURE_BINDING_2D 와 같음
QOpenGLTexture::BindingTarget2DArray0x8C1DGL_TEXTURE_BINDING_2D_ARRAY와 같음
QOpenGLTexture::BindingTarget3D0x806AGL_TEXTURE_BINDING_3D와 같음
QOpenGLTexture::BindingTargetCubeMap0x8514GL_TEXTURE_BINDING_CUBE_MAP 와 같음
QOpenGLTexture::BindingTargetCubeMapArray0x900AGL_TEXTURE_BINDING_CUBE_MAP_ARRAY와 같음
QOpenGLTexture::BindingTarget2DMultisample0x9104GL_TEXTURE_BINDING_2D_MULTISAMPLE와 같음
QOpenGLTexture::BindingTarget2DMultisampleArray0x9105GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY와 같음
QOpenGLTexture::BindingTargetRectangle0x84F6GL_TEXTURE_BINDING_RECTANGLE 와 같음
QOpenGLTexture::BindingTargetBuffer0x8C2CGL_TEXTURE_BINDING_BUFFER와 같음

enum QOpenGLTexture::ComparisonFunction

이 열거형은 이 텍스처에서 텍스처 비교가 활성화될 때 사용되는 비교 연산자를 지정합니다.

Constant설명
QOpenGLTexture::CompareLessEqual0x0203GL_LEQUAL 과 같습니다.
QOpenGLTexture::CompareGreaterEqual0x0206GL_GEQUAL 과 같습니다.
QOpenGLTexture::CompareLess0x0201GL_LESS 와 같습니다.
QOpenGLTexture::CompareGreater0x0204GL_GREATER 와 같습니다.
QOpenGLTexture::CompareEqual0x0202GL_EQUAL 과 동등.
QOpenGLTexture::CompareNotEqual0x0205GL_NOTEQUAL과 동등.
QOpenGLTexture::CompareAlways0x0207GL_ALWAYS 와 동등.
QOpenGLTexture::CompareNever0x0200GL_NEVER 와 동등.

enum QOpenGLTexture::ComparisonMode

이 Enum은 이 텍스처를 샘플링할 때 사용되는 비교 모드를 지정합니다.

Constant설명
QOpenGLTexture::CompareRefToTexture0x884EGL_COMPARE_REF_TO_TEXTURE 에 해당합니다.
QOpenGLTexture::CompareNone0x0000GL_NONE 에 해당합니다.

enum QOpenGLTexture::CoordinateDirection

이 열거형은 가능한 텍스처 좌표 방향을 정의합니다.

Constant설명
QOpenGLTexture::DirectionS0x2802수평 방향입니다. GL_TEXTURE_WRAP_S 에 해당합니다.
QOpenGLTexture::DirectionT0x2803세로 방향입니다. GL_TEXTURE_WRAP_T 에 해당합니다.
QOpenGLTexture::DirectionR0x8072깊이 방향입니다. GL_TEXTURE_WRAP_R 과 같습니다.

enum QOpenGLTexture::CubeMapFace

이 열거형은 가능한 큐브맵 면을 정의합니다.

Constant설명
QOpenGLTexture::CubeMapPositiveX0x8515GL_TEXTURE_CUBE_MAP_POSITIVE_X 와 같습니다.
QOpenGLTexture::CubeMapNegativeX0x8516GL_TEXTURE_CUBE_MAP_NEGATIVE_X 와 같습니다.
QOpenGLTexture::CubeMapPositiveY0x8517GL_TEXTURE_CUBE_MAP_POSITIVE_Y 와 같음
QOpenGLTexture::CubeMapNegativeY0x8518GL_TEXTURE_CUBE_MAP_NEGATIVE_Y와 같음
QOpenGLTexture::CubeMapPositiveZ0x8519GL_TEXTURE_CUBE_MAP_POSITIVE_Z 와 같음
QOpenGLTexture::CubeMapNegativeZ0x851AGL_TEXTURE_CUBE_MAP_NEGATIVE_Z와 같음

enum QOpenGLTexture::DepthStencilMode

텍스처를 샘플링할 때 액세스하는 뎁스/스텐실 텍스처의 컴포넌트를 지정하는 Enum입니다.

Constant설명
QOpenGLTexture::DepthMode0x1902GL_DEPTH_COMPONENT 에 해당합니다.
QOpenGLTexture::StencilMode0x1901GL_STENCIL_INDEX에 해당합니다.

enum QOpenGLTexture::Feature
플래그 QOpenGLTexture::Features

이 열거형은 테스트할 수 있는 OpenGL 텍스처 관련 기능을 정의합니다.

상수설명
QOpenGLTexture::ImmutableStorage0x00000001불변 텍스처 저장소 지원
QOpenGLTexture::ImmutableMultisampleStorage0x00000002멀티샘플 타깃에 불변 텍스처 저장소 지원
QOpenGLTexture::TextureRectangle0x00000004GL_TEXTURE_RECTANGLE 타깃 지원
QOpenGLTexture::TextureArrays0x00000008배열 레이어가 있는 텍스처 타깃 지원
QOpenGLTexture::Texture3D0x000000103차원 텍스처 타깃 지원
QOpenGLTexture::TextureMultisample0x00000020멀티샘플 기능이 있는 텍스처 타깃 지원
QOpenGLTexture::TextureBuffer0x00000040OpenGL 버퍼 오브젝트를 데이터 소스로 사용하는 텍스처 지원
QOpenGLTexture::TextureCubeMapArrays0x00000080큐브맵 배열 텍스처 타깃 지원
QOpenGLTexture::Swizzle0x00000100텍스처 컴포넌트 스위즐 마스크 지원
QOpenGLTexture::StencilTexturing0x00000200스텐실 텍스처링 지원(즉, GLSL 셰이더에서 뎁스/스텐실 포맷 텍스처의 뎁스 또는 스텐실 컴포넌트 조회).
QOpenGLTexture::AnisotropicFiltering0x00000400애니소트로픽 텍스처 필터링 지원
QOpenGLTexture::NPOTTextures0x000008002제곱이 아닌 텍스처에 대한 기본 지원
QOpenGLTexture::NPOTTextureRepeat0x00001000텍스처 반복 모드를 포함한 2제곱이 아닌 텍스처에 대한 완벽한 지원
QOpenGLTexture::Texture1D0x000020001차원 텍스처 타깃 지원
QOpenGLTexture::TextureComparisonOperators0x00004000텍스처 비교 연산자 지원
QOpenGLTexture::TextureMipMapLevel0x00008000기본 및 최대 밉맵 레벨 설정 지원

피처 유형은 QFlags<Feature>에 대한 타입 정의입니다. 피처 값의 OR 조합을 저장합니다.

enum QOpenGLTexture::Filter

이 열거형은 QOpenGLTexture 개체에 대한 필터링 매개변수를 정의합니다.

Constant설명
QOpenGLTexture::Nearest0x2600GL_NEAREST에 해당
QOpenGLTexture::Linear0x2601GL_LINEAR에 해당
QOpenGLTexture::NearestMipMapNearest0x2700GL_NEAREST_MIPMAP_NEAREST 와 같음
QOpenGLTexture::NearestMipMapLinear0x2702GL_NEAREST_MIPMAP_LINEAR 와 같음
QOpenGLTexture::LinearMipMapNearest0x2701GL_LINEAR_MIPMAP_NEAREST와 같음
QOpenGLTexture::LinearMipMapLinear0x2703GL_LINEAR_MIPMAP_LINEAR와 같음

enum QOpenGLTexture::MipMapGeneration

이 열거형은 밉맵 생성을 제어하는 옵션을 정의합니다.

Constant설명
QOpenGLTexture::GenerateMipMaps0밉맵을 생성해야 합니다.
QOpenGLTexture::DontGenerateMipMaps1밉맵을 생성하지 않습니다.

enum QOpenGLTexture::PixelFormat

이 열거형은 픽셀 전송 작업에 사용할 수 있는 클라이언트 측 픽셀 형식을 정의합니다.

Constant설명
QOpenGLTexture::NoSourceFormat0GL_NONE에 해당
QOpenGLTexture::Red0x1903GL_RED에 해당
QOpenGLTexture::RG0x8227GL_RG와 동일
QOpenGLTexture::RGB0x1907GL_RGB와 동일
QOpenGLTexture::BGR0x80E0GL_BGR과 동일
QOpenGLTexture::RGBA0x1908GL_RGBA와 동일
QOpenGLTexture::BGRA0x80E1GL_BGRA와 동일
QOpenGLTexture::Red_Integer0x8D94GL_RED_INTEGER와 같음
QOpenGLTexture::RG_Integer0x8228GL_RG_INTEGER와 같음
QOpenGLTexture::RGB_Integer0x8D98GL_RGB_INTEGER와 같음
QOpenGLTexture::BGR_Integer0x8D9AGL_BGR_INTEGER와 같음
QOpenGLTexture::RGBA_Integer0x8D99GL_RGBA_INTEGER와 같음
QOpenGLTexture::BGRA_Integer0x8D9BGL_BGRA_INTEGER와 같음
QOpenGLTexture::Stencil0x1901GL_STENCIL_INDEX와 동등합니다. Qt 5.4에 도입
QOpenGLTexture::Depth0x1902GL_DEPTH_COMPONENT와 같습니다.
QOpenGLTexture::DepthStencil0x84F9GL_DEPTH_STENCIL과 동등합니다.
QOpenGLTexture::Alpha0x1906GL_ALPHA와 동등합니다 (OpenGL ES 2에만 해당).
QOpenGLTexture::Luminance0x1909GL_LUMINANCE 와 동일 (OpenGL ES 2 만 해당)
QOpenGLTexture::LuminanceAlpha0x190AGL_LUMINANCE_ALPHA 와 동일 (OpenGL ES 2 만 해당)

enum QOpenGLTexture::PixelType

이 열거형은 픽셀 전송 연산에 사용할 수 있는 픽셀 데이터 유형을 정의합니다.

Constant설명
QOpenGLTexture::NoPixelType0GL_NONE 에 해당
QOpenGLTexture::Int80x1400GL_BYTE 에 해당
QOpenGLTexture::UInt80x1401GL_UNSIGNED_BYTE와 같습니다.
QOpenGLTexture::Int160x1402GL_SHORT와 동일
QOpenGLTexture::UInt160x1403GL_UNSIGNED_SHORT와 같음
QOpenGLTexture::Int320x1404GL_INT와 동일
QOpenGLTexture::UInt320x1405GL_UNSIGNED_INT와 같음
QOpenGLTexture::Float160x140BGL_HALF_FLOAT와 같음
QOpenGLTexture::Float16OES0x8D61GL_HALF_FLOAT_OES와 같음
QOpenGLTexture::Float320x1406GL_FLOAT와 동등
QOpenGLTexture::UInt32_RGB9_E50x8C3EGL_UNSIGNED_INT_5_9_9_9_REV와 같음
QOpenGLTexture::UInt32_RG11B10F0x8C3BGL_UNSIGNED_INT_10F_11F_11F_REV와 같음
QOpenGLTexture::UInt8_RG3B20x8032GL_UNSIGNED_BYTE_3_3_2와 같음
QOpenGLTexture::UInt8_RG3B2_Rev0x8362GL_UNSIGNED_BYTE_2_3_3_REV와 같음
QOpenGLTexture::UInt16_RGB5A10x8034GL_UNSIGNED_SHORT_5_5_5_1과 같음
QOpenGLTexture::UInt16_RGB5A1_Rev0x8366GL_UNSIGNED_SHORT_1_5_5_5_REV와 같음
QOpenGLTexture::UInt16_R5G6B50x8363GL_UNSIGNED_SHORT_5_6_5와 같음
QOpenGLTexture::UInt16_R5G6B5_Rev0x8364GL_UNSIGNED_SHORT_5_6_5_REV와 같음
QOpenGLTexture::UInt16_RGBA40x8033GL_UNSIGNED_SHORT_4_4_4_4와 같음
QOpenGLTexture::UInt16_RGBA4_Rev0x8365GL_UNSIGNED_SHORT_4_4_4_4_REV와 같음
QOpenGLTexture::UInt32_RGBA80x8035GL_UNSIGNED_INT_8_8_8_8과 같음
QOpenGLTexture::UInt32_RGBA8_Rev0x8367GL_UNSIGNED_INT_8_8_8_8_REV와 같음
QOpenGLTexture::UInt32_RGB10A20x8036GL_UNSIGNED_INT_10_10_10_2와 같음
QOpenGLTexture::UInt32_RGB10A2_Rev0x8368GL_UNSIGNED_INT_2_10_10_10_REV와 같음
QOpenGLTexture::UInt32_D24S80x84FAGL_UNSIGNED_INT_24_8과 같습니다. Qt 5.4에 도입
QOpenGLTexture::Float32_D32_UInt32_S8_X240x8DADGL_FLOAT_32_UNSIGNED_INT_24_8_REV와 동등합니다. Qt 5.4에 도입

enum QOpenGLTexture::SwizzleComponent

이 열거형은 스위즐 마스크를 할당할 수 있는 텍스처 색상 컴포넌트를 정의합니다.

Constant설명
QOpenGLTexture::SwizzleRed0x8E42빨간색 컴포넌트입니다. GL_TEXTURE_SWIZZLE_R에 해당합니다.
QOpenGLTexture::SwizzleGreen0x8E43녹색 컴포넌트입니다. GL_TEXTURE_SWIZZLE_G 에 해당합니다.
QOpenGLTexture::SwizzleBlue0x8E44파란색 컴포넌트입니다. GL_TEXTURE_SWIZZLE_B 에 해당합니다.
QOpenGLTexture::SwizzleAlpha0x8E45알파 컴포넌트입니다. GL_TEXTURE_SWIZZLE_A 에 해당합니다.

enum QOpenGLTexture::SwizzleValue

이 열거형은 텍스처 휘즐링에 가능한 마스크 값을 정의합니다.

Constant설명
QOpenGLTexture::RedValue0x1903컴포넌트를 빨간색 채널에 매핑합니다. GL_RED와 동일
QOpenGLTexture::GreenValue0x1904컴포넌트를 녹색 채널에 매핑합니다. GL_GREEN과 동일
QOpenGLTexture::BlueValue0x1905컴포넌트를 파란색 채널에 매핑합니다. GL_BLUE와 동일
QOpenGLTexture::AlphaValue0x1906컴포넌트를 알파 채널에 매핑합니다. GL_ALPHA와 동일
QOpenGLTexture::ZeroValue0컴포넌트를 고정값 0에 매핑합니다. GL_ZERO와 같습니다.
QOpenGLTexture::OneValue1컴포넌트를 고정값 1에 매핑합니다. GL_ONE과 같습니다.

enum QOpenGLTexture::Target

이 열거형은 QOpenGLTexture 객체의 텍스처 대상을 정의합니다. 배열 텍스처 생성에 대한 자세한 내용은 배열 텍스처를 참조하십시오.

Constant설명
QOpenGLTexture::Target1D0x0DE01차원 텍스처입니다. GL_TEXTURE_1D에 해당합니다.
QOpenGLTexture::Target1DArray0x8C181차원 텍스처의 배열입니다. GL_TEXTURE_1D_ARRAY 와 같습니다.
QOpenGLTexture::Target2D0x0DE12차원 텍스처입니다. GL_TEXTURE_2D와 같습니다.
QOpenGLTexture::Target2DArray0x8C1A2차원 텍스처의 배열입니다. GL_TEXTURE_2D_ARRAY와 같습니다.
QOpenGLTexture::Target3D0x806F3차원 텍스처입니다. GL_TEXTURE_3D와 동등합니다.
QOpenGLTexture::TargetCubeMap0x8513큐브맵 텍스처입니다. GL_TEXTURE_CUBE_MAP 에 해당합니다.
QOpenGLTexture::TargetCubeMapArray0x9009큐브맵 텍스처 배열입니다. GL_TEXTURE_CUBE_MAP_ARRAY와 동등합니다.
QOpenGLTexture::Target2DMultisample0x9100멀티샘플을 지원하는 2차원 텍스처입니다. GL_TEXTURE_2D_MULTISAMPLE과 동일합니다.
QOpenGLTexture::Target2DMultisampleArray0x9102멀티샘플을 지원하는 2차원 텍스처 배열입니다. GL_TEXTURE_2D_MULTISAMPLE_ARRAY와 동등합니다.
QOpenGLTexture::TargetRectangle0x84F5직사각형 2차원 텍스처입니다. GL_TEXTURE_RECTANGLE과 동등합니다.
QOpenGLTexture::TargetBuffer0x8C2AOpenGL 버퍼 오브젝트의 데이터가 포함된 텍스처입니다. GL_TEXTURE_BUFFER와 동일합니다.

enum QOpenGLTexture::TextureFormat

이 열거형은 가능한 텍스처 포맷을 정의합니다. OpenGL 구현에 따라 이 중 일부만 지원될 수 있습니다.

Constant설명
QOpenGLTexture::NoFormat0GL_NONE에 해당
QOpenGLTexture::R8_UNorm0x8229GL_R8에 해당
QOpenGLTexture::RG8_UNorm0x822BGL_RG8과 동일
QOpenGLTexture::RGB8_UNorm0x8051GL_RGB8과 동일
QOpenGLTexture::RGBA8_UNorm0x8058GL_RGBA8과 동일
QOpenGLTexture::R16_UNorm0x822AGL_R16과 동일
QOpenGLTexture::RG16_UNorm0x822CGL_RG16과 동일
QOpenGLTexture::RGB16_UNorm0x8054GL_RGB16과 동일
QOpenGLTexture::RGBA16_UNorm0x805BGL_RGBA16과 동일
QOpenGLTexture::R8_SNorm0x8F94GL_R8_SNORM과 동일
QOpenGLTexture::RG8_SNorm0x8F95GL_RG8_SNORM과 같음
QOpenGLTexture::RGB8_SNorm0x8F96GL_RGB8_SNORM과 같음
QOpenGLTexture::RGBA8_SNorm0x8F97GL_RGBA8_SNORM과 같음
QOpenGLTexture::R16_SNorm0x8F98GL_R16_SNORM과 같음
QOpenGLTexture::RG16_SNorm0x8F99GL_RG16_SNORM과 같음
QOpenGLTexture::RGB16_SNorm0x8F9AGL_RGB16_SNORM과 같음
QOpenGLTexture::RGBA16_SNorm0x8F9BGL_RGBA16_SNORM과 같음
QOpenGLTexture::R8U0x8232GL_R8UI와 동일
QOpenGLTexture::RG8U0x8238GL_RG8UI와 동일
QOpenGLTexture::RGB8U0x8D7DGL_RGB8UI와 동일
QOpenGLTexture::RGBA8U0x8D7CGL_RGBA8UI와 동일
QOpenGLTexture::R16U0x8234GL_R16UI와 동일
QOpenGLTexture::RG16U0x823AGL_RG16UI와 동일
QOpenGLTexture::RGB16U0x8D77GL_RGB16UI와 동일
QOpenGLTexture::RGBA16U0x8D76GL_RGBA16UI와 동일
QOpenGLTexture::R32U0x8236GL_R32UI와 동일
QOpenGLTexture::RG32U0x823CGL_RG32UI와 동일
QOpenGLTexture::RGB32U0x8D71GL_RGB32UI와 동일
QOpenGLTexture::RGBA32U0x8D70GL_RGBA32UI와 동일
QOpenGLTexture::R8I0x8231GL_R8I와 동일
QOpenGLTexture::RG8I0x8237GL_RG8I와 동일
QOpenGLTexture::RGB8I0x8D8FGL_RGB8I와 동일
QOpenGLTexture::RGBA8I0x8D8EGL_RGBA8I와 동일
QOpenGLTexture::R16I0x8233GL_R16I와 동일
QOpenGLTexture::RG16I0x8239GL_RG16I와 동일
QOpenGLTexture::RGB16I0x8D89GL_RGB16I와 동일
QOpenGLTexture::RGBA16I0x8D88GL_RGBA16I와 동일
QOpenGLTexture::R32I0x8235GL_R32I와 동일
QOpenGLTexture::RG32I0x823BGL_RG32I와 동일
QOpenGLTexture::RGB32I0x8D83GL_RGB32I와 동일
QOpenGLTexture::RGBA32I0x8D82GL_RGBA32I와 동일
QOpenGLTexture::R16F0x822DGL_R16F와 동일
QOpenGLTexture::RG16F0x822FGL_RG16F와 동일
QOpenGLTexture::RGB16F0x881BGL_RGB16F와 동일
QOpenGLTexture::RGBA16F0x881AGL_RGBA16F와 동일
QOpenGLTexture::R32F0x822EGL_R32F와 동일
QOpenGLTexture::RG32F0x8230GL_RG32F와 동일
QOpenGLTexture::RGB32F0x8815GL_RGB32F와 동일
QOpenGLTexture::RGBA32F0x8814GL_RGBA32F와 동일
QOpenGLTexture::RGB9E50x8C3DGL_RGB9_E5와 동일
QOpenGLTexture::RG11B10F0x8C3AGL_R11F_G11F_B10F와 동일
QOpenGLTexture::RG3B20x2A10GL_R3_G3_B2와 동일
QOpenGLTexture::R5G6B50x8D62GL_RGB565와 동일
QOpenGLTexture::RGB5A10x8057GL_RGB5_A1과 동일
QOpenGLTexture::RGBA40x8056GL_RGBA4와 동일
QOpenGLTexture::RGB10A20x906FGL_RGB10_A2UI와 동일
QOpenGLTexture::D160x81A5GL_DEPTH_COMPONENT16과 동일
QOpenGLTexture::D240x81A6GL_DEPTH_COMPONENT24와 동일
QOpenGLTexture::D24S80x88F0GL_DEPTH24_STENCIL8과 같음
QOpenGLTexture::D320x81A7GL_DEPTH_COMPONENT32와 같음
QOpenGLTexture::D32F0x8CACGL_DEPTH_COMPONENT32F 와 같음
QOpenGLTexture::D32FS8X240x8CADGL_DEPTH32F_STENCIL8과 같음
QOpenGLTexture::S80x8D48GL_STENCIL_INDEX8과 동등합니다. Qt 5.4에 도입
QOpenGLTexture::RGB_DXT10x83F0GL_COMPRESSED_RGB_S3TC_DXT1_EXT와 같습니다.
QOpenGLTexture::RGBA_DXT10x83F1GL_COMPRESSED_RGBA_S3TC_DXT1_EXT와 같습니다.
QOpenGLTexture::RGBA_DXT30x83F2GL_COMPRESSED_RGBA_S3TC_DXT3_EXT와 동일
QOpenGLTexture::RGBA_DXT50x83F3GL_COMPRESSED_RGBA_S3TC_DXT5_EXT와 동일
QOpenGLTexture::R_ATI1N_UNorm0x8DBBGL_COMPRESSED_RED_RGTC1과 동일
QOpenGLTexture::R_ATI1N_SNorm0x8DBCGL_COMPRESSED_SIGNED_RED_RGTC1과 동일
QOpenGLTexture::RG_ATI2N_UNorm0x8DBDGL_COMPRESSED_RG_RGTC2와 같음
QOpenGLTexture::RG_ATI2N_SNorm0x8DBEGL_COMPRESSED_SIGNED_RG_RGTC2와 같음
QOpenGLTexture::RGB_BP_UNSIGNED_FLOAT0x8E8FGL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB와 같음
QOpenGLTexture::RGB_BP_SIGNED_FLOAT0x8E8EGL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB와 같음
QOpenGLTexture::RGB_BP_UNorm0x8E8CGL_COMPRESSED_RGBA_BPTC_UNORM_ARB와 같음
QOpenGLTexture::R11_EAC_UNorm0x9270GL_COMPRESSED_R11_EAC와 동일
QOpenGLTexture::R11_EAC_SNorm0x9271GL_COMPRESSED_SIGNED_R11_EAC와 같음
QOpenGLTexture::RG11_EAC_UNorm0x9272GL_COMPRESSED_RG11_EAC와 같음
QOpenGLTexture::RG11_EAC_SNorm0x9273GL_COMPRESSED_SIGNED_RG11_EAC와 같음
QOpenGLTexture::RGB8_ETC20x9274GL_COMPRESSED_RGB8_ETC2와 같음
QOpenGLTexture::SRGB8_ETC20x9275GL_COMPRESSED_SRGB8_ETC2와 같음
QOpenGLTexture::RGB8_PunchThrough_Alpha1_ETC20x9276GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2와 동일
QOpenGLTexture::SRGB8_PunchThrough_Alpha1_ETC20x9277GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2와 같음
QOpenGLTexture::RGBA8_ETC2_EAC0x9278GL_COMPRESSED_RGBA8_ETC2_EAC와 동일
QOpenGLTexture::SRGB8_Alpha8_ETC2_EAC0x9279GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC와 같음
QOpenGLTexture::RGB8_ETC10x8D64GL_ETC1_RGB8_OES와 동일
QOpenGLTexture::RGBA_ASTC_4x40x93B0GL_COMPRESSED_RGBA_ASTC_4x4_KHR와 같음
QOpenGLTexture::RGBA_ASTC_5x40x93B1GL_COMPRESSED_RGBA_ASTC_5x4_KHR와 같음
QOpenGLTexture::RGBA_ASTC_5x50x93B2GL_COMPRESSED_RGBA_ASTC_5x5_KHR와 동일
QOpenGLTexture::RGBA_ASTC_6x50x93B3GL_COMPRESSED_RGBA_ASTC_6x5_KHR와 동일
QOpenGLTexture::RGBA_ASTC_6x60x93B4GL_COMPRESSED_RGBA_ASTC_6x6_KHR와 동일
QOpenGLTexture::RGBA_ASTC_8x50x93B5GL_COMPRESSED_RGBA_ASTC_8x5_KHR와 동일
QOpenGLTexture::RGBA_ASTC_8x60x93B6GL_COMPRESSED_RGBA_ASTC_8x6_KHR와 동일
QOpenGLTexture::RGBA_ASTC_8x80x93B7GL_COMPRESSED_RGBA_ASTC_8x8_KHR와 동일
QOpenGLTexture::RGBA_ASTC_10x50x93B8GL_COMPRESSED_RGBA_ASTC_10x5_KHR와 동일
QOpenGLTexture::RGBA_ASTC_10x60x93B9GL_COMPRESSED_RGBA_ASTC_10x6_KHR와 동일
QOpenGLTexture::RGBA_ASTC_10x80x93BAGL_COMPRESSED_RGBA_ASTC_10x8_KHR와 동일
QOpenGLTexture::RGBA_ASTC_10x100x93BBGL_COMPRESSED_RGBA_ASTC_10x10_KHR와 같음
QOpenGLTexture::RGBA_ASTC_12x100x93BCGL_COMPRESSED_RGBA_ASTC_12x10_KHR와 같음
QOpenGLTexture::RGBA_ASTC_12x120x93BDGL_COMPRESSED_RGBA_ASTC_12x12_KHR와 동일
QOpenGLTexture::SRGB8_Alpha8_ASTC_4x40x93D0GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR와 같음
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x40x93D1GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR와 같음
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x50x93D2GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR와 같음
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x50x93D3GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR와 같음
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x60x93D4GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR와 같음
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x50x93D5GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR와 같음
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x60x93D6GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR와 같음
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x80x93D7GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR와 같음
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x50x93D8GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR와 같음
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x60x93D9GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR와 같음
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x80x93DAGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR와 같음
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x100x93DBGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR와 같음
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x100x93DCGL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR와 같음
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x120x93DDGL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR와 같음
QOpenGLTexture::SRGB80x8C41GL_SRGB8과 동일
QOpenGLTexture::SRGB8_Alpha80x8C43GL_SRGB8_ALPHA8과 동일
QOpenGLTexture::SRGB_DXT10x8C4CGL_COMPRESSED_SRGB_S3TC_DXT1_EXT와 동일
QOpenGLTexture::SRGB_Alpha_DXT10x8C4DGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT와 같음
QOpenGLTexture::SRGB_Alpha_DXT30x8C4EGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT와 같음
QOpenGLTexture::SRGB_Alpha_DXT50x8C4FGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT와 같음
QOpenGLTexture::SRGB_BP_UNorm0x8E8DGL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB와 같음
QOpenGLTexture::DepthFormat0x1902GL_DEPTH_COMPONENT와 동일(OES_depth_texture가 있는 OpenGL ES 3 또는 ES 2만 해당)
QOpenGLTexture::AlphaFormat0x1906GL_ALPHA와 동일(OpenGL ES 2에만 해당)
QOpenGLTexture::RGBFormat0x1907GL_RGB와 동일(OpenGL ES 2만 해당)
QOpenGLTexture::RGBAFormat0x1908GL_RGBA와 동일(OpenGL ES 2만 해당)
QOpenGLTexture::LuminanceFormat0x1909GL_LUMINANCE와 동일(OpenGL ES 2만 해당)
QOpenGLTexture::LuminanceAlphaFormat0x190AGL_LUMINANCE_ALPHA와 동일(OpenGL ES 2만 해당)

enum QOpenGLTexture::TextureUnitReset

이 열거형은 텍스처 유닛 활성화를 제어하는 옵션을 정의합니다.

Constant설명
QOpenGLTexture::ResetTextureUnit0이전 활성 텍스처 유닛이 리셋됩니다.
QOpenGLTexture::DontResetTextureUnit1이전 활성 텍스처 유닛이 휴식되지 않습니다.

enum QOpenGLTexture::WrapMode

이 열거형은 가능한 텍스처 좌표 래핑 모드를 정의합니다.

Constant설명
QOpenGLTexture::Repeat0x2901텍스처 좌표가 반복됩니다. GL_REPEAT와 동일
QOpenGLTexture::MirroredRepeat0x8370텍스처 좌표가 0과 1에 대해 반영됩니다. GL_MIRRORED_REPEAT와 동일합니다.
QOpenGLTexture::ClampToEdge0x812F텍스처 좌표를 [0,1]에 고정합니다. GL_CLAMP_TO_EDGE와 동일합니다.
QOpenGLTexture::ClampToBorder0x812D클램프 투 엣지와 마찬가지로 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 객체를 생성합니다. 밉맵 체인을 생성하려면 genMipMapstrue 로 설정합니다(기본값입니다).

이렇게 하면 기본 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 불변 텍스처 스토리지를 사용합니다. 그러나 불변 텍스처 스토리지를 사용할 수 없는 경우 지정된 pixelFormatpixelType 을 사용하여 변경 가능한 스토리지를 할당합니다. 특정 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 오브젝트를 수정하기 위해 바인딩할 필요가 없습니다.

파라미터 resettrue 인 경우 이 함수는 입력 시 활성화된 텍스처 유닛으로 활성 유닛을 복원합니다.

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)

텍스처 유닛 unittarget 에 바인딩된 텍스처의 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 중 하나를 지정할 수 있지만 후자의 경우 minimumLayermaximumLayer 로 지정된 배열 레이어 수는 정확히 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 으로 설정한 다음 밉맵 체인을 생성하면 됩니다. resetBaseLeveltrue 인 경우 텍스처의 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 를 반환합니다.

bind() 및 release()도 참조하세요 .

bool QOpenGLTexture::isBound(uint unit)

이 텍스처가 텍스처 단위 unit 의 해당 타깃에 바인딩된 경우 true 를 반환합니다.

bind() 및 release()도 참조하세요 .

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 에서 이 텍스처를 바인딩 해제합니다.

파라미터 resettrue 인 경우 이 함수는 활성 유닛을 입력 시 활성화되었던 텍스처 유닛으로 복원합니다.

int QOpenGLTexture::samples() const

이 텍스처의 멀티 샘플 샘플 포인트 수를 반환합니다. 이 텍스처에 스토리지가 아직 할당되지 않은 경우 이 함수는 요청된 샘플 수를 반환합니다.

멀티샘플링을 지원하지 않는 텍스처 타깃의 경우 0을 반환합니다.

setSamples() 및 isStorageAllocated()도 참조하세요 .

void QOpenGLTexture::setAutoMipMapGenerationEnabled(bool enabled)

enabledtrue 인 경우 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)

압축 픽셀 datamipLevel, 배열 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 에서 가리키는 픽셀 데이터의 구조는 sourceFormatsourceType 에서 지정합니다. 픽셀 데이터 업로드는 선택적으로 options 로 제어할 수 있습니다.

압축된 format()를 사용하는 경우 이 함수 대신 setCompressedData()를 사용해야 합니다.

setCompressedData()도 참조하세요 .

void QOpenGLTexture::setData(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps)

이 setData()의 오버로드는 저장소를 할당합니다. 픽셀 데이터는 image 에 포함되어 있습니다. 밉맵은 기본적으로 생성됩니다. 밉맵 생성을 끄려면 genMipMapsDontGenerateMipMaps 으로 설정하세요.

참고: 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 이 가리키는 픽셀 데이터의 구조는 sourceFormatsourceType 으로 지정됩니다. 픽셀 데이터 업로드는 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 이 가리키는 픽셀 데이터의 구조는 sourceFormatsourceType 로 지정합니다. 픽셀 데이터 업로드는 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 는 서브 이미지의 치수를 지정합니다. 업데이트하려는 서브 이미지의 밉 맵 레벨과 레이어는 mipLevellayer 으로 지정합니다.

data 이 가리키는 픽셀 데이터의 구조는 sourceFormatsourceType 로 지정합니다. 픽셀 데이터 업로드는 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 가 가리키는 픽셀 데이터의 구조는 sourceFormatsourceType 로 지정합니다. 픽셀 데이터 업로드는 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 에서 가리키는 픽셀 데이터의 구조는 sourceFormatsourceType 로 지정합니다. 픽셀 데이터 업로드는 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.