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 - Mergul

Strony: [1] 2 3 4 5 ... 13
1
Stworzyć własne okno (GUI), w oknie systemowym :P Z oknem systemowym jest taki problem, że w zależności gdzie to odpalisz, to będzie różnie działać :D

2
OpenGL / Odp: OpenGL shader node editor
« dnia: Listopad 15, 2017, 19:21:56 »
Raczej tak. Jakiego kompilatora outputu nie sprawdzałem (mobilki też) to liczba zmiennych się nie liczy. Ważne są ich zależności. Z resztą tak jak pisałem, istniały kiedyś (jeszcze za czasów OGL 2) optymalizatory kodu GLSL, i generowały ogromną ilość śmieciowych zmiennych. Jeżeli tworzysz coś statycznie to wgl. wywali Ci to kompilator.

3
Programowanie grafiki / Odp: Cube mapy - real vs fake
« dnia: Listopad 13, 2017, 22:45:09 »
Dynamiczne oswietlenie to tak jak mówiłem. Nie ma sposob który pozwoli Ci na zapisanie dynamicznego oświetlenia w cubemapie. W przypadku światła takiego jak żarówka, które można zapalić albo zgasić można zrobić dwie cubemapy. Dla światła dynamicznego takiego jak słońce (jeżeli mamy cykl dnia i nocy) to niestety trzeba wypalać cubmapki co jakiś czas na nowo. Dzięki temu że światło przemieszcza się powoli. Envmapki w budynkach mogą być  wypalone raz i nie przechowywać informacji o niebie. Jest jeszcze taka możliwość żeby zrobić cubmape w której zamiast wynikowego koloru zapisać coś w stylu intensywności światła i zmieniać kolor cubemapy w czasie rzeczywistym.

4
Programowanie grafiki / Odp: Cube mapy - real vs fake
« dnia: Listopad 13, 2017, 20:50:43 »
Mamy różnie generowane cubemapy. Przede wszystkim rzeczywiste obrazu zrobione przez dobre aparaty, używane są zazwyczaj tylko i wyłącznie jako główna envmapa (envmapa nieba, otoczenia keidy żadnej innej nie ma w pobliżu). Daje bardzo dobrą jakość, dobre oddanie koloru rzeczywistego. Lokalne cubemapy to zazwyczaj cubemapy prerenderowane w silniku, często z proxy, np. kulą albo boxem. No i są jeszcze envmapy renderowane w realtime. Zazwyczaj renderuje się 1-2 na klatke, albo nawet częsciami. Używa się tego dla gier z dynamicznym systemem dnia i nocy, gdzie słońce ciągle się przemieszcza. Jest np. też taka możliwość że prerenderujesz sobie w silniku envmape do GBuffera i w real-time przeliczasz tylko światła, tak jak w defferedzie :)

5
Grafika 3D / Odp: Blender i tablet
« dnia: Listopad 03, 2017, 10:26:15 »
W przypadku scultp-u tablet jest niezastąpioony i później ciężko żyć z myszką. Jeżeli chodzi o zwykłe modelowanie, to rysik też może pomóc w pracy (przy bardziej skomplikowanej siatce można używać narzędzia sculptu też). Z mojego doświadczenia (od razu mówię, że nie jest jakieś ogromne) to lepiej miec tablet graficzny, niż go nie mieć.

6
OpenGL / Odp: OpenGL shader node editor
« dnia: Październik 26, 2017, 16:48:02 »
Jeżeli chodzi o to co wypluwa GLSL to pewne najprostsze optymalizacje możemy założyć ze robi... a ogólnie to jezeli hcesz zeby działało wszędzie to na każdym kroku możesz zostać zaskoczonym :D np. 1.0f jest jak najbardziej ok, chyba że odpalasz to na prockach mali na GLES 2.0 to Ci sypie jako błąd. Jeden kompilator Ci da tak a inny inaczej. Najlepiej trzymać sie standadu, a że to bywa cięzkie (bo cięzko znaleźć często informacje) to po prostu testować na każdym możliwym sprzęcie. NVIDIA jest najmniej wybredna (połowa błędów przejdzie i będzie działać).
Ja shadery trzymam w moim byte code z którego generuje odpowiedni shader w zależności od sprzętu.

7
OpenGL / Odp: OpenGL shader node editor
« dnia: Październik 26, 2017, 10:00:07 »
1. Struktura wierzchołka jest zależna od modelu, jezeli chcesz material ktory wykorzystuje kolory wierzcholkow, a model takowych nie posiada, to nie mozesz mu przypisac tego materialu. Materiał może Ci generowac kilka shaderów dla roznych typow obiektow i roznych ustawien weierzcholkow, a zqwsze wypluwac odpowiednie parametry (chodzu o vertex program i liczenie podstawowych rzeczy jak UV, normal)

2. Liczysz w vertex shaderze. Obliczenia w shaderze masz rohione za plecami zazwyczaj.  wkoncu musisz policzyc wektor do oka, albo normalna, czy pozycje przemnozyc macierza.

3. Mozesz tworzyc nowe zmienne. OGL i tak to zopytmalizuje w czasie kompilacji. Kiedys jak jeszcze istnialy zewnetrzne programy do optymalizacji kodu OGL to generowaly wiele zmiennych tymczasowych. Mozesz sobie zobaczyc chociazby AMD Shader Analyzer (czy jakos tak) i podgladac assembler. Wynik bedzie identyczny.

4. UE4 ma constant scalar i uniform scalar. Cosntant to po prostu zmienna w shaderze. A uniform jest dla materialu i przekazywana jest od materialu. Zeby to wartosc zmieniac w czasie rzeczywistym to maja chociazby MaterialInstance, czyli identyczny material, ale inne parametry.

5.W sumie to tak. Obliczenia w vetex sh zazwyczaj sa robione automatycznie, a Ty robiac materiał odczuwasz tak jakbys edytowal tylko kolory. Wyjatkiem sa momenty kiedy np. chcesz offset wierzcholkowi dac. Wtedy obliczenia dzieja sie w wierzcholkach. Zawsze mozesz zobic zeby mozna bylo bloczkami tez liczyc co per vertex :D To nie jest problem, chcesz, robisz.

GLSL wyrzuca te zmienne ktore nie sa uzywane do wyliczenia ostatecznego wyjscia. Czyli jak zmienna nie wplywa w zaden sposob na ostateczny kolor pixela to jest wyrzucana.

8
OpenGL / Odp: [OpenGL] TV noise - animacja
« dnia: Wrzesień 06, 2017, 21:56:50 »
Cytuj
Jednak jako, że jestem przeciwnikiem losowości w grach, proponuję zamiast tego ustawić ręcznie paręnaście wzorów (kolejności wyświetlania), a następnie wyświetlać je kolejno.
Kurcze. Czuję delikatnie sarkazm :D Powoli zaczynam sie gubić kiedy żartujesz, a kiedy serio :P

9
Grafika 3D / Odp: Teksturowanie dużych modeli
« dnia: Sierpień 22, 2017, 18:23:07 »
Grafiti to raczej decal dać, dobra jakoś, dosyć tanie i łatwo to zrobić ;)

10
Grafika 3D / Odp: Teksturowanie dużych modeli
« dnia: Sierpień 22, 2017, 08:59:39 »
Wielkość tekstury nie ma większego wplywu na wydajność, bardziej na pamięć (tej telefony nie maja za wiele) i czas wczytywania. Tekstury może nie są wrzucane co klatke, ale ma to spory narzut, chociażby z tego względu, że OpenGL nie pozwala na wielowątkowość przy kontakcie z GPU (chyba ze mapowanie). Nie ma sensu testowanie wydajności patdzac na FPS bo jeżeli coś innego jest wąskim gardłem to nie zobaczysz różnicy. Mip mapping to zarazem optymalizacja i poprawa jakości :D
Tak baaardzo sporadycznie to nie powiedziałbym. W UE widac doczytywanie sie wyższych poziomów podchodząc do obiektu (i wyobraź sobie że masz 50 tekstur 4k, co krok coś doczytuje) :D Poza tym czasy ładowania gry z teksturami 4k są dlugie, na telefonach okropne. Gdzies tam jako ciekawostke bodajże o Uncharted 4 podawali że poza postaciami nic nie ma tam tekstur wkększych niż 1k.
A na większe obiekty nawet i 4k dalej daje średnią jakość. Lepiej już dac więcej wierzchołków niż powiększać tekstury. No chyba, że gra składa się z pięciu domków. Bo do0óki masz duże rezerwy pamięci to da zobie rade.

11
Grafika 3D / Odp: Teksturowanie dużych modeli
« dnia: Sierpień 21, 2017, 20:55:02 »
@up
W życiu nie widziałem gorszej odpowiedzi :D Chyba nie słyszałeś o czymś takim jak "optymalizacja" :D Normalnie skalowanie załatwia za nas grafika bo mamy mip mapping, UE jedynie robi tak ze jak nie widzisz tekstury o najwyższej rozdzielczości to wyrzuca z karty najwyższy poziom. Ale trzeba pomysleć o tym że wrzucanie takich danych też zabiera czas.
Na budynkach zazwyczaj tekstury się powtarzają. I to nawet często. Po prostu stara sie to zakryć elementami otoczenia, mieszaniem kilku tekstur, np. z wykorzystaniem splat tekstury, albo korzysta się z kolorów wierzchołków, itd.

12
OpenGL / Odp: Deffered shading - różne metody oświetlenia / materiały
« dnia: Sierpień 14, 2017, 01:18:38 »
Zależy co chcesz osiągnąć. Naprawdę potrzeba Ci wielu typów oświetlenia? Z mojego doświadczenia wystarcza ich naprawde mało.

13
Poszukuję / Odp: Poszukuję grafika do gry karcianej (płatne zlecenie)
« dnia: Sierpień 10, 2017, 23:36:43 »
W szachach tez nie powinno być tur, tylko gracze powinni wykonywac ruch jednocześnie. Byłoby bardziej fair :D

14
OpenGL / Odp: QuadTree/LOD przy renderowaniu terenu
« dnia: Lipiec 23, 2017, 15:56:53 »
hmmm... nie rozumiem co masz na myśli i w czym widzisz problem. Więc od początku, wszystkie chunki mają identyczną wielkość (np. 32x32m), i możesz myśleć o nich jak o chunkach trzymanych w gridzie. LOD zmienia się na podstawie odległości od kamery (a przynajmniej większość tak robi). Chunki blisko Ciebie są bardzo szczegółowe, a im sa dalej, tym gorzej wyglądają (ale nie widać tego częśto ze względu na odległość). Skoro w zalężności od odległości od kamery, to bez zbędnego sprawdzania czegokolwiek wiesz który LOD ma dany chunk, i jaką permutację należy mu wybrać (bo wynika to z jego relatywnej pozycji względem kamery). Oczywiście można różnie to zakodzić, najprościej jest tak żeby LOD zmieniał się w zależności od odległości po składowej, czyli sprawdzam czy która składowa relatywnej pozycji jest większa i po tej ustawiam LOD. Albo który to jest chunk od głównego (ten na którym się znajdujesz), i wtedy wystarczy "przesuwać" permutacje. Nie wiem czy dobrze wytłumaczyłem.

15
OpenGL / Odp: QuadTree/LOD przy renderowaniu terenu
« dnia: Lipiec 23, 2017, 09:37:02 »
10 wierzchołków dla chunka terenu to strasznie mało, sugerowałbym stworzyć chunki 32x32 (33x33 wierzcholki). Jeżeli dalej chcsz wykorzystywać triangle fan, albo triangle strip to można wykorzystać glPrimitiveRestartIndex i zbudować taki chunk z kilku pasków.
Sposobów na pozbycie się dziór jest całkiem sporo. Najprostszy (i najgorszy chyba) to jest po prostu zrobienie dodatkowej obwódki dla każdego chunka która byłaby przesunięta mocno w dół (co powodowałoby zakrycie przerw). Inny sposób to to co opisane jest w pdf-ie który podlinkowałeś. Albo stworzyć permutacje dla boków dopasowanych do niższego poziomu szczegółowości, albo te do wyższego (co wydaje się lepsze, ze względu na mniejszą ilość permutacji). W tej metodzie wiesz z góry którą permutację wybrać. pierwszy chunk jest pełny, nastepnie obok Ciebie 8 chunków to 8 kolejnych permutacji. Dalej mamy 2 LOD a nastepnie permutacje 2 LOD.
Jest jeszcze kolejna metoda, seamless lod. Na podstawie kamery zbliżasz ustawienie wierzchołków 1LOD do wierzchołków 2LOD, a kiedy osiągniesz taki chunk wyglądający w pełni jak 2LOD to zaczynasz wyświetlać faktycznie drugie LOD.

Strony: [1] 2 3 4 5 ... 13