初始化WebGL − JavaScript是用于初始化WebGL的上下文。
創(chuàng)建數(shù)組 − 我們創(chuàng)建JavaScript數(shù)組來(lái)保存幾何數(shù)據(jù)。
緩沖區(qū)對(duì)象 − 通過(guò)將數(shù)組作為參數(shù)來(lái)創(chuàng)建緩沖區(qū)對(duì)象(頂點(diǎn)和索引)。
著色器 − 我們創(chuàng)建,編譯和使用JavaScript鏈接著色器。
屬性− 我們可以創(chuàng)建屬性,啟用它們并使用JavaScript緩沖區(qū)對(duì)象相關(guān)聯(lián)。
制服− 我們還可以使用 JavaScript 制服(uniforms)關(guān)聯(lián)。
變換矩陣 − 使用JavaScript,我們可以創(chuàng)建變換矩陣。
當(dāng)我們通過(guò)調(diào)用方法drawElements()和drawArray()啟動(dòng)渲染過(guò)程中,頂點(diǎn)著色器提供的每個(gè)頂點(diǎn)執(zhí)行在頂點(diǎn)緩沖區(qū)對(duì)象。它計(jì)算原始多邊形各頂點(diǎn)的位置并且存儲(chǔ)在不同的 gl_position。 它還計(jì)算的其他屬性,例如顏色,紋理坐標(biāo),以及頂點(diǎn),這通常與頂點(diǎn)相關(guān)聯(lián)。
剔除− 最初的取向(是其正面或背面朝向?)多邊形被確定。所有這些三角形使用不當(dāng)取向不可見(jiàn)在觀看區(qū)域被丟棄。這個(gè)過(guò)程被稱(chēng)為剔除。
剪裁 − 如果一個(gè)三角形部分在觀看區(qū)域之外,則視圖區(qū)域之外的部分被去除。這個(gè)過(guò)程被稱(chēng)為剪裁。