Pytania otagowane jako opengl-es2

OpenGL ES 2.0 kładzie nacisk na programowalny potok grafiki 3D (w porównaniu do potoku o ustalonych funkcjach w OpenGL ES 1.1).


2
OpenGL: Gdzie powinienem umieszczać shadery?
Próbuję nauczyć się OpenGL ES 2.0 i zastanawiam się, jaka jest najczęstsza praktyka „zarządzania” modułami cieniującymi. Zadaję to pytanie, ponieważ w przykładach, które znalazłem (takich jak ten zawarty w Demo API dostarczonym wraz z Androidem SDK), zwykle widzę wszystko w klasie GLRenderer i wolę rozdzielić rzeczy, aby móc, na przykład …

2
GLSL Shader - Zmień Odcień / Nasycenie / Jasność
Próbuję zmienić odcień obrazu za pomocą modułu cieniującego fragmenty GLSL. Chcę osiągnąć coś podobnego do warstwy korekty odcienia / nasycenia w Photoshopie. Na poniższym obrazku możesz zobaczyć, co mam do tej pory. Chcę zmienić odcień zielonego kwadratu, aby wyglądał jak czerwony kwadrat po prawej stronie, ale za pomocą tego modułu …

1
Czy bufory powinny być niezwiązane?
Robię testy z OpenGL ES 2 i mam pytania, mój obecny program jest taki: Init ------- -> create index buffer -> fill index buffer glBufferData … -> create vertex buffer -> fill vertex buffer glBufferData … Draw ------- 1. Apply vertex buffer -> Bind VAO -> bind vertex buffer - …

4
Instancja geometrii w OpenGL ES 2.0
Planuję wykonać instancję geometrii w OpenGL ES 2.0 Zasadniczo planuję renderować tę samą geometrię (krzesło) może 1000 razy w mojej scenie. Jak najlepiej to zrobić w OpenGL ES 2.0? Rozważam przekazanie widoku modelu mat4 jako atrybutu. Ponieważ atrybuty są dla danych wierzchołków, muszę przekazać tę samą matę4, trzy razy dla …

4
Wykrywanie kolizji 2D
Załóżmy, że używam tej postaci. (źródło: iconbug.com ) Jak zaimplementowałbyś w tym celu wykrywanie kolizji? Korzystanie z obwiedni nie wydaje się dobrym przybliżeniem, ponieważ kształt ptaka nie jest zbliżony do kwadratu. Zastanawiałem się nad tym, czy wewnątrz obiektu reprezentuje rodzaj struktury drzewa quad reprezentującego fragmenty obrazu. Każdy liść może być …

3
Jak mogę zgiąć obiekt w OpenGL?
Czy istnieje sposób wygięcia obiektu, takiego jak walec lub płaszczyzna, za pomocą OpenGL? Jestem początkującym w OpenGL (używam OpenGL ES 2.0, jeśli to ma znaczenie, chociaż podejrzewam, że matematyka ma w tym przypadku największe znaczenie, więc jest w jakiś sposób niezależna od wersji), rozumiem podstawy: tłumaczyć, obracać, transformacje macierzowe itp. …

1
Jak mogę niezawodnie wdrożyć skórowanie GPU w Androidzie?
Staram się, aby skórowanie postaci działało na Androidzie. Pomysł jest dość waniliowy: mam swoje matryce do skórowania i wraz z każdym wierzchołkiem wysyłam do czterech wskaźników macierzy i czterech odpowiednich wag. Sumuję je w module cieniującym wierzchołki i stosuję je do każdego wierzchołka. Oto, co robię w module cieniującym wierzchołki …

1
Wykorzystanie wielowątkowości między pętlą gry a openGL
Mówienie w kontekście gry opartej na renderze OpenGL: Załóżmy, że istnieją dwa wątki: Aktualizuje logikę gry i fizykę itp. Dla obiektów w grze Wykonuje wywołania openGL dla każdego obiektu gry na podstawie danych w obiektach gry (ten wątek 1 aktualizuje się) Jeśli nie masz dwóch kopii każdego obiektu gry w …

1
OpenGL ES tworzy efekt szablonu za pomocą tekstury
Środowisko W takim środowisku pracuję: OpenGL ES 2.0 iPhone Simulator i iPhone 4 iMac 27 "z NVIDIA GeForce GTX 680MX 2048 MB Mam nadzieję, że to pomaga. Problem Szukałem wysoko i nisko z wielu źródeł i wielu witryn, w tym Stackoverflow, ale nie działał efekt wzornika. Mam to: Czarna „S” …

1
Tekstury arkuszy sprite zbierają krawędzie sąsiadujących tekstur
Mam niestandardową procedurę sprite (openGL 2.0), która wykorzystuje prosty arkusz sprite (moje tekstury są ułożone poziomo obok siebie). Oto przykładowy arkusz testowy z 2 prostymi teksturami: Teraz, gdy robię mój obiekt sprite openGL, określam całkowitą liczbę ramek w jego atlasie, a podczas rysowania określ, którą ramkę chcę narysować. Następnie sprawdza, …

3
Jak wysłać wiele macierzy do modułu cieniującego wierzchołki?
Ćwiczę animacje przy użyciu kości / skórowania. Próbuję wysłać moduł cieniujący jedną macierz na wierzchołek. Mogę wymyślić te dwa podejścia. Metoda 1 Mam jeden jednolity uchwyt dla każdej takiej matrycy kostnej u_Bone0 = GLES20.glGetUniformLocation(mProgram, "u_Bone[0]"); u_Bone1 = GLES20.glGetUniformLocation(mProgram, "u_Bone[1]"); a następnie onDrawwysyłam każdego z nich do modułu cieniującego: GLES20.glUniformMatrix4fv(u_Bone0, 1, …

1
Optymalizacja wydajności ciężkiego modułu cieniującego fragmenty
Potrzebuję pomocy w optymalizacji następującego zestawu shaderów: Wierzchołek: precision mediump float; uniform vec2 rubyTextureSize; attribute vec4 vPosition; attribute vec2 a_TexCoordinate; varying vec2 tc; void main() { gl_Position = vPosition; tc = a_TexCoordinate; } Fragment: precision mediump float; /* Uniforms - rubyTexture: texture sampler - rubyTextureSize: size of the texture before …

1
Jak działa gluLookAt?
Z mojego zrozumienia gluLookAt( eye_x, eye_y, eye_z, center_x, center_y, center_z, up_x, up_y, up_z ); jest równa: glRotatef(B, 0.0, 0.0, 1.0); glRotatef(A, wx, wy, wz); glTranslatef(-eye_x, -eye_y, -eye_z); Ale kiedy wydrukuję ModelViewmatrycę, wezwanie do glTranslatef()wydaje się nie działać poprawnie. Oto fragment kodu: #include <stdlib.h> #include <stdio.h> #include <GL/glut.h> #include <iomanip> #include …

4
Wpływ pętli o zmiennej długości na moduły cieniujące GPU
Popularne jest renderowanie treści proceduralnych w GPU, np. W wersji demonstracyjnej (rysowanie pojedynczego kwadratu, aby wypełnić ekran i pozwalanie GPU na obliczenie pikseli). Marsz Ray jest popularny: Oznacza to, że GPU wykonuje nieznaną liczbę iteracji pętli na piksel (chociaż możesz mieć górną granicę jak maxIterations). Jak posiadanie pętli o zmiennej …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.