2013-05-13 12 views
8

mam problem z różnymi wynikami wizualne podczas korzystania z FBO w porównaniu do standardowego bufora ramki:OpenGL: Przedmioty są gładkie jeśli normalnie wyciągnąć, ale krawędziach przy renderowaniu do FBO

renderować mój OpenGL sceny do obiektu bufora ramki, ponieważ używam tego do wybierania kolorów. Chodzi o to, że jeśli renderuję scenę bezpośrednio do domyślnego bufora ramki, wyjście na ekranie jest dość gładkie, co oznacza, że ​​krawędzie moich obiektów wyglądają trochę tak, jakby były wygładzone. Kiedy renderuję scenę do FBO, a potem używam wyjścia do tekstury kwadratu, który obejmuje całą rzutnię, obiekty mają bardzo twarde krawędzie, gdzie można łatwo zobaczyć każdy kolorowy piksel, który należy do obiektów.

Dobre: ​​

dtizcto7.png

Źle:

wy7hg754.png

W tej chwili nie mam pojęcia, co powodem tego może być. Nie używam anty-aliasingu.

System:
Fedora 18 x64
Intel HD Graphics 4000 i Nvidia GT 740m (ten sam wynik)

Edit1:

Jak stwierdził Damon i Steven Lu, nie ma chyba jakiś anty-aliasing domyślnie włączony przez system. Nie mogłem się domyślić, jak wyłączyć tę funkcję.
Chodzi o to, że po prostu ciekawiło mnie, dlaczego to ustawienie ma wpływ tylko na domyślny bufor ramki, a nie na serwer obsługiwany przez FBO. Aby uzyskać wygładzone krawędzie dla FBO, prawdopodobnie będę musiał wdrożyć własną metodę AA.

+11

Wygląda to zupełnie normalnie. Prawdopodobnie włączyłeś MSAA w panelu kontrolnym karty grasphic (niektóre ustawienia, takie jak "nadpisanie aplikacji" lub "wymuszaj zawsze"), dlatego renderowanie na ekran wygląda antyliasingowo. Rendering do FBO nie wykorzystuje multisamplingu, chyba że wyraźnie powiesz OpenGL, aby to zrobił, dodając załączniki multisampla. – Damon

+2

@Damon: Odpowiedzi. Post * odpowiedzi *, nie komentarze. –

+0

Co jest nie tak z publikowaniem komentarza? Jeśli masz pewność, że jego komentarz jest poprawny i całkowicie odpowiada na pytanie, opublikuj to sam. –

Odpowiedz

7

Po narysowaniu sceny w niestandardowym pliku FBO, zdefiniowany zewnętrznie poziom MSAA już nie obowiązuje. Musisz skonfigurować FBO, aby miał teksturę wielowarstwową lub wyświetlał załączniki buforów, ustalając liczbę poziomów próbek po drodze. Here jest odniesieniem.

+0

Dziękuję, spróbuję tego. – TimV

Powiązane problemy