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::BindingTarget1D | 0x8068 | GL_TEXTURE_BINDING_1D と同等 |
QOpenGLTexture::BindingTarget1DArray | 0x8C1C | GL_TEXTURE_BINDING_1D_ARRAY と同等 |
QOpenGLTexture::BindingTarget2D | 0x8069 | GL_TEXTURE_BINDING_2D と同等 |
QOpenGLTexture::BindingTarget2DArray | 0x8C1D | GL_TEXTURE_BINDING_2D_ARRAY と同等 |
QOpenGLTexture::BindingTarget3D | 0x806A | GL_TEXTURE_BINDING_3D と同等 |
QOpenGLTexture::BindingTargetCubeMap | 0x8514 | GL_TEXTURE_BINDING_CUBE_MAP と同等 |
QOpenGLTexture::BindingTargetCubeMapArray | 0x900A | GL_TEXTURE_BINDING_CUBE_MAP_ARRAY と同等 |
QOpenGLTexture::BindingTarget2DMultisample | 0x9104 | GL_TEXTURE_BINDING_2D_MULTISAMPLE と同等 |
QOpenGLTexture::BindingTarget2DMultisampleArray | 0x9105 | GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY と同等 |
QOpenGLTexture::BindingTargetRectangle | 0x84F6 | GL_TEXTURE_BINDING_RECTANGLE と同等 |
QOpenGLTexture::BindingTargetBuffer | 0x8C2C | GL_TEXTURE_BINDING_BUFFER と同等 |
enum QOpenGLTexture::ComparisonFunction
この列挙型は、このテクスチャでテクスチャ比較が有効になっている場合に、どの比較演算子が使用されるかを指定します。
| 定数 | 値 | 説明 |
|---|---|---|
QOpenGLTexture::CompareLessEqual | 0x0203 | GL_LEQUAL と同等です。 |
QOpenGLTexture::CompareGreaterEqual | 0x0206 | GL_GEQUAL と同等です。 |
QOpenGLTexture::CompareLess | 0x0201 | GL_LESS と同等です。 |
QOpenGLTexture::CompareGreater | 0x0204 | GL_GREATER と同等です。 |
QOpenGLTexture::CompareEqual | 0x0202 | GL_EQUAL と同等です。 |
QOpenGLTexture::CompareNotEqual | 0x0205 | GL_NOTEQUAL と同等です。 |
QOpenGLTexture::CompareAlways | 0x0207 | GL_ALWAYS と同等です。 |
QOpenGLTexture::CompareNever | 0x0200 | GL_NEVER と同等です。 |
enum QOpenGLTexture::ComparisonMode
この列挙型は、このテクスチャのサンプリング時に使用する比較モードを指定します。
| 定数 | 値 | 説明 |
|---|---|---|
QOpenGLTexture::CompareRefToTexture | 0x884E | GL_COMPARE_REF_TO_TEXTURE と同等です。 |
QOpenGLTexture::CompareNone | 0x0000 | GL_NONE と同等です。 |
enum QOpenGLTexture::CoordinateDirection
この列挙型は、テクスチャ座標の方向として取り得る値を定義しています
| 定数 | 値 | 説明 |
|---|---|---|
QOpenGLTexture::DirectionS | 0x2802 | 水平方向。GL_TEXTURE_WRAP_S と同等です。 |
QOpenGLTexture::DirectionT | 0x2803 | 垂直方向。GL_TEXTURE_WRAP_T と同等です。 |
QOpenGLTexture::DirectionR | 0x8072 | 奥行き方向。GL_TEXTURE_WRAP_R と同等 |
enum QOpenGLTexture::CubeMapFace
この列挙型は、CubeMapの可能な面を定義します。
| 定数 | 値 | 説明 |
|---|---|---|
QOpenGLTexture::CubeMapPositiveX | 0x8515 | GL_TEXTURE_CUBE_MAP_POSITIVE_X と同等 |
QOpenGLTexture::CubeMapNegativeX | 0x8516 | GL_TEXTURE_CUBE_MAP_NEGATIVE_X と同等 |
QOpenGLTexture::CubeMapPositiveY | 0x8517 | GL_TEXTURE_CUBE_MAP_POSITIVE_Y と同等 |
QOpenGLTexture::CubeMapNegativeY | 0x8518 | GL_TEXTURE_CUBE_MAP_NEGATIVE_Y と同等 |
QOpenGLTexture::CubeMapPositiveZ | 0x8519 | GL_TEXTURE_CUBE_MAP_POSITIVE_Z と同等 |
QOpenGLTexture::CubeMapNegativeZ | 0x851A | GL_TEXTURE_CUBE_MAP_NEGATIVE_Z と同等 |
enum QOpenGLTexture::DepthStencilMode
この列挙型は、テクスチャがサンプリングされた際に、深度/ステンシルテクスチャのどのコンポーネントにアクセスするかを指定します。
| 定数 | 値 | 説明 |
|---|---|---|
QOpenGLTexture::DepthMode | 0x1902 | GL_DEPTH_COMPONENT と同等です。 |
QOpenGLTexture::StencilMode | 0x1901 | GL_STENCIL_INDEX と同等です。 |
enum QOpenGLTexture::Feature
flags QOpenGLTexture::Features
この列挙型は、テスト可能なOpenGLのテクスチャ関連機能を定義しています。
| 定数 | 値 | 説明 |
|---|---|---|
QOpenGLTexture::ImmutableStorage | 0x00000001 | 不変テクスチャストレージのサポート |
QOpenGLTexture::ImmutableMultisampleStorage | 0x00000002 | マルチサンプルターゲットを伴う不変テクスチャストレージのサポート |
QOpenGLTexture::TextureRectangle | 0x00000004 | GL_TEXTURE_RECTANGLE ターゲットのサポート |
QOpenGLTexture::TextureArrays | 0x00000008 | 配列レイヤーを持つテクスチャターゲットのサポート |
QOpenGLTexture::Texture3D | 0x00000010 | 3次元テクスチャターゲットのサポート |
QOpenGLTexture::TextureMultisample | 0x00000020 | マルチサンプル機能を備えたテクスチャターゲットのサポート |
QOpenGLTexture::TextureBuffer | 0x00000040 | データソースとして OpenGL バッファオブジェクトを使用するテクスチャのサポート |
QOpenGLTexture::TextureCubeMapArrays | 0x00000080 | キューブマップ配列テクスチャターゲットのサポート |
QOpenGLTexture::Swizzle | 0x00000100 | テクスチャコンポーネントのスウィズルマスクのサポート |
QOpenGLTexture::StencilTexturing | 0x00000200 | ステンシルテクスチャリングのサポート(つまり、GLSL シェーダー内で、深度とステンシルを組み合わせた形式のテクスチャの深度コンポーネントまたはステンシルコンポーネントを参照すること)。 |
QOpenGLTexture::AnisotropicFiltering | 0x00000400 | 異方性テクスチャフィルタリングのサポート |
QOpenGLTexture::NPOTTextures | 0x00000800 | 2の冪でないテクスチャの基本的なサポート |
QOpenGLTexture::NPOTTextureRepeat | 0x00001000 | テクスチャリピートモードを含む、2の冪でないテクスチャの完全なサポート |
QOpenGLTexture::Texture1D | 0x00002000 | 1 次元テクスチャターゲットのサポート |
QOpenGLTexture::TextureComparisonOperators | 0x00004000 | テクスチャ比較演算子のサポート |
QOpenGLTexture::TextureMipMapLevel | 0x00008000 | ベースおよび最大ミップマップレベルの設定のサポート |
Features 型は、QFlags<Feature> の typedef です。これは、Feature 値の OR 結合を格納します。
enum QOpenGLTexture::Filter
この列挙型は、QOpenGLTexture オブジェクトのフィルタリングパラメータを定義します。
| 定数 | 値 | 説明 |
|---|---|---|
QOpenGLTexture::Nearest | 0x2600 | GL_NEAREST と同等 |
QOpenGLTexture::Linear | 0x2601 | GL_LINEAR と同等 |
QOpenGLTexture::NearestMipMapNearest | 0x2700 | GL_NEAREST_MIPMAP_NEAREST と同等 |
QOpenGLTexture::NearestMipMapLinear | 0x2702 | GL_NEAREST_MIPMAP_LINEAR と同等 |
QOpenGLTexture::LinearMipMapNearest | 0x2701 | GL_LINEAR_MIPMAP_NEAREST と同等 |
QOpenGLTexture::LinearMipMapLinear | 0x2703 | GL_LINEAR_MIPMAP_LINEAR と同等 |
enum QOpenGLTexture::MipMapGeneration
この列挙型は、ミップマップの生成を制御するためのオプションを定義しています。
| 定数 | 値 | 説明 |
|---|---|---|
QOpenGLTexture::GenerateMipMaps | 0 | ミップマップを生成する |
QOpenGLTexture::DontGenerateMipMaps | 1 | ミップマップを生成しない |
enum QOpenGLTexture::PixelFormat
この列挙型は、ピクセル転送操作で使用可能なクライアント側のピクセル形式を定義します。
| 定数 | 値 | 説明 |
|---|---|---|
QOpenGLTexture::NoSourceFormat | 0 | GL_NONE と同等 |
QOpenGLTexture::Red | 0x1903 | GL_RED と同等 |
QOpenGLTexture::RG | 0x8227 | GL_RG と同等 |
QOpenGLTexture::RGB | 0x1907 | GL_RGB と同等 |
QOpenGLTexture::BGR | 0x80E0 | GL_BGR と同等 |
QOpenGLTexture::RGBA | 0x1908 | GL_RGBA と同等 |
QOpenGLTexture::BGRA | 0x80E1 | GL_BGRAと同等 |
QOpenGLTexture::Red_Integer | 0x8D94 | GL_RED_INTEGER と同等 |
QOpenGLTexture::RG_Integer | 0x8228 | GL_RG_INTEGER と同等 |
QOpenGLTexture::RGB_Integer | 0x8D98 | GL_RGB_INTEGER と同等 |
QOpenGLTexture::BGR_Integer | 0x8D9A | GL_BGR_INTEGER と同等 |
QOpenGLTexture::RGBA_Integer | 0x8D99 | GL_RGBA_INTEGER と同等 |
QOpenGLTexture::BGRA_Integer | 0x8D9B | GL_BGRA_INTEGER と同等 |
QOpenGLTexture::Stencil | 0x1901 | GL_STENCIL_INDEX と同等。Qt 5.4 で導入 |
QOpenGLTexture::Depth | 0x1902 | GL_DEPTH_COMPONENT と同等 |
QOpenGLTexture::DepthStencil | 0x84F9 | GL_DEPTH_STENCIL と同等 |
QOpenGLTexture::Alpha | 0x1906 | GL_ALPHA と同等(OpenGL ES 2 のみ) |
QOpenGLTexture::Luminance | 0x1909 | GL_LUMINANCE と同等(OpenGL ES 2 のみ) |
QOpenGLTexture::LuminanceAlpha | 0x190A | GL_LUMINANCE_ALPHA と同等(OpenGL ES 2 のみ) |
enum QOpenGLTexture::PixelType
この列挙型は、ピクセル転送操作で使用可能なピクセルデータ型を定義します
| 定数 | 値 | 説明 |
|---|---|---|
QOpenGLTexture::NoPixelType | 0 | GL_NONE と同等 |
QOpenGLTexture::Int8 | 0x1400 | GL_BYTE と同等 |
QOpenGLTexture::UInt8 | 0x1401 | GL_UNSIGNED_BYTE と同等 |
QOpenGLTexture::Int16 | 0x1402 | GL_SHORT と同等 |
QOpenGLTexture::UInt16 | 0x1403 | GL_UNSIGNED_SHORT と同等 |
QOpenGLTexture::Int32 | 0x1404 | GL_INT と同等 |
QOpenGLTexture::UInt32 | 0x1405 | GL_UNSIGNED_INT と同等 |
QOpenGLTexture::Float16 | 0x140B | GL_HALF_FLOAT と同等 |
QOpenGLTexture::Float16OES | 0x8D61 | GL_HALF_FLOAT_OES と同等 |
QOpenGLTexture::Float32 | 0x1406 | GL_FLOAT と同等 |
QOpenGLTexture::UInt32_RGB9_E5 | 0x8C3E | GL_UNSIGNED_INT_5_9_9_9_REV と同等 |
QOpenGLTexture::UInt32_RG11B10F | 0x8C3B | GL_UNSIGNED_INT_10F_11F_11F_REV と同等 |
QOpenGLTexture::UInt8_RG3B2 | 0x8032 | GL_UNSIGNED_BYTE_3_3_2 と同等 |
QOpenGLTexture::UInt8_RG3B2_Rev | 0x8362 | GL_UNSIGNED_BYTE_2_3_3_REV と同等 |
QOpenGLTexture::UInt16_RGB5A1 | 0x8034 | GL_UNSIGNED_SHORT_5_5_5_1 と同等 |
QOpenGLTexture::UInt16_RGB5A1_Rev | 0x8366 | GL_UNSIGNED_SHORT_1_5_5_5_REV と同等 |
QOpenGLTexture::UInt16_R5G6B5 | 0x8363 | GL_UNSIGNED_SHORT_5_6_5 と同等 |
QOpenGLTexture::UInt16_R5G6B5_Rev | 0x8364 | GL_UNSIGNED_SHORT_5_6_5_REV と同等 |
QOpenGLTexture::UInt16_RGBA4 | 0x8033 | GL_UNSIGNED_SHORT_4_4_4_4 と同等 |
QOpenGLTexture::UInt16_RGBA4_Rev | 0x8365 | GL_UNSIGNED_SHORT_4_4_4_4_REV と同等 |
QOpenGLTexture::UInt32_RGBA8 | 0x8035 | GL_UNSIGNED_INT_8_8_8_8 と同等 |
QOpenGLTexture::UInt32_RGBA8_Rev | 0x8367 | GL_UNSIGNED_INT_8_8_8_8_REV と同等 |
QOpenGLTexture::UInt32_RGB10A2 | 0x8036 | GL_UNSIGNED_INT_10_10_10_2 と同等 |
QOpenGLTexture::UInt32_RGB10A2_Rev | 0x8368 | GL_UNSIGNED_INT_2_10_10_10_REV と同等 |
QOpenGLTexture::UInt32_D24S8 | 0x84FA | GL_UNSIGNED_INT_24_8 と同等。Qt 5.4 で導入されました |
QOpenGLTexture::Float32_D32_UInt32_S8_X24 | 0x8DAD | GL_FLOAT_32_UNSIGNED_INT_24_8_REV と同等。Qt 5.4 で導入されました |
enum QOpenGLTexture::SwizzleComponent
この列挙型は、スウィズルマスクを割り当てることができるテクスチャの色成分を定義します。
| 定数 | 値 | 説明 |
|---|---|---|
QOpenGLTexture::SwizzleRed | 0x8E42 | 赤の成分。GL_TEXTURE_SWIZZLE_R |
QOpenGLTexture::SwizzleGreen | 0x8E43 | 緑の成分。GL_TEXTURE_SWIZZLE_G と同等です。 |
QOpenGLTexture::SwizzleBlue | 0x8E44 | 青の成分。GL_TEXTURE_SWIZZLE_B と同等 |
QOpenGLTexture::SwizzleAlpha | 0x8E45 | アルファ成分。GL_TEXTURE_SWIZZLE_A と同等 |
enum QOpenGLTexture::SwizzleValue
この列挙型は、テクスチャ・スウィズリングで使用可能なマスク値を定義します。
| 定数 | 値 | 説明 |
|---|---|---|
QOpenGLTexture::RedValue | 0x1903 | コンポーネントを赤チャンネルにマッピングします。GL_RED と同等です。 |
QOpenGLTexture::GreenValue | 0x1904 | コンポーネントを赤チャンネルにマッピングします。GL_RED と同等です。 |
QOpenGLTexture::BlueValue | 0x1905 | コンポーネントをブルーチャンネルにマッピングします。GL_BLUE と同等です |
QOpenGLTexture::AlphaValue | 0x1906 | コンポーネントをアルファチャンネルにマッピングします。GL_ALPHA と同等です |
QOpenGLTexture::ZeroValue | 0 | コンポーネントを固定値 0 にマッピングします。GL_ZERO と同等です |
QOpenGLTexture::OneValue | 1 | コンポーネントを固定値 1 にマッピングします。GL_ONE と同等です |
enum QOpenGLTexture::Target
この列挙型は、QOpenGLTexture オブジェクトのテクスチャターゲットを定義します。配列テクスチャの作成に関する詳細については、「配列テクスチャ」を参照してください。
| 定数 | 値 | 説明 |
|---|---|---|
QOpenGLTexture::Target1D | 0x0DE0 | 1次元テクスチャ。GL_TEXTURE_1D と同等です。 |
QOpenGLTexture::Target1DArray | 0x8C18 | 1次元テクスチャの配列。GL_TEXTURE_1D_ARRAY と同等です。 |
QOpenGLTexture::Target2D | 0x0DE1 | 2次元テクスチャ。GL_TEXTURE_2D と同等。 |
QOpenGLTexture::Target2DArray | 0x8C1A | 2次元テクスチャの配列。GL_TEXTURE_2D_ARRAY と同等。 |
QOpenGLTexture::Target3D | 0x806F | 3次元テクスチャ。GL_TEXTURE_3D と同等。 |
QOpenGLTexture::TargetCubeMap | 0x8513 | キューブマップテクスチャ。GL_TEXTURE_CUBE_MAP と同等です。 |
QOpenGLTexture::TargetCubeMapArray | 0x9009 | キューブマップテクスチャの配列。GL_TEXTURE_CUBE_MAP_ARRAYと同等 |
QOpenGLTexture::Target2DMultisample | 0x9100 | マルチサンプルに対応した2次元テクスチャ。GL_TEXTURE_2D_MULTISAMPLE と同等 |
QOpenGLTexture::Target2DMultisampleArray | 0x9102 | マルチサンプルに対応した2次元テクスチャの配列。GL_TEXTURE_2D_MULTISAMPLE_ARRAY と同等 |
QOpenGLTexture::TargetRectangle | 0x84F5 | 長方形の2次元テクスチャ。GL_TEXTURE_RECTANGLEと同等 |
QOpenGLTexture::TargetBuffer | 0x8C2A | OpenGL バッファオブジェクトからのデータを持つテクスチャ。GL_TEXTURE_BUFFER と同等 |
enum QOpenGLTexture::TextureFormat
この列挙型は、使用可能なテクスチャ形式を定義しています。OpenGLの実装によっては、これらのうちの一部のみがサポートされている場合があります。
| 定数 | 値 | 説明 |
|---|---|---|
QOpenGLTexture::NoFormat | 0 | GL_NONE と同等 |
QOpenGLTexture::R8_UNorm | 0x8229 | GL_R8 と同等 |
QOpenGLTexture::RG8_UNorm | 0x822B | GL_RG8 と同等 |
QOpenGLTexture::RGB8_UNorm | 0x8051 | GL_RGB8 と同等 |
QOpenGLTexture::RGBA8_UNorm | 0x8058 | GL_RGBA8 と同等 |
QOpenGLTexture::R16_UNorm | 0x822A | GL_R16 と同等 |
QOpenGLTexture::RG16_UNorm | 0x822C | GL_RG16 と同等 |
QOpenGLTexture::RGB16_UNorm | 0x8054 | GL_RGB16 と同等 |
QOpenGLTexture::RGBA16_UNorm | 0x805B | GL_RGBA16 と同等 |
QOpenGLTexture::R8_SNorm | 0x8F94 | GL_R8_SNORM と同等 |
QOpenGLTexture::RG8_SNorm | 0x8F95 | GL_RG8_SNORM と同等 |
QOpenGLTexture::RGB8_SNorm | 0x8F96 | GL_RGB8_SNORM と同等 |
QOpenGLTexture::RGBA8_SNorm | 0x8F97 | GL_RGBA8_SNORM と同等 |
QOpenGLTexture::R16_SNorm | 0x8F98 | GL_R16_SNORM と同等 |
QOpenGLTexture::RG16_SNorm | 0x8F99 | GL_RG16_SNORM と同等 |
QOpenGLTexture::RGB16_SNorm | 0x8F9A | GL_RGB16_SNORM と同等 |
QOpenGLTexture::RGBA16_SNorm | 0x8F9B | GL_RGBA16_SNORM と同等 |
QOpenGLTexture::R8U | 0x8232 | GL_R8UI と同等 |
QOpenGLTexture::RG8U | 0x8238 | GL_RG8UI と同等 |
QOpenGLTexture::RGB8U | 0x8D7D | GL_RGB8UI と同等 |
QOpenGLTexture::RGBA8U | 0x8D7C | GL_RGBA8UI と同等 |
QOpenGLTexture::R16U | 0x8234 | GL_R16UI と同等 |
QOpenGLTexture::RG16U | 0x823A | GL_RG16UI と同等 |
QOpenGLTexture::RGB16U | 0x8D77 | GL_RGB16UI と同等 |
QOpenGLTexture::RGBA16U | 0x8D76 | GL_RGBA16UI と同等 |
QOpenGLTexture::R32U | 0x8236 | GL_R32UI と同等 |
QOpenGLTexture::RG32U | 0x823C | GL_RG32UI と同等 |
QOpenGLTexture::RGB32U | 0x8D71 | GL_RGB32UI と同等 |
QOpenGLTexture::RGBA32U | 0x8D70 | GL_RGBA32UI と同等 |
QOpenGLTexture::R8I | 0x8231 | GL_R8I と同等 |
QOpenGLTexture::RG8I | 0x8237 | GL_RG8I と同等 |
QOpenGLTexture::RGB8I | 0x8D8F | GL_RGB8I と同等 |
QOpenGLTexture::RGBA8I | 0x8D8E | GL_RGBA8I と同等 |
QOpenGLTexture::R16I | 0x8233 | GL_R16I と同等 |
QOpenGLTexture::RG16I | 0x8239 | GL_RG16I と同等 |
QOpenGLTexture::RGB16I | 0x8D89 | GL_RGB16I と同等 |
QOpenGLTexture::RGBA16I | 0x8D88 | GL_RGBA16I と同等 |
QOpenGLTexture::R32I | 0x8235 | GL_R32I と同等 |
QOpenGLTexture::RG32I | 0x823B | GL_RG32I と同等 |
QOpenGLTexture::RGB32I | 0x8D83 | GL_RGB32I と同等 |
QOpenGLTexture::RGBA32I | 0x8D82 | GL_RGBA32I と同等 |
QOpenGLTexture::R16F | 0x822D | GL_R16F と同等 |
QOpenGLTexture::RG16F | 0x822F | GL_RG16F と同等 |
QOpenGLTexture::RGB16F | 0x881B | GL_RGB16F と同等 |
QOpenGLTexture::RGBA16F | 0x881A | GL_RGBA16F と同等 |
QOpenGLTexture::R32F | 0x822E | GL_R32F と同等 |
QOpenGLTexture::RG32F | 0x8230 | GL_RG32F と同等 |
QOpenGLTexture::RGB32F | 0x8815 | GL_RGB32F と同等 |
QOpenGLTexture::RGBA32F | 0x8814 | GL_RGBA32F と同等 |
QOpenGLTexture::RGB9E5 | 0x8C3D | GL_RGB9_E5 と同等 |
QOpenGLTexture::RG11B10F | 0x8C3A | GL_R11F_G11F_B10F と同等 |
QOpenGLTexture::RG3B2 | 0x2A10 | GL_R3_G3_B2 と同等 |
QOpenGLTexture::R5G6B5 | 0x8D62 | GL_RGB565 と同等 |
QOpenGLTexture::RGB5A1 | 0x8057 | GL_RGB5_A1 と同等 |
QOpenGLTexture::RGBA4 | 0x8056 | GL_RGBA4 と同等 |
QOpenGLTexture::RGB10A2 | 0x906F | GL_RGB10_A2UI と同等 |
QOpenGLTexture::D16 | 0x81A5 | GL_DEPTH_COMPONENT16 と同等 |
QOpenGLTexture::D24 | 0x81A6 | GL_DEPTH_COMPONENT24 と同等 |
QOpenGLTexture::D24S8 | 0x88F0 | GL_DEPTH24_STENCIL8 と同等 |
QOpenGLTexture::D32 | 0x81A7 | GL_DEPTH_COMPONENT32 と同等 |
QOpenGLTexture::D32F | 0x8CAC | GL_DEPTH_COMPONENT32F と同等 |
QOpenGLTexture::D32FS8X24 | 0x8CAD | GL_DEPTH32F_STENCIL8 と同等 |
QOpenGLTexture::S8 | 0x8D48 | GL_STENCIL_INDEX8 と同等。Qt 5.4 で導入されました |
QOpenGLTexture::RGB_DXT1 | 0x83F0 | GL_COMPRESSED_RGB_S3TC_DXT1_EXT と同等 |
QOpenGLTexture::RGBA_DXT1 | 0x83F1 | GL_COMPRESSED_RGBA_S3TC_DXT1_EXT と同等 |
QOpenGLTexture::RGBA_DXT3 | 0x83F2 | GL_COMPRESSED_RGBA_S3TC_DXT3_EXT と同等 |
QOpenGLTexture::RGBA_DXT5 | 0x83F3 | GL_COMPRESSED_RGBA_S3TC_DXT5_EXT と同等 |
QOpenGLTexture::R_ATI1N_UNorm | 0x8DBB | GL_COMPRESSED_RED_RGTC1 と同等 |
QOpenGLTexture::R_ATI1N_SNorm | 0x8DBC | GL_COMPRESSED_SIGNED_RED_RGTC1 と同等 |
QOpenGLTexture::RG_ATI2N_UNorm | 0x8DBD | GL_COMPRESSED_RG_RGTC2 と同等 |
QOpenGLTexture::RG_ATI2N_SNorm | 0x8DBE | GL_COMPRESSED_SIGNED_RG_RGTC2 と同等 |
QOpenGLTexture::RGB_BP_UNSIGNED_FLOAT | 0x8E8F | GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB と同等 |
QOpenGLTexture::RGB_BP_SIGNED_FLOAT | 0x8E8E | GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB と同等 |
QOpenGLTexture::RGB_BP_UNorm | 0x8E8C | GL_COMPRESSED_RGBA_BPTC_UNORM_ARB と同等 |
QOpenGLTexture::R11_EAC_UNorm | 0x9270 | GL_COMPRESSED_R11_EAC と同等 |
QOpenGLTexture::R11_EAC_SNorm | 0x9271 | GL_COMPRESSED_SIGNED_R11_EAC と同等 |
QOpenGLTexture::RG11_EAC_UNorm | 0x9272 | GL_COMPRESSED_RG11_EAC と同等 |
QOpenGLTexture::RG11_EAC_SNorm | 0x9273 | GL_COMPRESSED_SIGNED_RG11_EAC と同等 |
QOpenGLTexture::RGB8_ETC2 | 0x9274 | GL_COMPRESSED_RGB8_ETC2 と同等 |
QOpenGLTexture::SRGB8_ETC2 | 0x9275 | GL_COMPRESSED_SRGB8_ETC2 と同等 |
QOpenGLTexture::RGB8_PunchThrough_Alpha1_ETC2 | 0x9276 | GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 と同等 |
QOpenGLTexture::SRGB8_PunchThrough_Alpha1_ETC2 | 0x9277 | GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 と同等 |
QOpenGLTexture::RGBA8_ETC2_EAC | 0x9278 | GL_COMPRESSED_RGBA8_ETC2_EAC と同等 |
QOpenGLTexture::SRGB8_Alpha8_ETC2_EAC | 0x9279 | GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC と同等 |
QOpenGLTexture::RGB8_ETC1 | 0x8D64 | GL_ETC1_RGB8_OES と同等 |
QOpenGLTexture::RGBA_ASTC_4x4 | 0x93B0 | GL_COMPRESSED_RGBA_ASTC_4x4_KHR と同等 |
QOpenGLTexture::RGBA_ASTC_5x4 | 0x93B1 | GL_COMPRESSED_RGBA_ASTC_5x4_KHR と同等 |
QOpenGLTexture::RGBA_ASTC_5x5 | 0x93B2 | GL_COMPRESSED_RGBA_ASTC_5x5_KHR と同等 |
QOpenGLTexture::RGBA_ASTC_6x5 | 0x93B3 | GL_COMPRESSED_RGBA_ASTC_6x5_KHR と同等 |
QOpenGLTexture::RGBA_ASTC_6x6 | 0x93B4 | GL_COMPRESSED_RGBA_ASTC_6x6_KHR と同等 |
QOpenGLTexture::RGBA_ASTC_8x5 | 0x93B5 | GL_COMPRESSED_RGBA_ASTC_8x5_KHR と同等 |
QOpenGLTexture::RGBA_ASTC_8x6 | 0x93B6 | GL_COMPRESSED_RGBA_ASTC_8x6_KHR と同等 |
QOpenGLTexture::RGBA_ASTC_8x8 | 0x93B7 | GL_COMPRESSED_RGBA_ASTC_8x8_KHR と同等 |
QOpenGLTexture::RGBA_ASTC_10x5 | 0x93B8 | GL_COMPRESSED_RGBA_ASTC_10x5_KHR と同等 |
QOpenGLTexture::RGBA_ASTC_10x6 | 0x93B9 | GL_COMPRESSED_RGBA_ASTC_10x6_KHR と同等 |
QOpenGLTexture::RGBA_ASTC_10x8 | 0x93BA | GL_COMPRESSED_RGBA_ASTC_10x8_KHR と同等 |
QOpenGLTexture::RGBA_ASTC_10x10 | 0x93BB | GL_COMPRESSED_RGBA_ASTC_10x10_KHR と同等 |
QOpenGLTexture::RGBA_ASTC_12x10 | 0x93BC | GL_COMPRESSED_RGBA_ASTC_12x10_KHR と同等 |
QOpenGLTexture::RGBA_ASTC_12x12 | 0x93BD | GL_COMPRESSED_RGBA_ASTC_12x12_KHR と同等 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_4x4 | 0x93D0 | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR と同等 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x4 | 0x93D1 | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR と同等 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x5 | 0x93D2 | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR と同等 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x5 | 0x93D3 | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR と同等 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x6 | 0x93D4 | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR と同等 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x5 | 0x93D5 | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR と同等 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x6 | 0x93D6 | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR と同等 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x8 | 0x93D7 | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR と同等 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x5 | 0x93D8 | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR と同等 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x6 | 0x93D9 | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR と同等 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x8 | 0x93DA | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR と同等 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x10 | 0x93DB | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR と同等 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x10 | 0x93DC | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR と同等 |
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x12 | 0x93DD | GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR と同等 |
QOpenGLTexture::SRGB8 | 0x8C41 | GL_SRGB8 と同等 |
QOpenGLTexture::SRGB8_Alpha8 | 0x8C43 | GL_SRGB8_ALPHA8 と同等 |
QOpenGLTexture::SRGB_DXT1 | 0x8C4C | GL_COMPRESSED_SRGB_S3TC_DXT1_EXT と同等 |
QOpenGLTexture::SRGB_Alpha_DXT1 | 0x8C4D | GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT と同等 |
QOpenGLTexture::SRGB_Alpha_DXT3 | 0x8C4E | GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT と同等 |
QOpenGLTexture::SRGB_Alpha_DXT5 | 0x8C4F | GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT と同等 |
QOpenGLTexture::SRGB_BP_UNorm | 0x8E8D | GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB と同等 |
QOpenGLTexture::DepthFormat | 0x1902 | GL_DEPTH_COMPONENT と同等(OpenGL ES 3 または OES_depth_texture を含む ES 2 のみ) |
QOpenGLTexture::AlphaFormat | 0x1906 | GL_ALPHA と同等(OpenGL ES 2 のみ) |
QOpenGLTexture::RGBFormat | 0x1907 | GL_RGB と同等(OpenGL ES 2 のみ) |
QOpenGLTexture::RGBAFormat | 0x1908 | GL_RGBA と同等(OpenGL ES 2 のみ) |
QOpenGLTexture::LuminanceFormat | 0x1909 | GL_LUMINANCE と同等(OpenGL ES 2 のみ) |
QOpenGLTexture::LuminanceAlphaFormat | 0x190A | GL_LUMINANCE_ALPHA と同等(OpenGL ES 2 のみ) |
enum QOpenGLTexture::TextureUnitReset
この列挙型は、テクスチャユニットの有効化を制御するためのオプションを定義します。
| 定数 | 値 | 説明 |
|---|---|---|
QOpenGLTexture::ResetTextureUnit | 0 | 直前にアクティブだったテクスチャユニットがリセットされます |
QOpenGLTexture::DontResetTextureUnit | 1 | 以前にアクティブだったテクスチャユニットはリセットされません |
enum QOpenGLTexture::WrapMode
この列挙型は、テクスチャ座標のラップモードとして可能な値を定義します。
| 定数 | 値 | 説明 |
|---|---|---|
QOpenGLTexture::Repeat | 0x2901 | テクスチャ座標が繰り返されます。GL_REPEAT と同等です。 |
QOpenGLTexture::MirroredRepeat | 0x8370 | テクスチャ座標が 0 と 1 を軸に反転されます。GL_MIRRORED_REPEAT と同等です。 |
QOpenGLTexture::ClampToEdge | 0x812F | テクスチャ座標を [0,1] にクリップします。GL_CLAMP_TO_EDGE と同等です |
QOpenGLTexture::ClampToBorder | 0x812D | ClampToEdgeと同様ですが、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.