naogladalem sie ostatnio Doomow i Quakow od Kloda na atari i mam pewne pomysly jak przyspieszyc i moze rozwinac swojego raycastera,
jak ktos szedl taka droga optymalizacji to slucham jakie sa opinie, moze zaoszczedzi mi to czasu na sprawdzenie i rozczarowanie ;-)
1. obroty: wykonywac tylko dla okreslonych katow np. co 5 lub 10 stopni
2. nie obliczac promienia i adresu komorki mapy tylko miec zapisane w tabeli pozycje dla kazdego obrotu - dodawac do pozycji gracza. zalatwiamy tym sposobem glebie widoku, widocznosc
3. komorke mapy traktowac jak bryle ale rysowac tylko 2 sciany - odcinki metoda Konopa. trzeba bedzie wykonywac kasowanie bufora - w przpadku raycastera klasycznego nie trzeba ale wydaje mi sie przyspieszenie bedzie znaczne wiec warto
4. linia horyzontu do zmiennej - malym kosztem mozna zrobic oszukane patrzenie do gory i w dol (maly kat bo beda znieksztalcenia jak w duke nukem3d)
5. rysujemy "bryly", wysokosc gracza do zmiennej. sciany moga miec rozna wysokosc - jak rysujemy sciany nizsze od gracza to dorysowac dwie dodatkowe krawedzie "bryly". moze nawet dodac typ "bryly" podloga i rysowac krawedzie z wysokoscia 0, to by zalatwilo tez podloge i sufit (cos bardzo kosztownego)
Dzieki rysowaniu wedlug schematu zapisanego dla kata mamy zalatwiona widocznosc, trzeba wymyslic bufor z dla poczatku rysowania...
mysle to to moze dac spory przyrost predkosci, mozna tez dac wypelnione sciany, dostajemy widok gora dol, podloge, roznej wysokosci sciany.
wyglada za dobrze... jakie moga byc slabe strony?