PySide6.QtOpenGL.QOpenGLTexture

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

此枚举定义了控制mipmap生成的选项。

常量

描述

QOpenGLTexture.GenerateMipMaps

应生成Mipmaps

QOpenGLTexture.DontGenerateMipMaps

不应生成Mipmaps

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

此枚举定义了可以为纹理颜色组件分配的swizzle掩码。

常量

描述

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

对非二次幂纹理的基本支持

QOpenGLTexture.NPOTTextureRepeat

完全支持非二次幂纹理,包括纹理重复模式

QOpenGLTexture.Texture1D

支持一维纹理目标

QOpenGLTexture.TextureComparisonOperators

支持纹理比较操作符

QOpenGLTexture.TextureMipMapLevel

支持设置基础和高阶的mipmap级别

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__(target)
Parameters:

目标Target

创建一个QOpenGLTexture对象,稍后可以绑定到target

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

__init__(image[, genMipMaps=QOpenGLTexture.MipMapGeneration.GenerateMipMaps])
Parameters:

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

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

注意

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

allocateStorage()

为这个纹理对象分配服务器端存储,考虑到格式、尺寸、mipmap级别、数组层和立方体贴图面。

一旦存储被分配,就无法再更改这些属性。

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

一旦为纹理分配了存储空间,就可以通过setData()的重载之一上传像素数据。

注意

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

allocateStorage(pixelFormat, pixelType)
Parameters:

为这个纹理对象分配服务器端存储,考虑到格式、尺寸、mipmap级别、数组层和立方体贴图面。

一旦存储被分配,就无法再更改这些属性。

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

一旦为纹理分配了存储空间,就可以通过setData()的重载之一上传像素数据。

bind()

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

另请参阅

release()

bind(unit[, reset=QOpenGLTexture.TextureUnitReset.DontResetTextureUnit])
Parameters:

将此纹理绑定到纹理单元unit以便进行渲染。请注意,您不需要绑定QOpenGLTexture对象来修改它们,因为实现在可用时使用EXT_direct_state_access扩展,并在不可用时模拟它。

如果参数 resettrue,那么此函数将恢复活动单元为进入时的纹理单元。

另请参阅

release()

borderColor()
Return type:

QColor

返回此纹理的边框颜色。

另请参阅

setBorderColor()

static boundTextureId(target)
Parameters:

目标BindingTarget

Return type:

整数

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

static boundTextureId(unit, target)
Parameters:
Return type:

整数

返回绑定到纹理单元 unittarget 的纹理的 textureId

comparisonFunction()
Return type:

ComparisonFunction

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

comparisonMode()
Return type:

ComparisonMode

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

另请参阅

setComparisonMode()

create()
Return type:

布尔

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

一旦纹理对象被创建,你可以从textureId()函数中获取对象名称。如果你希望进行一些与此纹理相关的原始OpenGL调用,这可能会有用。

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

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

createTextureView(target, viewFormat, minimumMipmapLevel, maximumMipmapLevel, minimumLayer, maximumLayer)
Parameters:
  • target目标

  • viewFormatTextureFormat

  • minimumMipmapLevel – int

  • maximumMipmapLevel – int

  • minimumLayer – int

  • maximumLayer – int

Return type:

QOpenGLTexture

尝试在此纹理上创建一个纹理视图。纹理视图在某种程度上类似于SQL中的视图,因为它呈现了原始数据的受限或重新解释的视图。纹理视图不会分配更多的服务器端存储,而是依赖于源纹理的存储缓冲区。

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

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

类似的约束适用于viewFormat。更多详情请参见上述链接和规范。

minimumMipmapLevelmaximumMipmapLevelminimumLayermaximumLayer 参数用于限制纹理视图中可访问的纹理部分。

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

另请参阅

isTextureView()

depth()
Return type:

整数

返回3D纹理的深度。

另请参阅

width() height() setSize()

depthStencilMode()
Return type:

DepthStencilMode

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

另请参阅

setDepthStencilMode()

destroy()

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

faces()
Return type:

整数

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

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

format()
Return type:

TextureFormat

返回此纹理对象的格式。

另请参阅

setFormat()

generateMipMaps()

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

注意

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

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

  • resetBaseLevel – 布尔值

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

通过将mipmap的基础级别设置为baseLevel,然后生成mipmap链,可以实现从baseLevel以上的mipmap生成。如果resetBaseLeveltrue,则纹理的baseLevel将重置为其先前的值。

static hasFeature(feature)
Parameters:

特征Feature

Return type:

布尔

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

height()
Return type:

整数

返回2D或3D纹理的高度。

另请参阅

width() depth() setSize()

isAutoMipMapGenerationEnabled()
Return type:

布尔

返回是否为该纹理对象启用了自动mipmap生成。

isBound()
Return type:

布尔

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

另请参阅

bind() release()

isBound(unit)
Parameters:

单位 – int

Return type:

布尔

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

另请参阅

bind() release()

isCreated()
Return type:

布尔

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

isFixedSamplePositions()
Return type:

布尔

返回此纹理是否使用固定的多重采样样本模式。如果尚未为此纹理分配存储空间,则此函数返回请求的固定样本位置设置。

对于不支持多重采样的纹理目标,这将返回true

isStorageAllocated()
Return type:

布尔

如果已为此纹理分配了服务器端存储,则返回 true

一旦存储分配完成,纹理格式、尺寸、mipmap级别和数组层数就不能更改。

isTextureView()
Return type:

布尔

如果此纹理对象实际上是另一个纹理对象的视图,则返回 true

另请参阅

createTextureView()

layers()
Return type:

整数

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

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

levelOfDetailRange()
Return type:

.std.pairfloat,float

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

levelofDetailBias()
Return type:

浮点数

返回细节偏差参数的水平。

另请参阅

setLevelofDetailBias()

magnificationFilter()
Return type:

Filter

返回放大过滤器。

maximumAnisotropy()
Return type:

浮点数

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

另请参阅

setMaximumAnisotropy()

maximumLevelOfDetail()
Return type:

浮点数

返回最大细节参数级别。

maximumMipLevels()
Return type:

整数

返回此纹理在当前尺寸下可以拥有的最大mipmap级别数。

minMagFilters()
Return type:

.std.pairQOpenGLTexture.Filter,QOpenGLTexture.Filter

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

另请参阅

setMinMagFilters()

minificationFilter()
Return type:

Filter

返回最小化过滤器。

minimumLevelOfDetail()
Return type:

浮点数

返回最小细节参数级别。

mipBaseLevel()
Return type:

整数

返回用于所有使用此纹理的纹理查找的mipmap基础级别。默认值为0。

mipLevelRange()
Return type:

.std.pairint,int

返回可用于此纹理的纹理查找的mipmap级别范围。

mipLevels()
Return type:

整数

返回此纹理的mipmap级别数量。如果尚未为此纹理分配存储空间,则返回请求的mipmap级别数量。

mipMaxLevel()
Return type:

整数

返回用于所有使用此纹理的纹理查找的mipmap最大级别。

release()

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

另请参阅

bind()

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

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

如果参数 resettrue,那么此函数将恢复活动单元为进入时的纹理单元。

samples()
Return type:

整数

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

对于不支持多重采样的纹理目标,这将返回0。

setAutoMipMapGenerationEnabled(enabled)
Parameters:

enabled – 布尔值

如果 enabledtrue,则每当通过 setData() 设置第0级mipmap数据时,为此纹理对象启用自动mipmap生成。

默认情况下,自动mipmap生成已启用。

注意

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

setBorderColor(color)
Parameters:

颜色QColor

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

注意

此函数对Mac和为OpenGL ES 2构建的Qt没有影响。

另请参阅

borderColor()

setBorderColor(r, g, b, a)
Parameters:
  • r – 浮点数

  • g – 浮点数

  • b – 浮点数

  • a – 浮点数

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

这是一个重载函数。

setBorderColor(r, g, b, a)
Parameters:
  • r – 整数

  • g – 整数

  • b – 整数

  • a – 整数

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

这是一个重载函数。

setBorderColor(r, g, b, a)
Parameters:
  • r – 整数

  • g – 整数

  • b – 整数

  • a – 整数

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

这是一个重载函数。

setComparisonFunction(function)
Parameters:

functionComparisonFunction

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

另请参阅

comparisonFunction()

setComparisonMode(mode)
Parameters:

modeComparisonMode

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

另请参阅

comparisonMode()

setCompressedData(dataSize, data[, options=None])
Parameters:

这是一个重载函数。

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

这是一个重载函数。

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

这是一个重载函数。

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

将压缩的像素data上传到mipLevel、数组layercubeFace。像素传输可以选择性地通过options进行控制。dataSize参数应指定data所指向的数据的大小。

如果不使用压缩的format(),那么你应该使用setData()而不是这个函数。

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

这是一个重载函数。

参数 layerCount 是由此调用上传/填充的纹理数组中的层数。

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

这个setData()的重载将为你分配存储空间。像素数据包含在image中。默认情况下会生成Mipmaps。将genMipMaps设置为DontGenerateMipMaps以关闭Mipmap生成。

注意

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

这是一个重载函数。

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

这是一个重载函数。

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

这是一个重载函数。

setData(mipLevel, layer, sourceFormat, sourceType, data[, options=None])
Parameters:

这是一个重载函数。

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

上传此纹理对象的像素datamipLevel,数组layercubeFace。在上传像素数据之前必须已经分配了存储空间。setData()的一些重载函数将设置适当的维度、mipmap级别和数组层,然后如果有足够的信息,它们将为您分配存储空间。这将在函数文档中注明。

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

如果使用压缩的format(),那么你应该使用setCompressedData()而不是这个函数。

另请参阅

setCompressedData()

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

这是一个重载函数。

参数 layerCount 是由此调用上传/填充的纹理数组中的层数。

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

这是一个重载函数。

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

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

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

这是一个重载函数。

此重载用于更新纹理的一部分。参数 xOffsetyOffsetzOffset 指定纹理内的纹素偏移。参数 widthheightdepth 指定子图像的尺寸。要更新的子图像的mip map级别由 mipLevel 指定。

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

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

这是一个重载函数。

此重载用于更新纹理的一部分。参数 xOffsetyOffsetzOffset 指定纹理内的纹素偏移。参数 widthheightdepth 指定子图像的尺寸。我们要更新的子图像的mip map级别和层由 mipLevellayer 指定。

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

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

这是一个重载函数。

此重载用于更新纹理的一部分。参数 xOffset, yOffset, zOffset 指定纹理内的纹素偏移。参数 width, heightdepth 指定子图像的尺寸。我们想要更新的子图像的mip map级别、层和立方体贴图面由 mipLevel, layerface 指定。

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

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

这是一个重载函数。

此重载用于更新纹理的一部分。参数 xOffset, yOffset, zOffset 指定纹理内的纹素偏移。参数 width, heightdepth 指定子图像的尺寸。我们想要更新的子图像的mip map级别、起始层、立方体贴图面和层数由 mipLevel, layer, facelayerCount 指定。

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

setDepthStencilMode(mode)
Parameters:

modeDepthStencilMode

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

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

注意

此函数对Mac和为OpenGL ES 2构建的Qt没有影响。

另请参阅

depthStencilMode()

setFixedSamplePositions(fixed)
Parameters:

fixed – 布尔值

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

对于不支持多重采样的目标,此函数无效。

默认值为 true

setFormat(format)
Parameters:

格式TextureFormat

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

请注意,可能不支持所有格式。支持的确切格式集取决于您的OpenGL实现和版本。

setLayers(layers)
Parameters:

layers – 整数

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

对于不支持数组层的目标,此函数无效。

setLevelOfDetailRange(min, max)
Parameters:
  • min – 浮点数

  • max – 浮点数

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

注意

此函数对为OpenGL ES 2构建的Qt没有影响。

setLevelofDetailBias(bias)
Parameters:

偏差 – 浮点数

将细节偏差级别设置为bias。细节偏差级别影响mipmapping级别变化的点。增加细节偏差值会使整体图像更模糊或更平滑。减少值会使整体图像更清晰。

注意

此函数对为OpenGL ES 2构建的Qt没有影响。

另请参阅

levelofDetailBias()

setMagnificationFilter(filter)
Parameters:

filterFilter

将放大滤镜设置为 filter

setMaximumAnisotropy(anisotropy)
Parameters:

各向异性 – float

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

另请参阅

maximumAnisotropy()

setMaximumLevelOfDetail(value)
Parameters:

value – 浮点数

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

注意

此函数对为OpenGL ES 2构建的Qt没有影响。

setMinMagFilters(minificationFilter, magnificationFilter)
Parameters:
  • minificationFilterFilter

  • magnificationFilterFilter

将最小化过滤器设置为minificationFilter,并将放大过滤器设置为magnificationFilter

setMinificationFilter(filter)
Parameters:

filterFilter

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

setMinimumLevelOfDetail(value)
Parameters:

value – 浮点数

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

注意

此函数对为OpenGL ES 2构建的Qt没有影响。

setMipBaseLevel(baseLevel)
Parameters:

baseLevel – int

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

注意

此函数对为OpenGL ES 2构建的Qt没有影响。

setMipLevelRange(baseLevel, maxLevel)
Parameters:
  • baseLevel – int

  • maxLevel – int

设置可用于此纹理的纹理查找的mipmap级别范围,从baseLevelmaxLevel

注意

此函数对为OpenGL ES 2构建的Qt没有影响。

setMipLevels(levels)
Parameters:

levels – 整数

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

如果纹理目标不支持mipmaps,此函数无效。

setMipMaxLevel(maxLevel)
Parameters:

maxLevel – int

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

注意

此函数对为OpenGL ES 2构建的Qt没有影响。

setSamples(samples)
Parameters:

样本 – int

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

对于不支持多重采样的目标,此函数无效。

setSize(width[, height=1[, depth=1]])
Parameters:
  • width – int

  • height – int

  • depth – int

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

如果提供的widthheightdepth不是2的幂次方,并且您的OpenGL实现不支持重复非2的幂次方纹理,则自动将环绕模式设置为ClampToEdge

另请参阅

width() height() depth()

setSwizzleMask(component, value)
Parameters:

GLSL着色器能够重新排列由纹理函数返回的vec4的分量。同样希望能够从CPU端代码控制这种重新排列。自OpenGL 3.3以来,这通过swizzle掩码成为可能。

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

此函数将component映射到输出value

注意

此函数对Mac和为OpenGL ES 2构建的Qt没有影响。

另请参阅

swizzleMask()

setSwizzleMask(r, g, b, a)
Parameters:

参数 r, g, b, 和 a 用于设置红色、绿色、蓝色和透明度值。

这是一个重载函数。

setWrapMode(mode)
Parameters:

modeWrapMode

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

另请参阅

wrapMode()

setWrapMode(direction, mode)
Parameters:

保存纹理维度 direction

这是一个重载函数。

swizzleMask(component)
Parameters:

组件SwizzleComponent

Return type:

SwizzleValue

返回纹理component的swizzle掩码。

另请参阅

setSwizzleMask()

target()
Return type:

目标

返回此纹理的绑定目标。

textureId()
Return type:

整数

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

width()
Return type:

整数

返回一维、二维或三维纹理的宽度。

另请参阅

height() depth() setSize()

wrapMode(direction)
Parameters:

方向CoordinateDirection

Return type:

WrapMode

返回纹理维度direction的环绕模式。

另请参阅

setWrapMode()