<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # QGLBuffer Class Reference ## [[QtOpenGL](index.htm) module] 該QGLBuffer類提供用于創建和管理GL緩沖區對象。[More...](#details) ### Types * `enum Access { ReadOnly, WriteOnly, ReadWrite }` * `enum Type { VertexBuffer, IndexBuffer, PixelPackBuffer, PixelUnpackBuffer }` * `enum UsagePattern { StreamDraw, StreamRead, StreamCopy, StaticDraw, ..., DynamicCopy }` ### Methods * `__init__ (self)` * `__init__ (self, Type?type)` * `__init__ (self, QGLBuffer?other)` * `allocate (self, sip.voidptr?data, int?count)` * `allocate (self, int?count)` * `bool bind (self)` * `int bufferId (self)` * `bool create (self)` * `destroy (self)` * `bool isCreated (self)` * `sip.voidptr map (self, Access?access)` * `bool read (self, int?offset, sip.voidptr?data, int?count)` * `release (self)` * `setUsagePattern (self, UsagePattern?value)` * `int size (self)` * `Type type (self)` * `bool unmap (self)` * `UsagePattern usagePattern (self)` * `write (self, int?offset, sip.voidptr?data, int?count)` ### Static Methods * `release (Type?type)` * * * ## Detailed Description 該QGLBuffer類提供用于創建和管理GL緩沖區對象。 緩沖對象在GL服務器創建,使客戶端應用程序可避免上傳頂點,索引,紋理圖像數據等,他們需要每一次。 QGLBuffer對象可以被復制圍繞作為參照相關GL緩沖對象: ``` QGLBuffer buffer1(QGLBuffer.IndexBuffer); buffer1.create(); QGLBuffer buffer2 = buffer1; ``` QGLBuffer進行淺拷貝時,對象被復制以這種方式,但沒有實現副本上寫的語義。原來的對象會受到影響每當副本被修改。 * * * ## Type Documentation ``` QGLBuffer.Access ``` 這個枚舉變量定義的訪問模式[QGLBuffer.map](qglbuffer.html#map)( ) 。 | Constant | Value | Description | | --- | --- | --- | | `QGLBuffer.ReadOnly` | `0x88B8` | 該緩沖區將被映射為只讀。 | | `QGLBuffer.WriteOnly` | `0x88B9` | 該緩沖區將被映射為只寫。 | | `QGLBuffer.ReadWrite` | `0x88BA` | 該緩沖區將被映射為閱讀和寫作。 | ``` QGLBuffer.Type ``` 這個枚舉變量定義GL緩沖對象的創建與類型[QGLBuffer](qglbuffer.html)。 | 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.UsagePattern ``` 這個枚舉變量定義的使用模式[QGLBuffer](qglbuffer.html)對象。 | 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不支持。 | * * * ## Method Documentation ``` QGLBuffer.__init__ (self) ``` 構造類型的一個新的緩沖區對象[QGLBuffer.VertexBuffer](qglbuffer.html#Type-enum)。 注:此構造函數只是創建[QGLBuffer](qglbuffer.html)實例。在GL服務器的實際緩沖區對象不創建,直到[create](qglbuffer.html#create)()被調用。 **See also** [create](qglbuffer.html#create)( ) 。 ``` QGLBuffer.__init__ (self, Type?type) ``` 構建了一個新的緩沖區對象_type_。 注:此構造函數只是創建[QGLBuffer](qglbuffer.html)實例。在GL服務器的實際緩沖區對象不創建,直到[create](qglbuffer.html#create)()被調用。 **See also** [create](qglbuffer.html#create)( ) 。 ``` QGLBuffer.__init__ (self, QGLBuffer?other) ``` 構造的淺表副本_other_。 注意:[QGLBuffer](qglbuffer.html)沒有實現副本上寫的語義,所以_other_將受到影響每當副本被修改。 ``` QGLBuffer.allocate (self, sip.voidptr?data, int?count) ``` 中分配_count_的空間的緩沖區中的字節,并將其初始化內容_data_。任何以前的內容將被刪除。 假定[create](qglbuffer.html#create)( )被調用這個緩沖區,它已經綁定到當前的上下文。 **See also** [create](qglbuffer.html#create)( )[read](qglbuffer.html#read)()和[write](qglbuffer.html#write)( ) 。 ``` QGLBuffer.allocate (self, int?count) ``` 這是一個重載函數。 中分配_count_的空間字節的緩沖區。任何以前的內容將被刪除。 假定[create](qglbuffer.html#create)( )被調用這個緩沖區,它已經綁定到當前的上下文。 **See also** [create](qglbuffer.html#create)()和[write](qglbuffer.html#write)( ) 。 ``` bool QGLBuffer.bind (self) ``` 結合與此對象到當前的GL上下文相關聯的緩沖區。如果結合是不可能的,通常是因為返回False[type](qglbuffer.html#type)( )不支持此GL實現。 該緩沖區必須被綁定到同一個[QGLContext](qglcontext.html)當電流[create](qglbuffer.html#create)( )被調用,或到另一個[QGLContext](qglcontext.html)這是分享它。否則為False將被從這個函數返回。 **See also** [release](qglbuffer.html#release)()和[create](qglbuffer.html#create)( ) 。 ``` int QGLBuffer.bufferId (self) ``` 返回與該緩沖區關聯的GL標識符;如果緩沖區尚未創建為零。 **See also** [isCreated](qglbuffer.html#isCreated)( ) 。 ``` bool QGLBuffer.create (self) ``` 在創建GL服務器的緩沖區對象。如果在創建對象,則返回True ,否則返回False 。 此函數必須調用當前[QGLContext](qglcontext.html)。該緩沖區將被綁定到,可以在這方面(或與它共享的任何其他情況下)才能使用。 這個函數將返回False ,如果GL實現不支持的緩沖區,或者是沒有電流[QGLContext](qglcontext.html)。 **See also** [isCreated](qglbuffer.html#isCreated)( )[allocate](qglbuffer.html#allocate)( )[write](qglbuffer.html#write)()和[destroy](qglbuffer.html#destroy)( ) 。 ``` QGLBuffer.destroy (self) ``` 摧毀這個緩沖區對象,包括GL服務器所使用的存儲。到緩沖區中的所有引用都將變成無效。 ``` bool QGLBuffer.isCreated (self) ``` 如果這個緩沖區已經建立,則返回True ,否則返回False 。 **See also** [create](qglbuffer.html#create)()和[destroy](qglbuffer.html#destroy)( ) 。 ``` sip.voidptr QGLBuffer.map (self, Access?access) ``` 這個映射緩沖區的內容到應用程序的內存空間,并返回一個指向它的指針。返回null ,如果內存映射是不可能的。該_access_參數表示將要執行的訪問類型。 假定[create](qglbuffer.html#create)( )被調用這個緩沖區,它已經綁定到當前的上下文。 此功能僅是下的OpenGL / ES的支持,如果`GL_OES_mapbuffer`擴展出現。 **See also** [unmap](qglbuffer.html#unmap)( )[create](qglbuffer.html#create)()和[bind](qglbuffer.html#bind)( ) 。 ``` bool QGLBuffer.read (self, int?offset, sip.voidptr?data, int?count) ``` 讀取_count_在這個緩沖區起始字節_offset_成_data_。如果不支持從緩沖區讀取錯誤;在成功時返回真。下的OpenGL / ES不支持的緩沖區讀取。 據推測,此緩沖區已被綁定到當前上下文。 **See also** [write](qglbuffer.html#write)()和[bind](qglbuffer.html#bind)( ) 。 ``` QGLBuffer.release (self) ``` 釋放與從目前的GL上下文此對象關聯的緩沖區。 這個函數必須被調用,使用相同的[QGLContext](qglcontext.html)電流時[bind](qglbuffer.html#bind)( )被調用的緩沖區。 **See also** [bind](qglbuffer.html#bind)( ) 。 ``` QGLBuffer.release (Type?type) ``` 釋放與相關聯的緩沖_type_在當前的[QGLContext](qglcontext.html)。 此功能是直接調用`glBindBuffer(type, 0)`使用時,調用者不知道哪些[QGLBuffer](qglbuffer.html)已經被綁定到上下文,但要確保它被釋放。 ``` [QGLBuffer](qglbuffer.html).release([QGLBuffer](qglbuffer.html).VertexBuffer); ``` ``` QGLBuffer.setUsagePattern (self, UsagePattern?value) ``` 設置此緩沖區對象的使用模式_value_。這個函數必須在被調用[allocate](qglbuffer.html#allocate)()或[write](qglbuffer.html#write)( ) 。 **See also** [usagePattern](qglbuffer.html#usagePattern)( )[allocate](qglbuffer.html#allocate)()和[write](qglbuffer.html#write)( ) 。 ``` int QGLBuffer.size (self) ``` 返回數據的大小在此緩沖液中,用于讀取操作。返回-1,如果讀取緩沖區的大小是不支持,或者緩沖尚未建立。 據推測,此緩沖區已被綁定到當前上下文。 **See also** [isCreated](qglbuffer.html#isCreated)()和[bind](qglbuffer.html#bind)( ) 。 ``` Type QGLBuffer.type (self) ``` [ 返回緩沖區的當前對象表示的類型。 ``` bool QGLBuffer.unmap (self) ``` ](qglbuffer.html#Type-enum) [取消映射緩沖區它被映射到應用程序的內存空間與以前調用后](qglbuffer.html#Type-enum)[map](qglbuffer.html#map)( ) 。返回True如果取消映射成功,否則返回False 。 據推測,此緩沖區已被綁定到當前上下文,它先前被映射到[map](qglbuffer.html#map)( ) 。 此功能僅是下的OpenGL / ES的支持,如果`GL_OES_mapbuffer`擴展出現。 **See also** [map](qglbuffer.html#map)( ) 。 ``` UsagePattern QGLBuffer.usagePattern (self) ``` [](qglbuffer.html#UsagePattern-enum) [返回此緩沖區對象的使用模式。缺省值是](qglbuffer.html#UsagePattern-enum)[StaticDraw](qglbuffer.html#UsagePattern-enum)。 **See also** [setUsagePattern](qglbuffer.html#setUsagePattern)( ) 。 ``` QGLBuffer.write (self, int?offset, sip.voidptr?data, int?count) ``` 替換_count_這個緩沖區的字節開始_offset_同的內容_data_。在緩沖區內的任何其他字節將保持不變。 假定[create](qglbuffer.html#create)( )被調用這個緩沖區,它已經綁定到當前的上下文。 **See also** [create](qglbuffer.html#create)( )[read](qglbuffer.html#read)()和[allocate](qglbuffer.html#allocate)( ) 。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看