- class QOpenGLTexture#
类
QOpenGLTexture封装了一个OpenGL纹理对象。 更多…摘要#
方法#
def
__init__()def
bind()def
borderColor()def
comparisonMode()定义
create()定义
depth()定义
destroy()定义
faces()定义
format()定义
height()定义
isBound()定义
isCreated()定义
layers()定义
mipLevels()定义
release()定义
samples()定义
setData()定义
setFormat()定义
setLayers()定义
setSamples()定义
setSize()定义
target()定义
textureId()定义
width()定义
wrapMode()
静态函数#
定义
hasFeature()
注意
本文档可能包含从 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])#
- 参数:
image –
QImagegenMipMaps –
MipMapGeneration
创建一个可以绑定到2D纹理目标的
QOpenGLTexture对象,该对象包含image中包含的像素数据。如果您希望生成米柏链,则将genMipMaps设置为true(这是默认值)。这确实会创建底层的OpenGL纹理对象。因此,使用此构造函数进行构造需要有效的当前OpenGL上下文。
注意
image会自动转换为QImage::Format_RGBA8888,这对于具有不同格式的大图像可能会产生性能影响。- __init__(target)
- 参数:
target –
Target
创建一个可以绑定到
target的QOpenGLTexture对象。这不会创建底层的OpenGL纹理对象。因此,使用此构造函数进行构造不需要有效的当前OpenGL上下文。
- allocateStorage(pixelFormat, pixelType)#
- 参数:
pixelFormat –
PixelFormatpixelType –
PixelType
为该纹理对象在服务器端分配存储空间,考虑格式、尺寸、米柏级别、数组层和立方体贴图面数。
一旦存储已分配,则不能再更改这些属性。
如果支持,
QOpenGLTexture会使用不可变纹理存储。但是,如果不可变纹理存储不可用,则将使用指定的pixelFormat和pixelType来分配可变存储;请注意,在某些OpenGL实现中(尤其是OpenGL ES 2),它们必须与传递给任何后续setData()调用的格式和类型完美匹配。纹理分配存储后,可以通过
setData()重载之一上传像素数据。- allocateStorage()
为该纹理对象在服务器端分配存储空间,考虑格式、尺寸、米柏级别、数组层和立方体贴图面数。
一旦存储已分配,则不能再更改这些属性。
如果支持,
QOpenGLTexture将使用不可变纹理存储。纹理分配存储后,可以通过
setData()重载之一上传像素数据。注意
如果不可用不可变纹理存储,则将使用默认的像素格式和像素类型来创建可变的存储。您可以使用其他 allocateStorage() 调用重载来指定在分配可变存储时使用的精确像素格式和像素类型;这在某些 OpenGL ES 实现下特别有用(特别是,OpenGL ES 2),当时分配时使用的像素格式和像素类型必须与传递给后续
setData()调用的格式和类型完全匹配。- bind(unit[, reset=QOpenGLTexture.TextureUnitReset.DontResetTextureUnit])#
- 参数:
unit – int
reset –
TextureUnitReset
将此纹理绑定到纹理单元
unit以准备好渲染。请注意,您不需要绑定QOpenGLTexture对象即可修改它们,因为实现使用可以使用的 EXT_direct_state_access 扩展,并在不可用的情况下模拟它。如果参数
reset为true,则此函数将恢复活动单位到进入之前活动纹理单位。另请参阅
- bind()
将此纹理绑定到当前活动纹理单元以准备渲染。请注意,您不需要绑定
QOpenGLTexture对象即可修改它们,因为实现使用可以使用的 EXT_direct_state_access 扩展,并在不可用的情况下模拟它。另请参阅
返回此纹理的 borderColor。
另请参阅
- static boundTextureId(target)#
- 参数:
target –
BindingTarget- 返回类型:
int
返回绑定到当前活动纹理单元目标
target的纹理的textureId。- 静态 boundTextureId(unit, target)
- 参数:
unit – int
target –
BindingTarget
- 返回类型:
int
返回绑定到纹理单元
unit目标target的纹理的textureId。返回在此纹理上设置的纹理比较运算符。默认情况下,纹理拥有一个
CompareLessEqual比较函数。另请参阅
返回在此纹理上设置的纹理比较模式。默认情况下,纹理拥有一个
CompareNone比较模式(即比较被禁用)。另请参阅
- create()#
- 返回类型:
布尔值
创建底层OpenGL纹理对象。这需要一个当前有效的OpenGL上下文。如果纹理对象已经存在,此函数不做任何事情。
一旦创建了纹理对象,您可以从
textureId()函数中获取对象名称。如果您想对此纹理进行一些原始的OpenGL调用,这可能很有用。通常不需要直接调用此函数,因为设置纹理对象属性的所有函数都会为您隐式地调用 create()。
如果创建成功返回
true,否则返回false。- createTextureView(target, viewFormat, minimumMipmapLevel, maximumMipmapLevel, minimumLayer, maximumLayer)#
- 参数:
target –
TargetviewFormat –
TextureFormatminimumMipmapLevel – int
maximumMipmapLevel – int
minimumLayer – int
maximumLayer – int
- 返回类型:
尝试在此纹理上创建纹理视图。纹理视图在某种程度上类似于SQL中的视图,因为它提供对原始数据的限制性或重新解释后的视图。纹理视图不会分配更多的服务器端存储,相反,它依赖于源纹理的存储缓冲区。
纹理视图仅在使用不可变存储时才可用。有关纹理视图的更多信息,请参阅 http://www.opengl.org/wiki/Texture_Storage#Texture_views。
target参数指定用于视图的目标。根据原始目标的目标,只能使用某些目标。例如,针对Target1DArray纹理的视图可以指定Target1DArray或Target1D,但对于后者,使用minimumLayer和maximumLayer指定的数组层数目必须正好为1。对
viewFormat也有类似的限制。有关更多详细信息,请参阅上述链接和规范。minimumMipmapLevel、maximumMipmapLevel、minimumLayer和maximumLayer参数用来限制可通过纹理视图访问的纹理部分。如果纹理视图创建失败,此函数将返回0。如果函数成功,它将返回一个指向新
QOpenGLTexture对象的指针,该对象将从其isTextureView()方法返回true。另请参阅
- depth()#
- 返回类型:
int
返回3D纹理的深度。
- depthStencilMode()#
- 返回类型:
返回使用组合深度/模板格式的纹理的深度/模板模式。
- destroy()#
销毁底层的OpenGL纹理对象。这需要一个当前有效的OpenGL上下文。
- faces()#
- 返回类型:
int
返回该纹理的面的数量。对于立方体贴图和立方体贴图数组类型的目标,此值将是6。
对于非立方体贴图类型的目标,此值将返回1。
返回此纹理对象的格式。
另请参阅
- generateMipMaps(#
从米片级别0为此纹理对象生成米片。如果您使用的是需要米片的纹理目标和使用选项,并且已禁用自动米片生成,则需要调用此函数或重载以创建米片链。
- generateMipMaps(baseLevel[, resetBaseLevel=true])
- 参数:
baseLevel – int
resetBaseLevel – bool
从米片级别
baseLevel为此纹理对象生成米片。如果您使用的是需要米片的纹理目标和使用选项,并且已禁用自动米片生成,则需要调用此函数或重载以创建米片链。将米片基础级别设置为
baseLevel并生成米片链来实现对baseLevel以上米片生成。如果resetBaseLevel为true,则纹理的基础级别将重置为其先前的值。如果您的OpenGL实现和版本支持纹理特征
feature,则返回true。- height()#
- 返回类型:
int
返回二维或三维纹理的高度。
- isAutoMipMapGenerationEnabled()#
- 返回类型:
布尔值
返回是否为此纹理对象启用了自动米普映射生成。
- isBound()#
- 返回类型:
布尔值
如果此纹理绑定到当前活动纹理单元的相应目标,则返回
true。- isBound(unit)
- 参数:
unit – int
- 返回类型:
布尔值
如果此纹理绑定到纹理单元
unit的相应目标,则返回true。- isCreated()#
- 返回类型:
布尔值
如果底层OpenGL纹理对象已被创建,则返回
true。另请参阅
- isFixedSamplePositions()#
- 返回类型:
布尔值
返回此纹理是否使用固定的多样本样本模式。如果在为该纹理分配存储之前,则此函数将返回请求的固定样本位置设置。
对于不支持多采样的纹理目标,此函数将返回
true。- isStorageAllocated()#
- 返回类型:
布尔值
返回
true表示为该纹理对象分配了服务器端存储。纹理格式、尺寸、Mipmap 级别和数组层不能在分配存储之后更改。
- isTextureView()#
- 返回类型:
布尔值
返回
true表示该纹理对象实际上是另一个纹理对象的视图。另请参阅
- layers()#
- 返回类型:
int
返回此纹理的数组层数。如果尚未为此纹理分配存储,则该函数返回请求的数组层数。
对于不支持数组层的纹理目标,将返回 1。
- levelOfDetailRange()#
- 返回类型:
.std.pair
返回最小和最大细节级别参数。
- levelofDetailBias()#
- 返回类型:
float
返回细节级别偏移参数。
返回放大过滤器。
- maximumAnisotropy()#
- 返回类型:
float
返回执行纹理查找时需要考虑的最大各向异性级别。这需要 GL_EXT_texture_filter_anisotropic 扩展。
- maximumLevelOfDetail()#
- 返回类型:
float
返回最大细节级别参数。
- maximumMipLevels()#
- 返回类型:
int
返回此纹理具有的最多米柏层级的数量,给定当前的尺寸。
- minMagFilters()#
- 返回类型:
.std.pairQOpenGLTexture.Filter, QOpenGLTexture.Filter
返回当前的缩小和放大过滤器。
另请参阅
返回缩小过滤器。
- minimumLevelOfDetail()#
- 返回类型:
float
返回最小细节级别参数。
- mipBaseLevel()#
- 返回类型:
int
返回用于所有与此纹理相关的纹理查找的米柏基级别。默认为0。
- mipLevelRange()#
- 返回类型:
.std.pairint, int
返回可用于此纹理的纹理查找的米柏层级范围。
- mipLevels()#
- 返回类型:
int
返回此纹理的米柏层级的数量。如果尚未为该纹理分配存储空间,它将返回请求的米柏层级数量。
- mipMaxLevel()#
- 返回类型:
int
返回用于所有此纹理查找的米柏最大层级。
- release()#
从当前活动的纹理单元解绑此纹理。
另请参阅
- release(unit[, reset=QOpenGLTexture.TextureUnitReset.DontResetTextureUnit])
- 参数:
unit – int
reset –
TextureUnitReset
从纹理单元
unit解绑此纹理。如果参数
reset为true,则此函数将恢复活动单位到进入之前活动纹理单位。- samples()#
- 返回类型:
int
返回此纹理的多样本样本点数。如果尚未为该纹理分配存储空间,则此函数将返回请求的样本数量。
对于不支持多采样的纹理目标,此函数将返回 0。
- setAutoMipMapGenerationEnabled(enabled)#
- 参数:
enabled – 布尔类型
如果
enabled设置为true,则启用此纹理对象的自动米柏生成功能,当通过setData()设置级别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)
- 参数:
color –
QColor
将纹理的边框颜色设置为
color。- setBorderColor(r, g, b, a)
- 参数:
r – int
g – int
b – int
a – int
将红色设置为
r,绿色设置为g,蓝色设置为b,并将透明度值设置为a。这是一个重载函数。
- setComparisonFunction(function)#
- 参数:
function –
ComparisonFunction
将此纹理的比较函数设置为
function。纹理比较函数在阴影采样器采样深度纹理时使用。另请参阅
- setComparisonMode(mode)#
- 参数:
mode –
ComparisonMode
将此纹理的比较模式设置为
mode。纹理的比较模式用于阴影采样器在采样深度纹理时使用。另请参阅
- setCompressedData(dataSize, data[, options=None])#
- 参数:
dataSize – int
data –
voidoptions –
QOpenGLPixelTransferOptions
这是一个重载函数。
- setCompressedData(mipLevel, dataSize, data[, options=None])
- 参数:
mipLevel – int
dataSize – int
data –
voidoptions –
QOpenGLPixelTransferOptions
这是一个重载函数。
- setCompressedData(mipLevel, layer, cubeFace, dataSize, data[, options=None])
- 参数:
mipLevel – int
layer – int
cubeFace –
CubeMapFacedataSize – int
data –
voidoptions –
QOpenGLPixelTransferOptions
将压缩像素
data上传到mipLevel,数组layer和cubeFace。像素传输可以通过options进行控制(可选)。应指定由data指向的数据的大小。如果没有使用压缩的
format(),则应使用setData()而不是此函数。- setCompressedData(mipLevel, layer, dataSize, data[, options=None])
- 参数:
mipLevel – int
layer – int
dataSize – int
data –
voidoptions –
QOpenGLPixelTransferOptions
这是一个重载函数。
- setCompressedData(mipLevel, layer, layerCount, cubeFace, dataSize, data[, options=None])
- 参数:
mipLevel – int
layer – int
layerCount – int
cubeFace –
CubeMapFacedataSize – int
data –
voidoptions –
QOpenGLPixelTransferOptions
这是一个重载函数。
参数
layerCount表示通过此调用上传/填充的纹理数组中的层数。- setData(mipLevel, layer, sourceFormat, sourceType, data[, options=None])#
- 参数:
mipLevel – int
layer – int
sourceFormat –
PixelFormatsourceType –
PixelTypedata –
voidoptions –
QOpenGLPixelTransferOptions
这是一个重载函数。
- setData(xOffset, yOffset, zOffset, width, height, depth, mipLevel, layer, sourceFormat, sourceType, data[, options=None])
- 参数:
xOffset – int
yOffset – int
zOffset – int
width – int
height – int
depth – int
mipLevel – int
layer – int
sourceFormat –
PixelFormatsourceType –
PixelTypedata –
voidoptions –
QOpenGLPixelTransferOptions
这是一个重载函数。
此重载用于更新纹理的一部分。参数
xOffset、yOffset、zOffset指定了纹理内的 texel 偏移量。参数width、height和depth指定了子图像的尺寸。使用mipLevel和layer指定要更新的子图像的米柏级别和层。由
data指向的像素数据结构由sourceFormat和sourceType指定。像素数据上传可以由options选项控制。- setData(xOffset, yOffset, zOffset, width, height, depth, mipLevel, layer, cubeFace, layerCount, sourceFormat, sourceType, data[, options=None])
- 参数:
xOffset – int
yOffset – int
zOffset – int
width – int
height – int
depth – int
mipLevel – int
layer – int
cubeFace –
CubeMapFacelayerCount – int
sourceFormat –
PixelFormatsourceType –
PixelTypedata –
voidoptions –
QOpenGLPixelTransferOptions
这是一个重载函数。
此重载用于更新纹理的一部分。参数
xOffset,yOffset,zOffset指定纹理中的纹理单元偏移。参数width,height和depth指定子图像的尺寸。要更新的子图像的米级别、起始层、立方体贴面和层数分别使用mipLevel,layer,face和layerCount指定。由
data指向的像素数据结构由sourceFormat和sourceType指定。像素数据上传可以由options选项控制。- setData(xOffset, yOffset, zOffset, width, height, depth, mipLevel, layer, cubeFace, sourceFormat, sourceType, data[, options=None])
- 参数:
xOffset – int
yOffset – int
zOffset – int
width – int
height – int
depth – int
mipLevel – int
layer – int
cubeFace –
CubeMapFacesourceFormat –
PixelFormatsourceType –
PixelTypedata –
voidoptions –
QOpenGLPixelTransferOptions
这是一个重载函数。
此重载用于更新纹理的一部分。参数
xOffset,yOffset,zOffset指定纹理中的纹理单元偏移。参数width,height和depth指定子图像的尺寸。要更新的子图像的米级别、层和立方体贴面使用mipLevel,layer和face指定。由
data指向的像素数据结构由sourceFormat和sourceType指定。像素数据上传可以由options选项控制。- setData(xOffset, yOffset, zOffset, width, height, depth, mipLevel, sourceFormat, sourceType, data[, options=None])
- 参数:
xOffset – int
yOffset – int
zOffset – int
width – int
height – int
depth – int
mipLevel – int
sourceFormat –
PixelFormatsourceType –
PixelTypedata –
voidoptions –
QOpenGLPixelTransferOptions
这是一个重载函数。
此重载用于更新纹理的一部分。参数
xOffset、yOffset、zOffset指定纹理内的纹理元素偏移量。参数width、height和depth指定子图像的维度。我们希望更新的子图像的米扑层由mipLevel指定。由
data指向的像素数据结构由sourceFormat和sourceType指定。像素数据上传可以由options选项控制。- setData(xOffset, yOffset, zOffset, width, height, depth, sourceFormat, sourceType, data[, options=None])
- 参数:
xOffset – int
yOffset – int
zOffset – int
width – int
height – int
depth – int
sourceFormat –
PixelFormatsourceType –
PixelTypedata –
voidoptions –
QOpenGLPixelTransferOptions
这是一个重载函数。
此重载用于更新纹理的一部分。参数
xOffset、yOffset、zOffset指定纹理内的纹理元素偏移量。参数width、height和depth指定子图像的维度。由
data指向的像素数据结构由sourceFormat和sourceType指定。像素数据上传可以由options选项控制。- setData(mipLevel, layer, layerCount, cubeFace, sourceFormat, sourceType, data[, options=None])
- 参数:
mipLevel – int
layer – int
layerCount – int
cubeFace –
CubeMapFacesourceFormat –
PixelFormatsourceType –
PixelTypedata –
voidoptions –
QOpenGLPixelTransferOptions
这是一个重载函数。
参数
layerCount表示通过此调用上传/填充的纹理数组中的层数。- setData(mipLevel, layer, cubeFace, sourceFormat, sourceType, data[, options=None])
- 参数:
mipLevel – int
layer – int
cubeFace –
CubeMapFacesourceFormat –
PixelFormatsourceType –
PixelTypedata –
voidoptions –
QOpenGLPixelTransferOptions
上传纹理对象
mipLevel、数组layer和cubeFace的像素数据。上传像素数据之前必须已分配存储。某些setData()的重载将在有足够信息的情况下设置适当的维度、米扑层和数组层,然后为您分配存储。这将记录在函数文档中。由
data指向的像素数据结构由sourceFormat和sourceType指定。像素数据上传可以由options选项控制。如果使用压缩的
format(),则应使用setCompressedData()而不是此函数。另请参阅
- setData(mipLevel, sourceFormat, sourceType, data[, options=None])
- 参数:
mipLevel – int
sourceFormat –
PixelFormatsourceType –
PixelTypedata –
voidoptions –
QOpenGLPixelTransferOptions
这是一个重载函数。
- setData(image[, genMipMaps=QOpenGLTexture.MipMapGeneration.GenerateMipMaps])
- 参数:
image –
QImagegenMipMaps –
MipMapGeneration
此重载版本的
setData()将为您分配存储空间。像素数据包含在image中。默认情况下将生成Mip映射。将genMipMaps设置为DontGenerateMipMaps来关闭Mip映射生成。注意
image会自动转换为QImage::Format_RGBA8888,这对于具有不同格式的大图像可能会产生性能影响。这是一个重载函数。
- setData(sourceFormat, sourceType, data[, options=None])
- 参数:
sourceFormat –
PixelFormatsourceType –
PixelTypedata –
voidoptions –
QOpenGLPixelTransferOptions
这是一个重载函数。
- setDepthStencilMode(mode)#
- 参数:
mode –
DepthStencilMode
如果使用的是具有深度/模板联合格式的纹理,则此函数将设置访问纹理的哪个组件为
mode。当参数设置为
DepthMode时,从着色器访问它将访问深度组件作为单个浮点数,就像正常一样。但当参数设置为StencilMode时,着色器将访问模板组件。- setFixedSamplePositions(fixed)#
- 参数:
fixed – bool
设置与多采样纹理目标一起使用的采样位置和采样数量是否为
fixed。如果设置为true,则用于所有图像texels的采样位置和采样数量将相同,并且将不依赖于图像大小或内部格式。应在为纹理分配存储空间之前调用此函数。对于不支持多采样的目标,此函数没有效果。
默认值为
true。- setFormat(format)#
- 参数:
format –
TextureFormat
将此纹理对象的格式设置为
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。细节级别偏置影响米皮映射级别变化的位置。增加细节级别偏置的值会使整体图像更模糊或更平滑。减小值会使整体图像更清晰。设置放大滤镜为
filter。- setMaximumAnisotropy(anisotropy)#
- 参数:
anisotropy – float
如果您的 OpenGL 实现支持 GL_EXT_texture_filter_anisotropic 扩展,则此函数将最大各向异性级别设置为
anisotropy。另请参阅
- setMaximumLevelOfDetail(value)#
- 参数:
value – float
设置最大细节级别为
value。这限制了最低分辨率的米普(最高米普级别)的选择。默认值是 1000。注意
此函数对针对OpenGL ES 2构建的Qt无影响。
- setMinMagFilters(minificationFilter, magnificationFilter)#
设置降采样滤镜为
minificationFilter和放大滤镜为magnificationFilter。设置用于最小化的过滤器为
filter。- setMinimumLevelOfDetail(value)#
- 参数:
value – float
设置最小细节级别为
value。这限制了最高分辨率的米普(最低米普级别)的选择。默认值是 -1000。注意
此函数对针对OpenGL ES 2构建的Qt无影响。
- setMipBaseLevel(baseLevel)#
- 参数:
baseLevel – int
设置用于此纹理的所有纹理查找的基本米普级别为
baseLevel。- setMipLevelRange(baseLevel, maxLevel)#
- 参数:
baseLevel – int
maxLevel – 整数
设置可以使用此纹理进行纹理查找的米普级别的范围为从
baseLevel到maxLevel。- setMipLevels(levels)#
- 参数:
levels – 整数
对于支持mipmap的纹理目标,此函数将请求的mipmap
级别的数量设置为分配存储空间。在为纹理分配存储空间之前,应该调用此函数。如果纹理目标不支持mipmap,则此函数没有任何效果。
- setMipMaxLevel(maxLevel)#
- 参数:
maxLevel – 整数
将用于所有使用此纹理进行纹理查找的最大mipmap级别设置为
maxLevel。- setSamples(samples)#
- 参数:
samples – int
当渲染到支持多采样纹理目标时,设置用于分配存储空间的
samples数量。在为纹理分配存储空间之前,应该调用此函数。对于不支持多采样的目标,此函数没有效果。
- setSize(width[, height=1[, depth=1]])#
- 参数:
width – int
height – int
depth – int
将此纹理对象的维度设置为
width,height和depth。每个维度的默认值是1。允许的最大纹理大小取决于你的OpenGL实现。如果系统资源不足,即使为小于最大大小分配纹理存储空间也可能失败。如果提供的宽、高或深度不是2的幂次方,并且您的OpenGL实现不支持重复非2的幂次方纹理,那么自动将环绕模式设置为
ClampToEdge。- setSwizzleMask(component, value)#
- 参数:
component –
SwizzleComponentvalue –
SwizzleValue
GLSL着色器能够重新排列由纹理函数返回的vec4组件。也有从CPU端代码控制这种排列的愿望。自OpenGL 3.3起,这可以通过swizzle masks来实现。
纹理的每个组件都可以映射到
SwizzleValue选项之一。此功能将
component映射到输出value。- setSwizzleMask(r, g, b, a)
- 参数:
r –
SwizzleValueg –
SwizzleValueb –
SwizzleValuea –
SwizzleValue
参数
r、g、b和a是用于设置红色、绿色、蓝色和alpha值的值。这是一个重载函数。
- setWrapMode(direction, mode)#
- 参数:
方向 –
CoordinateDirection模式 –
WrapMode
保存纹理维度
direction。这是一个重载函数。
- setWrapMode(mode)
- 参数:
模式 –
WrapMode
将所有纹理维度的包装(或重复)模式设置为
mode。另请参阅
- swizzleMask(component)#
- 参数:
component –
SwizzleComponent- 返回类型:
返回纹理
component的抖动掩码。另请参阅
返回此纹理的绑定目标。
- textureId()#
- 返回类型:
int
返回底层 OpenGL 纹理对象的名称或 0(如果尚未创建)。
另请参阅
- width()#
- 返回类型:
int
返回 1D、2D 或 3D 纹理的宽度。
- wrapMode(direction)#
- 参数:
方向 –
CoordinateDirection- 返回类型:
返回纹理维度
direction的包装模式。另请参阅