Grafika komputerowa

15
Jak zaimplementować trackball w OpenGL?

Po tak wielu lekturach dotyczących transformacji nadszedł czas, aby zaimplementować trackball dla mojej aplikacji. Rozumiem, że muszę utworzyć wektor od początku do miejsca kliknięcia myszy, a następnie inny od początku do miejsca zwolnienia myszy. Moje pytanie brzmi: czy muszę przekształcić...

14
Jak tworzyć proste ilustracje 2D towarzyszące odpowiedziom na geometrię?

W mojej odpowiedzi na temat transformacji afinicznych zrobiłem kilka ilustracji, które pomogą wyjaśnić. Jak szybko utworzyć plik PNG z możliwością przesyłania, który wyraża geometryczną lub matematyczną ideę? To pytanie zostało opracowane w celu wsparcia mojej odpowiedzi na PostScript, ale ma...

14
korzyść z hałasu perlin nad poziomem hałasu

Badając wewnętrzne działanie hałasu perlina, zastanawiałem się, dlaczego można zastosować hałas perlina zamiast zwykłego hałasu o wartości. O ile dobrze to rozumiem, zastosowanie mają następujące zasady: Szum Perlina jest funkcją szumu opartą na sieci, która przypisuje gradient n-wymiarowy (losowy...

14
Czy cały hałas oparty na siatce jest nieuchronnie anizotropowy?

Interesuje mnie, jak to odnosi się również do większej liczby wymiarów, ale w tym pytaniu skupię się wyłącznie na siatkach 2D. Wiem, że szum Perlina nie jest izotropowy (niezmienny w kierunku) i że podstawowa kwadratowa siatka pokazuje wystarczająco dużo, aby móc określić jego orientację. Szum...

14
Czy stały stan jest bardziej kosztowny niż zmiana shaderów?

Ogólnie rzecz biorąc, rozgałęzianie w shaderach nie jest dobrym pomysłem. Ale teraz mam moduł cieniujący z warunkiem, który jest stały w odniesieniu do całego zaproszenia do losowania. Wykonywana gałąź jest zawsze taka sama dla jednego wywołania losowania. Czy tego rodzaju rozgałęzienie jest...

14
Dlaczego procesory graficzne nadal mają rasteryzatory?

Pomimo postępów współczesne procesory graficzne wciąż mają stałe rasteryzatory. Wysoce konfigurowalny, z programowalnymi modułami cieniującymi, ale mimo to nie w pełni programowalny. Dlaczego? Dlaczego procesory graficzne nie mogą być po prostu masowo równoległymi urządzeniami z uniwersalnymi...

14
Kompatybilność z OpenGL, konwencje nazewnictwa i ARB vs EXT

Myślałem, że zrozumiałem, jak działają konwencje nazewnictwa i rozszerzenia OpenGL, dopóki nie natknąłem się na przypadek, który mnie pomieszał. Oto moje dotychczasowe zrozumienie: Bez przyrostka - np glGenBuffers(). Ta funkcja jest częścią podstawowego profilu. Strona wiki mówi mi, że został...

14
Jak mogę modelować odległy deszcz?

Z bliska deszcz można modelować jako przezroczyste kule wody z odpowiednim rozmyciem w ruchu. Wydaje się to niepraktyczne w przypadku dużych objętości, które byłyby konieczne w przypadku scen deszczu w oddali. W jaki sposób można modelować efekt wypełnionej deszczem atmosfery w odległościach, dla...

14
Mylić z implementacjami PBR

Odkrywam cudowny świat matematyki i uderzam w wielką ścianę z PBR i nazwami, więc mam kilka pytań: O ile rozumiem, BRDF opisuje, w jaki sposób materiał reaguje na światło (przychodzące światło bezpośrednie i odbicia). Ale w „Cook-Torrance” nic nie widzę o odbiciach, nie rozumiem, jak je integruję,...

14
Uzyskaj długość wektora za pomocą GLM

Jestem dość zdezorientowany, jak zachowuje się biblioteka GLM lub używam jej nieprawidłowo. glm::vec2 testVec(6,-4); float len = testVec.length(); Otrzymuję wartość 2z powyższym fragmentem kodu. Wydaje mi się, że próbuję uzyskać długość wektora zdefiniowanego przez testVec. Wiesz bardzo dobrze,...