QOpenGLTexture Class

QOpenGLTextureクラスはOpenGLテクスチャオブジェクトをカプセル化します。詳細...

Header: #include <QOpenGLTexture>

パブリック型

enum BindingTarget { BindingTarget1D, BindingTarget1DArray, BindingTarget2D, BindingTarget2DArray, BindingTarget3D, …, BindingTargetBuffer }
enum ComparisonFunction { CompareLessEqual, CompareGreaterEqual, CompareLess, CompareGreater, CompareEqual, …, CompareNever }
enum ComparisonMode { CompareRefToTexture, CompareNone }
enum CoordinateDirection { DirectionS, DirectionT, DirectionR }
enum CubeMapFace { CubeMapPositiveX, CubeMapNegativeX, CubeMapPositiveY, CubeMapNegativeY, CubeMapPositiveZ, CubeMapNegativeZ }
enum DepthStencilMode { DepthMode, StencilMode }
enum Feature { ImmutableStorage, ImmutableMultisampleStorage, TextureRectangle, TextureArrays, Texture3D, …, TextureMipMapLevel }
flags Features
enum Filter { Nearest, Linear, NearestMipMapNearest, NearestMipMapLinear, LinearMipMapNearest, LinearMipMapLinear }
enum MipMapGeneration { GenerateMipMaps, DontGenerateMipMaps }
enum PixelFormat { NoSourceFormat, Red, RG, RGB, BGR, …, LuminanceAlpha }
enum PixelType { NoPixelType, Int8, UInt8, Int16, UInt16, …, Float32_D32_UInt32_S8_X24 }
enum SwizzleComponent { SwizzleRed, SwizzleGreen, SwizzleBlue, SwizzleAlpha }
enum SwizzleValue { RedValue, GreenValue, BlueValue, AlphaValue, ZeroValue, OneValue }
enum Target { Target1D, Target1DArray, Target2D, Target2DArray, Target3D, …, TargetBuffer }
enum TextureFormat { NoFormat, R8_UNorm, RG8_UNorm, RGB8_UNorm, RGBA8_UNorm, …, LuminanceAlphaFormat }
enum TextureUnitReset { ResetTextureUnit, DontResetTextureUnit }
enum WrapMode { Repeat, MirroredRepeat, ClampToEdge, ClampToBorder }

パブリック関数

QOpenGLTexture(QOpenGLTexture::Target target)
QOpenGLTexture(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps)
void allocateStorage()
void allocateStorage(QOpenGLTexture::PixelFormat pixelFormat, QOpenGLTexture::PixelType pixelType)
void bind()
void bind(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit)
QColor borderColor() const
void borderColor(float *border) const
void borderColor(int *border) const
void borderColor(unsigned int *border) const
QOpenGLTexture::ComparisonFunction comparisonFunction() const
QOpenGLTexture::ComparisonMode comparisonMode() const
bool create()
QOpenGLTexture *createTextureView(QOpenGLTexture::Target target, QOpenGLTexture::TextureFormat viewFormat, int minimumMipmapLevel, int maximumMipmapLevel, int minimumLayer, int maximumLayer) const
int depth() const
QOpenGLTexture::DepthStencilMode depthStencilMode() const
void destroy()
int faces() const
QOpenGLTexture::TextureFormat format() const
void generateMipMaps()
void generateMipMaps(int baseLevel, bool resetBaseLevel = true)
int height() const
bool isAutoMipMapGenerationEnabled() const
bool isBound() const
bool isBound(uint unit)
bool isCreated() const
bool isFixedSamplePositions() const
bool isStorageAllocated() const
bool isTextureView() const
int layers() const
QPair<float, float> levelOfDetailRange() const
float levelofDetailBias() const
QOpenGLTexture::Filter magnificationFilter() const
float maximumAnisotropy() const
float maximumLevelOfDetail() const
int maximumMipLevels() const
QPair<QOpenGLTexture::Filter, QOpenGLTexture::Filter> minMagFilters() const
QOpenGLTexture::Filter minificationFilter() const
float minimumLevelOfDetail() const
int mipBaseLevel() const
QPair<int, int> mipLevelRange() const
int mipLevels() const
int mipMaxLevel() const
void release()
void release(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit)
int samples() const
void setAutoMipMapGenerationEnabled(bool enabled)
void setBorderColor(const QColor &color)
void setBorderColor(float r, float g, float b, float a)
void setBorderColor(int r, int g, int b, int a)
void setBorderColor(uint r, uint g, uint b, uint a)
void setComparisonFunction(QOpenGLTexture::ComparisonFunction function)
void setComparisonMode(QOpenGLTexture::ComparisonMode mode)
void setCompressedData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
void setCompressedData(int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
void setCompressedData(int mipLevel, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
void setCompressedData(int mipLevel, int layer, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
void setCompressedData(int mipLevel, int layer, int layerCount, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
void setData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
void setData(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps)
void setData(QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
void setData(int mipLevel, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
void setData(int mipLevel, int layer, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
void setData(int mipLevel, int layer, int layerCount, QOpenGLTexture::CubeMapFace cubeFace, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
void setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
void setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
void setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
void setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::CubeMapFace face, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
void setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::CubeMapFace face, int layerCount, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
void setDepthStencilMode(QOpenGLTexture::DepthStencilMode mode)
void setFixedSamplePositions(bool fixed)
void setFormat(QOpenGLTexture::TextureFormat format)
void setLayers(int layers)
void setLevelOfDetailRange(float min, float max)
void setLevelofDetailBias(float bias)
void setMagnificationFilter(QOpenGLTexture::Filter filter)
void setMaximumAnisotropy(float anisotropy)
void setMaximumLevelOfDetail(float value)
void setMinMagFilters(QOpenGLTexture::Filter minificationFilter, QOpenGLTexture::Filter magnificationFilter)
void setMinificationFilter(QOpenGLTexture::Filter filter)
void setMinimumLevelOfDetail(float value)
void setMipBaseLevel(int baseLevel)
void setMipLevelRange(int baseLevel, int maxLevel)
void setMipLevels(int levels)
void setMipMaxLevel(int maxLevel)
void setSamples(int samples)
void setSize(int width, int height = 1, int depth = 1)
void setSwizzleMask(QOpenGLTexture::SwizzleComponent component, QOpenGLTexture::SwizzleValue value)
void setSwizzleMask(QOpenGLTexture::SwizzleValue r, QOpenGLTexture::SwizzleValue g, QOpenGLTexture::SwizzleValue b, QOpenGLTexture::SwizzleValue a)
void setWrapMode(QOpenGLTexture::WrapMode mode)
void setWrapMode(QOpenGLTexture::CoordinateDirection direction, QOpenGLTexture::WrapMode mode)
QOpenGLTexture::SwizzleValue swizzleMask(QOpenGLTexture::SwizzleComponent component) const
QOpenGLTexture::Target target() const
GLuint textureId() const
int width() const
QOpenGLTexture::WrapMode wrapMode(QOpenGLTexture::CoordinateDirection direction) const

静的パブリックメンバー

GLuint boundTextureId(QOpenGLTexture::BindingTarget target)
GLuint boundTextureId(uint unit, QOpenGLTexture::BindingTarget target)
bool hasFeature(QOpenGLTexture::Feature feature)

詳細説明

QOpenGLTexture は、OpenGL テクスチャと、OpenGL 実装の機能に応じて提供される無数の機能とターゲットを簡単に操作できるようにします。

QOpenGLTexture の典型的な使用パターンは次のとおりです。

  • テクスチャ・ターゲット・タイプを指定してオブジェクトをインスタンス化します。
  • ストレージ要件に影響するプロパティを設定します(ストレージ形式、寸法など)。
  • サーバー側ストレージを割り当てます。
  • 必要に応じてピクセルデータをアップロードします。
  • フィルタリングやボーダーオプションなど、追加のプロパティを設定します。
  • テクスチャを使ったレンダリングまたはテクスチャへのレンダリング

テクスチャピクセルデータのソースとしてQImage を使用する一般的なケースでは、上記のステップのほとんどが自動的に実行されます。

// Prepare texture
QOpenGLTexture *texture = new QOpenGLTexture(QImage(fileName).mirrored());
texture->setMinificationFilter(QOpenGLTexture::LinearMipMapLinear);
texture->setMagnificationFilter(QOpenGLTexture::Linear);
...
// Render with texture
texture->bind();
glDrawArrays(...);

QImage は、OpenGL とQImage がy軸に逆方向を使うことを考慮して、垂直にミラーリングされていることに注意してください。もう1つの方法は、テクスチャ座標を変換することである。

メンバー型ドキュメント

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

この enum は、テスト可能な 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::NPOTTextures0x00000800非2乗テクスチャの基本サポート
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_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_1 と同等。
QOpenGLTexture::UInt16_RGB5A1_Rev0x8366GL_UNSIGNED_SHORT_1_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 と同等。
QOpenGLTexture::UInt16_RGBA4_Rev0x8365GL_UNSIGNED_SHORT_4_4_4_REVと同等。
QOpenGLTexture::UInt32_RGBA80x8035GL_UNSIGNED_INT_8_8_8 と同等。
QOpenGLTexture::UInt32_RGBA8_Rev0x8367GL_UNSIGNED_INT_8_8_REV と同等。
QOpenGLTexture::UInt32_RGB10A20x8036GL_UNSIGNED_INT_10_10_2 と同等です。
QOpenGLTexture::UInt32_RGB10A2_Rev0x8368GL_UNSIGNED_INT_2_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 にマップする。
QOpenGLTexture::OneValue1コンポーネントを固定値 1 にマップする。

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に相当します(OES_depth_textureを持つOpenGL ES 3またはES 2のみ)。
QOpenGLTexture::AlphaFormat0x1906GL_ALPHA と同等(OpenGL ES 2 のみ)
QOpenGLTexture::RGBFormat0x1907GL_RGB と同等(OpenGL ES 2 のみ)
QOpenGLTexture::RGBAFormat0x1908GL_RGBA と同等 (OpenGL ES 2 のみ)
QOpenGLTexture::LuminanceFormat0x1909GL_LUMINANCE と同等 (OpenGL ES 2 のみ)
QOpenGLTexture::LuminanceAlphaFormat0x190AGL_LUMINANCE_ALPHA と同等 (OpenGL ES 2 のみ)

enum QOpenGLTexture::TextureUnitReset

この列挙型は、テクスチャユニットの起動を制御するオプションを定義します。

定数説明
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 に含まれるピクセルデータを含みます。ミップマップのチェーンを生成させたい場合は、genMipMapstrue に設定してください(これがデフォルトです)。

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

注意: image は自動的にQImage::Format_RGBA8888 に変換されますが、これはフォーマットが異なる大きな画像ではパフォーマンスに影響するかもしれません。

void QOpenGLTexture::allocateStorage()

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

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

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

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

注意: 不変テクスチャストレージが使用できない場合、デフォルトのピクセルフォーマットとピクセルタイプが使用され、変更可能なストレージが作成されます。これは、特定の OpenGL ES 実装(特に、OpenGL ES 2)で特に有用であり、割り当て時に使用されるピクセル・フォーマットとピクセル・タイプは、後続のsetData() 呼び出しに渡されるフォーマットとタイプと完全に一致する必要があります。

isStorageAllocated() およびsetData()も参照

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

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

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

サポートされている場合、QOpenGLTexture は不変テクスチャストレージを使用します。しかし、不変のテクスチャストレージが利用できない場合、指定されたpixelFormatpixelType は、変更可能なストレージを割り当てるために使用されます。特定の OpenGL 実装(特に、OpenGL ES 2)では、これらは、後続のsetData() 呼び出しに渡される形式と型に完全に一致しなければならないことに注意してください。

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

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

void QOpenGLTexture::bind()

このテクスチャを現在アクティブなテクスチャユニットにバインドし、レンダリングの準備をします。この実装では、EXT_direct_state_access 拡張が利用可能な場合はそれを利用し、そうでない場合はそれをシミュレートするので、QOpenGLTexture オブジェクトを変更するためにバインドする必要はないことに注意してください。

release()も参照

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

このテクスチャをレンダリング準備の整ったテクスチャユニットunit にバインドします。実装では、EXT_direct_state_access 拡張が利用可能な場所ではそれを利用し、利用できない場所ではそれをシミュレートするので、QOpenGLTexture オブジェクトを変更するためにバインドする必要はないことに注意してください。

パラメータresettrue の場合、この関数はアクティブなユニットを、入力時にアクティブだったテクスチャユニットに戻す。

release()も参照

QColor QOpenGLTexture::borderColor() const

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

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

void QOpenGLTexture::borderColor(float *border) const

border が指す配列の最初の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)

テクスチャユニットunittarget にバインドされているテクスチャのtextureId を返します。

QOpenGLTexture::ComparisonFunction QOpenGLTexture::comparisonFunction() const

このテクスチャに設定されているテクスチャ比較演算子を返します。デフォルトでは、テクスチャはCompareLessEqual 比較関数を持ちます。

setComparisonFunction()も参照してください

QOpenGLTexture::ComparisonMode QOpenGLTexture::comparisonMode() const

このテクスチャに設定されているテクスチャ比較モードを返します。デフォルトでは、テクスチャはCompareNone 比較モードを持ちます(つまり、比較は無効です)。

setComparisonMode()も参照してください

bool QOpenGLTexture::create()

基礎となるOpenGLテクスチャオブジェクトを作成します。これには現在有効なOpenGLコンテキストが必要です。テクスチャオブジェクトがすでに存在する場合、この関数は何もしません。

テクスチャオブジェクトが作成されると、textureId ()関数からオブジェクト名を得ることができます。これは、このテクスチャに関連する未加工のOpenGLコールを行いたい場合に便利です。

通常、テクスチャオブジェクトのプロパティを設定するすべての関数は、暗黙的にあなたの代わりにcreate()を呼び出すので、この関数を直接呼び出す必要はありません。

作成に成功した場合はtrue を返し、そうでない場合はfalse を返します。

destroy()、isCreated()、textureId()も参照してください

QOpenGLTexture *QOpenGLTexture::createTextureView(QOpenGLTexture::Target target, QOpenGLTexture::TextureFormat viewFormat, int minimumMipmapLevel, int maximumMipmapLevel, int minimumLayer, int maximumLayer) const

このテクスチャにテクスチャ・ビューを作成しようとします。テクスチャ・ビューは、元のデータの制限された、または再解釈されたビューを提示するという点で、SQLのビューに多少似ています。テクスチャビューはサーバー側のストレージを割り当てず、ソーステクスチャのストレージバッファに依存します。

テクスチャ ビューは、イミュータブル ストレージを使用している場合にのみ使用できます。テクスチャビューの詳細については、http://www.opengl.org/wiki/Texture_Storage#Texture_views を参照してください。

target 引数は、ビューに使用するターゲットを指定します。元のターゲットのターゲットに応じて、いくつかのターゲットだけが使用できます。例えば、Target1DArray テクスチャへのビューは、Target1DArray またはTarget1D のいずれかを指定できますが、後者の場合、minimumLayermaximumLayer で指定される配列レイヤーの数は正確に 1 でなければなりません。

viewFormat 。詳細は上記のリンクと仕様を参照してください。

minimumMipmapLevelmaximumMipmapLevelminimumLayermaximumLayer の引数は、テクスチャビューがアクセスできるテクスチャの部分を制限する役割を果たします。

テクスチャビューの作成に失敗した場合、この関数は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

このテクスチャの面の数を返します。cubemap および cubemap array タイプのターゲットの場合、これは 6 になります。

非キューブマップタイプのターゲットの場合、これは1を返します。

QOpenGLTexture::TextureFormat QOpenGLTexture::format() const

このテクスチャオブジェクトのフォーマットを返します。

setFormat()も参照してください

void QOpenGLTexture::generateMipMaps()

このテクスチャオブジェクトのミップマップをミップマップレベル 0 から生成します。ミップマップを必要とするテクスチャターゲットとフィルタリングオプションを使用していて、自動ミップマップ生成を無効にしている場合は、この関数またはオーバーロードを呼び出してミップマップチェインを生成する必要があります。

注意: ミップマップ生成は、OpenGL ESの圧縮テクスチャではサポートされていません。

setAutoMipMapGenerationEnabled(),setMipLevels(),mipLevels()も参照してください

void QOpenGLTexture::generateMipMaps(int baseLevel, bool resetBaseLevel = true)

このテクスチャオブジェクトのミップマップをミップマップレベルbaseLevel から生成します。ミップマップを必要とするテクスチャターゲットとフィルタリングオプションを使用していて、自動ミップマップ生成を無効にしている場合は、この関数またはオーバーロードを呼び出してミップマップチェインを生成する必要があります。

baseLevel 以上へのミップマップの生成は、ミップマップのベースレベルをbaseLevel に設定してからミップマップチェインを生成することで実現します。resetBaseLeveltrue の場合、テクスチャのベースレベルは以前の値にリセットされます。

setAutoMipMapGenerationEnabled()、setMipLevels()、mipLevels()も参照してください

[static] bool QOpenGLTexture::hasFeature(QOpenGLTexture::Feature feature)

OpenGLの実装とバージョンがテクスチャ機能をサポートしている場合、true を返すfeature

int QOpenGLTexture::height() const

2D または 3D テクスチャの高さを返します。

width()、depth() およびsetSize()も参照してください

bool QOpenGLTexture::isAutoMipMapGenerationEnabled() const

このテクスチャオブジェクトに対して自動ミップマップ生成が有効かどうかを返します。

setAutoMipMapGenerationEnabled() およびgenerateMipMaps()も参照して ください。

bool QOpenGLTexture::isBound() const

このテクスチャが現在アクティブなテクスチャユニットの対応するターゲットにバインドされている場合、true を返します。

bind() およびrelease()も参照してください

bool QOpenGLTexture::isBound(uint unit)

このテクスチャがテクスチャユニットunit の対応するターゲットにバインドされている場合、true を返します。

bind() およびrelease()も参照してください

bool QOpenGLTexture::isCreated() const

基礎となるOpenGLテクスチャオブジェクトが作成された場合、true を返す。

create(),destroy(),textureId()も参照してください

bool QOpenGLTexture::isFixedSamplePositions() const

このテクスチャがマルチサンプルサンプルの固定パターンを使用するかどうかを返します。このテクスチャに対してストレージがまだ割り当てられていない場合、この関数は要求された固定サンプル位置設定を返します。

マルチサンプリングをサポートしないテクスチャターゲットの場合、これはtrue を返します。

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

bool QOpenGLTexture::isStorageAllocated() const

このテクスチャのサーバー側ストレージが割り当てられた場合、true を返します。

テクスチャのフォーマット、寸法、ミップマップレベル、および配列レイヤは、ストレージ i が割り当てられた後は変更できません。

allocateStorage()、setSize()、setMipLevels()、setLayers()、setFormat()も参照

bool QOpenGLTexture::isTextureView() const

このテクスチャオブジェクトが実際に別のテクスチャオブジェクトへのビューである場合、true を返します。

createTextureView()も参照してください

int QOpenGLTexture::layers() const

このテクスチャの配列レイヤの数を返します。このテクスチャに対してまだストレージが割り当てられていない場合、この関数は要求された配列レイヤの数を返します。

アレイレイヤーをサポートしていないテクスチャターゲットの場合、これは 1 を返します。

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

QPair<float, float> QOpenGLTexture::levelOfDetailRange() const

詳細度パラメータの最小値と最大値を返す。

setLevelOfDetailRange()、minimumLevelOfDetail() およびmaximumLevelOfDetail()も参照

float QOpenGLTexture::levelofDetailBias() const

詳細度バイアスパラメータを返します。

setLevelofDetailBias()も参照

QOpenGLTexture::Filter QOpenGLTexture::magnificationFilter() const

倍率フィルタを返します。

setMagnificationFilter()も参照

float QOpenGLTexture::maximumAnisotropy() const

テクスチャのルックアップを実行するときに考慮される異方性の最大レベルを返します。これには GL_EXT_texture_filter_anisotropic 拡張が必要です。

setMaximumAnisotropy()も参照してください

float QOpenGLTexture::maximumLevelOfDetail() const

パラメータの最大詳細レベルを返します。

setMaximumLevelOfDetail()、minimumLevelOfDetail() およびlevelOfDetailRange()も参照

int QOpenGLTexture::maximumMipLevels() const

このテクスチャが現在の寸法で持つことができるミップマップレベルの最大数を返します。

setMipLevels()、mipLevels() およびsetSize()も参照してください

QPair<QOpenGLTexture::Filter, QOpenGLTexture::Filter> QOpenGLTexture::minMagFilters() const

現在の最小化・拡大フィルタを返します。

setMinMagFilters()も参照ください

QOpenGLTexture::Filter QOpenGLTexture::minificationFilter() const

最小化フィルタを返します。

setMinificationFilter()も参照ください

float QOpenGLTexture::minimumLevelOfDetail() const

パラメータの最小詳細レベルを返します。

setMinimumLevelOfDetail()、maximumLevelOfDetail() およびlevelOfDetailRange()も参照

int QOpenGLTexture::mipBaseLevel() const

このテクスチャのすべてのテクスチャ参照に使用されるミップマップのベースレベルを返します。デフォルトは 0 です。

setMipBaseLevel()、mipMaxLevel()、mipLevelRange()も参照してください

QPair<int, int> QOpenGLTexture::mipLevelRange() const

このテクスチャでテクスチャ参照に使用できるミップマップレベルの範囲を返します。

setMipLevelRange(),mipBaseLevel(),mipMaxLevel()も参照してください

int QOpenGLTexture::mipLevels() const

このテクスチャのミップマップレベルの数を返します。このテクスチャに対してまだストレージが割り当てられていない場合は、要求されたミップマップレベル数を返します。

setMipLevels()、maximumMipLevels()、isStorageAllocated()も参照してください

int QOpenGLTexture::mipMaxLevel() const

このテクスチャのすべてのテクスチャ参照に使用されるミップマップの最大レベルを返します。

setMipMaxLevel(),mipBaseLevel(),mipLevelRange()も参照してください

void QOpenGLTexture::release()

現在アクティブなテクスチャユニットからこのテクスチャのバインドを解除します。

bind()も参照してください

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

このテクスチャをテクスチャユニットunit からアンバインドします。

パラメータresettrue の場合、この関数はアクティブなユニットを、入力時にアクティブだったテクスチャユニットに戻します。

int QOpenGLTexture::samples() const

このテクスチャのマルチサンプルサンプルポイントの数を返します。このテクスチャに対してまだストレージが割り当てられていない場合、この関数は要求されたサンプル数を返します。

マルチサンプリングをサポートしていないテクスチャターゲットの場合、これは 0 を返します。

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

void QOpenGLTexture::setAutoMipMapGenerationEnabled(bool enabled)

enabledtrue の場合、レベル 0 のミップマップデータがsetData() で設定されるたびに、このテクスチャオブジェクトの自動ミップマップ生成を有効にします。

自動ミップマップ生成はデフォルトで有効になっています。

注意: ミップマップ生成は、OpenGL ES 2.0で圧縮されたテクスチャではサポートされていません。

isAutoMipMapGenerationEnabled() およびgenerateMipMaps()も参照して ください。

void QOpenGLTexture::setBorderColor(const QColor &color)

テクスチャのボーダーカラーをcolor に設定します。

注意: この関数は、Mac および OpenGL ES 2 用にビルドされた Qt には効果がありません。

borderColor()も参照してください

void QOpenGLTexture::setBorderColor(float r, float g, float b, float a)

赤をr に、緑をg に、青をb に、そしてa をアルファ値に設定する。

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

void QOpenGLTexture::setBorderColor(int r, int g, int b, int a)

色の赤をr に、緑をg に、青をb に、アルファ値をa に設定します。

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

void QOpenGLTexture::setBorderColor(uint r, uint g, uint b, uint a)

色の赤をr に、緑をg に、青をb に、アルファ値をa に設定します。

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

void QOpenGLTexture::setComparisonFunction(QOpenGLTexture::ComparisonFunction function)

このテクスチャのテクスチャ比較関数をfunction に設定します。 テクスチャ比較関数は、深度テクスチャをサンプリングするときにシャドウサンプラによって使用されます。

comparisonFunction()も参照してください

void QOpenGLTexture::setComparisonMode(QOpenGLTexture::ComparisonMode mode)

このテクスチャのテクスチャ比較モードをmode に設定します。 テクスチャ比較モードは、深度テクスチャをサンプリングするときにシャドウサンプラによって使用されます。

comparisonMode()も参照してください

void QOpenGLTexture::setCompressedData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

圧縮ピクセルdatamipLevel 、配列layer 、およびcubeFace にアップロードする。ピクセルの転送は、オプションでoptions で制御できる。引数dataSize には、data が指すデータのサイズを指定する。

圧縮format() を使用しない場合は、この関数の代わりにsetData() を使用する。

void QOpenGLTexture::setCompressedData(int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

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

void QOpenGLTexture::setCompressedData(int mipLevel, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

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

void QOpenGLTexture::setCompressedData(int mipLevel, int layer, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

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

void QOpenGLTexture::setCompressedData(int mipLevel, int layer, int layerCount, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

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

パラメータlayerCount は、この呼び出しによってアップロード/入力されるテクスチャ配列内のレイヤーの数です。

void QOpenGLTexture::setData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

このテクスチャオブジェクトmipLevel 、配列layer 、およびcubeFace のピクセルdata をアップロードします。ピクセルデータをアップロードする前に、ストレージが割り当てられている必要があります。setData()のいくつかのオーバーロードは、適切な寸法、ミップマップレベル、および配列レイヤを設定し、それを行うのに十分な情報がある場合は、ストレージを割り当ててくれます。これは関数のドキュメントに記載されています。

data が指すピクセルデータの構造は、sourceFormatsourceType で指定される。ピクセルデータのアップロードは、オプションとしてoptions で制御することができる。

圧縮されたformat() を使用する場合は、この関数の代わりにsetCompressedData() を使用する必要がある。

setCompressedData()も参照

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

setData()のこのオーバーロードは、あなたのためにストレージを確保する。ピクセルデータはimage に格納されます。ミップマップはデフォルトで生成されます。ミップマップの生成をオフにするには、genMipMapsDontGenerateMipMaps に設定します。

注意: image は自動的にQImage::Format_RGBA8888 に変換されるため、フォーマットが異なる大きな画像ではパフォーマンスが低下する可能性があります。

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

void QOpenGLTexture::setData(QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

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

void QOpenGLTexture::setData(int mipLevel, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

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

void QOpenGLTexture::setData(int mipLevel, int layer, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

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

void QOpenGLTexture::setData(int mipLevel, int layer, int layerCount, QOpenGLTexture::CubeMapFace cubeFace, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

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

パラメータlayerCount は、この呼び出しによってアップロード/入力されるテクスチャ配列内のレイヤーの数です。

void QOpenGLTexture::setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

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

このオーバーロードは、テクスチャの一部を更新するために使用します。パラメータxOffset,yOffset,zOffset は、テクスチャ内のテクセルオフセットを指定します。パラメータwidth,height,depth は、サブイメージの寸法を指定します。

data が指すピクセルデータの構造は、sourceFormatsourceType で指定します。ピクセルデータのアップロードは、オプションでoptions によって制御できます。

void QOpenGLTexture::setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

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

このオーバーロードは、テクスチャの一部を更新するために使用します。パラメータxOffset,yOffset,zOffset は、テクスチャ内のテクセルオフセットを指定します。パラメータwidth,height,depth はサブイメージの寸法を指定します。更新したいサブイメージのミップマップレベルはmipLevel で指定します。

data が指すピクセルデータの構造は、sourceFormatsourceType で指定します。ピクセルデータのアップロードは、オプションとしてoptions で制御できます。

void QOpenGLTexture::setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

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

このオーバーロードは、テクスチャの一部を更新するために使用します。パラメータxOffset,yOffset,zOffset は、テクスチャ内のテクセルオフセットを指定します。パラメータwidth,height およびdepth は、サブイメージの寸法を指定します。更新したいサブイメージのミップマップレベルとレイヤーは、mipLevellayer で指定します。

data が指すピクセルデータの構造は、sourceFormatsourceType で指定します。ピクセルデータのアップロードは、オプションとしてoptions で制御できます。

void QOpenGLTexture::setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::CubeMapFace face, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

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

このオーバーロードは、テクスチャの一部を更新するために使用します。パラメータxOffset,yOffset,zOffset は、テクスチャ内のテクセルオフセットを指定します。width height depth 更新したいサブイメージのミップマップレベル、レイヤー、キューブマップ面は、mipLevel,layer,face で指定します。

data が指すピクセルデータの構造は、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 が指すピクセルデータの構造は、sourceFormatsourceType で指定します。ピクセルデータのアップロードは、オプションとしてoptions で制御できます。

void QOpenGLTexture::setDepthStencilMode(QOpenGLTexture::DepthStencilMode mode)

深度/ステンシル形式を組み合わせたテクスチャを使用する場合、 この関数はテクスチャのどのコンポーネントにアクセスするかをmode に設定します。

パラメータがDepthMode に設定されている場合、シェーダからアクセスすると、通常通り、1つの float として depth コンポーネントにアクセスします。しかし、パラメータがStencilMode に設定されると、 シェーダはステンシルコンポーネントにアクセスします。

注意: この関数は Mac と OpenGL ES 2 用にビルドされた Qt には効果がありません。

depthStencilMode()も参照してください

void QOpenGLTexture::setFixedSamplePositions(bool fixed)

マルチサンプル対応テクスチャターゲットで使用するサンプル位置とサンプル数をfixed に設定します。true に設定すると、使用するサンプル位置とサンプル数は画像内のすべてのテクセルで同じになり、画像サイズや内部フォーマットに依存しません。この関数は、テクスチャ用にストレージが割り当てられる前に呼び出す必要があります。

マルチサンプリングをサポートしないターゲットでは、この関数は何の効果もありません。

デフォルト値はtrue です。

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

void QOpenGLTexture::setFormat(QOpenGLTexture::TextureFormat format)

このテクスチャオブジェクトのフォーマットをformat に設定します。 この関数は、テクスチャストレージが割り当てられる前に呼び出す必要があります。

すべてのフォーマットがサポートされているとは限らないことに注意してください。サポートされるフォーマットの正確なセットは、OpenGLの実装とバージョンに依存します。

format() およびallocateStorage()も参照してください

void QOpenGLTexture::setLayers(int layers)

ストレージを割り当てる配列layers の数を設定します。この関数は、ストレージがテクスチャ用に割り当てられる前に呼び出される必要があります。

配列レイヤーをサポートしないターゲットでは、この関数は何の効果もありません。

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

void QOpenGLTexture::setLevelOfDetailRange(float min, float max)

詳細パラメータの最小レベルをmin に、最大レベルをmax に設定します。

注意: この関数はOpenGL ES 2用にビルドされたQtには効果がありません。

levelOfDetailRange(),setMinimumLevelOfDetail(),setMaximumLevelOfDetail()も参照してください

void QOpenGLTexture::setLevelofDetailBias(float bias)

詳細レベルの偏りをbias に設定する。レベルオブディテールバイアスは、ミップマッピングレベルが変化するポイントに影響します。詳細度バイアスの値を大きくすると、画像全体がぼやけたり滑らかになったりします。値を下げると、画像全体がシャープになります。

注意: この関数は、OpenGL ES 2用にビルドされたQtには影響しません。

levelofDetailBias()も参照してください

void QOpenGLTexture::setMagnificationFilter(QOpenGLTexture::Filter filter)

拡大フィルタをfilter に設定する。

magnificationFilter(),setMinificationFilter(),setMinMagFilters()も参照

void QOpenGLTexture::setMaximumAnisotropy(float anisotropy)

OpenGL実装がGL_EXT_texture_filter_anisotropic拡張をサポートしている場合、この関数は最大異方性レベルをanisotropy に設定します。

maximumAnisotropy()も参照してください

void QOpenGLTexture::setMaximumLevelOfDetail(float value)

最大詳細レベルをvalue に設定する。 これにより、最低解像度のミップマップ(最高ミップマップレベル)の選択が制限される。デフォルト値は1000です。

注意: この関数は OpenGL ES 2 用にビルドされた Qt には影響しません。

maximumLevelOfDetail(),setMinimumLevelOfDetail(),setLevelOfDetailRange()も参照してください

void QOpenGLTexture::setMinMagFilters(QOpenGLTexture::Filter minificationFilter, QOpenGLTexture::Filter magnificationFilter)

最小化フィルタをminificationFilter に、拡大フィルタをmagnificationFilter に設定する。

minMagFilters(),setMinificationFilter(),setMagnificationFilter()も参照

void QOpenGLTexture::setMinificationFilter(QOpenGLTexture::Filter filter)

最小化に使用するフィルタをfilter に設定します。

minificationFilter(),setMagnificationFilter(),setMinMagFilters()も参照

void QOpenGLTexture::setMinimumLevelOfDetail(float value)

最小詳細レベルをvalue に設定します。 これにより、最高解像度のミップマップ(最低ミップマップレベル)の選択が制限されます。デフォルト値は-1000です。

注意: この関数は OpenGL ES 2 用にビルドされた Qt には影響しません。

minimumLevelOfDetail(),setMaximumLevelOfDetail(),setLevelOfDetailRange()も参照してください

void QOpenGLTexture::setMipBaseLevel(int baseLevel)

このテクスチャのすべてのテクスチャ参照に使用されるベースミップマップレベルをbaseLevel に設定します。

注意: この関数は OpenGL ES 2 用にビルドされた Qt には影響しません。

mipBaseLevel(),setMipMaxLevel(),setMipLevelRange()も参照してください

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

このテクスチャでテクスチャのルックアップに使用できるミップマップレベルの範囲をbaseLevel からmaxLevel の範囲に設定します。

注意: この関数は OpenGL ES 2 用にビルドされた Qt には影響しません。

setMipBaseLevel(),setMipMaxLevel(),mipLevelRange()も参照してください

void QOpenGLTexture::setMipLevels(int levels)

ミップマップをサポートするテクスチャターゲットに対して、この関数はストレージを割り当てるミップマップlevels の要求数を設定します。この関数は、ストレージがテクスチャのために割り当てられる前に呼び出されるべきです。

テクスチャターゲットがミップマップをサポートしていない場合、この関数は何の効果もありません。

mipLevels()、maximumMipLevels()、isStorageAllocated()も参照してください

void QOpenGLTexture::setMipMaxLevel(int maxLevel)

このテクスチャのすべてのテクスチャ参照に使用される最大ミップマップレベルをmaxLevel に設定します。

注意: この関数は OpenGL ES 2 用にビルドされた Qt には影響しません。

mipMaxLevel(),setMipBaseLevel(),setMipLevelRange()も参照してください

void QOpenGLTexture::setSamples(int samples)

マルチサンプル対応テクスチャターゲットにレンダリングするときに、ストレージを割り当てるsamples の数を設定します。この関数は、テクスチャ用にストレージが割り当てられる前に呼び出す必要があります。

マルチサンプリングをサポートしないターゲットに対しては、この関数は何の効果もありません。

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

void QOpenGLTexture::setSize(int width, int height = 1, int depth = 1)

このテクスチャオブジェクトの寸法をwidthheightdepth に設定します。各寸法のデフォルトは 1 です。許容される最大テクスチャサイズは、OpenGL の実装に依存します。システムがリソース不足の場合、最大サイズ未満のテクスチャにストレージを割り当てても失敗することがあります。

非2乗widthheight またはdepth が提供され、OpenGL 実装が非2乗テクスチャの繰り返しをサポートしていない場合、ラップモードは自動的にClampToEdge に設定されます。

width()、height()、depth()も参照してください

void QOpenGLTexture::setSwizzleMask(QOpenGLTexture::SwizzleComponent component, QOpenGLTexture::SwizzleValue value)

GLSLシェーダは、テクスチャ関数によって返されるvec4のコンポーネントを並べ替えることができます。また、CPU側のコードからこの並べ替えを制御できることが望ましい。これは、OpenGL 3.3以降のスウィズルマスクによって可能になりました。

テクスチャの各コンポーネントは、SwizzleValue オプションの1つにマッピングできます。

この関数はcomponent を出力value にマッピングします。

注意: この関数はMacやOpenGL ES 2用にビルドされたQtには効果がありません。

swizzleMask()も参照してください

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

パラメータr,g,b,a は、色の赤、緑、青、アルファ値を設定するための値です。

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

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

すべてのテクスチャ寸法のラップ(またはリピートモード)をmode に設定します。

wrapMode()も参照してください

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

テクスチャ寸法direction を保持します。

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

QOpenGLTexture::SwizzleValue QOpenGLTexture::swizzleMask(QOpenGLTexture::SwizzleComponent component) const

テクスチャcomponent のスウィズルマスクを返します。

setSwizzleMask()も参照してください

QOpenGLTexture::Target QOpenGLTexture::target() const

このテクスチャのバインディングターゲットを返します。

GLuint QOpenGLTexture::textureId() const

基礎となるOpenGLテクスチャオブジェクトの名前を返すか、まだ作成されていない場合は0を返す。

create(),destroy(),isCreated()も参照してください

int QOpenGLTexture::width() const

1D、2D、または 3D テクスチャの幅を返します。

height(),depth(),setSize()も参照

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

テクスチャ寸法direction のラップモードを返します。

setWrapMode()も参照してください

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