Adam27 Posted October 17, 2009 Report Share Posted October 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 to comment Share on other sites More sharing options...
Force Posted October 17, 2009 Report Share Posted October 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 to comment Share on other sites More sharing options...
Jason Posted October 18, 2009 Report Share Posted October 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 to comment Share on other sites More sharing options...
Adam27 Posted October 18, 2009 Author Report Share Posted October 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 to comment Share on other sites More sharing options...
kompustelnik Posted October 18, 2009 Report Share Posted October 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 to comment Share on other sites More sharing options...
Force Posted October 18, 2009 Report Share Posted October 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 to comment Share on other sites More sharing options...
Jason Posted October 19, 2009 Report Share Posted October 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 to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.