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::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
この enum は、テスト可能な 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_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_1 と同等。 |
QOpenGLTexture::UInt16_RGB5A1_Rev | 0x8366 | GL_UNSIGNED_SHORT_1_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 と同等。 |
QOpenGLTexture::UInt16_RGBA4_Rev | 0x8365 | GL_UNSIGNED_SHORT_4_4_4_REVと同等。 |
QOpenGLTexture::UInt32_RGBA8 | 0x8035 | GL_UNSIGNED_INT_8_8_8 と同等。 |
QOpenGLTexture::UInt32_RGBA8_Rev | 0x8367 | GL_UNSIGNED_INT_8_8_REV と同等。 |
QOpenGLTexture::UInt32_RGB10A2 | 0x8036 | GL_UNSIGNED_INT_10_10_2 と同等です。 |
QOpenGLTexture::UInt32_RGB10A2_Rev | 0x8368 | GL_UNSIGNED_INT_2_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_GREEN と同じ。 |
QOpenGLTexture::BlueValue | 0x1905 | コンポーネントを青チャンネルにマップします。GL_BLUE に相当します。 |
QOpenGLTexture::AlphaValue | 0x1906 | コンポーネントをアルファチャンネルにマップします。GL_ALPHA と同じ。 |
QOpenGLTexture::ZeroValue | 0 | コンポーネントを固定値 0 にマップする。 |
QOpenGLTexture::OneValue | 1 | コンポーネントを固定値 1 にマップする。 |
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に相当します(OES_depth_textureを持つOpenGL ES 3または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() オーバーロードのいずれかを使用してピクセルデータをアップロードできます。
注意: 不変テクスチャストレージが使用できない場合、デフォルトのピクセルフォーマットとピクセルタイプが使用され、変更可能なストレージが作成されます。これは、特定の OpenGL ES 実装(特に、OpenGL ES 2)で特に有用であり、割り当て時に使用されるピクセル・フォーマットとピクセル・タイプは、後続のsetData() 呼び出しに渡されるフォーマットとタイプと完全に一致する必要があります。
isStorageAllocated() およびsetData()も参照 。
void QOpenGLTexture::allocateStorage(QOpenGLTexture::PixelFormat pixelFormat, QOpenGLTexture::PixelType pixelType)
フォーマット、寸法、ミップマップレベル、配列レイヤー、およびキューブマップ面を考慮して、このテクスチャオブジェクトのためのサーバー側ストレージを割り当てます。
ストレージが割り当てられると、これらのプロパティを変更することはできなくなります。
サポートされている場合、QOpenGLTexture は不変テクスチャストレージを使用します。しかし、不変のテクスチャストレージが利用できない場合、指定されたpixelFormat とpixelType は、変更可能なストレージを割り当てるために使用されます。特定の OpenGL 実装(特に、OpenGL ES 2)では、これらは、後続のsetData() 呼び出しに渡される形式と型に完全に一致しなければならないことに注意してください。
一旦ストレージがテクスチャのために割り当てられると、ピクセルデータはsetData() のオーバーロードのいずれかを介してアップロードすることができます。
isStorageAllocated() およびsetData()も参照してください 。
void QOpenGLTexture::bind()
このテクスチャを現在アクティブなテクスチャユニットにバインドし、レンダリングの準備をします。この実装では、EXT_direct_state_access 拡張が利用可能な場合はそれを利用し、そうでない場合はそれをシミュレートするので、QOpenGLTexture オブジェクトを変更するためにバインドする必要はないことに注意してください。
release()も参照 。
void QOpenGLTexture::bind(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit)
このテクスチャをレンダリング準備の整ったテクスチャユニットunit にバインドします。実装では、EXT_direct_state_access 拡張が利用可能な場所ではそれを利用し、利用できない場所ではそれをシミュレートするので、QOpenGLTexture オブジェクトを変更するためにバインドする必要はないことに注意してください。
パラメータreset がtrue
の場合、この関数はアクティブなユニットを、入力時にアクティブだったテクスチャユニットに戻す。
release()も参照 。
QColor QOpenGLTexture::borderColor() const
このテクスチャの borderColor を返します。
setBorderColor()も参照してください 。
void QOpenGLTexture::borderColor(float *border) const
border が指す配列の最初の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
このテクスチャの面の数を返します。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 に設定してからミップマップチェインを生成することで実現します。resetBaseLevel がtrue
の場合、テクスチャのベースレベルは以前の値にリセットされます。
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 からアンバインドします。
パラメータreset がtrue
の場合、この関数はアクティブなユニットを、入力時にアクティブだったテクスチャユニットに戻します。
int QOpenGLTexture::samples() const
このテクスチャのマルチサンプルサンプルポイントの数を返します。このテクスチャに対してまだストレージが割り当てられていない場合、この関数は要求されたサンプル数を返します。
マルチサンプリングをサポートしていないテクスチャターゲットの場合、これは 0 を返します。
setSamples() およびisStorageAllocated()も参照してください 。
void QOpenGLTexture::setAutoMipMapGenerationEnabled(bool enabled)
enabled がtrue
の場合、レベル 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)
圧縮ピクセル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 に設定されている場合、シェーダからアクセスすると、通常通り、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)
このテクスチャオブジェクトの寸法をwidth 、height 、depth に設定します。各寸法のデフォルトは 1 です。許容される最大テクスチャサイズは、OpenGL の実装に依存します。システムがリソース不足の場合、最大サイズ未満のテクスチャにストレージを割り当てても失敗することがあります。
非2乗width 、height またはdepth が提供され、OpenGL 実装が非2乗テクスチャの繰り返しをサポートしていない場合、ラップモードは自動的にClampToEdge に設定されます。
width()、height()、depth()も参照してください 。
void QOpenGLTexture::setSwizzleMask(QOpenGLTexture::SwizzleComponent component, QOpenGLTexture::SwizzleValue value)
GLSLシェーダは、テクスチャ関数によって返されるvec4のコンポーネントを並べ替えることができます。また、CPU側のコードからこの並べ替えを制御できることが望ましい。これは、OpenGL 3.3以降のスウィズルマスクによって可能になりました。
テクスチャの各コンポーネントは、SwizzleValue オプションの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.