#mojeraycastingowezabawy #programowanie #programista15k #grafika3d #gamedev #raytracing #raycasting #retrogaming #kodowanie #jezykc #cpp

CZĘŚĆ 10.
Ostatnio pracowałem bardziej nad frameworkiem całości. Stworzyłem taki szkielet pod engine i gameplay i wszystkie biblioteki przepisałem stricto pod język C. Jak kiedyś wspomniałem, chcę zobaczyć jak coś takiego będzie chodzić na Amidze z RTG, mam tu na myśli głownie te nowe karty V1200 albo Warp1260. Więc uporządkowanie kodu pod C będzie pomocne, bo będę cross-compilować w gcc 6.2. ileś tam. I dlatego też zwracam dużą uwagę na optymalizację. W tym momencie jest tak, że wszystkie biblioteki tworzące engine są w C, edytor i apka testowa PC z nich współkorzystają. Win API i WinGDI służą tylko do utworzenia okienka i wywalania gotowego bufora który dostają już z endżina..

Natomiast poniżej, mały drobiazg, który dziś zauważyłem, a mianowicie jeśli intensywność policzony przed korekcją "fish eye" to otrzymujemy ładnie pojawiające się cieniowanie idące od środka a nie jednorodnie.. to pokazuje w załączniku.
ZawzietyRobaczek - #mojeraycastingowezabawy #programowanie #programista15k #grafika3d...
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#mojeraycastingowezabawy #programowanie #programista15k #grafika3d #gamedev #raytracing #raycasting #retrogaming

CZĘŚĆ 9.

Czołem, ostatnio pracowałem nad samym edytorem do Raycastera, taż żeby łatwiej zarządzać mapką, bo pojawiają się nowe elementy. Na razie dorzuciłem te elementy, które mam ogarnięte w samym silniku, czyli:
- pozycja i orientacja gracza
ZawzietyRobaczek - #mojeraycastingowezabawy #programowanie #programista15k #grafika3d...
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowaniegrafiki #gamedev #raycasting #programista15k #programowanie Czołem, czy Ktoś się orientuje na jakiej zasadzie zostało zrobione to oświetlenie? Sa kolorowe światła, okluzje i cienie. Tzn. na bank jest to wypalone.. tylko no właśnie mam problem w jaki sposób. To jest Raycaster - jakbyśmy chcieli żeby każda komórka miała własną texturę to byłaby masakra, np. niech plansza ma chociaż 64x64 komórek to już mamy
ZawzietyRobaczek - #programowaniegrafiki #gamedev #raycasting #programista15k #progra...
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#mojeraycastingowezabawy #programowanie #programista15k #gamedev #raytracing #raycasting
CZĘŚĆ 7.
Czołem, kolejna zabawa z raycasterem. Dorzuciłem "ruszanie głową" i wysokością gracza. Pierwszy będzie służył oczywiście do rozglądania się, a drugi można wykorzystać do skakania lub bujania góra/doł podczas chodzenia. W załączonym filmiku porównanie obu ruchów + oba ruchy połączone do uzyskania efektu jakby latania.

Niestety, optymalizacja z zeszłego wpisu, gdzie miałem pętlę równą tylko połowy wysokości ekranu za pomocą której mogłem rysować od razu sufit jak i podłogę, w tym wypadku odpada.. trzeba przejść przez cała wysokość, co oczywiście trochę wpłynie na wydajność. Na razie nie robię żadnych optymalizacji tylko dorzucam i testuje kluczowe elementy.

Całość
ZawzietyRobaczek - #mojeraycastingowezabawy #programowanie #programista15k #gamedev #...
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#mojeraycastingowezabawy #programowanie #programista15k #gamedev #raytracing #raycasting
CZĘŚĆ 6.
Czołem, kolejna zabawa z raycasterem. Nowy algorytm texturowania podłogi. Nieporównywalnie szybszy wiec wszystko działa jak przedtem. Tym razem renderujemy podłogą linia po linii. Oblicza się dwie skrajne wartości punktów przecięcia z podłogą i interpoluje. Żeby teksturować sufit nie trzeba nic nowego liczyć tylko korzysta się z tych samych obliczeń tylko pixele ustawia się na gorze zamiast na dole, co znaczeni przyśpiesza wszytko. Nie wiem tylko jeszcze czy to pozwoli mi na ruch głową góra dół, być może trzeba bedzie jednak robić sufit i podłoga na dwie procedury, ale to sie zobaczy potem muszę doczytać. Bo tez można na kilka sposobów "ruszać głową".

ps. jeszcze coś mi delikatnie pływają textury na podłodze, nie wiem czemu, czy to kwestia dokładności float/int, musze jeszcze raz sprawdzić i porównac z tym poprzednim algorytmem bo on byl dokladniejszy bo castował przez kazdy pixel.. musze tez nad cieniowaniem popracować, ale to potem, na razie sie skupiam na takich kluczowych elementach

ps.
ZawzietyRobaczek - #mojeraycastingowezabawy #programowanie #programista15k #gamedev #...
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach