이 페이지에서

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
std::pair<float, float> levelOfDetailRange() const
float levelofDetailBias() const
QOpenGLTexture::Filter magnificationFilter() const
float maximumAnisotropy() const
float maximumLevelOfDetail() const
int maximumMipLevels() const
std::pair<QOpenGLTexture::Filter, QOpenGLTexture::Filter> minMagFilters() const
QOpenGLTexture::Filter minificationFilter() const
float minimumLevelOfDetail() const
int mipBaseLevel() const
std::pair<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).flipped());
texture->setMinificationFilter(QOpenGLTexture::LinearMipMapLinear);
texture->setMagnificationFilter(QOpenGLTexture::Linear);
...
// Render with texture
texture->bind();
glDrawArrays(...);

OpenGL과 QImage 가 y축의 방향을 서로 다르게 사용한다는 점을 고려하여, QImage 는 수직으로 뒤집혀 있다는 점에 유의하십시오. 또 다른 방법으로는 텍스처 좌표를 변환하는 것이 있습니다.

경고: QOpenGLTexture가 사용하는모든 데이터는 신뢰할 수 있는 콘텐츠여야 합니다. 픽셀 및 이미지 데이터는 기본 OpenGL 구현체로 전달됩니다. 애플리케이션 개발자는 setData()와 같은 함수에 사용자가 제공한 콘텐츠를 전달하기 전에 잠재적인 영향을 신중하게 고려해야 합니다.

멤버 유형 문서

enum QOpenGLTexture::BindingTarget

이 열거형은 텍스처 유닛의 가능한 바인딩 대상을 정의합니다.

상수값설명
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

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

상수값설명
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

이 열거형은 이 텍스처를 샘플링할 때 어떤 비교 모드를 사용할지 지정합니다.

상수값설명
QOpenGLTexture::CompareRefToTexture0x884EGL_COMPARE_REF_TO_TEXTURE와 동일합니다.
QOpenGLTexture::CompareNone0x0000GL_NONE과 동일합니다.

enum QOpenGLTexture::CoordinateDirection

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

상수값설명
QOpenGLTexture::DirectionS0x2802수평 방향. GL_TEXTURE_WRAP_S와 동일합니다.
QOpenGLTexture::DirectionT0x2803수직 방향입니다. GL_TEXTURE_WRAP_T와 동일합니다.
QOpenGLTexture::DirectionR0x8072깊이 방향. GL_TEXTURE_WRAP_R과 동일

enum QOpenGLTexture::CubeMapFace

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

상수값설명
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

이 열거형은 텍스처가 샘플링될 때 깊이/스텐실 텍스처의 어느 구성 요소에 접근할지 지정합니다.

상수값설명
QOpenGLTexture::DepthMode0x1902GL_DEPTH_COMPONENT와 동일합니다.
QOpenGLTexture::StencilMode0x1901GL_STENCIL_INDEX와 동일합니다.

enum QOpenGLTexture::Feature
flags 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기본 및 최대 밉맵 레벨 설정 지원

Features 유형은 QFlags<Feature>에 대한 typedef입니다. 이 유형은 Feature 값들의 OR 조합을 저장합니다.

enum QOpenGLTexture::Filter

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

상수값설명
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

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

상수값설명
QOpenGLTexture::GenerateMipMaps0미프맵을 생성해야 함
QOpenGLTexture::DontGenerateMipMaps1미프맵을 생성하지 않아야 함

enum QOpenGLTexture::PixelFormat

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

상수값설명
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

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

상수값설명
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

이 열거형은 스위즐 마스크를 할당할 수 있는 텍스처 색상 구성 요소를 정의합니다.

상수값설명
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

이 열거형은 텍스처 스위즐링에 사용할 수 있는 마스크 값을 정의합니다.

상수값설명
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 ` 객체의 텍스처 대상을 정의합니다. 배열 텍스처 생성에 대한 자세한 내용은 ‘배열 텍스처’를 참조하십시오.

상수값설명
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 구현 방식에 따라 이 중 일부만 지원될 수 있습니다.

상수값설명
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와 동일(OpenGL ES 3 또는 OES_depth_texture가 있는 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

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

상수값설명
QOpenGLTexture::ResetTextureUnit0이전에 활성화되었던 텍스처 유닛이 초기화됩니다.
QOpenGLTexture::DontResetTextureUnit1이전에 활성화된 텍스처 유닛은 재설정되지 않습니다

enum QOpenGLTexture::WrapMode

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

상수값설명
QOpenGLTexture::Repeat0x2901텍스처 좌표가 반복됩니다. GL_REPEAT와 동일합니다.
QOpenGLTexture::MirroredRepeat0x8370텍스처 좌표가 0과 1을 기준으로 반사됩니다. GL_MIRRORED_REPEAT와 동일합니다.
QOpenGLTexture::ClampToEdge0x812F텍스처 좌표를 [0,1] 범위로 제한합니다. GL_CLAMP_TO_EDGE와 동일합니다
QOpenGLTexture::ClampToBorder0x812DClampToEdge와 동일하지만, 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() 오버로드를 사용하여 가변 저장소를 할당할 때 사용할 픽셀 포맷과 픽셀 유형을 정확히 지정할 수 있습니다. 이는 특정 OpenGL ES 구현(특히 OpenGL ES 2)에서 특히 유용하며, 이러한 구현에서는 할당 시점에 사용된 픽셀 포맷과 픽셀 유형이 이후의 모든 setData() 호출에 전달되는 포맷 및 유형과 완벽하게 일치해야 합니다.

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()

이 텍스처를 현재 활성화된 텍스처 유닛에 바인딩하여 렌더링 준비를 완료합니다. QOpenGLTexture 객체를 수정하기 위해 반드시 바인딩할 필요는 없습니다. 구현에서는 가능한 경우 EXT_direct_state_access 확장을 사용하고, 불가능한 경우 이를 시뮬레이션하기 때문입니다.

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 구현 및 버전이 feature 텍스처 기능을 지원하는 경우, true 를 반환합니다.

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()도 참조하십시오 .

std::pair<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()도 참조하십시오 .

std::pair<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()도 참조하십시오 .

std::pair<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 OpenGL에서는 효과가 없습니다.

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 OpenGL에서는 효과가 없습니다.

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 OpenGL에는 영향을 미치지 않습니다.

levelOfDetailRange(), setMinimumLevelOfDetail() 및 setMaximumLevelOfDetail()도 참조하십시오 .

void QOpenGLTexture::setLevelofDetailBias(float bias)

디테일 편향 수준을 ` bias`로 설정합니다. 디테일 편향 수준은 밉맵 레벨이 변경되는 시점에 영향을 미칩니다. 디테일 편향 수준의 값을 높이면 전체 이미지가 더 흐릿해지거나 부드러워집니다. 값을 낮추면 전체 이미지가 더 선명해집니다.

참고: 이 함수는 OpenGL ES 2용으로 빌드된 Qt OpenGL에는 영향을 미치지 않습니다.

참조: 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 OpenGL에는 영향을 미치지 않습니다.

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 OpenGL에는 영향을 미치지 않습니다.

minimumLevelOfDetail(), setMaximumLevelOfDetail(), setLevelOfDetailRange()도 참조하십시오 .

void QOpenGLTexture::setMipBaseLevel(int baseLevel)

이 텍스처를 사용하는 모든 텍스처 조회 작업에 사용되는 기본 밉맵 레벨을 ` baseLevel`로 설정합니다.

참고: 이 함수는 OpenGL ES 2용으로 빌드된 Qt OpenGL에는 영향을 미치지 않습니다.

mipBaseLevel(), setMipMaxLevel() 및 setMipLevelRange()도 참조하십시오 .

void QOpenGLTexture::setMipLevelRange(int baseLevel, int maxLevel)

이 텍스처를 사용하여 텍스처 조회에 활용할 수 있는 밉맵 레벨의 범위를 baseLevel 부터 maxLevel 까지로 설정합니다.

참고: 이 함수는 OpenGL ES 2용으로 빌드된 Qt OpenGL에는 영향을 미치지 않습니다.

setMipBaseLevel(), setMipMaxLevel() 및 mipLevelRange()도 참조하십시오 .

void QOpenGLTexture::setMipLevels(int levels)

밉맵을 지원하는 텍스처 타깃의 경우, 이 함수는 저장 공간을 할당할 밉맵 levels 의 요청된 개수를 설정합니다. 이 함수는 텍스처에 대한 저장 공간을 할당하기 전에 호출해야 합니다.

텍스처 타깃이 밉맵을 지원하지 않는 경우, 이 함수는 아무런 효과를 나타내지 않습니다.

mipLevels(), maximumMipLevels(), isStorageAllocated()함수도 참조하십시오 .

void QOpenGLTexture::setMipMaxLevel(int maxLevel)

이 텍스처를 사용하는 모든 텍스처 조회 작업에 적용되는 최대 밉맵 레벨을 ` maxLevel`로 설정합니다.

참고: 이 함수는 OpenGL ES 2용으로 빌드된 Qt OpenGL에는 영향을 미치지 않습니다.

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 구현에 따라 다릅니다. 최대 크기 미만의 텍스처에 대한 저장 공간을 할당하더라도 시스템 리소스가 부족한 경우 할당이 실패할 수 있습니다.

width, height 또는 depth 값이 2의 거듭제곱이 아닌 경우, 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 OpenGL에서는 효과가 없습니다.

swizzleMask()도 참조하십시오 .

void QOpenGLTexture::setSwizzleMask(QOpenGLTexture::SwizzleValue r, QOpenGLTexture::SwizzleValue g, QOpenGLTexture::SwizzleValue b, QOpenGLTexture::SwizzleValue a)

r, g, b, a 매개변수는 각각 빨강(red), 녹색(green), 파랑(blue) 및 알파(alpha) 값을 설정하는 데 사용되는 값입니다.

이 함수는 오버로드된 함수입니다.

void QOpenGLTexture::setWrapMode(QOpenGLTexture::WrapMode mode)

모든 텍스처 차원의 래핑(또는 반복 모드)을 ‘ mode ’로 설정합니다.

wrapMode()도 참조하십시오 .

void QOpenGLTexture::setWrapMode(QOpenGLTexture::CoordinateDirection direction, QOpenGLTexture::WrapMode mode)

텍스처 차원 direction 의 랩(또는 반복 모드)을 mode 로 설정합니다.

이 함수는 오버로드된 함수입니다.

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

1차원, 2차원 또는 3차원 텍스처의 너비를 반환합니다.

height(), depth() 및 setSize()도 참조하십시오 .

QOpenGLTexture::WrapMode QOpenGLTexture::wrapMode(QOpenGLTexture::CoordinateDirection direction) const

direction 의 텍스처 차원에 대한 래핑 모드를 반환합니다.

setWrapMode()도 참조하십시오 .

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.