Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Wiadomości - Milek7

Strony: 1 ... 24 25 [26] 27 28 ... 30
751
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 23 Marca 2017, 22:10:10 »
Jest coś o czym należy wiedzieć, żeby na nowych exe wygenerować sobie plik e3d terenu scenerii? Póki co program się sypie (crashdump w załączeniu), ostatni wpis w logu "saving e3d model..".
Na jakiej scenerii to można przetestować?

752
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 23 Marca 2017, 15:57:39 »
Trochę informacji z tego w czym grzebię.
Przeniosłem operacje na stosie macierzy opengl na macierze glm przekazywane w argumentach metod. @tmj, możesz zobaczyć czy coś z tego wykorzystasz https://github.com/Milek7/maszyna/commit/b92a1e58ae9b91713f789b8be3f58b86198b87a5 (póki co tylko VBO działa, ale przenieść to na DL to kilka linijek)

A w kwestii shaderów, popatrzyłem na specyfikację GLSL i dowiedziałem się, że faktycznie są tam zdefiniowane uniformy na wartości przekazywane przez fixed pipeline. Więc na dobrą sprawę to oświetlenie blinnphong da się zrobić na shaderach praktycznie bez żadnych zmian w kodzie, działające zarówno na DL i VBO. No ale to już dowiedziałem się po tym jak zrobiłem wstępnie działające shadery na własnych uniformach. Ze względu na to że funkcjonalności fixed pipeline i tak są zdeprecjonowane w nowym opengl to i tak przydało by się kontynuować te prace na własnych uniformach, wywalić DL i przenieść na opengl 3.2 core profile. Jednak z tego powodu że wymaga to jeszcze troche dopieszczenia, plan jest taki: robię dzisiaj oświetlenie shaderem kompatybilnym z opengl2 i starym kodem DL/VBO, a później na spokojnie przenosimy wszystko na 3.2 core profile i własne uniformy.

Jeszcze ze zmian w build systemie: przygotowałem paczkę z zależnościami do budowania które nie mają własnego oficjalnego windowsowego instalatora oraz dołączyłem skrypt uruchamiający cmake z odpowiednimi ścieżkami w owej paczce. Czyli żeby zbudować moje repo trzeba: zainstalować visuala, cmake i pythona, sklonować repo, i builds/cmake_win32/64.bat które ściągnie paczkę z pozostałymi zależnościami i wygeneruje pliki projektu vs.
Korzystając z automatyzacji tego skonfigurowałem CI na AppVeyor https://ci.appveyor.com/project/Milek7/maszyna .

753
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 20 Marca 2017, 19:52:58 »
tmj: coś tam jest popsute, próbuje czasami używać TSubModel::RenderDL mimo że wybrane VBO.

754
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 20 Marca 2017, 13:24:58 »
Wlaczyc z powrotem VBO do mojej wersji to w zasadzie nie bedzie duzy problem, wiec moge to dodac z powrotem do nastepnego uaktualnienia i wtedy mozesz spokojnie laczyc

Jakbyś mógł to się przyda.
Na pierwszy krok planowalem na razie wstawic zastepczy "matrix stack" dla glTranslate, Rotate() itp, bo to sie przyda bez wzgledu ktora wersja pojdziemy.
Być może nie będzie takiej potrzeby. Nie wiem ile jeszcze tego zostało, ale wyprułem już to z renderowania TModel3d. (pozamieniałem na glm::mat4 przekazywane w argumentach)

755
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 19 Marca 2017, 22:13:59 »
Ja bym był za jak najszybszym wycięciem DL i stopniowe łatanie VBO.
Te shadery na vbo z którymi się bawiłem ostatnio wrzuciłem na github (https://github.com/Milek7/maszyna/tree/4d19e49398af9ddffc771af82dee921665c803af). Trzeba to jeszcze dopieścić bo nie działjaą świecące obiekty i obecnie światła są w ogóle niewyregulowane.
Chciałem to dzisiaj zmergować z ostatnimi zmianami tmj, tylko tutaj pojawił się problem. tmj przy wydzielaniu renderera wywalił vbo. Przydało by się tam spowrotem wrzucić vbo (i opcjonalnie w ogóle wywalić dl) bo tak to będziemy rozwijać dwie niezależne gałęzie. @tmj, masz jakieś sugestie co do sposobu wciskania vbo tam?

756
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 19 Marca 2017, 10:37:44 »
No i w końcu kwestia shaderów. Nie rozumiem tego do końca. Dla karty graficznej wszystko co ona jest w stanie zrozumieć to shader. Więc nie bardzo widzę, jak MaSzyna może wyświetlać cokolwiek na DX czy OpenGL BEZ shaderów. To raczej niemożliwe, więc pewnie kwestia języka i żargonu, prosiłbym o wytłumaczenie dla jasności.

Oświetlenie na niektórych trasach wygląda nieźle, na niektórych troszkę gorzej, na niektórych tragicznie, w zależności od wielkości trójkątów terenu. Strzelam, że dopiero kombinacja vertex-shaderów z pixel-shaderami będzie załatwiać sprawę, ale zbudowanie pixel shaderów biorących pod uwagę geometryczne położenie wierzchołków nie jest rzeczą trywialną i raczej nie powstanie "w tym tygodniu", a nawet "w tym miesiącu". Dobrze zgaduję?

Ostatnie pytanie: VBO. Czy ta opcja w ogóle działa i powinniśmy testować z włączoną i wyłączoną? Z tego co ja testowałem w ostatnich wersjach - nie widzę żadnej różnicy, ale znów być może różnica nie jest widoczna w każdym miejscu.
Obecnie używane są funkcje fixed pipeline ze starego opengl1.x. Tak, wewnętrznie sterownik pewnie sobie podpina swój domyślny shader, ale aplikacja nie ma do tego dostępu.

Nie, zwykłe oświetlenie blinn-phong na shaderach jest dosyć trywialne :). Wersję eksperymentalną z shaderami wrzucę niedługo. Połączenie shaderów z display lists nie jest możliwe, więc będzie trzeba jeszcze trochę dopieścić to czego obecnie brakuje w trybie VBO.

VBO na buildach tmj jest wyłączone.

757
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 18 Marca 2017, 18:54:19 »
Aha :) Tak przy okazji, ten minidump calkiem ladnie sie odczytal, i wyglada na to ze wysypalo sie na probie alokacji pamieci na teksture .tga  Byc moze w paczce tga sa jakies egzemplarze wyprodukowane w taki sposob, ze loader sobie nie radzi. Bede musial wypakowac wersje .tga i sprawdzic :/  Pewnie nie ma nadziei, ze masz tam w logu info, przy ktorym .tga sie to wydarzylo?
Wysypało się pewnie bo brakło przestrzenii adresowej. U mnie kaliska T3D/TGA po załadowaniu zajmuje 5.1GiB, nie ma siły żeby to się zmieściło na 32 bitowej wersji. Z jakiegoś powodu wzrosło zapotrzebowanie na pamięć po konwersji, może kwestia tego że borland pewnie miał swój własny alokator który mógł się inaczej zachowywać.

758
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 15 Marca 2017, 19:14:43 »
póki co to nic w nich interesującego nie ma co by nie było u ciebie ;p
będą shadery w następnym tygodniu.

759
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 14 Marca 2017, 22:37:28 »
Też nie wiem, nie mam żadnych opisów słownych stanu pojazdu, tabeli skanowania ani rozkładów. Testowane na paczce co zwykle.
Czekaj czekaj, a ty masz na mysli panele widoczne w pojezdzie (skanowanie trasy, rozklad itp) czy te alternatywne, ktore wyswietlaja sie na zewnatrz? (pozycja kamery i inne takie) Bo jesli te drugie to faktycznie nie sa chwilowo podpiete.

Ja mam taką sugestię (może zbyt dalekosiężną), aby w przyszłości wprowadzić możliwość skalowania modelu w 3 wymiarach
Ze skalowaniem moze byc klopot, bo modele oprocz wspolrzednych wierzcholkow maja tez wektory normalne opisujace w ktora strone 'skierowany' jest kazdy trojkat, i tutaj skalowanie (zwlaszcza jesli nie jest takie samo we wszystkich wymiarach) potrafi sporo napsuc, i trzeba by to w locie korygowac.
Przemnożenie normalnych przez magiczny macierz mat3(transpose(inverse(macierz))) nie wystarczy?

760
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 14 Marca 2017, 15:18:51 »
No bez rozgrzebywania to trzeba by zaimplementować glTranslate, glRotate, glScale, glMultMatrix, glPushMatrix, glPopMatrix, itp. i liczyć to sobie samemu w glm, przy każdej zmianie ustawić flagę dirty. Zwrappować glDrawArrays i jeżeli jest ustawione dirty to przepchać macierze do uniformów. Wtedy obeszło by się prawie bez zmian w obecnym kodzie.

Oczywiście przyszłościowo lepiej by było pozbyć się tego wrappera i przekazywać macierze na zwykłym stosie w argumentach metod, ale trzeba by wtedy rozgrzebać te kabiny i wszystko.

761
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 14 Marca 2017, 14:38:27 »
Przepuscilem exe przez profiler, i wychodzi ze potencjalnie zrodlem spowolnienia moze byc uzycie funkcji glGet do odczytu aktualnego ustawienia kamery; niektore implementacje/sterowniki nie lubia jej bardziej niz inne. Problem w tym, ze na chwile biezaca idealnego rozwiazania tutaj nie ma. Mozna:
- wrocic do tego co bylo, i ignorowac ze modele czasami znikaja kiedy nie powinny
- zostawic jak jest teraz i pogodzic sie ze na niektorych konfiguracjach bedzie wolniej
- wymienic odczyt na kalkulacje parametrow od strony exe. To akurat byloby najlepsze bo praktycznie calkowicie eliminuje koszt (w dodatku i tak trzeba to zrobic przy przejsciu na shadery itp) /ale/ latwo nie da sie zrobic, bo exe bardzo miesza przy renderowaniu widoku z kabiny, i dopoki sie tego nie rozsupla, zwykla wymiana wiecej psuje niz naprawia.

na razie sklaniam sie ku 2 i docelowo 3.
Żeby nie rozgrzebywać kodu można by zachować stos macierzy, tylko napisać klasę z api takim samym jak w opengl i najlepiej użyć GLM do obliczeń.

Shadery ostatnio podpiąłem eksperymentalnie do VBO (https://milek7.pl/.stuff/eu07scr/03-12/), tylko trzeba naprawić freespoty, uzyć współczynnika specular z obiektów, poprawić ustawienia świateł i ogólnie zrobić porządek. Póki co macierze też wyciągam z glGet przed rysowaniem i wpycham do uniformów, więc też przydało by się to poprawić skoro są problemy z wydajnością glGet. Jak ktoś chce mogę wrzucić ten kod co mam na githuba.
 
Ostatnio mam trochę innych rzeczy do roboty i będę mógł skończyć grzebanie w shaderach i zrobić stos macierzy na GLM dopiero pod koniec/w następnym tygodniu.
btw. tmj, nie wpadłbyś na irca?

762
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 12 Marca 2017, 19:50:39 »
tak, masz rację. miałem tylko na myśli że nie jest całkowicie liniowy tylko wraz z oddalaniem się od znear precyzja maleje. (co właściwie ze względu na to że floaty też tak to jeszcze bardziej pogarsza sprawę przy dalszych obiektach)

763
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 12 Marca 2017, 19:16:35 »
ztcp to depth buffer w opengl jest logarytmiczny

764
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 11 Marca 2017, 10:08:16 »
na wersji z glfw vsync włączony czy wyłączony?

765
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 10 Marca 2017, 21:13:46 »
Powiedzmy że prace nad shaderami powoli... przesuwają się do przodu :D

766
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 09 Marca 2017, 20:20:46 »

767
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 09 Marca 2017, 14:49:25 »
Nie, tu nie chodzi o wydajność. Plusem jest możliwość zajmowania więcej niż 4GB pamięci.
Głównie to jest testowane pod przyszłą wieloplatformowość, bo o ile na windowsie obecność WoW64 jest pewna, to np. na linux nie każdy musi mieć zainstalowane w systemie biblioteki dla x32.
Od strony wydajności mogą być drobne różnice, ale naprawdę niewielkie. (na 32bit wskaźniki zajmują mniej, więc więcej struktur mieści się w cache cpu i jest mniej cache missów, z drugiej strony x64 wymaga obecności rozszerzeń SSE2 więc są właczone na tych exekach, ale oczywiście kosztem kompatybilności ze starymi cpu można włączyć nowsze rozszerzenia także dla x32).

768
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 08 Marca 2017, 18:14:39 »
Nie trzeba ruszać, wyjeżdża z Psiary Południe kilkanaście sekund po uruchomieniu scenerii. Tyle że nie wywołuje tego żaden event, a drezyna jest zahamowana..

769
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 07 Marca 2017, 22:25:59 »
moje buildy:
https://milek7.pl/.stuff/eu07exe/eu07%2B%2Bng32-53db1e51-m.zip
https://milek7.pl/.stuff/eu07exe/eu07%2B%2Bng64-53db1e51-m.zip

uwaga, generuje e3d niekompatybilne ze starymi exe! nie wszystkie zmiany od tmj są zmergowane bo coś się zkaszaniło z kamerą i nie mam już do tego dzisiaj siły.

powoli zacząłem dostosowywać ścieżkę renderowania vbo do shaderów, może za kilka dni będą jakieś efekty.

770
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 07 Marca 2017, 19:05:30 »
stare działają, tylko e3d wygenerowane na nowym nie otwierają się na starym exe

771
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 07 Marca 2017, 16:52:53 »
Jak to? E3D powinny zapisywać się tylko przy ładowaniu z T3D. Pokaż loga.

772
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 07 Marca 2017, 16:48:27 »
To i tak występuje tylko na paczce T3D/TGA, a żeby wrócić do starego exe wystarczy skasować wszystkie pliki .e3d. Wyłączenie tego na sztywno pozbawi jakichkolwiek testów kodu nowego zapisywania e3d.
No ale jeżeli jest to jakiś większy problem to mogę spróbować wcisnąć tam te struktury żeby było kompatybilne ze starym exe.

773
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 07 Marca 2017, 16:28:11 »
Przeźroczystość to to samo co kiedyś zgłaszałeś z czuwakiem. (a ja "naprawiłem" i zepsułem teren :P).
Już uzgodniliśmy naprawę z tmj.

Możliwe że nowe E3D nie działają na starym exe (pewnie dlatego że już po uruchomieniu konstruktora ładuje z pliku strukturę submodelu, a w nowym e3d puste miejsce jest wypełnione zerami, a wcześniej wpychała się tam reszta obiektu), ale jak już są wygenerowane to nie powinny się nadpisywać.

774
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 07 Marca 2017, 16:06:22 »
Może być. W takiej sytuacji można też pewnie wywalić tego ifa z Model3d.cpp:379. (żeby było tak samo jak w ładowaniu E3D, zresztą renderowanie jako nieprzeźroczyste mimo że tekstura ma alfę jest raczej bez sensu)

775
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 07 Marca 2017, 15:06:36 »
Jest w iFlags. Znaczy powinno być, w pojazdach jest, ale w terenie tego najwyraźniej brakuje. (trzeba by to dopisać do ładowania terenu z pliku i wygenerować jeszcze raz e3d terenu)

776
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 07 Marca 2017, 15:02:59 »
już wywęszyłem że to problem z flagami, ale ubiegłeś mnie :)

tak też jest źle, zobacz że pewnie zepsułeś np. czuwaka w EP08-006 (otwierane z E3D)
Pole Opacity nie istnieje w E3D i nie jest z niego ładowane. (poprzednio było, ale raczej przez przypadek, bo było w "zmiennych roboczych" i nie jest opisane na stronie rainsteda). Prawidłowe flagi przeźroczystości ustawiają się w iFlags przy ładowaniu pojazdów z T3D i zapisywane już są dobrze w E3D, pewnie brakuje tego w terenie.

777
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 07 Marca 2017, 10:43:59 »
ok, nie trzeba już testować.
później zobaczę co się tam zepsuło

778
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 07 Marca 2017, 08:12:08 »
ok, sprawdzę po południu

779
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 06 Marca 2017, 22:28:45 »
Drawinowo, u mnie to tak jakby w zasiegu wzroku bylo w okol stacji. Dalej nie zapuscilem sie. L061 sprawdzalem tylko wysyp na tyc kamerach, tez nie zpuszczalem sie w glab. Przejechalem calego Quarku, tu ciemnosc, ale nic nie rzucilo sie w oczy. Zerknalem tez na manewrowo, tam jest ok. Na dzis to tyle, mam inne zajecia w domu.
A na moim exe w drawinowie nie było dziur? Bo oprócz tych screenshotów to praktycznie żadnych znaczących różnic nie powinno być teraz między moimi exekami a tmj.

780
Na warsztacie / Odp: Odp: Exe - konwersja na C++
« dnia: 06 Marca 2017, 20:00:28 »
obecnie tego checka u mnie nie ma. jak mergujesz to musisz raczej z najnowszym, bo commity mogły być niepełne lub mieć krytyczne bugi naprawione dopiero w późniejszych.

Strony: 1 ... 24 25 [26] 27 28 ... 30