Adam27 Napisano Październik 17, 2009 Zgłoś Share Napisano Październik 17, 2009 Witam Jak w OGL'u zrealizować płynne przechodzenie tekstur 2D przylegających do siebie? Etharnion - 2D RPG Szukam grafika chętnego do współpracy przy projekcie. Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Październik 17, 2009 Zgłoś Share Napisano Październik 17, 2009 jak masz takie cos: +--+--+--+ |A |B | C| +--+--+--+ To kwadrat "A" malujesz jedna teksturą, kwadrata "C" druga, a "B" obiema z jakimiś maskami, albo jakimiś shaderami Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Jason Napisano Październik 18, 2009 Zgłoś Share Napisano Październik 18, 2009 Ja bym to zrobił w taki sposób, żeby zmieniać przezroczystość miejsca przylegania. Chyba do tego musi być włączony blending. A sposób taki: AB załóżmy, że A i B to kwadraty o boku równym 1.0. 4% kwadratu B zachodzi na kwadrat A, więc rysujemy: //kwadrat A glBindTexture(GL_TEXTURE_2D, kwA); glBegin(GL_QUADSTRIP); glColor4f(1,1,1,1); glTexCoord2f(0,1); glVertex2d(-1,1); glTexCoord2f(0,0); glVertex2d(-1,0); glTexCoord2f(1-0.04,1); glVertex2d(0-0.04,1); glTexCoord2f(1-0.04,0); glVertex2d(0-0.04,0); glColor4f(1,1,1,0); glTexCoord2f(1-0.04,1); glVertex2d(0,1); glTexCoord2f(1-0.04,0); glVertex2d(0,0); glEnd(); // kwadrat B glBindTexture(GL_TEXTURE_2D, kwB); glBegin(GL_QUADSTRIP); glColor4f(1,1,1,0); glTexCoord2f(0,1); glVertex2d(0-0.04,1); glTexCoord2f(0,0); glVertex2d(0-0.04,0); glColor4f(1,1,1,1); glTexCoord2f(0.04,1); glVertex2d(0,1); glTexCoord2f(0.04,0); glVertex2d(0,0); glTexCoord2f(1,1); glVertex2d(1-0.04,1); glTexCoord2f(1,0); glVertex2d(1-0.04,0); glEnd(); Jak się nigdzie nie rypnąłem powinno działać Link do komentarza Udostępnij na innych stronach More sharing options...
Adam27 Napisano Październik 18, 2009 Autor Zgłoś Share Napisano Październik 18, 2009 Force: szukam jakiegoś prostego sposobu Chyba że mnie oświecisz co do masek i shaderów Jason: Twój pomysł jest bardzo dobry i chyba z niego skorzystam. Wielkie dzięki Pozdrawiam Etharnion - 2D RPG Szukam grafika chętnego do współpracy przy projekcie. Link do komentarza Udostępnij na innych stronach More sharing options...
kompustelnik Napisano Październik 18, 2009 Zgłoś Share Napisano Październik 18, 2009 Multitexturing - najprostsze i właśnie do tego stworzone. Pozdrawiam! Pisze programy na zlecenia. Tanio! Delphi, Pascal. Kontakt: - (gg) 736483 - (email) kondor20@op.pl light92@o2.pl - Strona domowa Wszystko do uzgodnienia. Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Październik 18, 2009 Zgłoś Share Napisano Październik 18, 2009 myślałem o pomyśle Jasona, ale nie byłem pewien czy zmiana alphy koloru vertexa wpłynie też na przeźroczystość tekstury Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Jason Napisano Październik 19, 2009 Zgłoś Share Napisano Październik 19, 2009 myślałem o pomyśle Jasona, ale nie byłem pewien czy zmiana alphy koloru vertexa wpłynie też na przeźroczystość tekstury hmmm, wpłynie, w too many troopers: if (bullet_time) { glColor4d(1,1,1,1); glTexCoord1f(0); glVertex2f(-0.05,0.2); glTexCoord1f(1); glVertex2f(0.05,0.2); glColor4d(1,1,1,0.1); glTexCoord1f(1); glVertex2f(0.05,0.4); glTexCoord1f(0); glVertex2f(-0.05,0.4); } Działa Jak się włączy bullet time, to to jest ta smuga za pociskami i jak tam w moim przykładzie schodzi od alpha 1 do 0, to jest płynne przejście na tych 4 procentach każdego obrazu. Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.