Temat: Real-time 3d

Czy istnieją jakieś szczególne tricki umożliwiające tworzenie na 8-bit Atari sprawnie działającej animacji 3d z wypełnionymi wielokątami? Pytam bo widzę coraz więcej produkcji - zwłaszcza znakomity remake Control - a za czasów normalnego użytkowania, coś takiego uchodziło powszechnie za niemożliwe i dominowały wireframe'y. Nawet proste wypełnienie płaskiego wielokąta było pewnym wyzwaniem.

Ostatnio edytowany przez wieczor (2011-02-06 10:49:38)

The problem is not the problem; the problem is your attitude about the problem

2

Odp: Real-time 3d

1. pokonujesz to wyzwanie i masz wypełnienie płaskiego wielokąta
2. uświadamiasz sobie, że animacja 3D składa się z takich wielokątów
3. ...
4. profit

a bardziej poważnie - w demku intel outside jest prezentacja poszczególnych stopni trudności animacji 3D z wypełnianką:
- bryła wypukła - tu trzeba określić, które ściany są widoczne, np. za pomocą normalnych
- bryła niewypukła - tu trzeba określić kolejność rysowania ścian tak, żeby się ładnie zasłaniały
- wiele rozłącznych brył - tu trzeba posortować też bryły

W Control jest też Z-bufor, który to wszystko bardzo upraszcza, ale wymaga dużo czasu.

http://www.5oft.pl/

3

Odp: Real-time 3d

pirx: lubie filozofie gnomow :)

don't come after... please don't follow me along. when you read this, i'll be gone...

4

Odp: Real-time 3d

pirx: ja algorytmy 3d znam :) Mniej wiecej to właśnie opisałeś to typowa technika, z tym że z-bufor pozwala czas oszczędzić, jak się go sprytnie zaimplementuje.

Pytałem raczej o jakieś specyficzne sztuczki, które umożliwiają robienie tego na 1.8 MHz :)

Swego czasu mój kumpel za czasów 386 zrobił bardzo wydajny engine z wypełnianiem i goraudem, a możliwe to było dzięki właśnie paru sprytnym sztuczkom jak całkowita rezygnacja z floatów i mnożeń - nie pamiętam o co tam biegało w szczegółach, ale to było cwane wykorzystanie prostej arytmetyki i przekształcenie równania trójkątów.

W przypadku 8-bitowych wolnych procesorów największy problem widzę w samym rysowaniu - wypełnienie wymusza postawienie znacznie większej ilości pikseli. Czy się mylę?

The problem is not the problem; the problem is your attitude about the problem

5

Odp: Real-time 3d

W wielkim skrócie to cudów nie ma. Te same sztuczki co u Twojego kolegi z 386 trzeba stosować i na 6502, tylko bardziej. Co do stawiania pixeli - no cóż, trzeba stawiać całe bajty, gdzie się tylko da.
Z-bufor nie przyśpieszy właśnie dlatego, że jest drugi "ekran" do odrysowania. Na atarce, nie w ogólności.

http://www.5oft.pl/

6

Odp: Real-time 3d

można wiedzieć o jakim demie mówisz? można je skądś ściągnąć?

7

Odp: Real-time 3d

Najprościej chyba z połcia:
Amiga 1200: http://pouet.net/prod.php?which=3031
Atari XL/XE: http://pouet.net/prod.php?which=56481
Na jutubie są filmiki.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

8

Odp: Real-time 3d

O tutaj:

oryginał (A1200): http://www.youtube.com/watch?v=rV5LfTBtGbE
remake(XL/XE)  : http://www.youtube.com/watch?v=3b1z981CroQ

Robota równie dobra, jeśli nie lepsza, jak remake Second Reality na C-64, który powinien ukazać się na Atari, jak wciąż uważam :)

The problem is not the problem; the problem is your attitude about the problem