簡體   English   中英

OpenGL:如果正常繪制,對象是平滑的,但在渲染到FBO時對象是漸變的

[英]OpenGL: Objects are smooth if normally drawn, but edged when rendering to FBO

與默認幀緩沖區相比,使用FBO時,我遇到了不同視覺效果的問題:

我將我的OpenGL場景渲染成幀緩沖對象,因為我使用它來進行顏色拾取。 問題是,如果我將場景直接渲染到默認的幀緩沖區,屏幕上的輸出非常平滑,這意味着我的對象的邊緣看起來有點像是否消除鋸齒。 當我將場景渲染到FBO中並隨后使用輸出來構建跨越整個視口的四邊形時,對象具有非常硬的邊緣,您可以輕松地看到屬於對象的每個單色像素。

好:

dtizcto7.png

壞:

wy7hg754.png

目前我不知道這可能是什么原因。 我沒有使用某種抗鋸齒。

系統:
Fedora 18 x64
Intel HD Graphics 4000和Nvidia GT 740M(結果相同)

EDIT1:

正如Damon和Steven Lu所說,默認情況下系統可能會啟用某種抗鋸齒功能。 到目前為止我無法弄清楚如何禁用此功能。
問題是,我只是好奇為什么這個設置只對默認的幀緩沖區產生影響,而不是FBO處理的影響。 為了獲得FBO的抗鋸齒邊緣,我可能必須實現自己的AA方法。

將場景繪制到自定義FBO后,外部定義的MSAA級別將不再適用。您必須將FBO配置為具有多樣本紋理或渲染緩沖區附件,以設置沿途的樣本級別數。 是一個參考。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM