Cesium原理篇:6 Render模塊(5: VAO&RenderState&Command)

VAO

       VAO(Vertext Array Object),中文是頂點(diǎn)數(shù)組對(duì)象。之前在《Buffer》一文中,我們介紹了Cesium如何創(chuàng)建VBO的過程,而VAO可以簡單的認(rèn)為是基于VBO的一個(gè)封裝,為頂點(diǎn)屬性數(shù)組和VBO中的頂點(diǎn)數(shù)據(jù)之間建立了關(guān)聯(lián)。我們來看一下使用示例:

復(fù)制代碼
var indexBuffer = Buffer.createIndexBuffer({
    context : context,
    typedArray : indices,
    usage : BufferUsage.STATIC_DRAW,
    indexDatatype : indexDatatype
}); var buffer = Buffer.createVertexBuffer({
    context : context,
    typedArray : typedArray,
    usage : BufferUsage.STATIC_DRAW
}); // 屬性數(shù)組,當(dāng)前是頂點(diǎn)數(shù)據(jù)z // 因此,該屬性有3個(gè)分量XYZ // 值類型為float,4個(gè)字節(jié) // 因此總共占3 *4= 12字節(jié) attributes.push({
    index : 0,
    vertexBuffer : buffer,
    componentsPerAttribute : 3,
    componentDatatype : ComponentDatatype.FLOAT,
    offsetInBytes : 0,
    strideInBytes : 3 * 4
        		

網(wǎng)友評(píng)論