Bufor Z
Zielok tu masz krótki opis pierwszej gry 3D na PC. Oczywiście C64 by brakło trochę sprzętowo (za słabe CPU i za mało RAMu), ale sama idea może być ciekawa, i jakieś proste demo podobne do labiryntu rodem z WIN95 by się dało na tym sklecić. Co do eliminacji niewidocznych ścian to mam jeszcze książkę "Grafika Mikrokomputerowa" gdzie tez jest dział o grafice 3D w BASIC, oczywiście na PC, ale programy są na tyle proste że może i na C64 dało by się to przenieść .
- Załączniki
-
- Krótki opis silnika wolfenstein.
- Silnik Wolfa.jpg (255.48 KiB) Przejrzano 10199 razy
A szóstego dnia Bóg stworzył człowieka ... Aby mógł się napić.
Wolfenstein to raczej takie 2.5D Doom zresztą też ( 2D + BSP ) jeden i drugi engine nie miał nic wspólnego z Z Bufferem.
Podstawowa różnica jest taka, że przy Z Bufferze można rysować wszystkie wielokąty na scenie jak leci procedura rasteryzująca trójkąt porównuje aktualne 'Z' z 'Z' w buforze i jeśli większe to stawia pixel jeśli nie to przechodzi do kolejnego pixela.
W Ray Casting'u po prostu liczymy przecięcie z najblizszą ścianą, a ponieważ ściany są w 2D kwadratowymi klockami ( Wolfenstein ) to obliczenia są szybkie ( w Doomie o ile pamiętam ściany mogą być dowolnie rozmieszczone na płaszczyźnie i przy określeniu tego co widoczne pomaga przeliczone BSP )
Na C64 klasyzny Z Buffer byłby problematyczny ze względu na pamięć. Teoretycznie pewnie dałoby się to obejść renderując screen fragmentami ale to by pewnie zabiło wydajność.
Gdybym miał zrobić coś jak efekty w Applause poszedł bym raczej w ScanLine.
Wackee:
jeśli o mnie chodzi to prosiemy o wykonanie telefonu do Browara, fajnie byłoby się dowiedzieć czego użył w Applause.
Podstawowa różnica jest taka, że przy Z Bufferze można rysować wszystkie wielokąty na scenie jak leci procedura rasteryzująca trójkąt porównuje aktualne 'Z' z 'Z' w buforze i jeśli większe to stawia pixel jeśli nie to przechodzi do kolejnego pixela.
W Ray Casting'u po prostu liczymy przecięcie z najblizszą ścianą, a ponieważ ściany są w 2D kwadratowymi klockami ( Wolfenstein ) to obliczenia są szybkie ( w Doomie o ile pamiętam ściany mogą być dowolnie rozmieszczone na płaszczyźnie i przy określeniu tego co widoczne pomaga przeliczone BSP )
Na C64 klasyzny Z Buffer byłby problematyczny ze względu na pamięć. Teoretycznie pewnie dałoby się to obejść renderując screen fragmentami ale to by pewnie zabiło wydajność.
Gdybym miał zrobić coś jak efekty w Applause poszedł bym raczej w ScanLine.
Wackee:
jeśli o mnie chodzi to prosiemy o wykonanie telefonu do Browara, fajnie byłoby się dowiedzieć czego użył w Applause.
Stg/Albion Crew
Hm.. niby dla czego Wolf to nie jest prawdziwe 3D To ze gra jest prymitywna, tego nie zmienia, mamy tu transformacje w 3 wymiarach, jest przecież perspektywa i głębia. A że nie ma tu Z-bufora, no cóż autorzy tej gry też musieli sobie jakos poradzić z niedomaganiami uwczesnych PC. A tak na marginesie to jest fragment artykułu jak zrobić Wolfa na ARMie który ma 96KB RAM i 512KB ROM. Ale tam jest dość mocy obliczeniowej aby w locie dekompresować tekstury z LZW, no i sprzętowe DMA. Z drugiej strony fajnie by było przeniść Wolfa na komode, to by było coś.
A szóstego dnia Bóg stworzył człowieka ... Aby mógł się napić.
wolf nie jest prawidziwie 3d przede wszystkim z tego wzgledu, ze sciany sa zawsze "proste" oraz nie moze byc pomieszczenia nad pomieszczeniem. W Doomie sa wprawdzie sposoby zeby to obejsc z jakimis modowanymi silnikami, ale nei zmiena to faktu ze jest to niemozliwe "by design".
Podobnie jest w silniku Build stosowowanym m.in. w Duke Nukem 3d, blood, Shadow Warrior, Blake Stone... cos by sie na pewno jeszcze znalazlo Silnik ten ogolnie dziala tak jak silnik dooma, tyle ze jakimis dzikimi metodami sciany moga byc ukosne oraz jest zaimplementowana w nowszych wersjach silnika iluzja room over room.
co do wolfa na c64 - > jest MOOD jak napisalem wyzej.
na stock maszynie wiecej sie nie wyciagnie, ale na ubieglorocznym forever widzialem klon wolfa na zmodowanego spectruma - wydajnoscl epsza nzi na c64, rozdizlczosc wyzsza.. ale tylko 2 kolory jesli dobrze pamietam - niech mnie ktos poprawi jesli klame
ah te czasy kiedy po nocach robilem mapy do dooma ... lezka sie sie w oku kreci
Podobnie jest w silniku Build stosowowanym m.in. w Duke Nukem 3d, blood, Shadow Warrior, Blake Stone... cos by sie na pewno jeszcze znalazlo Silnik ten ogolnie dziala tak jak silnik dooma, tyle ze jakimis dzikimi metodami sciany moga byc ukosne oraz jest zaimplementowana w nowszych wersjach silnika iluzja room over room.
co do wolfa na c64 - > jest MOOD jak napisalem wyzej.
na stock maszynie wiecej sie nie wyciagnie, ale na ubieglorocznym forever widzialem klon wolfa na zmodowanego spectruma - wydajnoscl epsza nzi na c64, rozdizlczosc wyzsza.. ale tylko 2 kolory jesli dobrze pamietam - niech mnie ktos poprawi jesli klame
ah te czasy kiedy po nocach robilem mapy do dooma ... lezka sie sie w oku kreci
Build engine to nie jest raycaster tylko portal engine, Andropolis udowadnia, że można to i u nas zrobić, tylko bez teksturowania, które bez użycia ray castingu jest cholernie kosztowne.
Co do wolfów na Spectrumie, to mają ich troche:
http://www.youtube.com/watch?v=vzm9KkJ5lGI
http://www.youtube.com/watch?v=3v7cFGneuaw
http://www.youtube.com/watch?v=2rWooGqqQ5w
Co do wolfów na Spectrumie, to mają ich troche:
http://www.youtube.com/watch?v=vzm9KkJ5lGI
http://www.youtube.com/watch?v=3v7cFGneuaw
http://www.youtube.com/watch?v=2rWooGqqQ5w
Ostatnio zmieniony 07 lut 2010, 12:33 przez Nitro, łącznie zmieniany 1 raz.
nikt nie napisal chyba ze build to raycaster?Nitro pisze:Build engine to nie jest raycaster tylko portal engine, Andropolis udowadnia, że można to i u nas zrobić, tylko bez teksturowania, które bez użycia ray castingu jest cholernie kosztowne.
posilkujac sie tym : http://en.wikibooks.org/wiki/Build_a_3D ... _anyway.3F
moge przyznac ze moze sie to nazywac portalowy silnik czy jak kto tam chce, co nie zmienia faktu, ze i w doomie i w build idea jest taka sama - drzewa bsp, sectory, ale finalny rendering odbywa sie poprzez raycasting (przynajmniej w doomie jest to na 100% raycasting poszczegolnych sectorow).
swoja droga w Atarowskim "Numenie" zaprezentowano silnik bazowany na build.
tak przy okazji:
http://en.wikipedia.org/wiki/Build_engine
http://en.wikipedia.org/wiki/Doom_engine
Może źle Cię zrozumiałem, wracając do meritum sprawy Doom i Build mimo może dla niektórych podobnego wyglądu gier to dwie odrębne technologie, Doom używa spasionego ray castingu, Build to portal engine, ta technika jest wydajniejsza od Dooma dzięki czemu mamy Numen'a i Andropolis, oba silniki bez tekstur.
A widzieliście Pixel Shader na Zx Spectrum. Masakra.
http://www.youtube.com/watch?v=yTmmnb3K ... re=related
Ale na naszego Comcia też jest parę perełek:
http://www.youtube.com/watch?v=yRdW1FYR-a4
http://www.youtube.com/watch?v=hY7jYnW2 ... re=related
http://www.youtube.com/watch?v=yTmmnb3K ... re=related
Ale na naszego Comcia też jest parę perełek:
http://www.youtube.com/watch?v=yRdW1FYR-a4
http://www.youtube.com/watch?v=hY7jYnW2 ... re=related
A szóstego dnia Bóg stworzył człowieka ... Aby mógł się napić.
Nie rozumiem jak można być tak mądrym, żeby pisać color clash na współczesne komputery..A widzieliście Pixel Shader na Zx Spectrum. Masakra.
http://www.youtube.com/watch?v=yTmmnb3K ... re=related