這三個(gè)概念在討論GPU渲染流程的時(shí)候經(jīng)常提到,并且容易混淆,這里簡(jiǎn)述一下這三者與他們之間的區(qū)別。
首先這3者的生成是有先后順序的:
頂點(diǎn)>圖元>片元>像素
- 頂點(diǎn)就不解釋了。
- 圖元是由頂點(diǎn)組成的。一個(gè)頂點(diǎn),一條線段,一個(gè)三角形或者多邊形都可以成為圖元。
- 片元是在圖元經(jīng)過(guò)光柵化階段(這個(gè)階段比較復(fù)雜,這里不贅述)后,被分割成一個(gè)個(gè)像素大小的基本單位。片元其實(shí)已經(jīng)很接近像素了,但是它還不是像素。片元包含了比RGBA更多的信息,比如可能有深度值,法線,紋理坐標(biāo)等等信息。片元需要在通過(guò)一些測(cè)試(如深度測(cè)試)后才會(huì)最終成為像素。可能會(huì)有多個(gè)片元競(jìng)爭(zhēng)同一個(gè)像素,而這些測(cè)試會(huì)最終篩選出一個(gè)合適的片元,丟棄法線和紋理坐標(biāo)等不需要的信息后,成為像素。
- 像素就很好理解了,最終呈現(xiàn)在屏幕上的包含RGBA值的圖像最小單元就是像素了。