自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一起學(xué) WebGL:圖元的類型

開(kāi)發(fā) 前端
在 WebGL 中,圖元有三種:點(diǎn)、線、以及三角形。今天來(lái)說(shuō)說(shuō) WebGL 中的三種圖元。

大家好,我是前端西瓜哥,今天來(lái)說(shuō)說(shuō) WebGL 中的三種圖元。

在 WebGL 中,圖元有三種:點(diǎn)、線、以及三角形。

繪制的 API 為:

gl.drawArrays(mode, first, count)

這里的 mode 就是要繪制的圖元類型。

我們繪制 4 個(gè)點(diǎn),下面是示意圖,并按順序標(biāo)明繪制方向。

圖片

下面來(lái)看看這四個(gè)頂點(diǎn)在不同圖元類型下的效果。

gl.POINTS

點(diǎn)

一個(gè)個(gè)繪制頂點(diǎn),各個(gè)頂點(diǎn)之間沒(méi)有聯(lián)系。

gl.drawArrays(gl.POINTS, 0, 4);

圖片

gl.LINES

線段

每?jī)蓚€(gè)點(diǎn)一組,繪制多條線段。

gl.drawArrays(gl.LINES, 0, 4);

圖片

gl.LINE_STRIP

線條(strip)

多個(gè)點(diǎn)按順序依次相連,形成一條多個(gè)線段組成的折線。

gl.drawArrays(gl.LINE_STRIP, 0, 4);

圖片

gl.LINE_LOOP

回路

類似 gl.LINE_STRIP,也是多個(gè)點(diǎn)順序相連,但多了一個(gè)頭尾頂點(diǎn)相連。

gl.drawArrays(gl.LINE_LOOP, 0, 4);

圖片

gl.TRIANGLES

三角形

三個(gè)點(diǎn)為一組,繪制一個(gè)三角形。如果最后一組湊不夠三個(gè)點(diǎn),會(huì)被丟棄不繪制。

gl.drawArrays(gl.TRIANGLES, 0, 4);

圖片

gl.TRIANGLE_STRIP

三角帶

有點(diǎn)像 gl.LINE_STRIP,從第二個(gè)點(diǎn)開(kāi)始,會(huì)和前兩個(gè)點(diǎn)為一組繪制一個(gè)三角形,也就是一個(gè)點(diǎn)最多會(huì)被 3 個(gè)三角形共享。所以相比 gl.TRIANGLES,可以用更少的信息去繪制同樣的效果。

gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);

圖片

可以看到,第 1、2 個(gè)頂點(diǎn)形成的邊被兩個(gè)三角形共用了。

gl.TRIANGLE_FAN

三角扇

從第二個(gè)點(diǎn)開(kāi)始,和它的上一個(gè)點(diǎn),以及第一個(gè)點(diǎn)組成一個(gè)三角形。

也就是第一個(gè)點(diǎn)會(huì)被所有三角形共用。

gl.drawArrays(gl.TRIANGLE_FAN, 0, 4);

圖片

適合用來(lái)繪制多邊形。

動(dòng)手試試

demo 地址。

https://codesandbox.io/s/47120y?file=/index.js

修改最后一行代碼,改為上面的圖元模式,看看效果吧。

或者你可以追加一些頂點(diǎn)坐標(biāo)看看效果,記得不要忘記改 gl.drawArrays 方法的最后一個(gè)參數(shù),即使用的頂點(diǎn)的個(gè)數(shù)。

責(zé)任編輯:姜華 來(lái)源: 前端西瓜哥
相關(guān)推薦

2023-05-04 08:48:42

WebGL復(fù)合矩陣

2023-06-26 15:14:19

WebGL紋理對(duì)象學(xué)習(xí)

2023-04-13 07:45:15

WebGL片元著色器

2023-04-12 07:46:24

JavaScriptWebGL

2023-03-29 07:31:09

WebGL坐標(biāo)系

2023-05-31 20:10:03

WebGL繪制立方體

2023-05-16 07:44:03

紋理映射WebGL

2023-04-11 07:48:32

WebGLCanvas

2023-05-17 08:28:55

2023-04-27 08:27:29

WebGL變形矩陣

2023-04-17 09:01:01

WebGL繪制三角形

2023-05-08 07:29:48

WebGL視圖矩陣

2022-11-29 16:35:02

Tetris鴻蒙

2022-12-02 14:20:09

Tetris鴻蒙

2022-11-14 17:01:34

游戲開(kāi)發(fā)畫(huà)布功能

2023-03-30 09:32:27

2023-05-06 07:23:57

2023-11-13 22:27:53

Mapping數(shù)據(jù)庫(kù)

2023-02-28 07:28:50

Spritepixijs

2024-02-28 12:12:20

Pipeline數(shù)據(jù)機(jī)制
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)