kategoria: ANSI C
[#301] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@kiero, post #300

Za pierwszym podejściem skalowałem co drugi pixel i tak była taka sama sieczka. Potem dopiero zrobiłem to ręcznie w Photoshopie z jakimś filtrem - ma ich kilka do sprawdzenia wybrałem bardziej rozmywający tutaj.

Ząbki na ścianach nie wiem za bardzo czemu się pojawiają były nawet jak stepowałem floatami w niezoptymalizowanej wersji.

Githuba na razie nie potrafię pojąć, próbowałem coś tam wrzucać ale muszę chyba doczytać co i jak.

Pare postów wczesniej wrzucilem wszystkie źródła..
1
[#302] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mateusz_s, post #301

Dlatego piszę, żebyś zrobił po prostu uśrednianie 2x2. Używając losowego rozmycia w photoshopie najprawdopodobniej rozmywasz to zbyt mocno. Ja bym pewnie zrobił po prostu jakąś prostą aplikację która generuje takie tekstury z automatu, od razu wyliczając dla nich paletę 256 kolorów.

Co do ząbków, to nie ma znaczenia czy stepping wewnątrz pętli masz na floatach czy intach. Tak jak pisałem, problem jest w tym, że zaokrąglając pozycję ekranową początkowego (i w sumie końcowego też) piksela nie wyliczasz dla tej nowej pozycji poprawnej wartości U/V. Wnętrze pętli nie ma tutaj absolutnie znaczenia. Nie chce mi się tego rozrysowywać bo jest tego sporo w sieci. Np tutaj https://scalibq.wordpress.com/2011/12/28/just-keeping-it-real-part-5/ Jeżeli zrozumiesz ideę to będziesz umiał zastosować to samo dla U/V (bo u siebie nie musisz dla X/Y.
1
[#303] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@kiero, post #302

Dzięki, będę to czytał i ogarniał - bo i tak bede to przepisywał wszystko..
już chyba z 10 raz przepisuje za kazdym razem wierząc że to już "na czysto" :D

Ale dzięki temu wyłapałem wiele dziwnych rzeczy i lepszych optymalizacji np.
wczesniej używałem na zmianę wartosci unsigned i signed - i byly rozne działania między nimi
i okazało się ze jak to zmieniłem tylko na signed to dostałem nagle dużego kopa wydajnosci
zarówno na winuae jak i V1200, a przecież mogłem to przeoczyć, a tak to dostałem "Za darmo"
chyba kilkanaście fps zupełnie z dupy..

Edytor poziomów robie w WinApi tylko wiec tam prawdopodobnie dodam jakiś konwerter
do swojego formatu textur - bedzie sie szybciej wczytywać..

troche tez nie wiem w ktorą stronę iść, a co za tym idzie jak sobie zaplanowac struktury i formaty.
Np. czyt robić tak jak teraz, że mam przygotowany gotowy SET textur dla scian i podlog jako jedna duza textura
- troche łątwiej mi sie na tym operuje i edytor jest prostszy itp. Ale np. wtedy kazda czy tam co druga trzecia plansza musiała by mieć osobny taki set.
Czy po prostu każda textura w osobnym pliku i formacie i wczytywana w gdy wystepuje w danym levelu.
no takie rózne pierdoły - wiec na razie po prostu sobie testuje rozne rzeczy, az mi coś przyjdzie go głowy..

Ostatnia aktualizacja: 09.02.2022 15:19:17 przez mateusz_s
1
[#304] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mateusz_s, post #303

robota na 4-5 dni, ale zeszło mi chyba ze 3 miesiące hehe..
poprawiłem a właściwie przepisywałem edytor poziomów wraz ze strukturą poziomu,
tak żeby ogarnięte były mip-mapy i lightmapy, teraz bede pod to poprawial silnik
tak zeby optymalnie ogarniał i mixował mipmapy, lightmapy, cieniowanie itp,
zmiejszyłem ilość odcieni tabel kolorow i lightmap ze 256 do 128, roznica zadna raczej
a sporo mniej pamieci bede uzyte..

pare zrzutow z edytora, robilem w winapi wiec dodatkowo masochizm level 100 ;p












3
[#305] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mateusz_s, post #304

-----------------------
-- msDevPack 3.2 --
-----------------------


Cześć,

W obecnej wersji znajdują się:
+ textury scian i podłóg
+ mipmapy (256x256 --> 4x4)
+ wypalone lightmapy
+ distance shading
+ swiecace pixele

Skupiłem się na w miare optymalnym złoęniu tych wszsytkich rzeczy do kupy.
Efekt jest chyba OK. Na kartach typu V1200 w 320x200 wychodzi miedzy 30-40 fps jest płynnie.


Targetem jak od początku są tu "nowe" :) karty typu właśnie Vampire 1200, Icedrake, Firebird, Emu68, Warp1260 itp
czyli jakis 32-bit RTG + szybszy procesor.


Kod w C silnika jest niezależny od systemu, wiec można sobie potestować wersje na PC lub Amigę:
http://mstanisz.website.pl/tmp/amiga/msRay-32.zip


Gdyby Ktoś był ciekawy kodu to zapraszam na githuba. Myślę że ludziska zainteresowani programowaniem pod RTG,
Amigowym frameworkiem, okienkiem pod ReAction z rozdzielczościami itp coś tu dla siebie znajdą..
https://github.com/mateusz83/msRay/tree/main/msRay_devpack_v0.32


poniżej fillmik z WinUAE, PC oraz V1200, jeśli Komuś by się zechciało potestować na jakiejś ciekawej konfioguracji to róneiż zapraszam do podzielenia się wrażeniami i załączniu filmiku..


9
[#306] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mateusz_s, post #305

Ja co prawda Vompierza nie ma i miec nie bede (bo i po co) ale moglbys zrobic na tym jakas ciekawa gre na Pieca a pozniej ewentualnie sportowac to na super-hipersoniczne pseudo-amigi i zobaczyc co z tego wyjdzie.
[#307] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mateusz_s, post #305

No bardzo fajnie to wygląda! Lightmapy i mipmapy robią różnicę.Na Vampie w lowresie chodzi nawet całkiem OK.Dobra robota OK
1
[#308] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mateusz_s, post #305

Ale max!
1
[#309] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mateusz_s, post #305

Pomysł 1. pomysł
Mam znowu pomysł do przetestowania, który może przyśpieszyć podlogi/sufity.
- W edytorze każdy kafelek na który może wejsc gracz podzieliłbym np. na 8 cześci po 45*.
a następnie przypisał każdej cześci listę potencjalnie widocznych kafelków tworzących podloge/sufit.
podział na 8 cześci powinien dać w miare krótkie listy wiec mniej sprawdzania.
- listy bylyby zapisane do pliku z poziomem.
- w enginie w zalezności od pozyucji gracza oraz kątowi obrotu korzystamy a danej listy.
- wierzcholki kafelkow sa rzutowane na nasz projection plane.
- renderujemy tak jak obecnie z tym że poczatek i koniec każdej linii znajdujemy wcześniej poprzez interpolację (tak jak przy rasteryzacji trojkatów)

Jesli ten sposób okazałby się nie wolniejszy niż obecny to już by był lepszy bo łatwiej byłoby rysować potem nie regularne ściany, drzwi, kolumny itp.

W obecnym algorytmie rysuje podlogi/sufity po narysowaniu wszsytkich ścian. W momencie rysowania ścian zbieram informacje na temat tego gdzie zaczyna się i kończy kazdy kafelek podlogi/sufitu. Więc nigdy nie rysuję niepotrzebych rzeczy (ktore np. bedą zasłonięte). Ale to zabiera sporo czasu i musze robic obliczenia dla kazdego kafelka az do uderzenia w ścianę.

W nowym algorytmie najpierw rysowałbym podlogi/sufity, potem sciany. Minus to nadrysowywanie przez sciany czesci podlogi lub sufitów.. ale to nie wcale koniecznie musi bardzo dać się we znaki ostatecznie..

Tutaj na razie myślę, jak zrobić listę widocznych kafelków dla danegej cześci danego kafelka.. chyba wykorzystam jakiś "brute force" po prostu przejde przez dany kafelek krokiem 0.1 wzdłuż i wszerz i dla każdego raycasting dla szerokości np. 640 i krok obrotu co 9 stopni.. powinno być w miare dokladnie


Pomysł 2. pomysł
Jeśli bym się uporał z pomysłem nr 1 to pomyslalem czy by nie przenieść do 8 bit. W 32 bitach generalnie zrobiłem co chciałem. Natomiast przy 8 bitach można by uruchomić też na maszynie bez RTG tylko pod AGA. Jednak tutaj była by jakas już styliacja, tj. textury zrobiłbym w palecie szarości 128, dzieki czemu utrzymałbym ładne cieniiowanie i lightmapy. Ale mialbym też 128 miejsc na inne kolory. Np. światła na texturach (tj. swiecace pixele) moga być dowolnego koloru, krew byla by czerwona, bron czy info panel bylbym kolorowy, wiec nie byłoby zupełnie szaro i smutno.. coś jak Super Hot na VR..


Na razie, powoli zacznę etapami robić pomysł 1, jest tu troszkę roboty już z utworzeniem samego generatora tych list w edytorze..
2
[#310] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mateusz_s, post #309

same odcienie szarosci to jednak pieknie nie beda wygladac...
[#311] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mateusz_s, post #309

Udało mi sie na razie zrobić generator list potencjalnie widoczych kafelków PVC,
chyba jest OK.. dorzuciłem "wizualizator" - zeby podejrzec czy wszsytko jest ok - bez tego by byla lipa - w ciemno ciezko by to bylo robić

teraz najgorsze, weź to do pliku zapisz ;p

poniżej przyklady, kafelek jest dzielony na 8 czesci i dla kazdej czesci jest lista, dzieki temu krótsza..


edit:
kurła jak tak liczę na szybko, to te dane mogą zajać z 5-6 MB w zależnosci od rozbudowania levelu,
ale załóżmy te RAM to nie problem żaden, w latach pod koniec lat 90 sam mailem 64MB, wiec bez przesady



















Ostatnia aktualizacja: 20.07.2022 19:36:34 przez mateusz_s
5
[#312] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mateusz_s, post #311

Pracuję nad wspomnianym wyzej algorytmem i póki co testy pokazują że jest znacznie szybszy od porzedniego.

mam jednak problem, nie wiem czemu poszeczgolne kafelki ktore rzutuję na ekran nie trzymają się razem
tylko widać pomiedzy nimi białe paski (czyli przerwy) a przeciez sa rysowane linie pomiedzy tymi samymi punktami na ekranie..

Może macie jakiś pomysł..?



Ostatnia aktualizacja: 08.08.2022 00:39:30 przez mateusz_s
[#313] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mateusz_s, post #312

Możliwe, że chodzi o zaokrąglanie liczb? Może zaokrąglanie dodatnich i ujemnych daje na ekranie różne efekty (niesymetryczność). Możliwe też, że wygaduję głupoty.



Ostatnia aktualizacja: 08.08.2022 02:26:26 przez mastaszek
[#314] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mastaszek, post #313

ok, chyba już wiem, choć jeszcze nie sprawdziłem..

Gdybym tylko rysował na ekranie linie pomiędzy dwoma punktami - nie byłoby problemu.
Natomiast ja nie rysuje kazdego pixela tworzone przez algorytm linii tylko wrzucam jedną wartość X do bufora: bufor[Y] = X; A jak wiadomo zwłaszcza przy nachylonych liniach bedzie wiele pixeli w poziomie. Problem był taki, że mimo iż dwa kafelki dzieliły tą samą krawędź z tymi samymi punktami to przy jednym linia była rysowana z góry na dół a przy drugim z dołu ku górze. to powodowało, że przy liczeniu dół-góra do bufora nie była zapisywana skrajna wartość X.. jesli poprawie algorytm zeby zawsze renderował góra-dół powinno byc ok..

jeśli chodzi o sam algorytm na razie zrobiłem test porównawczy dla samej podłogi bez textur
i było niemal 2x szybciej na korzyść nowego - ale nie jaram się jeszcze bo jak dojdzie wszsytko to przyrost pewnie będzie niewielki - ale nawet wtedy to będzie sukces, bo tylko jeśli nie będzie wolniejszy to będzie lepiej
bo będzie można łatwo tworzyć inne rodzaje ścian.
4
[#315] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mateusz_s, post #314

ok, jest dużo lepiej..

zostały jeszcze 2 małe glicze, i powinno być OK..

jak dopracuje to postaram się zrobić video jak to jest liczone,
podzieliłem na 3 przypadki i do każdego jest uszyty optymalny algorytm:

case 1:
jesli dany kafelek jest w calosci widoczny to od razu razsteryzuj krewedzie

case 2:
jesli jest czesciowo widoczny ale wszsytkie jego punkty nie są "za graczem", to najpierw zrób clipping do ekranu a potem rasteryzuj krewedzie

case 3:
jesli choc jeden punkt jest "za graczem" to najpierw zrób "near clipping", nastpenie clipping do ekranu a dopero potem rasteryzuj krewedzie..

ten trzeci jest oczywiście "najcięższy" do liczenia, nie za bardzo mozna tu bylo zoptymalizowac i w dodatku operuje na floatach ale z racji podzielenia na te 3 przypadki zwykle są to 2 góra 3 kafelki do obrobienia wiec nie wplywa to jakos na wydajnosc





Ostatnia aktualizacja: 08.08.2022 23:16:58 przez mateusz_s
6
[#316] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mateusz_s, post #305

Mialem chwilke i odpalilem na a4k 040 25mhz zz9000. W 320x240 da sie przemieszczać ale nie widze ile fps wychodzi bo nie wyswietla wynikow. Wyglada bardzo efektownie. Zwlaszcza w wyzszych rozdzielczosciach. Niestety na tym configu w hires to juz ledwo chodzi i brak sensownej interakcji. Podoba mi sie nawet jako projekt studyjny. PozdrOK
[#317] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@arturB, post #316

dzięki :) to i tak nieźle jak na 040@25,
[#318] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mateusz_s, post #315

yeah.. pijcie ze mno kompot OK

W teście z texturami samej podłogi (+lightmapy) na V1200
nowy algorytm ma 65 fps a poprzedni 45 fps..

jest różnica trzeba przyznać.. OK

Walczę z gliczami i bugami jeszcze, wiekszosc juz poprawiłem,
chyba jeszcze jeden został..

na pewno jeszcze można coś zoptymalizować bo całość skłąda się z kilka działań i algorytmów
o których pisałem, a jak wiadomo nieraz można znaleźć szybszy algo albo lepiej go zaimplementować,

np. Testowałem różne algorytmy do rysowania linii (nie rysuje linii ale rasteryzuje krawdzie do bufora)
i ten jest najszybszy, chyba jedynie mógłby go przebić jakiś uszyty pod m68k asm, ale to poza moimi zdolnościami
może znacie jakąś gotową, zoptymalizowaną funkcję w asm, którą mógłbym przetestować?

Obecny jest taki:

void	GR_FV_Segment_To_Buffer(const int8 _buff_id, int32 x0, int32 y0, int32 x1, int32 y1)
{
	int32 dx = x1 - x0;
	int32 dy = y0 - y1;
	int32 e2;

	if (x0 < x1)
	{
		int32 dx = x1 - x0;
		int err = dx + dy;

		for (;;)
		{
			GR_fv_buf_x[_buff_id][y0] = x0;
			GR_fv_buf_x_cell_id[_buff_id][y0] = GR_fv_proxy_cell_id;

			if (x0 == x1 && y0 == y1) break;

			e2 = err << 1;

			if (e2 >= dy)
			{
				err += dy;
				x0++;
			}

			if (e2 <= dx)
			{
				err += dx;
				y0++;
			}
		}
	}
	else
	{
		int32 dx = x0 - x1;
		int err = dx + dy;

		for (;;)
		{
			GR_fv_buf_x[_buff_id][y0] = x0;
			GR_fv_buf_x_cell_id[_buff_id][y0] = GR_fv_proxy_cell_id;

			if (x0 == x1 && y0 == y1) break;

			e2 = err << 1;

			if (e2 >= dy)
			{
				err += dy;
				x0--;
			}

			if (e2 <= dx)
			{
				err += dx;
				y0++;
			}
		}
	}
}


Używam też przycinania linii i poligonów Sutherland-Hodgman.
Wersja do przycinania do okna ekranu jest zoptymalizowana pod ekran.

Ale wiem że są inne algorytmy np Mail92, miałem jakaś implementacje ale nie śmigała za bardzo i nie chciało mi się
zagłębiać w to może już poźniej..



Ostatnia aktualizacja: 13.08.2022 01:03:43 przez mateusz_s
2
[#319] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mateusz_s, post #318

pujdzie na A500 z 1MB ?
[#320] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mateusz_s, post #318

Fajne jest takie wyciskanie ostatnich sokow z kodu. Dobra robota. Dodaj teraz tile podlogi na roznych wysokosciach i sciany o niepelnych wysokosciach !
[#321] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@buldogkekon, post #319

"pujdzie", jak wymienisz stacje DD na HD :)
[#322] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@buldogkekon, post #319

Niestety to nie Dread zeby hulało na gołej A500 ;)
trzeba czegoś mocniejszego, choć chciałbym później przerobić na 8bit zeby pod Aga mogło działać i w ten sposób można by to porównać to innych tytulow

Ostatnia aktualizacja: 13.08.2022 15:57:45 przez mateusz_s
2
[#323] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@arturB, post #320

Hej,
Niedługo postaram się zarzucić nowy filmik i dodać źródła + download do testu,
mam jeszcze dwa problemy które muszę rozwiązać..

Ale mogę już teraz powiedzieć że ten pomysł z nowym algorytmem
był dobrym rozwiązaniem. Jest nie tylko szybciej ale ponieważ podłogi i sufity są liczone
wcześniej niż ściany to będzie mi łatwiej dorobić potem nieregularne ściany.

Gdy chodzę po mapie na V1200, utrzymuję średnio 45 fps OK jest bardzo płynnie.
myślę, że jest to bardzo dobry rezultat biorąc pod uwagę że mamy tu textury ścian/sufitów/podłóg
razem z mipmapami oraz lightmapami i distance shading.

Jeśli wywalę lightmapy z podłóg i sufitów to mam grubo ponad 50-60fps, a jesli wywale textury podlog i sufitów zostawiać tylko kolor do ponad 100 fps..

Te lightmapy to takie już troche "porno", "eyecandy" - średni rezulat 45fps to niezły wynik chyba
- nie można dorzucać nowych ficzerów i spodziewać się fps nie zmaleje :)

Tak jak się spodziewałem, po dodaniu kodu który texturuje w najbardziej wewnętrznej pętli wydajność mocno spadła
pomyśłam, że może potem zarzuce na forum ten krótki kod ktory jest w wewnetrzej petli i może KTOŚ pomoże
zoptymalizować go w ASM
4
[#324] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mateusz_s, post #323

OK Skoro u Ciebie dostalo skrzydel to na "padaczce" 040/25 pewnie tez troche befzie lepiej. Kibicuje temu. Dopinguje mnie do poprawiania mojego silniczka... choc idzie mi jak krew z nosa
[#325] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@arturB, post #324

wydaje mi się że 25mhz to może być za mało, może pare fps by wyciągnęło..
w każdym razie póki to jest pod 32bit RTG a nie 8bit chunky cięzko to porównać do istniejących tytułów,
jak skończę obecny etap, to chcę dodać nieregularne ściany w kolejnym etapie i DRZWI w końcu jakieś :) wtedy bedzie już można tworzyć ciekawsze ukłądy poziomów - ale nie przewiduje zróżnicowanej wysokości :(
no i wtedy ewentualnie spróbowałbym wtedy zrobić jakiś rodzaj stylizacji tak żeby udało się zmieścić w 256 kolorach na ekranie i tym samym miec 8bit chunky ktory mozna by wyświetlić na AGA
[#326] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@arturB, post #324

ps.
jeśli wierzyć WinUAE to pod 040 @ 28mhz byloby około 14 fps OK
2
[#327] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mateusz_s, post #326

Nie wiem czy tylko u mnie ale dziwnie myszka sie zachowuje... odpalilem na x5k i tez myszka fisiuje. Btw w fullHD 32bit 10fps... chociaz w sumie to jest dyskretna emulacja 68k... I tak niezle szeroki uśmiech
[#328] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@arturB, post #327

Haha w fullhd to ja mam na Windowsie chyba z 70fps góra.. I mówię tu nie o winuae tylko kompilacji tego samego kodu pod win..
[#329] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mateusz_s, post #328

Ooo... to sprobuj pod winUae bo na x5k to jest wlasnie emulacja. Ciekawi mnie jak to porownywalnie wychodzi. Dodam jeszcze ze widze ze emulacja dyskretna 68k na os4 to 68020 + coproc 881
[#330] Re: [C, RTG] Moje Raycasterowe zabawy, progresy, testy..

@mateusz_s, post #1

*** UPDATE *** (msRay_devpack_v0.33)


cześć,
Wrzuciłem na Git-a kolejny update: https://github.com/mateusz83/msRay

Poza źródłami, w katalogu The Game Output są execi dla Amigi i Windows.

Tu przypominam, że do Amigi trzeba mieć 32-bit RTG + szybszy procek,
zalecane są "nowe" rozwiażania typu: V1200, Warp1260, TF1260 (z RTG), IceDrake, FireBird,
Emu68, PiStorm, PiAmiga itp.. w przeciwnym razie odpali się tylko starter z wyborem rozdzielczości

(jak komuś się chce to może potestować )

Ficzery:
- głownie zmiana algorytmu renderowania podlogi i sufitu na nowy, szybszy.. to chyba będzie już 4,
ale na razie ten jest najlepszy.
- textury na ścianach, podłodze i suficie
- wypalone lightmapy ze światłocieniami
- mip-mapy (256->32)
- "świecące pixele".


Wyniki:
- jak na razie najlepszy wynik jaki osiągnąłem na V1200. W 320x200 32-bit "rozgrywka"
jest płynna średni fps 35-45.
- przy czym musze zaznaczyć że jakbym wywalił lightmapy to byłoby na spokojnie dużo ponad 50 fps.


Jest też aktualizacja pierwszego posta: #1


Nowy filmik,
jest w nim opisany nowy algorytm z grubsza:




Co dalej:

- nowy algorytm ma tą wadę, że robi nadrysowywanie, ale nawet mimo to jest szybszy od poprzedniego, który tego nie robił.
Wydaje mi się, że nowy algorytm można jeszcze trochę zmienić, tj. olać zapisywanie list widoczności do pliku - robić to podczas rysowania ścian i wtedy też co prawda będzie nadrysowywania ale już mniej niż przy listach. No i plik z poziomem byłby mniejszy.
Jeśli takie rozwiązanie NIE BYŁOBY WOLNIESZE to byłoby lepsze. Ale to potem, na razie mi się nie chce.

- trzeba w końcu dorzucić nieregularne ściany. Dawno temu w pierwszej wersji juz mialem cos takiego, ale wywalilem zeby sie skupić na podstawach bardziej. fajnie by bylo też drzwi zrobić jakieś w końcu. Ale raczej tylko poziome.
Mam nadzieje ze z kolejnym v0.34 juz się pojawią pomysł
2
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem