class QOpenGLTexture#

QOpenGLTexture封装了一个OpenGL纹理对象。 更多

摘要#

方法#

静态函数#

注意

本文档可能包含从 C++ 自动翻译到 Python 的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译有误,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建门票的方式告知我们。

详细描述#

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 轴方向相反的事实。另一个选择是转换您的纹理坐标。

class Target#

此枚举定义了 QOpenGLTexture 对象的纹理目标。有关创建数组纹理的更多信息,请参阅数组纹理。

常量

描述

QOpenGLTexture.Target1D

一维纹理。相当于 GL_TEXTURE_1D。

QOpenGLTexture.Target1DArray

一维纹理数组。相当于 GL_TEXTURE_1D_ARRAY。

QOpenGLTexture.Target2D

二维纹理。相当于 GL_TEXTURE_2D。

QOpenGLTexture.Target2DArray

二维纹理数组。相当于 GL_TEXTURE_2D_ARRAY。

QOpenGLTexture.Target3D

三维纹理。相当于 GL_TEXTURE_3D。

QOpenGLTexture.TargetCubeMap

立方体贴图纹理。相当于 GL_TEXTURE_CUBE_MAP。

QOpenGLTexture.TargetCubeMapArray

立方体贴图纹理数组。相当于 GL_TEXTURE_CUBE_MAP_ARRAY。

QOpenGLTexture.Target2DMultisample

带有多采样支持的二维纹理。相当于 GL_TEXTURE_2D_MULTISAMPLE。

QOpenGLTexture.Target2DMultisampleArray

带有多采样支持的二维纹理数组。相当于 GL_TEXTURE_2D_MULTISAMPLE_ARRAY。

QOpenGLTexture.TargetRectangle

矩形单维二维纹理。相当于 GL_TEXTURE_RECTANGLE。

QOpenGLTexture.TargetBuffer

从 OpenGL 缓冲对象取数据的纹理。相当于 GL_TEXTURE_BUFFER。

class BindingTarget#

此枚举定义了纹理单元的可能绑定目标。

常量

描述

QOpenGLTexture.BindingTarget1D

相当于 GL_TEXTURE_BINDING_1D。

QOpenGLTexture.BindingTarget1DArray

相当于 GL_TEXTURE_BINDING_1D_ARRAY。

QOpenGLTexture.BindingTarget2D

相当于 GL_TEXTURE_BINDING_2D。

QOpenGLTexture.BindingTarget2DArray

相当于 GL_TEXTURE_BINDING_2D_ARRAY。

QOpenGLTexture.BindingTarget3D

相当于 GL_TEXTURE_BINDING_3D。

QOpenGLTexture.BindingTargetCubeMap

相当于 GL_TEXTURE_BINDING_CUBE_MAP。

QOpenGLTexture.BindingTargetCubeMapArray

相当于 GL_TEXTURE_BINDING_CUBE_MAP_ARRAY。

QOpenGLTexture.BindingTarget2DMultisample

相当于 GL_TEXTURE_BINDING_2D_MULTISAMPLE。

QOpenGLTexture.BindingTarget2DMultisampleArray

相当于 GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY。

QOpenGLTexture.BindingTargetRectangle

相当于 GL_TEXTURE_BINDING_RECTANGLE。

QOpenGLTexture.BindingTargetBuffer

相当于 GL_TEXTURE_BINDING_BUFFER。

class MipMapGeneration#

此枚举定义了控制米泊生成选项。

常量

描述

QOpenGLTexture.GenerateMipMaps

应该生成米泊。

QOpenGLTexture.DontGenerateMipMaps

不应该生成米泊。

class TextureUnitReset#

此枚举定义了控制纹理单元激活的选项。

常量

描述

QOpenGLTexture.ResetTextureUnit

将重置先前的活动纹理单元。

QOpenGLTexture.DontResetTextureUnit

不会重置先前的活动纹理单元。

class TextureFormat#

此枚举定义了可能的纹理格式。根据您的OpenGL实现,可能只支持其中的一小部分。

常量

描述

QOpenGLTexture.NoFormat

等同于GL_NONE。

QOpenGLTexture.R8_UNorm

等同于GL_R8。

QOpenGLTexture.RG8_UNorm

等同于GL_RG8。

QOpenGLTexture.RGB8_UNorm

等同于GL_RGB8。

QOpenGLTexture.RGBA8_UNorm

等同于GL_RGBA8。

QOpenGLTexture.R16_UNorm

等同于GL_R16。

QOpenGLTexture.RG16_UNorm

等同于GL_RG16。

QOpenGLTexture.RGB16_UNorm

等同于GL_RGB16。

QOpenGLTexture.RGBA16_UNorm

等同于GL_RGBA16。

QOpenGLTexture.R8_SNorm

等同于GL_R8_SNORM。

QOpenGLTexture.RG8_SNorm

等同于GL_RG8_SNORM。

QOpenGLTexture.RGB8_SNorm

等同于GL_RGB8_SNORM。

QOpenGLTexture.RGBA8_SNorm

等同于GL_RGBA8_SNORM。

QOpenGLTexture.R16_SNorm

等同于GL_R16_SNORM。

QOpenGLTexture.RG16_SNorm

等同于GL_RG16_SNORM。

QOpenGLTexture.RGB16_SNorm

等同于GL_RGB16_SNORM。

QOpenGLTexture.RGBA16_SNorm

等同于GL_RGBA16_SNORM。

QOpenGLTexture.R8U

等同于GL_R8UI。

QOpenGLTexture.RG8U

等同于GL_RG8UI。

QOpenGLTexture.RGB8U

等同于GL_RGB8UI。

QOpenGLTexture.RGBA8U

等同于GL_RGBA8UI。

QOpenGLTexture.R16U

等同于GL_R16UI。

QOpenGLTexture.RG16U

等同于GL_RG16UI。

QOpenGLTexture.RGB16U

等同于GL_RGB16UI。

QOpenGLTexture.RGBA16U

等同于GL_RGBA16UI。

QOpenGLTexture.R32U

等同于GL_R32UI。

QOpenGLTexture.RG32U

等同于GL_RG32UI。

QOpenGLTexture.RGB32U

等同于GL_RGB32UI。

QOpenGLTexture.RGBA32U

等同于GL_RGBA32UI。

QOpenGLTexture.R8I

等同于GL_R8I。

QOpenGLTexture.RG8I

等同于GL_RG8I。

QOpenGLTexture.RGB8I

等同于GL_RGB8I。

QOpenGLTexture.RGBA8I

等同于GL_RGBA8I。

QOpenGLTexture.R16I

等同于GL_R16I。

QOpenGLTexture.RG16I

等同于GL_RG16I。

QOpenGLTexture.RGB16I

等同于GL_RGB16I。

QOpenGLTexture.RGBA16I

等同于GL_RGBA16I。

QOpenGLTexture.R32I

等同于GL_R32I。

QOpenGLTexture.RG32I

等同于GL_RG32I。

QOpenGLTexture.RGB32I

等同于GL_RGB32I。

QOpenGLTexture.RGBA32I

等同于GL_RGBA32I。

QOpenGLTexture.R16F

等同于GL_R16F。

QOpenGLTexture.RG16F

等同于GL_RG16F。

QOpenGLTexture.RGB16F

等同于GL_RGB16F。

QOpenGLTexture.RGBA16F

等同于GL_RGBA16F。

QOpenGLTexture.R32F

等同于GL_R32F。

QOpenGLTexture.RG32F

等同于GL_RG32F。

QOpenGLTexture.RGB32F

等同于GL_RGB32F。

QOpenGLTexture.RGBA32F

等同于GL_RGBA32F。

QOpenGLTexture.RGB9E5

等同于GL_RGB9_E5。

QOpenGLTexture.RG11B10F

等同于GL_R11F_G11F_B10F。

QOpenGLTexture.RG3B2

等同于GL_R3_G3_B2。

QOpenGLTexture.R5G6B5

等同于GL_RGB565。

QOpenGLTexture.RGB5A1

等同于GL_RGB5_A1。

QOpenGLTexture.RGBA4

等同于GL_RGBA4。

QOpenGLTexture.RGB10A2

等同于GL_RGB10_A2UI。

QOpenGLTexture.D16

等同于GL_DEPTH_COMPONENT16。

QOpenGLTexture.D24

等同于GL_DEPTH_COMPONENT24。

QOpenGLTexture.D24S8

等同于GL_DEPTH24_STENCIL8。

QOpenGLTexture.D32

等同于GL_DEPTH_COMPONENT32。

QOpenGLTexture.D32F

等效于GL_DEPTH_COMPONENT32F

QOpenGLTexture.D32FS8X24

等效于GL_DEPTH32F_STENCIL8

QOpenGLTexture.S8

等效于GL_STENCIL_INDEX8。自Qt 5.4起引入。

QOpenGLTexture.RGB_DXT1

等效于GL_COMPRESSED_RGB_S3TC_DXT1_EXT

QOpenGLTexture.RGBA_DXT1

等效于GL_COMPRESSED_RGBA_S3TC_DXT1_EXT

QOpenGLTexture.RGBA_DXT3

等效于GL_COMPRESSED_RGBA_S3TC_DXT3_EXT

QOpenGLTexture.RGBA_DXT5

等效于GL_COMPRESSED_RGBA_S3TC_DXT5_EXT

QOpenGLTexture.R_ATI1N_UNorm

等效于GL_COMPRESSED_RED_RGTC1

QOpenGLTexture.R_ATI1N_SNorm

等效于GL_COMPRESSED_SIGNED_RED_RGTC1

QOpenGLTexture.RG_ATI2N_UNorm

等效于GL_COMPRESSED_RG_RGTC2

QOpenGLTexture.RG_ATI2N_SNorm

等效于GL_COMPRESSED_SIGNED_RG_RGTC2

QOpenGLTexture.RGB_BP_UNSIGNED_FLOAT

等效于GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB

QOpenGLTexture.RGB_BP_SIGNED_FLOAT

等效于GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB

QOpenGLTexture.RGB_BP_UNorm

等效于GL_COMPRESSED_RGBA_BPTC_UNORM_ARB

QOpenGLTexture.R11_EAC_UNorm

等效于GL_COMPRESSED_R11_EAC

QOpenGLTexture.R11_EAC_SNorm

等效于GL_COMPRESSED_SIGNED_R11_EAC

QOpenGLTexture.RG11_EAC_UNorm

等效于GL_COMPRESSED_RG11_EAC

QOpenGLTexture.RG11_EAC_SNorm

等效于GL_COMPRESSED_SIGNED_RG11_EAC

QOpenGLTexture.RGB8_ETC2

等效于GL_COMPRESSED_RGB8_ETC2

QOpenGLTexture.SRGB8_ETC2

等效于GL_COMPRESSED_SRGB8_ETC2

QOpenGLTexture.RGB8_PunchThrough_Alpha1_ETC2

等效于GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2

QOpenGLTexture.SRGB8_PunchThrough_Alpha1_ETC2

等效于GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2

QOpenGLTexture.RGBA8_ETC2_EAC

等效于GL_COMPRESSED_RGBA8_ETC2_EAC

QOpenGLTexture.SRGB8_Alpha8_ETC2_EAC

等效于GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC

QOpenGLTexture.RGB8_ETC1

等效于GL_ETC1_RGB8_OES

QOpenGLTexture.RGBA_ASTC_4x4

等效于GL_COMPRESSED_RGBA_ASTC_4x4_KHR

QOpenGLTexture.RGBA_ASTC_5x4

等效于GL_COMPRESSED_RGBA_ASTC_5x4_KHR

QOpenGLTexture.RGBA_ASTC_5x5

等效于GL_COMPRESSED_RGBA_ASTC_5x5_KHR

QOpenGLTexture.RGBA_ASTC_6x5

等效于GL_COMPRESSED_RGBA_ASTC_6x5_KHR

QOpenGLTexture.RGBA_ASTC_6x6

等效于GL_COMPRESSED_RGBA_ASTC_6x6_KHR

QOpenGLTexture.RGBA_ASTC_8x5

等效于GL_COMPRESSED_RGBA_ASTC_8x5_KHR

QOpenGLTexture.RGBA_ASTC_8x6

等效于GL_COMPRESSED_RGBA_ASTC_8x6_KHR

QOpenGLTexture.RGBA_ASTC_8x8

等效于GL_COMPRESSED_RGBA_ASTC_8x8_KHR

QOpenGLTexture.RGBA_ASTC_10x5

等效于GL_COMPRESSED_RGBA_ASTC_10x5_KHR

QOpenGLTexture.RGBA_ASTC_10x6

等效于GL_COMPRESSED_RGBA_ASTC_10x6_KHR

QOpenGLTexture.RGBA_ASTC_10x8

等效于GL_COMPRESSED_RGBA_ASTC_10x8_KHR

QOpenGLTexture.RGBA_ASTC_10x10

等效于GL_COMPRESSED_RGBA_ASTC_10x10_KHR

QOpenGLTexture.RGBA_ASTC_12x10

等效于GL_COMPRESSED_RGBA_ASTC_12x10_KHR

QOpenGLTexture.RGBA_ASTC_12x12

等效于GL_COMPRESSED_RGBA_ASTC_12x12_KHR

QOpenGLTexture.SRGB8_Alpha8_ASTC_4x4

等效于GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR

QOpenGLTexture.SRGB8_Alpha8_ASTC_5x4

等效于GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR

QOpenGLTexture.SRGB8_Alpha8_ASTC_5x5

等效于GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR

QOpenGLTexture.SRGB8_Alpha8_ASTC_6x5

等效于GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR

QOpenGLTexture.SRGB8_Alpha8_ASTC_6x6

等效于GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR

QOpenGLTexture.SRGB8_Alpha8_ASTC_8x5

等效于GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR

QOpenGLTexture.SRGB8_Alpha8_ASTC_8x6

等效于GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR

QOpenGLTexture.SRGB8_Alpha8_ASTC_8x8

等效于GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR

QOpenGLTexture.SRGB8_Alpha8_ASTC_10x5

等效于GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR

QOpenGLTexture.SRGB8_Alpha8_ASTC_10x6

等效于GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR

QOpenGLTexture.SRGB8_Alpha8_ASTC_10x8

等效于GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR

QOpenGLTexture.SRGB8_Alpha8_ASTC_10x10

等效于GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR

QOpenGLTexture.SRGB8_Alpha8_ASTC_12x10

等效于GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR

QOpenGLTexture.SRGB8_Alpha8_ASTC_12x12

等效于GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR

QOpenGLTexture.SRGB8

等效于GL_SRGB8

QOpenGLTexture.SRGB8_Alpha8

等效于GL_SRGB8_ALPHA8

QOpenGLTexture.SRGB_DXT1

等效于GL_COMPRESSED_SRGB_S3TC_DXT1_EXT

QOpenGLTexture.SRGB_Alpha_DXT1

等同于GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT

QOpenGLTexture.SRGB_Alpha_DXT3

等同于GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT

QOpenGLTexture.SRGB_Alpha_DXT5

等同于GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT

QOpenGLTexture.SRGB_BP_UNorm

等同于GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB

QOpenGLTexture.DepthFormat

等同于GL_DEPTH_COMPONENT (仅限于OpenGL ES 3或带OES_depth_texture的ES 2)

QOpenGLTexture.AlphaFormat

等同于GL_ALPHA (仅限于OpenGL ES 2)

QOpenGLTexture.RGBFormat

等同于GL_RGB (仅限于OpenGL ES 2)

QOpenGLTexture.RGBAFormat

等同于GL_RGBA (仅限于OpenGL ES 2)

QOpenGLTexture.LuminanceFormat

等同于GL_LUMINANCE (仅限于OpenGL ES 2)

QOpenGLTexture.LuminanceAlphaFormat

等同于GL_LUMINANCE_ALPHA (仅限于OpenGL ES 2)

class TextureFormatClass#
class CubeMapFace#

此枚举定义了可能的面。

常量

描述

QOpenGLTexture.CubeMapPositiveX

等同于GL_TEXTURE_CUBE_MAP_POSITIVE_X

QOpenGLTexture.CubeMapNegativeX

等同于GL_TEXTURE_CUBE_MAP_NEGATIVE_X

QOpenGLTexture.CubeMapPositiveY

等同于GL_TEXTURE_CUBE_MAP_POSITIVE_Y

QOpenGLTexture.CubeMapNegativeY

等同于GL_TEXTURE_CUBE_MAP_NEGATIVE_Y

QOpenGLTexture.CubeMapPositiveZ

等同于GL_TEXTURE_CUBE_MAP_POSITIVE_Z

QOpenGLTexture.CubeMapNegativeZ

等同于GL_TEXTURE_CUBE_MAP_NEGATIVE_Z

class PixelFormat#

此枚举定义了像素传输操作的可能的客户端像素格式。

常量

描述

QOpenGLTexture.NoSourceFormat

等同于GL_NONE。

QOpenGLTexture.Red

等同于GL_RED

QOpenGLTexture.RG

等同于GL_RG

QOpenGLTexture.RGB

等同于GL_RGB

QOpenGLTexture.BGR

等同于GL_BGR

QOpenGLTexture.RGBA

等同于GL_RGBA

QOpenGLTexture.BGRA

等同于GL_BGRA

QOpenGLTexture.Red_Integer

等同于GL_RED_INTEGER

QOpenGLTexture.RG_Integer

等同于GL_RG_INTEGER

QOpenGLTexture.RGB_Integer

等同于GL_RGB_INTEGER

QOpenGLTexture.BGR_Integer

等同于GL_BGR_INTEGER

QOpenGLTexture.RGBA_Integer

等同于GL_RGBA_INTEGER

QOpenGLTexture.BGRA_Integer

等同于GL_BGRA_INTEGER

QOpenGLTexture.Stencil

等同于GL_STENCIL_INDEX。在Qt 5.4中引入

QOpenGLTexture.Depth

等同于GL_DEPTH_COMPONENT

QOpenGLTexture.DepthStencil

等同于GL_DEPTH_STENCIL

QOpenGLTexture.Alpha

等同于GL_ALPHA (仅限于OpenGL ES 2)

QOpenGLTexture.Luminance

等同于GL_LUMINANCE (仅限于OpenGL ES 2)

QOpenGLTexture.LuminanceAlpha

等同于GL_LUMINANCE_ALPHA (仅限于OpenGL ES 2)

class PixelType#

此枚举定义了像素传输操作可能像素数据类型

常量

描述

QOpenGLTexture.NoPixelType

等同于GL_NONE。

QOpenGLTexture.Int8

等同于GL_BYTE

QOpenGLTexture.UInt8

等同于GL_UNSIGNED_BYTE

QOpenGLTexture.Int16

等同于GL_SHORT

QOpenGLTexture.UInt16

等同于GL_UNSIGNED_SHORT

QOpenGLTexture.Int32

等同于GL_INT

QOpenGLTexture.UInt32

等同于GL_UNSIGNED_INT

QOpenGLTexture.Float16

等同于GL_HALF_FLOAT

QOpenGLTexture.Float16OES

等同于GL_HALF_FLOAT_OES

QOpenGLTexture.Float32

等同于GL_FLOAT

QOpenGLTexture.UInt32_RGB9_E5

等同于GL_UNSIGNED_INT_5_9_9_9_REV

QOpenGLTexture.UInt32_RG11B10F

等同于GL_UNSIGNED_INT_10F_11F_11F_REV

QOpenGLTexture.UInt8_RG3B2

等同于GL_UNSIGNED_BYTE_3_3_2

QOpenGLTexture.UInt8_RG3B2_Rev

等同于GL_UNSIGNED_BYTE_2_3_3_REV

QOpenGLTexture.UInt16_RGB5A1

等同于GL_UNSIGNED_SHORT_5_5_5_1

QOpenGLTexture.UInt16_RGB5A1_Rev

等同于GL_UNSIGNED_SHORT_1_5_5_5_REV

QOpenGLTexture.UInt16_R5G6B5

等同于GL_UNSIGNED_SHORT_5_6_5

QOpenGLTexture.UInt16_R5G6B5_Rev

等于 GL_UNSIGNED_SHORT_5_6_5_REV

QOpenGLTexture.UInt16_RGBA4

等于 GL_UNSIGNED_SHORT_4_4_4_4

QOpenGLTexture.UInt16_RGBA4_Rev

等于 GL_UNSIGNED_SHORT_4_4_4_4_REV

QOpenGLTexture.UInt32_RGBA8

等于 GL_UNSIGNED_INT_8_8_8_8

QOpenGLTexture.UInt32_RGBA8_Rev

等于 GL_UNSIGNED_INT_8_8_8_8_REV

QOpenGLTexture.UInt32_RGB10A2

等于 GL_UNSIGNED_INT_10_10_10_2

QOpenGLTexture.UInt32_RGB10A2_Rev

等于 GL_UNSIGNED_INT_2_10_10_10_REV

QOpenGLTexture.UInt32_D24S8

等于 GL_UNSIGNED_INT_24_8. 自 Qt 5.4 中引入

QOpenGLTexture.Float32_D32_UInt32_S8_X24

等于 GL_FLOAT_32_UNSIGNED_INT_24_8_REV. 自 Qt 5.4 中引入

class SwizzleComponent#

此枚举定义了可以被分配至混合掩码的纹理颜色组件。

常量

描述

QOpenGLTexture.SwizzleRed

红色组件。等于 GL_TEXTURE_SWIZZLE_R

QOpenGLTexture.SwizzleGreen

绿色组件。等于 GL_TEXTURE_SWIZZLE_G

QOpenGLTexture.SwizzleBlue

蓝色组件。等于 GL_TEXTURE_SWIZZLE_B

QOpenGLTexture.SwizzleAlpha

alpha组件。等于 GL_TEXTURE_SWIZZLE_A

class SwizzleValue#

此枚举定义了纹理混合的可选掩码值。

常量

描述

QOpenGLTexture.RedValue

将组件映射到红色通道。等于 GL_RED

QOpenGLTexture.GreenValue

将组件映射到绿色通道。等于 GL_GREEN

QOpenGLTexture.BlueValue

将组件映射到蓝色通道。等于 GL_BLUE

QOpenGLTexture.AlphaValue

将组件映射到alpha通道。等于 GL_ALPHA

QOpenGLTexture.ZeroValue

将组件映射到固定的0值。等于 GL_ZERO

QOpenGLTexture.OneValue

将组件映射到固定的1值。等于 GL_ONE

class WrapMode#

此枚举定义了可能的纹理坐标环绕模式。

常量

描述

QOpenGLTexture.Repeat

纹理坐标被重复。等于 GL_REPEAT

QOpenGLTexture.MirroredRepeat

纹理坐标在0和1处被反射。等于 GL_MIRRORED_REPEAT

QOpenGLTexture.ClampToEdge

将纹理坐标夹紧到[0,1]。等于 GL_CLAMP_TO_EDGE

QOpenGLTexture.ClampToBorder

类似于ClampToEdge,但在0和1处也与固定边界颜色混合样本。等于 GL_CLAMP_TO_BORDER

class CoordinateDirection#

此枚举定义了可能的纹理坐标方向。

常量

描述

QOpenGLTexture.DirectionS

水平方向。等于 GL_TEXTURE_WRAP_S

QOpenGLTexture.DirectionT

垂直方向。等于 GL_TEXTURE_WRAP_T

QOpenGLTexture.DirectionR

深度方向。等于 GL_TEXTURE_WRAP_R

class Feature#

(继承自 enum.Flag)此枚举定义了可以测试的OpenGL纹理相关功能。

常量

描述

QOpenGLTexture ImmutableStorage

支持不可变纹理存储

QOpenGLTexture ImmutableMultisampleStorage

支持具有多采样目标的不可变纹理存储

QOpenGLTexture TextureRectangle

支持GL_TEXTURE_RECTANGLE目标

QOpenGLTexture TextureArrays

支持具有数组层的纹理目标

QOpenGLTexture Texture3D

支持三维纹理目标

QOpenGLTexture TextureMultisample

支持具有多重采样的纹理目标

QOpenGLTexture.TextureBuffer

支持使用OpenGL缓冲对象作为其数据源的纹理

QOpenGLTexture.TextureCubeMapArrays

支持立方体贴图数组纹理目标

QOpenGLTexture.Swizzle

支持纹理分量混合掩码

QOpenGLTexture.StencilTexturing

支持模板纹理(即在GLSL着色器中查找组合深度/模板格式纹理的深度或模板分量)

QOpenGLTexture.AnisotropicFiltering

支持各向异性纹理过滤

QOpenGLTexture.NPOTTextures

基本支持非2的幂次的纹理

QOpenGLTexture.NPOTTextureRepeat

全面支持非2的幂次纹理,包括纹理重复模式

QOpenGLTexture.Texture1D

支持一维纹理目标

QOpenGLTexture.TextureComparisonOperators

支持纹理比较运算符

QOpenGLTexture.TextureMipMapLevel

支持设置基础和最大多级贴图级别

class DepthStencilMode#

该枚举指定在采样纹理时访问深度/模板纹理的哪个组件。

常量

描述

QOpenGLTexture.DepthMode

等同于GL_DEPTH_COMPONENT。

QOpenGLTexture.StencilMode

等同于GL_STENCIL_INDEX。

class ComparisonFunction#

该枚举指定在此纹理上启用纹理比较时使用的比较运算符。

常量

描述

QOpenGLTexture.CompareLessEqual

等同于GL_LEQUAL。

QOpenGLTexture.CompareGreaterEqual

等同于GL_GEQUAL。

QOpenGLTexture.CompareLess

等同于GL_LESS。

QOpenGLTexture.CompareGreater

等同于GL_GREATER。

QOpenGLTexture.CompareEqual

等同于GL_EQUAL。

QOpenGLTexture.CompareNotEqual

等同于GL_NOTEQUAL。

QOpenGLTexture.CompareAlways

等同于GL_ALWAYS。

QOpenGLTexture.CompareNever

等同于GL_NEVER。

class ComparisonMode#

该枚举指定采样此纹理时使用的比较模式。

常量

描述

QOpenGLTexture.CompareRefToTexture

等同于GL_COMPARE_REF_TO_TEXTURE。

QOpenGLTexture.CompareNone

等同于GL_NONE。

class Filter#

此枚举定义了QOpenGLTexture对象的过滤参数。

常量

描述

QOpenGLTexture.Nearest

等同于GL_NEAREST

QOpenGLTexture.Linear

等同于GL_LINEAR

QOpenGLTexture.NearestMipMapNearest

等同于GL_NEAREST_MIPMAP_NEAREST

QOpenGLTexture.NearestMipMapLinear

等同于GL_NEAREST_MIPMAP_LINEAR

QOpenGLTexture.LinearMipMapNearest

等同于GL_LINEAR_MIPMAP_NEAREST

QOpenGLTexture.LinearMipMapLinear

等同于GL_LINEAR_MIPMAP_LINEAR

__init__(image[, genMipMaps=QOpenGLTexture.MipMapGeneration.GenerateMipMaps])#
参数:

创建一个可以绑定到2D纹理目标的QOpenGLTexture对象,该对象包含image中包含的像素数据。如果您希望生成米柏链,则将genMipMaps设置为true(这是默认值)。

这确实会创建底层的OpenGL纹理对象。因此,使用此构造函数进行构造需要有效的当前OpenGL上下文。

注意

image会自动转换为QImage::Format_RGBA8888,这对于具有不同格式的大图像可能会产生性能影响。

__init__(target)
参数:

targetTarget

创建一个可以绑定到targetQOpenGLTexture对象。

这不会创建底层的OpenGL纹理对象。因此,使用此构造函数进行构造不需要有效的当前OpenGL上下文。

allocateStorage(pixelFormat, pixelType)#
参数:

为该纹理对象在服务器端分配存储空间,考虑格式、尺寸、米柏级别、数组层和立方体贴图面数。

一旦存储已分配,则不能再更改这些属性。

如果支持,QOpenGLTexture会使用不可变纹理存储。但是,如果不可变纹理存储不可用,则将使用指定的pixelFormatpixelType来分配可变存储;请注意,在某些OpenGL实现中(尤其是OpenGL ES 2),它们必须与传递给任何后续setData()调用的格式和类型完美匹配。

纹理分配存储后,可以通过setData()重载之一上传像素数据。

allocateStorage()

为该纹理对象在服务器端分配存储空间,考虑格式、尺寸、米柏级别、数组层和立方体贴图面数。

一旦存储已分配,则不能再更改这些属性。

如果支持,QOpenGLTexture 将使用不可变纹理存储。

纹理分配存储后,可以通过setData()重载之一上传像素数据。

注意

如果不可用不可变纹理存储,则将使用默认的像素格式和像素类型来创建可变的存储。您可以使用其他 allocateStorage() 调用重载来指定在分配可变存储时使用的精确像素格式和像素类型;这在某些 OpenGL ES 实现下特别有用(特别是,OpenGL ES 2),当时分配时使用的像素格式和像素类型必须与传递给后续 setData() 调用的格式和类型完全匹配。

bind(unit[, reset=QOpenGLTexture.TextureUnitReset.DontResetTextureUnit])#
参数:

将此纹理绑定到纹理单元 unit 以准备好渲染。请注意,您不需要绑定 QOpenGLTexture 对象即可修改它们,因为实现使用可以使用的 EXT_direct_state_access 扩展,并在不可用的情况下模拟它。

如果参数 resettrue,则此函数将恢复活动单位到进入之前活动纹理单位。

另请参阅

release()

bind()

将此纹理绑定到当前活动纹理单元以准备渲染。请注意,您不需要绑定 QOpenGLTexture 对象即可修改它们,因为实现使用可以使用的 EXT_direct_state_access 扩展,并在不可用的情况下模拟它。

另请参阅

release()

borderColor()#
返回类型:

QColor

返回此纹理的 borderColor。

另请参阅

setBorderColor()

static boundTextureId(target)#
参数:

targetBindingTarget

返回类型:

int

返回绑定到当前活动纹理单元目标 target 的纹理的 textureId

静态 boundTextureId(unit, target)
参数:
返回类型:

int

返回绑定到纹理单元 unit 目标 target 的纹理的 textureId

comparisonFunction()#
返回类型:

比较函数

返回在此纹理上设置的纹理比较运算符。默认情况下,纹理拥有一个 CompareLessEqual 比较函数。

另请参阅

设置比较函数()

comparisonMode()#
返回类型:

比较模式

返回在此纹理上设置的纹理比较模式。默认情况下,纹理拥有一个 CompareNone 比较模式(即比较被禁用)。

另请参阅

设置比较模式()

create()#
返回类型:

布尔值

创建底层OpenGL纹理对象。这需要一个当前有效的OpenGL上下文。如果纹理对象已经存在,此函数不做任何事情。

一旦创建了纹理对象,您可以从 textureId() 函数中获取对象名称。如果您想对此纹理进行一些原始的OpenGL调用,这可能很有用。

通常不需要直接调用此函数,因为设置纹理对象属性的所有函数都会为您隐式地调用 create()。

如果创建成功返回 true,否则返回 false

createTextureView(target, viewFormat, minimumMipmapLevel, maximumMipmapLevel, minimumLayer, maximumLayer)#
参数:
  • targetTarget

  • viewFormatTextureFormat

  • minimumMipmapLevel – int

  • maximumMipmapLevel – int

  • minimumLayer – int

  • maximumLayer – int

返回类型:

QOpenGLTexture

尝试在此纹理上创建纹理视图。纹理视图在某种程度上类似于SQL中的视图,因为它提供对原始数据的限制性或重新解释后的视图。纹理视图不会分配更多的服务器端存储,相反,它依赖于源纹理的存储缓冲区。

纹理视图仅在使用不可变存储时才可用。有关纹理视图的更多信息,请参阅 http://www.opengl.org/wiki/Texture_Storage#Texture_views

target 参数指定用于视图的目标。根据原始目标的目标,只能使用某些目标。例如,针对 Target1DArray 纹理的视图可以指定 Target1DArrayTarget1D,但对于后者,使用 minimumLayermaximumLayer 指定的数组层数目必须正好为1。

viewFormat 也有类似的限制。有关更多详细信息,请参阅上述链接和规范。

minimumMipmapLevelmaximumMipmapLevelminimumLayermaximumLayer 参数用来限制可通过纹理视图访问的纹理部分。

如果纹理视图创建失败,此函数将返回0。如果函数成功,它将返回一个指向新 QOpenGLTexture 对象的指针,该对象将从其 isTextureView() 方法返回 true

另请参阅

isTextureView()

depth()#
返回类型:

int

返回3D纹理的深度。

另请参阅

width() height() setSize()

depthStencilMode()#
返回类型:

DepthStencilMode

返回使用组合深度/模板格式的纹理的深度/模板模式。

另请参阅

setDepthStencilMode()

destroy()#

销毁底层的OpenGL纹理对象。这需要一个当前有效的OpenGL上下文。

faces()#
返回类型:

int

返回该纹理的面的数量。对于立方体贴图和立方体贴图数组类型的目标,此值将是6。

对于非立方体贴图类型的目标,此值将返回1。

format()#
返回类型:

纹理格式

返回此纹理对象的格式。

另请参阅

setFormat()

generateMipMaps(#

从米片级别0为此纹理对象生成米片。如果您使用的是需要米片的纹理目标和使用选项,并且已禁用自动米片生成,则需要调用此函数或重载以创建米片链。

注意

OpenGL ES不支持压缩纹理的米片生成。

generateMipMaps(baseLevel[, resetBaseLevel=true])
参数:
  • baseLevel – int

  • resetBaseLevel – bool

从米片级别 baseLevel 为此纹理对象生成米片。如果您使用的是需要米片的纹理目标和使用选项,并且已禁用自动米片生成,则需要调用此函数或重载以创建米片链。

将米片基础级别设置为 baseLevel 并生成米片链来实现对 baseLevel 以上米片生成。如果 resetBaseLeveltrue,则纹理的基础级别将重置为其先前的值。

static hasFeature(feature)#
参数:

featureFeature

返回类型:

布尔值

如果您的OpenGL实现和版本支持纹理特征 feature,则返回 true

height()#
返回类型:

int

返回二维或三维纹理的高度。

另请参阅

width() depth() setSize()

isAutoMipMapGenerationEnabled()#
返回类型:

布尔值

返回是否为此纹理对象启用了自动米普映射生成。

isBound()#
返回类型:

布尔值

如果此纹理绑定到当前活动纹理单元的相应目标,则返回 true

另请参阅

bind() release()

isBound(unit)
参数:

unit – int

返回类型:

布尔值

如果此纹理绑定到纹理单元 unit 的相应目标,则返回 true

另请参阅

bind() release()

isCreated()#
返回类型:

布尔值

如果底层OpenGL纹理对象已被创建,则返回 true

isFixedSamplePositions()#
返回类型:

布尔值

返回此纹理是否使用固定的多样本样本模式。如果在为该纹理分配存储之前,则此函数将返回请求的固定样本位置设置。

对于不支持多采样的纹理目标,此函数将返回 true

isStorageAllocated()#
返回类型:

布尔值

返回 true 表示为该纹理对象分配了服务器端存储。

纹理格式、尺寸、Mipmap 级别和数组层不能在分配存储之后更改。

isTextureView()#
返回类型:

布尔值

返回 true 表示该纹理对象实际上是另一个纹理对象的视图。

另请参阅

createTextureView()

layers()#
返回类型:

int

返回此纹理的数组层数。如果尚未为此纹理分配存储,则该函数返回请求的数组层数。

对于不支持数组层的纹理目标,将返回 1。

levelOfDetailRange()#
返回类型:

.std.pair

返回最小和最大细节级别参数。

levelofDetailBias()#
返回类型:

float

返回细节级别偏移参数。

另请参阅

setLevelofDetailBias()

magnificationFilter()#
返回类型:

Filter

返回放大过滤器。

maximumAnisotropy()#
返回类型:

float

返回执行纹理查找时需要考虑的最大各向异性级别。这需要 GL_EXT_texture_filter_anisotropic 扩展。

另请参阅

setMaximumAnisotropy()

maximumLevelOfDetail()#
返回类型:

float

返回最大细节级别参数。

maximumMipLevels()#
返回类型:

int

返回此纹理具有的最多米柏层级的数量,给定当前的尺寸。

minMagFilters()#
返回类型:

.std.pairQOpenGLTexture.Filter, QOpenGLTexture.Filter

返回当前的缩小和放大过滤器。

另请参阅

setMinMagFilters()

minificationFilter()#
返回类型:

Filter

返回缩小过滤器。

minimumLevelOfDetail()#
返回类型:

float

返回最小细节级别参数。

mipBaseLevel()#
返回类型:

int

返回用于所有与此纹理相关的纹理查找的米柏基级别。默认为0。

mipLevelRange()#
返回类型:

.std.pairint, int

返回可用于此纹理的纹理查找的米柏层级范围。

mipLevels()#
返回类型:

int

返回此纹理的米柏层级的数量。如果尚未为该纹理分配存储空间,它将返回请求的米柏层级数量。

mipMaxLevel()#
返回类型:

int

返回用于所有此纹理查找的米柏最大层级。

release()#

从当前活动的纹理单元解绑此纹理。

另请参阅

bind()

release(unit[, reset=QOpenGLTexture.TextureUnitReset.DontResetTextureUnit])
参数:

从纹理单元 unit 解绑此纹理。

如果参数 resettrue,则此函数将恢复活动单位到进入之前活动纹理单位。

samples()#
返回类型:

int

返回此纹理的多样本样本点数。如果尚未为该纹理分配存储空间,则此函数将返回请求的样本数量。

对于不支持多采样的纹理目标,此函数将返回 0。

setAutoMipMapGenerationEnabled(enabled)#
参数:

enabled – 布尔类型

如果 enabled 设置为 true,则启用此纹理对象的自动米柏生成功能,当通过 setData() 设置级别0米柏数据时,将自动发生。

默认情况下启用自动米柏生成。

注意

OpenGL ES 2.0 不支持压缩纹理的米柏生成。

setBorderColor(r, g, b, a)#
参数:
  • r – int

  • g – int

  • b – int

  • a – int

将红色设置为 r,绿色设置为 g,蓝色设置为 b,并将透明度值设置为 a

这是一个重载函数。

setBorderColor(r, g, b, a)
参数:
  • r – float

  • g – float

  • b – float

  • a – float

将红色设置为 r,绿色设置为 g,蓝色设置为 b,并将透明度值设置为 a

这是一个重载函数。

setBorderColor(color)
参数:

colorQColor

将纹理的边框颜色设置为 color

注意

此函数在 Mac 和为 OpenGL ES 2 构建的 Qt 上没有效果。

另请参阅

borderColor()

setBorderColor(r, g, b, a)
参数:
  • r – int

  • g – int

  • b – int

  • a – int

将红色设置为 r,绿色设置为 g,蓝色设置为 b,并将透明度值设置为 a

这是一个重载函数。

setComparisonFunction(function)#
参数:

functionComparisonFunction

将此纹理的比较函数设置为 function。纹理比较函数在阴影采样器采样深度纹理时使用。

另请参阅

comparisonFunction()

setComparisonMode(mode)#
参数:

modeComparisonMode

将此纹理的比较模式设置为 mode。纹理的比较模式用于阴影采样器在采样深度纹理时使用。

另请参阅

comparisonMode()

setCompressedData(dataSize, data[, options=None])#
参数:

这是一个重载函数。

setCompressedData(mipLevel, dataSize, data[, options=None])
参数:

这是一个重载函数。

setCompressedData(mipLevel, layer, cubeFace, dataSize, data[, options=None])
参数:

将压缩像素 data 上传到 mipLevel,数组 layercubeFace。像素传输可以通过 options 进行控制(可选)。应指定由 data 指向的数据的大小。

如果没有使用压缩的 format(),则应使用 setData() 而不是此函数。

setCompressedData(mipLevel, layer, dataSize, data[, options=None])
参数:

这是一个重载函数。

setCompressedData(mipLevel, layer, layerCount, cubeFace, dataSize, data[, options=None])
参数:

这是一个重载函数。

参数 layerCount 表示通过此调用上传/填充的纹理数组中的层数。

setData(mipLevel, layer, sourceFormat, sourceType, data[, options=None])#
参数:

这是一个重载函数。

setData(xOffset, yOffset, zOffset, width, height, depth, mipLevel, layer, sourceFormat, sourceType, data[, options=None])
参数:

这是一个重载函数。

此重载用于更新纹理的一部分。参数 xOffsetyOffsetzOffset 指定了纹理内的 texel 偏移量。参数 widthheightdepth 指定了子图像的尺寸。使用 mipLevellayer 指定要更新的子图像的米柏级别和层。

data 指向的像素数据结构由 sourceFormatsourceType 指定。像素数据上传可以由 options 选项控制。

setData(xOffset, yOffset, zOffset, width, height, depth, mipLevel, layer, cubeFace, layerCount, sourceFormat, sourceType, data[, options=None])
参数:

这是一个重载函数。

此重载用于更新纹理的一部分。参数 xOffset, yOffset, zOffset 指定纹理中的纹理单元偏移。参数 width, heightdepth 指定子图像的尺寸。要更新的子图像的米级别、起始层、立方体贴面和层数分别使用 mipLevel, layer, facelayerCount 指定。

data 指向的像素数据结构由 sourceFormatsourceType 指定。像素数据上传可以由 options 选项控制。

setData(xOffset, yOffset, zOffset, width, height, depth, mipLevel, layer, cubeFace, sourceFormat, sourceType, data[, options=None])
参数:

这是一个重载函数。

此重载用于更新纹理的一部分。参数 xOffset, yOffset, zOffset 指定纹理中的纹理单元偏移。参数 width, heightdepth 指定子图像的尺寸。要更新的子图像的米级别、层和立方体贴面使用 mipLevel, layerface 指定。

data 指向的像素数据结构由 sourceFormatsourceType 指定。像素数据上传可以由 options 选项控制。

setData(xOffset, yOffset, zOffset, width, height, depth, mipLevel, sourceFormat, sourceType, data[, options=None])
参数:

这是一个重载函数。

此重载用于更新纹理的一部分。参数xOffsetyOffsetzOffset指定纹理内的纹理元素偏移量。参数widthheightdepth指定子图像的维度。我们希望更新的子图像的米扑层由mipLevel指定。

data 指向的像素数据结构由 sourceFormatsourceType 指定。像素数据上传可以由 options 选项控制。

setData(xOffset, yOffset, zOffset, width, height, depth, sourceFormat, sourceType, data[, options=None])
参数:

这是一个重载函数。

此重载用于更新纹理的一部分。参数xOffsetyOffsetzOffset指定纹理内的纹理元素偏移量。参数widthheightdepth指定子图像的维度。

data 指向的像素数据结构由 sourceFormatsourceType 指定。像素数据上传可以由 options 选项控制。

setData(mipLevel, layer, layerCount, cubeFace, sourceFormat, sourceType, data[, options=None])
参数:

这是一个重载函数。

参数 layerCount 表示通过此调用上传/填充的纹理数组中的层数。

setData(mipLevel, layer, cubeFace, sourceFormat, sourceType, data[, options=None])
参数:

上传纹理对象mipLevel、数组layercubeFace的像素数据。上传像素数据之前必须已分配存储。某些setData()的重载将在有足够信息的情况下设置适当的维度、米扑层和数组层,然后为您分配存储。这将记录在函数文档中。

data 指向的像素数据结构由 sourceFormatsourceType 指定。像素数据上传可以由 options 选项控制。

如果使用压缩的format(),则应使用setCompressedData()而不是此函数。

另请参阅

setCompressedData()

setData(mipLevel, sourceFormat, sourceType, data[, options=None])
参数:

这是一个重载函数。

setData(image[, genMipMaps=QOpenGLTexture.MipMapGeneration.GenerateMipMaps])
参数:

此重载版本的 setData() 将为您分配存储空间。像素数据包含在 image 中。默认情况下将生成Mip映射。将 genMipMaps 设置为 DontGenerateMipMaps 来关闭Mip映射生成。

注意

image会自动转换为QImage::Format_RGBA8888,这对于具有不同格式的大图像可能会产生性能影响。

这是一个重载函数。

setData(sourceFormat, sourceType, data[, options=None])
参数:

这是一个重载函数。

setDepthStencilMode(mode)#
参数:

modeDepthStencilMode

如果使用的是具有深度/模板联合格式的纹理,则此函数将设置访问纹理的哪个组件为 mode

当参数设置为 DepthMode 时,从着色器访问它将访问深度组件作为单个浮点数,就像正常一样。但当参数设置为 StencilMode 时,着色器将访问模板组件。

注意

此函数在 Mac 和为 OpenGL ES 2 构建的 Qt 上没有效果。

另请参阅

depthStencilMode()

setFixedSamplePositions(fixed)#
参数:

fixed – bool

设置与多采样纹理目标一起使用的采样位置和采样数量是否为 fixed。如果设置为 true,则用于所有图像texels的采样位置和采样数量将相同,并且将不依赖于图像大小或内部格式。应在为纹理分配存储空间之前调用此函数。

对于不支持多采样的目标,此函数没有效果。

默认值为 true

setFormat(format)#
参数:

formatTextureFormat

将此纹理对象的格式设置为format。在分配纹理存储之前必须调用此函数。

请注意,可能并非所有格式都受支持。支持的具体格式取决于您的OpenGL实现和版本。

setLayers(layers)#
参数:

layers – int

将分配存储的数组layers数量设置。应在为纹理分配存储之前调用此函数。

对于不支持数组层的目标,此函数不起作用。

setLevelOfDetailRange(min, max)#
参数:
  • min – float

  • max – float

将最小细节级别参数设置為min,最大细节级别设置为max

注意

此函数对针对OpenGL ES 2构建的Qt无影响。

setLevelofDetailBias(bias)#
参数:

bias – float

将细节级别偏置设置为bias。细节级别偏置影响米皮映射级别变化的位置。增加细节级别偏置的值会使整体图像更模糊或更平滑。减小值会使整体图像更清晰。

注意

此函数对针对OpenGL ES 2构建的Qt无影响。

另请参阅

levelofDetailBias()

setMagnificationFilter(filter)#
参数:

filterFilter

设置放大滤镜为 filter

setMaximumAnisotropy(anisotropy)#
参数:

anisotropy – float

如果您的 OpenGL 实现支持 GL_EXT_texture_filter_anisotropic 扩展,则此函数将最大各向异性级别设置为 anisotropy

另请参阅

maximumAnisotropy()

setMaximumLevelOfDetail(value)#
参数:

value – float

设置最大细节级别为 value。这限制了最低分辨率的米普(最高米普级别)的选择。默认值是 1000。

注意

此函数对针对OpenGL ES 2构建的Qt无影响。

setMinMagFilters(minificationFilter, magnificationFilter)#
参数:
  • minificationFilterFilter

  • magnificationFilterFilter

设置降采样滤镜为 minificationFilter 和放大滤镜为 magnificationFilter

setMinificationFilter(filter)#
参数:

filterFilter

设置用于最小化的过滤器为 filter

setMinimumLevelOfDetail(value)#
参数:

value – float

设置最小细节级别为 value。这限制了最高分辨率的米普(最低米普级别)的选择。默认值是 -1000。

注意

此函数对针对OpenGL ES 2构建的Qt无影响。

setMipBaseLevel(baseLevel)#
参数:

baseLevel – int

设置用于此纹理的所有纹理查找的基本米普级别为 baseLevel

注意

此函数对针对OpenGL ES 2构建的Qt无影响。

setMipLevelRange(baseLevel, maxLevel)#
参数:
  • baseLevel – int

  • maxLevel – 整数

设置可以使用此纹理进行纹理查找的米普级别的范围为从 baseLevelmaxLevel

注意

此函数对针对OpenGL ES 2构建的Qt无影响。

setMipLevels(levels)#
参数:

levels – 整数

对于支持mipmap的纹理目标,此函数将请求的mipmap 级别的数量设置为分配存储空间。在为纹理分配存储空间之前,应该调用此函数。

如果纹理目标不支持mipmap,则此函数没有任何效果。

setMipMaxLevel(maxLevel)#
参数:

maxLevel – 整数

将用于所有使用此纹理进行纹理查找的最大mipmap级别设置为maxLevel

注意

此函数对针对OpenGL ES 2构建的Qt无影响。

setSamples(samples)#
参数:

samples – int

当渲染到支持多采样纹理目标时,设置用于分配存储空间的samples数量。在为纹理分配存储空间之前,应该调用此函数。

对于不支持多采样的目标,此函数没有效果。

setSize(width[, height=1[, depth=1]])#
参数:
  • width – int

  • height – int

  • depth – int

将此纹理对象的维度设置为widthheightdepth。每个维度的默认值是1。允许的最大纹理大小取决于你的OpenGL实现。如果系统资源不足,即使为小于最大大小分配纹理存储空间也可能失败。

如果提供的宽、高或深度不是2的幂次方,并且您的OpenGL实现不支持重复非2的幂次方纹理,那么自动将环绕模式设置为ClampToEdge

另请参阅

width() height() depth()

setSwizzleMask(component, value)#
参数:

GLSL着色器能够重新排列由纹理函数返回的vec4组件。也有从CPU端代码控制这种排列的愿望。自OpenGL 3.3起,这可以通过swizzle masks来实现。

纹理的每个组件都可以映射到SwizzleValue选项之一。

此功能将component映射到输出value

注意

此函数在 Mac 和为 OpenGL ES 2 构建的 Qt 上没有效果。

另请参阅

swizzleMask()

setSwizzleMask(r, g, b, a)
参数:

参数rgba是用于设置红色、绿色、蓝色和alpha值的值。

这是一个重载函数。

setWrapMode(direction, mode)#
参数:

保存纹理维度 direction

这是一个重载函数。

setWrapMode(mode)
参数:

模式WrapMode

将所有纹理维度的包装(或重复)模式设置为 mode

另请参阅

wrapMode()

swizzleMask(component)#
参数:

componentSwizzleComponent

返回类型:

SwizzleValue

返回纹理 component 的抖动掩码。

另请参阅

setSwizzleMask()

target()#
返回类型:

目标

返回此纹理的绑定目标。

textureId()#
返回类型:

int

返回底层 OpenGL 纹理对象的名称或 0(如果尚未创建)。

width()#
返回类型:

int

返回 1D、2D 或 3D 纹理的宽度。

另请参阅

height() depth() setSize()

wrapMode(direction)#
参数:

方向CoordinateDirection

返回类型:

WrapMode

返回纹理维度 direction 的包装模式。

另请参阅

setWrapMode()