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(...);
OpenGL とQImage がy軸に反対方向を使用するため、QImage は垂直方向にミラーリングされていることに注意してください。
メンバ型ドキュメント
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
この enum は、このテクスチャをサンプリングするときに使用される比較モードを指定します。
定数 | 値 | 説明 |
---|---|---|
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 テクスチャターゲットにバインドでき、image に含まれるピクセルデータを含む QOpenGLTexture オブジェクトを作成します。ミップマップのチェーンを生成させたい場合は、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 配列タイプのターゲットの場合、これは 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の実装とバージョンがテクスチャ機能feature をサポートしている場合、true
を返します。
int QOpenGLTexture::height() const
2D または 3D テクスチャの高さを返します。
width()、depth()、setSize()も参照 。
bool QOpenGLTexture::isAutoMipMapGenerationEnabled() const
このテクスチャオブジェクトで自動ミップマップ生成が有効になっているかどうかを返します。
setAutoMipMapGenerationEnabled() およびgenerateMipMaps()も参照して ください。
bool QOpenGLTexture::isBound() const
このテクスチャが現在アクティブなテクスチャユニットの対応するターゲットにバインドされている場合、true
を返します。
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()も参照してください 。
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 テクスチャオブジェクトの名前を返します。
create()、destroy()、isCreated()も参照して ください。
int QOpenGLTexture::width() const
1D、2D、3D テクスチャの幅を返します。
height()、depth()、setSize() も参照 。
QOpenGLTexture::WrapMode QOpenGLTexture::wrapMode(QOpenGLTexture::CoordinateDirection direction) const
テクスチャ次元direction のラップモードを返します。
setWrapMode()も参照して ください。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。