Wpis z mikrobloga

#mojeraycastingowezabawy #programowanie #programista15k #gamedev #raytracing
Czołem, kolejna zabawa z raycasterem. Pracuje nad texturowaniem podłogi, niestety na razie straszcie zwolniło :-/
ale tu CIEKAWOSTKA, która mi się pojawiła sama (na zasadzie niby błędu).. Multiplikując podłogę intensywnością która obliczyłam z obległosci od ściany otrzymałem jakby... Raytracing podłogi xD coś jakby ściany się idealnie odbijały w podłodze, całkiem spoko efekt.

Troche mnie martwi to wolne teksturowanie podłogi, a właściwie nie tyle teksturowanie co obliczenia robiące raycasting przez pixele tworzące podłogę, właściwie to teraz zrobił się cześciowo raytracer, bo raytracer castuje przez kazdy pixel.. troche lipa, ale póki co kod nie jest zoptymalizowany to się potem zobaczy, cały myk przy raycasterze polega na tym ze sciany tworzymy przechodząc tylko po ilosći pixeli w poziomie..

Całość robię sobie w WinApi, używam tylko prostych funkcji rysowania do minimapki, a widok z FPS to juz tylko operacje na buforze RGB i wywalanie go na ekran.

Wołam @artikow
ZawzietyRobaczek - #mojeraycastingowezabawy #programowanie #programista15k #gamedev #...
  • 6
@ZawzietyRobaczek: trochę doczytałem.. teraz podłoga jest liczona kolumnami tak jak ściany, oczywiscie nie ma za bardzo optymalizacji i można z tym troche podziałać, ale ponoć szybsze jest liczenie rzędami czyli scanline, liczy się dwa skrajne pixele i interpoluje, przy czym w tym wypadku liczy się cała podłogę i sufit do środka ekranu a potem ściany.. wiec troche strata czasu na liczenie rzeczy które beda przykryte.. na szczescie po obliczeniu podlogi mozna
@robcioo1994: po różnych źródłach, są różne podejścia do niektorych aspektów, np. algorytm szukania scian lub sposób texturowania podłogi, co wpływa na wydajnosć, mi zależy na jak najlepszej wydajnosci przy czym mam tu na mysli właśnie wydajniesze algorytmy + zoptymalizowany kod..
- Taki najcześciej cytowany jest ten 4 cześciowy materiał: https://lodev.org/cgtutor/
- Ten też dobry, ale troche inne podejscie chyba troche mniej wydajne: https://permadi.com/1996/05/ray-casting-tutorial-table-of-contents/
- inne rzeczy to np. szukałem wydajnego algorytmu