使用glsl如何繪製模型的外輪廓?

時間 2021-06-01 23:35:07

1樓:「已登出」

鄒曉航說的是一種方法(雖然說的有點問題)

這種方法產生的外輪廓會受到投影的影響

看起來就是輪廓粗細不均所以比較難看

並且效果單一只是單色很硬的輪廓線而已

其他效果很難做出來

一般還是先把模型渲染到紋理

然後對渲染結果描邊

然後再渲染到螢幕

這樣可以得到乙個均勻的外輪廓

2樓:鄒曉航0號

答主又找了一些資料,看了下我說的這種方法還是有寫遊戲使用的,在這片文章Deus Ex: Human Revolution中Silhouette Effect小節提到了:

然而這篇文章中利用了乙個更好的方法來生成外輪廓,效果如下:

你可以參考這篇文章的Silhouette Effect小節裡面用到的方法:Sobel operator

更新1.首先 first pass,先渲染模型形狀到stencil buffer中,假定設值為1

2. second pass,在同一位置渲染乙個scale了的相同的單色模型(顏色可設定為你想要的外輪廓顏色),繪製非stencil buffer部分(非1值部分),具體scale多少可以自行設定調整。

效果如下,這裡是繪製了兩個箱子的外輪廓,用的是shader渲染而不是固定管線:

3樓:Xi Yang

注意是外輪廓。使用edge detection的方法會繪製出不期望的線條。

取決於你用的方法。如果你把物體整個繪製成同乙個值,然後卷積邊緣,那麼顯然不會產生內部線條。

如何使用 Excel 繪製甘特圖?

沒有人注意到題主雖然說的是甘特圖,但是問題裡放的圖橫座標是數值而不是日期嘛?如果想畫乙個和題主給的一樣的表示數值範圍的甘特圖,直接用excel就可以了!兩分鐘搞定!1.在最小值和最大值之間插入一列,求兩者之差2.選擇最小值和差值列,插入堆積條形圖3.把系列1輪廓和填充都改成透明,系列1的圖例刪掉,完...

C 如何使用OpenGL繪製大量紋理而不卡?

從減少材質維度的角度 Texture Atlas,即把多張圖拼在一張上,需要自己計算定址 clamp repeat mirror 必要時需要留邊 可能會有mipmap畫素汙染問題 相容性最好,效能一般。Texture Array,把多張圖放在不同的層,在shader裡用單獨的座標索引。相比於Text...

這樣的夢幻效果,如何繪製?

微課君 不請自來 可能看過Taejune Kim的作品都會被驚豔到的感覺,有很多細節方面處理的非常棒 如果想畫出Taejune Kim的效果就要注意了!敲黑板了哈!微課菌用之前的演示圖,給題主解答下,這張圖是乙個陰天的環境下,我準備加強雲層中透出的暖光,照耀在角色背部上,形成乙個逆光效果。首先給頭髮...