Skocz do zawartości

oversampling


Rekomendowane odpowiedzi

Napisano

Od jakiegoś czasu poznaje blendera ale przysparza mi on masę problemów. Do tej pory jakoś dawało radę ale tym razem ręce mi opadły.

Jest sobie obiekt, do niego przypisany materiał z podstawową mapą wpływającą na kolor obiektu. Następnie na tę mapę jest nakładana kolejna mapa posiadająca już kanał alpha (plik PNG) z jakimś napisem/symbolem/itp.

Kiedy robię szybki render jakiegoś fragmentu obrazu wszystko nakłada się elegancko. Jak robię render z kamery z włączonym oversampling, niestety wokół textury z alphą robią się białe obwódki. Dodam, że włączyłem rgba, premul, itd i nic to nie daje. Bez OSA wszystko jest ok, ale scena wygląda wtedy źle.

Moje pytanie, czy jest na to jakiś sposób czy po prostu odpuścić sobie blender internala i rozejrzeć się za jakimś innym rendererem? Wszelkie uwagi i pomoc mile widziane.

  • Odpowiedzi 11
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Top Posters In This Topic

Napisano

Czy używasz tego kanału alpha przy nakładaniu? Prawdopodobnie problem wynika z pikselami które są częściowo przeźroczyste. Jeżeli tło w programie graficznym było białe to takie coś może wystąpić. Ja zawsze stosuję osobno alphy. Inna możliwość to problem z mipmapami. Spróbuj je wyłączyć chwilowo dla danej tekstury i zobacz co wychodzi.

Napisano

Tak używam, bo o to mi tu chodzi. Ta druga tekstura zawierająca napisy nie posiada tła bo je wymazałem, jest kanał alpha (dlatego użyłem png) żeby nie używać masek (z resztą użycie maski nic nie zmienia, problem pozostaje).

Z tego co wiem jest to znany problem w blenderze związany z OSA ale szukałem i nie znalazłem rozw. Jutro wrzucę obrazki żeby było wiadomo co i jak.

Napisano

poniżej obrazki pokazujące w czym tkwi problem:

bez OSA:

http://img404.imageshack.us/img404/1063/bezosa.jpg

z OSA:

http://img89.imageshack.us/img89/845/osazn.jpg

 

i jeszcze jeden:

http://img843.imageshack.us/img843/5301/mapy.png

 

>pierwsza tekstura wpływa na parametry: normal, specular

>druga tekstura jest maską ale jest wyłączona

>trzecia tekstura wpływa na kolor (difusse jak kto woli) dla wybranych poligonów i zawiera ona już kanał aplha, żeby maski nie używać.

 

nie wiem jednak jak pozbyć się tych białych obszarów. ostatecznie można by zrobić dwa rendery: jeden z osa, drugi bez i zmontować w jakimś programie 2d ale pomysł jest raczej beznadziejny.

wszelkie uwagi mile widziane.

Napisano

No w Blenderze są problemy z mipmapami alph, ale u ciebie to jakaś masakra. Napewno używasz bierzącej wersji? od 2.49 wiele tego typu kwiatków zostało poprawionych.

 

Problem w tym że w teksturze piksele pod przeźroczystością mają kolor. Jest to szary lub biały w tym przypadku. Nie wiem w czym robiona tekstura ale jakaś podmalówka koloru literek mogłaby pomóc.

 

Albo można wyłączyć mipmapy a włączyć fullOSA i czekać dłużej na render.

Napisano

>wersja blendera: 2.49b x64 (czyli ostatnia stabilna)

>testowałem również na beta 2.54 x64 i problem jest ten sam (na bete się jeszcze nie przesiadłem bo brak w niej niektórych elementarnych funkcji)

>tekstury robione w PS cs3

 

Mówiąc o mipmapach masz chyba na myśli ten parametr w 'Map Image', wyłączałem go i włączałem fullOSA ale nic nie pomagało. Już w podglądzie materiału widać ten błąd z białą obwódką kiedy włączy się OSA. Wątpię, żeby w 32bitowych wersjach tych aplikacji było inaczej.

I zasadnicza dla mnie sprawa: jeśli ten w sumie banalny problem nie jest rozwiązywalny (w co ciągle trochę wątpię), to jaki inny renderer zastosować dla blendera (najlepiej żeby miał wersję x64)

Napisano

Nie nie ma podwójnej siatki. To jest problem czysto z teksturą. Po prostu przy zapisie tekstury Photoshop zapisuje dodatkowy kanał jako alpha. To jest dosyć ciekawe, gdyż ja nie korzystam z Photoshopa tylko Gimpa i po wyłączeniu mipmap problem nie jest widoczny.

Dlaczego nie możesz zapisać osobno maski a osobno rgb? Przecież jeżeli maska będzie w monochromie to zajmie to wszystko tyle samo pamięci.

Napisano

Photoshop czy gimp to nie ma znaczenia, ale spróbowałem raz jeszcze z maską jak mówisz i ... zadziałało. Jednak musiałem wypełnić alphe czarnym tłem już podczas tworzenia tekstury i teraz render jest ok. Wniosek jest taki, że blender ma jakiś dziwny problem z kanałem alpha w formatach, które go obsługują. Nie rozumiem jednak dlaczego takie błędy występują, po to jest obsługa tego kanału, żeby ułatwiać życie i nie stosować dodatkowych map.

Niech ten wątek będzie przestrogą dla innych.

Dzięki za pomoc i sugestie.

 

Tak to teraz wygląda:

http://img89.imageshack.us/img89/3336/23503917.png

 

Jak skończę scenę, wrzucę do do oceny.

Napisano

To nie jest błąd. Po prostu tam gdzie jest alpha 0 tam masz inny kolor. Warto najpierw wypełnić obszar kolorem który nie będzie przeszkadzał a potem wymazać przeźroczystość. Jeszcze lepszym rozwiązaniem jest tworzenie od razu całych tekstur albo ich dopalanie do całości, gdyż tak tekstura częściowa zajmuje tyle samo pamięci co cała i jak się tak zacznie składać po kilka tekstur na jeden materiał to może być mało pamięci.

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności