このページでは

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::TextureBuffer0x00000040データソースとして OpenGL バッファオブジェクトを使用するテクスチャのサポート
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_RED と同等です。
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テクスチャターゲットにバインド可能なQOpenGLTextureオブジェクトを作成し、image に含まれるピクセルデータを格納します。ミップマップのチェーンを生成したい場合は、genMipMaps をtrue に設定してください(これがデフォルトです)。

これにより、基盤となる OpenGL テクスチャオブジェクトが生成されます。したがって、このコンストラクタを使用してオブジェクトを生成するには、有効な現在の OpenGL コンテキストが必要です。

注: image は 自動的にQImage::Format_RGBA8888 に変換されますが、フォーマットが異なる大きな画像の場合、パフォーマンスに影響が出る可能性があります。

void QOpenGLTexture::allocateStorage()

このテクスチャオブジェクトに対して、フォーマット、寸法、ミップマップレベル、配列レイヤー、キューブマップの面数を考慮して、サーバー側のストレージを割り当てます。

一度ストレージが割り当てられると、これらのプロパティを変更することはできなくなります。

サポートされている場合、QOpenGLTexture は不変のテクスチャストレージを利用します。

テクスチャのストレージが割り当てられると、setData() のオーバーロードのいずれかを介してピクセルデータをアップロードできるようになります。

注: 不変テクスチャストレージが利用できない場合 、デフォルトのピクセルフォーマットとピクセル型が使用され、可変ストレージが作成されます。他の allocateStorage() のオーバーロードを使用することで、可変ストレージを割り当てる際に使用するピクセルフォーマットとピクセル型を正確に指定できます。 これは、割り当て時に使用されるピクセルフォーマットとピクセル型が、その後のsetData()呼び出しに渡されるフォーマットおよび型と完全に一致しなければならない特定のOpenGL ES実装(特にOpenGL ES 2)において、特に有用です。

isStorageAllocated() およびsetData()も参照してください 。

void QOpenGLTexture::allocateStorage(QOpenGLTexture::PixelFormat pixelFormat, QOpenGLTexture::PixelType pixelType)

このテクスチャオブジェクトに対して、フォーマット、寸法、ミップマップレベル、配列レイヤー、キューブマップの面数を考慮して、サーバー側のストレージを割り当てます。

一度ストレージが割り当てられると、これらのプロパティを変更することはできなくなります。

サポートされている場合、QOpenGLTexture は不変のテクスチャストレージを利用します。ただし、不変のテクスチャストレージが利用できない場合は、指定されたpixelFormat およびpixelType を使用して可変ストレージが割り当てられます。なお、特定のOpenGL実装(特にOpenGL ES 2)では、これらは後続のsetData()呼び出しに渡されるフォーマットおよび型と完全に一致している必要があることに注意してください。

テクスチャ用のストレージが割り当てられると、setData() のオーバーロードのいずれかを使用して、ピクセルデータをアップロードできます。

isStorageAllocated() およびsetData()も参照してください 。

void QOpenGLTexture::bind()

このテクスチャを、現在アクティブなテクスチャユニットにバインドし、レンダリングの準備を整えます。なお、QOpenGLTexture オブジェクトを変更するために、それらをバインドする必要はありません。これは、実装が利用可能な場合はEXT_direct_state_access拡張機能を利用し、利用できない場合はそれをシミュレートするためです。

release()も参照してください 。

void QOpenGLTexture::bind(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit)

このテクスチャをテクスチャユニットunit にバインドし、レンダリングの準備を整えます。なお、QOpenGLTexture オブジェクトを変更するために、それらをバインドする必要はありません。これは、実装がEXT_direct_state_access拡張機能を利用可能な場合はそれを使用し、利用できない場合はそれをシミュレートするためです。

パラメータreset がtrue の場合、この関数は、関数呼び出し時にアクティブだったテクスチャユニットをアクティブなユニットとして復元します。

release()も参照してください 。

QColor QOpenGLTexture::borderColor() const

このテクスチャのborderColorを返します。

setBorderColor()も参照してください 。

void QOpenGLTexture::borderColor(float *border) const

border が指す配列の最初の 4 要素に、テクスチャの境界線を表す色を設定します。

setBorderColor()も参照してください 。

void QOpenGLTexture::borderColor(int *border) const

border が指す配列の最初の4つの要素に、テクスチャの境界線を表す色を設定します。

これはオーバーロードされた関数です。

void QOpenGLTexture::borderColor(unsigned int *border) const

border が指す配列の最初の4つの要素に、テクスチャの境界線を表す色を設定します。

これはオーバーロードされた関数です。

[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 ` は、それぞれ赤、緑、青、およびアルファ値を設定するために使用される値です。

これはオーバーロードされた関数です。

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.