Home · All Classes · Modules · QSS HELP · QSS 案例 · VER007 HOME |
该QGLBuffer类提供用于创建和管理GL缓冲区对象。More...
该QGLBuffer类提供用于创建和管理GL缓冲区对象。
缓冲对象在GL服务器创建,使客户端应用程序可避免上传顶点,索引,纹理图像数据等,他们需要每一次。
QGLBuffer对象可以被复制围绕作为参照相关GL缓冲对象:
QGLBuffer buffer1(QGLBuffer.IndexBuffer); buffer1.create(); QGLBuffer buffer2 = buffer1;
QGLBuffer进行浅拷贝时,对象被复制以这种方式,但没有实现副本上写的语义。原来的对象会受到影响每当副本被修改。
这个枚举变量定义的访问模式QGLBuffer.map( ) 。
Constant | Value | Description |
---|---|---|
QGLBuffer.ReadOnly | 0x88B8 | 该缓冲区将被映射为只读。 |
QGLBuffer.WriteOnly | 0x88B9 | 该缓冲区将被映射为只写。 |
QGLBuffer.ReadWrite | 0x88BA | 该缓冲区将被映射为阅读和写作。 |
这个枚举变量定义GL缓冲对象的创建与类型QGLBuffer。
Constant | Value | Description |
---|---|---|
QGLBuffer.VertexBuffer | 0x8892 | 顶点缓冲对象指定顶点数组时使用。 |
QGLBuffer.IndexBuffer | 0x8893 | 与使用索引缓冲区对象glDrawElements()。 |
QGLBuffer.PixelPackBuffer | 0x88EB | 自GL服务器读取像素数据的像素组缓存对象(例如,与glReadPixels()) 。下的OpenGL / ES不支持。 |
QGLBuffer.PixelUnpackBuffer | 0x88EC | 为像素数据写入到GL服务器(例如,以像素解包缓冲区对象glTexImage2D()) 。下的OpenGL / ES不支持。 |
这个枚举变量定义的使用模式QGLBuffer对象。
Constant | Value | Description |
---|---|---|
QGLBuffer.StreamDraw | 0x88E0 | 这些数据将被设置一次,用过几次的绘图操作。下OpenGL / ES 1.1 ,这是相同的StaticDraw 。 |
QGLBuffer.StreamRead | 0x88E1 | 这些数据将被设置一次,用过几次读回数据从GL服务器。下的OpenGL / ES不支持。 |
QGLBuffer.StreamCopy | 0x88E2 | 这些数据将被设置一次,用过几次读取数据从GL服务器回在进一步的绘制操作使用。下的OpenGL / ES不支持。 |
QGLBuffer.StaticDraw | 0x88E4 | 这些数据将被设置一次,多次使用的绘图操作。 |
QGLBuffer.StaticRead | 0x88E5 | 这些数据将被设置一次,多次使用读回数据从GL服务器。下的OpenGL / ES不支持。 |
QGLBuffer.StaticCopy | 0x88E6 | 这些数据将被设置一次,多次使用,用于读取数据从GL服务器回在进一步的绘制操作使用。下的OpenGL / ES不支持。 |
QGLBuffer.DynamicDraw | 0x88E8 | 该数据将被反复修改和多次使用的绘图操作。 |
QGLBuffer.DynamicRead | 0x88E9 | 该数据将被反复修改和多次使用读回数据从GL服务器。下的OpenGL / ES不支持。 |
QGLBuffer.DynamicCopy | 0x88EA | 该数据将被反复修改和多次使用,用于读取数据从GL服务器回在进一步的绘制操作使用。下的OpenGL / ES不支持。 |
构造类型的一个新的缓冲区对象QGLBuffer.VertexBuffer。
注:此构造函数只是创建QGLBuffer实例。在GL服务器的实际缓冲区对象不创建,直到create()被调用。
See also create( ) 。
构建了一个新的缓冲区对象type。
注:此构造函数只是创建QGLBuffer实例。在GL服务器的实际缓冲区对象不创建,直到create()被调用。
See also create( ) 。
构造的浅表副本other。
注意:QGLBuffer没有实现副本上写的语义,所以other将受到影响每当副本被修改。
中分配count的空间的缓冲区中的字节,并将其初始化内容data。任何以前的内容将被删除。
假定create( )被调用这个缓冲区,它已经绑定到当前的上下文。
See also create( )read()和write( ) 。
这是一个重载函数。
中分配count的空间字节的缓冲区。任何以前的内容将被删除。
假定create( )被调用这个缓冲区,它已经绑定到当前的上下文。
结合与此对象到当前的GL上下文相关联的缓冲区。如果结合是不可能的,通常是因为返回Falsetype( )不支持此GL实现。
该缓冲区必须被绑定到同一个QGLContext当电流create( )被调用,或到另一个QGLContext这是分享它。否则为False将被从这个函数返回。
See also release()和create( ) 。
返回与该缓冲区关联的GL标识符;如果缓冲区尚未创建为零。
See also isCreated( ) 。
在创建GL服务器的缓冲区对象。如果在创建对象,则返回True ,否则返回False 。
此函数必须调用当前QGLContext。该缓冲区将被绑定到,可以在这方面(或与它共享的任何其他情况下)才能使用。
这个函数将返回False ,如果GL实现不支持的缓冲区,或者是没有电流QGLContext。
See also isCreated( )allocate( )write()和destroy( ) 。
摧毁这个缓冲区对象,包括GL服务器所使用的存储。到缓冲区中的所有引用都将变成无效。
如果这个缓冲区已经建立,则返回True ,否则返回False 。
See also create()和destroy( ) 。
这个映射缓冲区的内容到应用程序的内存空间,并返回一个指向它的指针。返回null ,如果内存映射是不可能的。该access参数表示将要执行的访问类型。
假定create( )被调用这个缓冲区,它已经绑定到当前的上下文。
此功能仅是下的OpenGL / ES的支持,如果GL_OES_mapbuffer扩展出现。
See also unmap( )create()和bind( ) 。
读取count在这个缓冲区起始字节offset成data。如果不支持从缓冲区读取错误;在成功时返回真。下的OpenGL / ES不支持的缓冲区读取。
据推测,此缓冲区已被绑定到当前上下文。
释放与从目前的GL上下文此对象关联的缓冲区。
这个函数必须被调用,使用相同的QGLContext电流时bind( )被调用的缓冲区。
See also bind( ) 。
释放与相关联的缓冲type在当前的QGLContext。
此功能是直接调用glBindBuffer(type, 0)使用时,调用者不知道哪些QGLBuffer已经被绑定到上下文,但要确保它被释放。
QGLBuffer.release(QGLBuffer.VertexBuffer);
设置此缓冲区对象的使用模式value。这个函数必须在被调用allocate()或write( ) 。
See also usagePattern( )allocate()和write( ) 。
返回数据的大小在此缓冲液中,用于读取操作。返回-1,如果读取缓冲区的大小是不支持,或者缓冲尚未建立。
据推测,此缓冲区已被绑定到当前上下文。
See also isCreated()和bind( ) 。
返回缓冲区的当前对象表示的类型。
取消映射缓冲区它被映射到应用程序的内存空间与以前调用后map( ) 。返回True如果取消映射成功,否则返回False 。
据推测,此缓冲区已被绑定到当前上下文,它先前被映射到map( ) 。
此功能仅是下的OpenGL / ES的支持,如果GL_OES_mapbuffer扩展出现。
See also map( ) 。
返回此缓冲区对象的使用模式。缺省值是StaticDraw。
See also setUsagePattern( ) 。
替换count这个缓冲区的字节开始offset同的内容data。在缓冲区内的任何其他字节将保持不变。
假定create( )被调用这个缓冲区,它已经绑定到当前的上下文。
See also create( )read()和allocate( ) 。
PyQt 4.10.3 for X11 | Copyright © Riverbank Computing Ltd and Nokia 2012 | Qt 4.8.5 |