- 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 –
QImage
genMipMaps –
MipMapGeneration
创建一个可以绑定到2D纹理目标的
QOpenGLTexture
对象,该对象包含image
中包含的像素数据。如果您希望生成米柏链,则将genMipMaps
设置为true
(这是默认值)。这确实会创建底层的OpenGL纹理对象。因此,使用此构造函数进行构造需要有效的当前OpenGL上下文。
注意
image
会自动转换为QImage::Format_RGBA8888,这对于具有不同格式的大图像可能会产生性能影响。- __init__(target)
- 参数:
target –
Target
创建一个可以绑定到
target
的QOpenGLTexture
对象。这不会创建底层的OpenGL纹理对象。因此,使用此构造函数进行构造不需要有效的当前OpenGL上下文。
- allocateStorage(pixelFormat, pixelType)#
- 参数:
pixelFormat –
PixelFormat
pixelType –
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 –
Target
viewFormat –
TextureFormat
minimumMipmapLevel – 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 –
void
options –
QOpenGLPixelTransferOptions
这是一个重载函数。
- setCompressedData(mipLevel, dataSize, data[, options=None])
- 参数:
mipLevel – int
dataSize – int
data –
void
options –
QOpenGLPixelTransferOptions
这是一个重载函数。
- setCompressedData(mipLevel, layer, cubeFace, dataSize, data[, options=None])
- 参数:
mipLevel – int
layer – int
cubeFace –
CubeMapFace
dataSize – int
data –
void
options –
QOpenGLPixelTransferOptions
将压缩像素
data
上传到mipLevel
,数组layer
和cubeFace
。像素传输可以通过options
进行控制(可选)。应指定由data
指向的数据的大小。如果没有使用压缩的
format()
,则应使用setData()
而不是此函数。- setCompressedData(mipLevel, layer, dataSize, data[, options=None])
- 参数:
mipLevel – int
layer – int
dataSize – int
data –
void
options –
QOpenGLPixelTransferOptions
这是一个重载函数。
- setCompressedData(mipLevel, layer, layerCount, cubeFace, dataSize, data[, options=None])
- 参数:
mipLevel – int
layer – int
layerCount – int
cubeFace –
CubeMapFace
dataSize – int
data –
void
options –
QOpenGLPixelTransferOptions
这是一个重载函数。
参数
layerCount
表示通过此调用上传/填充的纹理数组中的层数。- setData(mipLevel, layer, sourceFormat, sourceType, data[, options=None])#
- 参数:
mipLevel – int
layer – int
sourceFormat –
PixelFormat
sourceType –
PixelType
data –
void
options –
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 –
PixelFormat
sourceType –
PixelType
data –
void
options –
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 –
CubeMapFace
layerCount – int
sourceFormat –
PixelFormat
sourceType –
PixelType
data –
void
options –
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 –
CubeMapFace
sourceFormat –
PixelFormat
sourceType –
PixelType
data –
void
options –
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 –
PixelFormat
sourceType –
PixelType
data –
void
options –
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 –
PixelFormat
sourceType –
PixelType
data –
void
options –
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 –
CubeMapFace
sourceFormat –
PixelFormat
sourceType –
PixelType
data –
void
options –
QOpenGLPixelTransferOptions
这是一个重载函数。
参数
layerCount
表示通过此调用上传/填充的纹理数组中的层数。- setData(mipLevel, layer, cubeFace, sourceFormat, sourceType, data[, options=None])
- 参数:
mipLevel – int
layer – int
cubeFace –
CubeMapFace
sourceFormat –
PixelFormat
sourceType –
PixelType
data –
void
options –
QOpenGLPixelTransferOptions
上传纹理对象
mipLevel
、数组layer
和cubeFace
的像素数据。上传像素数据之前必须已分配存储。某些setData()的重载将在有足够信息的情况下设置适当的维度、米扑层和数组层,然后为您分配存储。这将记录在函数文档中。由
data
指向的像素数据结构由sourceFormat
和sourceType
指定。像素数据上传可以由options
选项控制。如果使用压缩的
format()
,则应使用setCompressedData()
而不是此函数。另请参阅
- setData(mipLevel, sourceFormat, sourceType, data[, options=None])
- 参数:
mipLevel – int
sourceFormat –
PixelFormat
sourceType –
PixelType
data –
void
options –
QOpenGLPixelTransferOptions
这是一个重载函数。
- setData(image[, genMipMaps=QOpenGLTexture.MipMapGeneration.GenerateMipMaps])
- 参数:
image –
QImage
genMipMaps –
MipMapGeneration
此重载版本的
setData()
将为您分配存储空间。像素数据包含在image
中。默认情况下将生成Mip映射。将genMipMaps
设置为DontGenerateMipMaps
来关闭Mip映射生成。注意
image
会自动转换为QImage::Format_RGBA8888,这对于具有不同格式的大图像可能会产生性能影响。这是一个重载函数。
- setData(sourceFormat, sourceType, data[, options=None])
- 参数:
sourceFormat –
PixelFormat
sourceType –
PixelType
data –
void
options –
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 –
SwizzleComponent
value –
SwizzleValue
GLSL着色器能够重新排列由纹理函数返回的vec4组件。也有从CPU端代码控制这种排列的愿望。自OpenGL 3.3起,这可以通过swizzle masks来实现。
纹理的每个组件都可以映射到
SwizzleValue
选项之一。此功能将
component
映射到输出value
。- setSwizzleMask(r, g, b, a)
- 参数:
r –
SwizzleValue
g –
SwizzleValue
b –
SwizzleValue
a –
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
的包装模式。另请参阅