[SFML] Przycinanie obszary rysowania
Ostatnio zmodyfikowano 2012-04-28 00:34
Admixior Temat założony przez niniejszego użytkownika |
[SFML] Przycinanie obszary rysowania » 2012-04-27 23:24:11 Witam. W kursie SFML jest coś takiego jak przycinanie obrazu. Niestety jak używam w ten sposób to nic się nie pojawia na ekranie(rysowane podczas użycia przycięcia):
::glEnable( GL_SCISSOR_TEST ); ::glScissor( BIALY_PASEK_LEFT, BIALY_PASEK_UP, BIALY_PASEK_RIGHT - BIALY_PASEK_LEFT, BIALY_PASEK_DOWN - BIALY_PASEK_UP );
for( int i = 0; i < elementy_ruchome.size(); i++ ) { wnd.Draw( texty[ i ] ); wnd.Draw( elementy_ruchome[ i ] ); }
::glDisable( GL_SCISSOR_TEST );
BIALY_PASEK_**** - to są odpowiednie wymiary(prawo, lewo, góra i dół) z których jest rysowany prostokąt i później przycinane obiekty wychodzące poza. Wie ktoś w czym może być problem? |
|
Dawidsoni |
» 2012-04-28 00:01:24 Powinno chyba w dziale biblioteki.
W tej funkcji są inne zasady niż w SFML;/. Też miałem ten problem. Zasady są takie: 1. Podane współrzędne określają obszar, który ma się rysować. Wszystko po za nim nie będzie rysowane. 2. Obszar ten składa się z 4 współrzędnych: 1 - współrzędna x od lewej krawędzi, 2 - współrzędna y od DOLNEJ krawędzi (nie od górnej, jak w SFML), 3 - SZEROKOŚĆ x liczona od współrzędnej x w prawo (nie jest to współrzędna, tylko szerokość, jaka ma być od x), 4 - WYSOKOŚĆ y liczona od współrzędnej y do GÓRY (nie jest to współrzędna, tylko wysokość, jaka ma być od y).
Powinno działać:). |
|
Admixior Temat założony przez niniejszego użytkownika |
» 2012-04-28 00:34:30 Tak działa. Ogromne THX. Oszczędziłeś mi bawienia się. Nawet domyślam się dlaczego. Jak kiedyś kopiowałem hdc monitora do sfml na moim kompie(nie będę mówił po co :)) to miałem image odwrócone (tak samo jak jest bitmapa w pliku) i musiałem użyć FlipY() oraz zamienić sobie kolor czerwony z niebieskim. |
|
« 1 » |