Przepraszamy za pytanie noob, po prostu nigdzie nie mogę znaleźć zadowalającej odpowiedzi ... Kiedy renderuję prosty, wyrównany do osi quad złożony z dwóch trójkątów, nie rozumiem, dlaczego na ukośnej krawędzi nigdy nie ma żadnych widocznych artefaktów. Niektóre z tych pikseli muszą znajdować się w obu trójkątach, prawda? Więc jeśli mój …
Zastanawiam się, jaki jest najlepszy sposób zintegrowania funkcji pętli dynamicznej w module cieniującym? Po pierwsze, wydaje się, że tablice dynamiczne nie są możliwe. Czy zatem lepiej jest utworzyć tablicę o maksymalnym rozmiarze i wypełnić tylko jej część lub zdefiniować tablice o zdefiniowanych rozmiarach? Więc jaki jest najlepszy sposób na iterację …
Renderowanie sceny zwykle wymaga więcej niż jednego programu do cieniowania, który w moim przypadku używa tych samych atrybutów i dzieli co najmniej niektóre mundury. Aby działały poprawnie, obecnie gram bezpiecznie, co oznacza, że ponownie wiążę atrybuty i uzyskuję odpowiednie jednolite lokalizacje za każdym razem, gdy przełączam się między programami cieniującymi. …
Czy różnice między tymi dwoma interfejsami API są drobnymi szczegółami dotyczącymi implementacji, co oznacza, że gdy się tego nauczę, będę mógł używać go do wszystkiego? A może istnieją powody, aby uczyć się jednego, a nie drugiego, jeśli chcę mieć możliwość korzystania z niego bez konieczności ponownego uczenia się innego interfejsu …
Konwencja w grafice jest taka, że przeprowadzanie mniejszej liczby zmian stanu jest lepsze niż wykonywanie większej liczby zmian stanu (przełączanie shaderów, buforów wiązania, wiązanie tekstur itp.). W przypadku tekstur szybsze jest renderowanie wielu wielokątów za pomocą jednego atlasu (do renderowania duszków / tekstu) niż indywidualne wiązanie nowej tekstury dla każdego …
Mam aplikację OpenGL, która dość szeroko wykorzystuje testy szablonów do renderowania nieregularnych kształtów (trochę jak prosty 2-D CSG ). Gdybym mógł dowiedzieć się, ile fragmentów przeszło test matrycowy i faktycznie zostało zrenderowanych, byłoby to bardzo pomocne w uproszczeniu niektórych obliczeń w dół linii. W szczególności pozwoliłoby mi to określić obszar …
Czytałem to , więc mam pewien powód, dla którego w Microsoft Windows jest o wiele więcej gier niż w jakimkolwiek innym systemie operacyjnym. Głównym przedstawionym zagadnieniem było to, że Direct3D jest lepszy od OpenGL. Nie rozumiem, dlaczego deweloper poświęciłby kompatybilność? To po prostu strata finansowa dla firmy. Rozumiem, że OpenGL …
tl; dr: Problem matematyczny w geometrii rzutowej: Jak znaleźć matrycę kamery 4x4, która daje rzut, jak pokazano poniżej, tak, że punkty A, B, C, D znajdują się gdzieś na krawędziach pola jednostki (np. znormalizowane urządzenie OpenGL współrzędne), a rogi pola jednostki opadają gdzieś rozsądnie wzdłuż promieni EA, EB, EC, ED? …
W rozdziale 6.4 Stałe bufory książki Practical Rendering & Computation with Direct3D 11 (strony 325, 326) wspomniano: Domyślnie kompilator HLSL będzie próbował wyrównać stałe tak, aby nie obejmowały wielu rejestrów float4. [...] Pakowanie stałego bufora HLSL można również określić ręcznie za pomocą słowa kluczowego packoffset. Zakładam, że podobna zasada będzie …
Wiem, jak działa mapowanie cieni, ale nie dostaję przyczyny trądziku cienia! Czy ktoś może mi w prosty sposób wyjaśnić przyczynę trądziku cieniowego i jaki ma to związek z rozdzielczością mapy głębokości?
Używam SDL2 . Obecnie mój jedyny moduł cieniujący ma matrycę MVP i przekształca za jej pomocą punkty. Obliczam moją macierz widoku i projekcji dla kamery z GLM: glm::lookAt(pos, pos + forward, up); glm::perspective(fov, aspectRatio, zNear, zFar); Przeszukałem go, ale mogę znaleźć tylko starszą implementację wielu rzutni. Jeśli utworzę na przykład …
W tym tutorialu , Bardzo często renderowane są trójkąty dzielące krawędzie. OpenGL oferuje gwarancję, że tak długo, jak pozycje wierzchołków wspólnej krawędzi są identyczne, nie będzie żadnych przerw w próbkach podczas konwersji skanowania. 1 Czym dokładnie są luki w próbkach podczas konwersji skanowania? 2 W jakich okolicznościach to się stanie? …
Przeważnie udało mi się przenieść implementację Marching Cubes z CPU do shaderów obliczeniowych OpenGL, ale jeszcze nie poradziłem sobie z normami i zastanawiam się, jak to zrobić. Moja implementacja zajmuje się konkretnie polami o wartości binarnej (próbuję modelować funkcje fraktalne 3D, które nie mają jeszcze estymatora odległości), więc metody różnic …
Próbuję zaimplementować symulację tkaniny w oparciu o pozycję za pomocą teselacji sprzętowej. Oznacza to, że chcę po prostu załadować kontrolny quad na kartę graficzną, a następnie użyć mozaiki i cieniowania geometrii, aby utworzyć węzły w tkaninie. Ten pomysł jest zgodny z dokumentem: Huynh, David, „Symulacja tkaniny za pomocą teselacji sprzętowej” …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.