Silniki
#91 Napisany 18 maja 2012 - 14:53
http://pl.wikipedia....a_krzywoliniowa
A zatem: życzę sobie perspektywy krzywoliniowej (co chyba wymaga liczenia projekcji w punkcie, a nie dla wierzchołków - jak obecnie).
Z kwestiami widoku wiążą się jeszcze dwa drobiazgi - gdy kręcimy głową, w grach oś obrotu znajduje się w punkcie położenia kamery - a w rzeczywistości znajduje się ona parę cm za "kamerą". Druga rzecz (ważniejsza) - przeważnie odległość jest obliczana "od płaszczyzny rzutowania" - to fatalne uproszczenie generuje masę bardzo nieprzyjemnych efektów - począwszy od zmiany koloru lub oświetlenia obiektów przy ruchu głowy/kamery, a skończywszy na popupie uaktywniającym się, gdy nie zmieniam położenia, a tylko się obracam - bo w nowym wyliczeniu obiekt znajduje się nagle dalej. Widziałem to w wielu grach i zawsze mi przeszkadzało.
#92 Napisany 18 maja 2012 - 15:21
Projekcja - niekiedy grając mam wrażenie, że coś z nią nie tak. Zachowuje się przyzwoicie przy małym kącie patrzenia (czy to nazywa się FOVem?), ale przy dużym odchodzą już jakieś kosmosy blisko krawędzi ekranu. A przecież ludzkie oko ma bardzo duży kąt widzenia - a kosmosów nie widać. Nie wygląda to realistycznie. Może to kwestia tego, że oko rzutuje na siatkówkę, która płaska nie jest, a w grafice rzutuje się na płaską powierzchnię. O, zresztą właśnie znalazłem coś na ten temat:
chyba chodzi też o coś innego - projekcja obrazu na oko jest INTERPRETOWANA przez mózg. czytałeś pewnie przecież o eksperymentach, w których nakładano ludziom okulary zniekształcające obraz. i to jest kwestia do tygodnia, kiedy mózg uczy się interpretować obraz na nowo. nie mówiąc już o tym, że przecież interpretuje, bo ODWRACA obraz, oseski mylą górę z dołem bo do mózgu trafia obraz odwrócony.
począwszy od zmiany koloru lub oświetlenia obiektów przy ruchu głowy/kamery, a skończywszy na popupie uaktywniającym się, gdy nie zmieniam położenia, a tylko się obracam - bo w nowym wyliczeniu obiekt znajduje się nagle dalej. Widziałem to w wielu grach i zawsze mi przeszkadzało.
to chyba nie jest problem tego gdzie jest płaszczyzna rzutowania, tylko tego jak działa clipping obiektów. clipping w teorii może obcinać dowolnie, niekoniecznie do płaszczyzny rzutowania. nie wiem jak to się rozwiązuje w praktyce, moja wiedza nabyta przy pisaniu pracy mgr lata temu się trochę przeterminowała.
#93 Napisany 18 maja 2012 - 16:13
@torq: NEVER!
@fingus: Problemy w percepcji wynikają z kąta widzenia człowieka. Masz blisko 180 stopni, ale połowa z tego to widzenie peryferyczne. Twój mózg oczekuje, że po boku (tam, gdzie kończy się tiwik/monitor) ruch będzie zgodny z tym, co w punkcie, na którym jesteś skupiony. Tak się nie dzieje. Pewien odsetek czuje dyskomfort tak jak Ty, pewien odsetek wymiotuje (jak mnie się zdarzyło na 2 grach). To jak bardzo widzenie peryferyczne wpływa na odbiór zależy od FOV. FOV z kolei zależy od wielkości ekranu i odległości od oczu. W skrócie: póki nie mamy holodeków, problem będzie występował. Perspektywa krzywoliniowa ma znaczenie przy wyświetlaniu bardzo blisko oczu (sprawdź twitter carmacka - ostatnio pokazywał zaimplementowaną korektę dla HUDa).
#94 Napisany 18 maja 2012 - 16:36
To ja bym chciał się jeszcze dowiedzieć, jakie są nadzieje na zrobienie porządnie przeźroczystych płaszczyzn (przede wszystkim tych zniekształcających obraz, np. falującej wody lub porowatego szkła). W tej chwili problem jest taki, że zniekształcają one nie tylko to, co jest za nimi, ale i to co jest przed nimi - a może raczej "obraz tego, co jest przed nimi", co wynika pewnie z tego, że nie sortuje się trójkątów, tylko najpierw renderuje (rasteryzuje?) powierzchnie nieprzejrzyste, a potem wrzuca na to efekt falującej wody, czy czego tam, zaglądając tylko do z-bufora gdzie go położyć. No ale wtedy widać na falach pełzający obraz np. trzymanej w rękach broni (lub samego bohatera w tpp), co jest idiotyczne, bo nie ma prawa wystąpić w naturze. Może niektórzy nie zwracają na to uwagi, ale ja tak.
#95 Napisany 18 maja 2012 - 16:47
#96 Napisany 19 maja 2012 - 15:49
Nie wiem, czy to błąd, czy "taka technologia". Wiele gier to ma. Nie zawsze jest to od razu widoczne. Na pewno nie jest to odbicie (nie miałoby prawa być tutaj). Kiedyś czytałem (mogło się wiele zmienić od tamtej pory), że na przeźroczyste powierzchnie są dwie metody: albo sortujemy trójkąty i rysujemy je w kolejności od najdalszych do najbliższych, albo najpierw rysujemy wszystkie nieprzeźroczyste, a potem wszystkie przeźroczyste. W tym pierwszym podejściu, gdyby efekt falowania był nakładany w momencie rysowania trójkąta (choć w sumie nie wiem czy jest), to falowałoby tylko to, co już zostało narysowane. W tym drugim - narysowane jest już wszystko nieprzeźroczyste i jak falujemy, to nie sposób zdecydować co powinno falować, a co nie (bo, jak rozumiem, gdy wiemy, że w danym pikselu obraz powinien falować, to liczymy sobie, że należy tu wkleić piksel leżący o pięć w prawo i dwa do góry, ale jeśli tam jest piksel obiektu, który jest przed powierzchnią, to nie zgadniemy jaki kolor był "pod spodem", więc wzdychamy ciężko i wklejamy to, co mamy do dyspozycji).
#97 Napisany 20 maja 2012 - 23:47
Ale przezroczystość z odbiciem sprowadza się w przypadku rasteryzacji do złożenia kilku efektów. CE3 radzi sobie całkiem dobrze z wodą (włącznie z kaustykami), ale konsole sobie z tym nie radzą. :>Nie chodzi mi o odbicia. I nie o samą przeźroczystość, a powierzchnię, która jest przeźroczysta i zniekształca obraz za nią - może to być falująca woda, często widać to też w różnych "polach siłowych" albo ornamentowym szkle. Nie wiem, jak jest w Cry Engine, nie wydaje mi się, abym grał w jakąkolwiek grę na nim.
A co ja niby widzę na tym rozmazanym JPGu? Bo nie mam bladego pojęcia co starasz się przekazać.Ale wiem, że co jakiś czas to widuję, o np. w Skyrimie też jest:
Nie wiem, czy to błąd, czy "taka technologia".
Półprawdy czytałeś albo pomerdało Ci się coś odrobinę. Generalnie z przezroczystością na każdym sprzęcie (za wyjątkiem naszego ;P) jest tak, że musisz posortować przezroczyste obiekty od tyłu do przodu i musisz to zrobić po wyrenderowaniu całej nieprzezroczystej geometrii. To wynika z wzoru na blending: c_new = c_translucent*alpha + c_old*(1-alpha) -- nie możesz policzyć koloru wynikowego piksela, jeśli nie znasz koloru pod półprzezroczystą powierzchnią. No i kolejność dokładania przezroczystych obiektów wpływa na kolor wynikowy. To, czy *nieprzezroczyste* rzeczy renderujesz od przodu czy od tyłu wpływa jedynie na overdraw (zmarnowane piksele) na każdym sprzęcie (za wyjątkiem naszego ;P) ale nie na wynikowy kolor (chyba, że masz z-fighting, ale to jest bardzo rzadkie przy 32- albo nawet 24-bitowym z-buforze i jakichkolwiek LODach). Sam blending jest niesamowicie kosztowny na każdym sprzęcie (z wyjątkiem naszego ;P) bo wymaga odczytania z bufora ramki koloru, do policzenia nowego koloru na który wpłynęła przezroczysta powierzchnia. Im więcej przezroczystości, tym gorzej. Dlatego np. dla roślinności stosuje się alpha test zamiast alpha blendingu (ustalanie widoczności na podstawie wartości progowej alfa z pominięciem blendowania) albo alpha-to-coverage (dither widoczności/niewidoczności na podstawie wartości alfa), które są stosunkowo tanie na każdym sprzęcie (za wyjątkiem naszego ;P). Są alternatywy do renderowania przezroczystości tył->przód, ale są dosyć kosztowne -- np. depth peeling -- i konsole ich nie uciągną. No i na naszym sprzęcie to jest zbędne, skoro blending jest tani.Wiele gier to ma. Nie zawsze jest to od razu widoczne. Na pewno nie jest to odbicie (nie miałoby prawa być tutaj). Kiedyś czytałem (mogło się wiele zmienić od tamtej pory), że na przeźroczyste powierzchnie są dwie metody: albo sortujemy trójkąty i rysujemy je w kolejności od najdalszych do najbliższych, albo najpierw rysujemy wszystkie nieprzeźroczyste, a potem wszystkie przeźroczyste.
Ja tam nie widzę falowania, nie wiem o co chodzi. :SW tym pierwszym podejściu, gdyby efekt falowania był nakładany w momencie rysowania trójkąta (choć w sumie nie wiem czy jest), to falowałoby tylko to, co już zostało narysowane. W tym drugim - narysowane jest już wszystko nieprzeźroczyste i jak falujemy, to nie sposób zdecydować co powinno falować, a co nie (bo, jak rozumiem, gdy wiemy, że w danym pikselu obraz powinien falować, to liczymy sobie, że należy tu wkleić piksel leżący o pięć w prawo i dwa do góry, ale jeśli tam jest piksel obiektu, który jest przed powierzchnią, to nie zgadniemy jaki kolor był "pod spodem", więc wzdychamy ciężko i wklejamy to, co mamy do dyspozycji).
#98 Napisany 21 maja 2012 - 16:33
A co do tego, co na obrazku - widać tu stylisko topora u nogi bohatera. I ono jest takie, jak być powinno. Ale widać też wybrzuszenie po prawej - jego powielony obraz pływający na falach. Tego być nie powinno. Fala faluje, załamuje kształty pod wodą (np. schody, co widac na obrazku - kamienie są równe, a wyglądają na zniekształcone). Ale bohater z toporem są ponad wodą, ruch powierzchni nie powinien załamywać ich obrazu. Podobnie wyżej widać powieloną dłoń. Oczywiście ten obraz cały czas się rusza i to powielenie pływa sobie wraz z falą. Jeśli nie widziałeś tego w żadnej grze, to znaczy że grasz mało uważnie.
#99 Napisany 21 maja 2012 - 16:43
piszemy przeZroczysty. jednak w mowie obie formy sa poprawne.
#100 Napisany 21 maja 2012 - 16:47
Co do obrazka - dla mnie to był ziomek na schodach. Błąd wynika z tego, że wykorzystano metodę, w której liczone są odbicia w screen space. Zatem żadna informacja niewidoczna na ekranie nie będzie odbita w wodzie. To prowadzi do błędów tego typu. Dlaczego tak robią? Bo screen space jest tani, a object space nie.
#101 Napisany 21 maja 2012 - 17:14
#102 Napisany 28 maja 2012 - 17:49
#103 Napisany 28 maja 2012 - 17:51
#104 Napisany 29 maja 2012 - 14:00
#105 Napisany 29 maja 2012 - 14:12
#106 Napisany 29 maja 2012 - 15:57
#107 Napisany 03 czerwca 2012 - 23:48
http://www.vg247.com...t-for-a-decade/
#108 Napisany 04 czerwca 2012 - 08:27
#109 Napisany 04 czerwca 2012 - 08:59
#110 Napisany 06 czerwca 2012 - 08:16
Silnik zaprezentowany przez square, ponoć wszystko jest real time. Wierzycie w to? Zwie sie to Agnis Philosophy.
#111 Napisany 06 czerwca 2012 - 10:12
#112 Napisany 06 czerwca 2012 - 10:14
#113 Napisany 06 czerwca 2012 - 10:17
Generalnie jednak nie należy oczekiwać takiej grafy na nextgenach. Także z powodu mega kosztownej produkcji treści tej jakości. ;]
#114 Napisany 06 czerwca 2012 - 10:32
#115 Napisany 06 czerwca 2012 - 10:38
X360 i PS3 miały w momencie premiery grafiki na poziomie high-endu PC sprzed roku, do premiery nextgenów jest 1.5 roku, może dadzą radę wcisnąć coś w okolicach dzisiejszych mocarzy. Z drugiej strony mogą chcieć utrzymać cenę niewiele wyższą od WiiU, więc pewnie władują szmelcWątpię. Ale z drugiej strony odległość między API a sprzętem będzie niższa, więc ze słabszego o kilkanaście procent sprzętu będzie można wycisnąć to samo (no i przy stałym HW będzie można optymalizować w kosmos, więc kolejnych kilka procent wydajności się zyska).
Generalnie jednak nie należy oczekiwać takiej grafy na nextgenach. Także z powodu mega kosztownej produkcji treści tej jakości. ;]
Co do cen contentu, mam nadzieję że część ficzerów nowych kart będzie na tyle prosta do implementacji że nawet niskobudżetowe gry będą je mieć, co znacznie poprawi ich grafikę
#116 Napisany 06 czerwca 2012 - 10:44
Fixed. 360 miał najnowszy featureset w momencie premiery i moc obliczeniową nieznacznie gorszą od najwyższych modeli.PS3 miało w momencie premiery grafiki na poziomie high-endu PC sprzed roku
#117 Napisany 06 czerwca 2012 - 10:48
Módlmy się o to, żeby Nintendo dowaliło cenę 400$ na startZ drugiej strony mogą chcieć utrzymać cenę niewiele wyższą od WiiU, więc pewnie władują szmelc
#118 Napisany 06 czerwca 2012 - 10:53
Jak Ryan czepiał się szczegółów to marudziłeś.Fixed. 360 miał najnowszy featureset w momencie premiery i moc obliczeniową nieznacznie gorszą od najwyższych modeli.
Jeśli PS4 i Xbox 3 będą kontynuacją tego co pokazała obecna generacja to możemy liczyć na coś w okolicy Keplera, ale pewnie będą czymś innym, więc trzeba nastawić się na graficzne rozczarowanie
#119 Napisany 06 czerwca 2012 - 10:58
X360 i PS3 miały w momencie premiery grafiki na poziomie high-endu PC sprzed roku, do premiery nextgenów jest 1.5 roku
W 2005 rynek kart był ciut mniej hardkorowy. Teraz możesz kupić stockową kartę graficzną ze złotymi radiatorami, dwoma układami na płytce, wentylami do chłodzenia cieczą, poborze mocy 0,5kW i bóg wie czym jeszcze. Kepler (GTX 680) w szczycie pobiera 230W. Całe 360 pobiera 115-205W, zależnie od wersji, a i tak ma problem z odprowadzaniem ciepła. PS3 pobiera 200-380W i już działa jak mały pokojowy grzejnik. Sądzę, że należy patrzeć na układy o TDP do maksymalnie 130W (czyli w najlepszym wypadku lowendowe Keplery, a nie 680/690 no i zdecydowanie node nie niższy niż 28nm).