熟悉WebGL的同學都知道荆永,WebGL繪制模式有點废亭、線、面三種具钥;通過點的繪制可以實現(xiàn)粒子系統(tǒng)等豆村,通過線可以繪制一些連線關系;面就強大了骂删,通過面掌动,我們可以繪制我們想繪制的所有的三維對象。
一切看起來都很完美宁玫,perfect粗恢。
然而,不幸的是欧瘪,WebGL在繪制線條的時候眷射,存在一個缺陷,那就是在一些機器的一些瀏覽器上面(應該是大多數(shù)情況下)線寬只能設置為1,而不能設置成其他的值妖碉。
通過網(wǎng)址http://alteredqualia.com/tmp/webgl-linewidth-test/涌庭,我們可以測試自己的電腦是否有線寬的不能設置的bug,以下是我的電腦(mac 電腦)用chrome(版本59.0.3071.115)的測試效果:
(麻蛋嗅绸,以前的mac 下的chrome是好使的脾猛,看來這病越來越嚴重了)
用firefox試試:
在firefox下面看來還是正常的。
事實上鱼鸠,這是一個長久以來一直存在的bug猛拴,下面這個地址就是證明:
https://bugs.chromium.org/p/chromium/issues/detail?id=60124
很早之前就有人提過了,只是一直沒有解決蚀狰。
這是病愉昆,得治,只是那些搞瀏覽器大佬們不想出藥麻蹋。
我們就只能想點偏方來自己治療了跛溉。?
偏方是啥,由于Line的線寬是底層問題扮授,我們并不好解決芳室;不過,我們可以考慮通過面的繪制來模擬線刹勃,線的特點就是不隨鏡頭變化而改變寬度堪侯,只要能夠達到這個特點就可以達到模擬的效果。
下一篇將會介紹 如何通過三角形(面)的方式來模擬線條的繪制荔仁。
如果你對WebGL 感興趣伍宦,可以了解下我們用WebGL開發(fā)的3D機房項目: