Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML 2.0] Przesuwanie render texture

Ostatnio zmodyfikowano 2013-03-20 22:15
Autor Wiadomość
Arturr300
Temat założony przez niniejszego użytkownika
[SFML 2.0] Przesuwanie render texture
» 2013-03-20 20:02:41
Witam.
Mam pytanie. Mianowice: jak przesunąć render texture i uzyskać tą przesuniętą texturę do narysowania?
Mam tablicę wierzchołków o pojemności 30 000. Ich odstęp wynosi 100px. Rendertexture ma ograniczenie 8192x8192, więc muszę przesuwać widok tej rendertextury. Niestety coś zbytnio to nie działa, bo obraz jest taki sam!
Mam nadzieję że rozumiecie o co chodzi.
Kod:
C/C++
if( v_Body.size() >= 4 ) kamera.setCenter( sf::Vector2f( v_Body[ 3 ]->GetPosition().x * SCALE, v_Body[ 1 ]->GetPosition().y * SCALE ) );

if( v_Body.size() >= 4 ) kamera2.setCenter( sf::Vector2f( v_Body[ 3 ]->GetPosition().x * SCALE, 512 ) );

window.clear( sf::Color::White );
window.draw( spr_bg );
window.draw( bg );
window.setView( kamera );

kamera2.zoom( 1.1 );
rtx_ground.setView( kamera2 );
if( fr_draw == 0 )
{
    for( int iy = 0; iy < 128; ++iy )
    {
        for( int ix = 0; ix < 128; ++ix )
        {
            spr_ground.setPosition( ix * 64, iy * 64 );
            rtx_ground.draw( spr_ground );
           
        }
    } rend_ground.draw( spr_bg2 );
}
fr_draw = 1;


rtx_ground.draw( conv, sf::BlendNone );

window.draw( sf::Sprite( rtx_ground.getTexture() ) );

rtx_ground to sf::RenderTexture
spr_ground to sf::Sprite
window to główne okno aplikacji
Po prostu nic się nie zmienia, a chcę, żeby rendertexture pokazywało obiekty "schowane" poza jej granicami.
 
P-78951
pekfos
» 2013-03-20 20:37:07
A to gdzie?
C/C++
render_tex.display();
P-78954
Arturr300
Temat założony przez niniejszego użytkownika
» 2013-03-20 20:38:58
Miałem i też nie działało, może w złe miejsce wkleiłem. Gdzie to wpisać?
P-78955
pekfos
» 2013-03-20 20:39:44
Tuż przed getTexture.
P-78956
Arturr300
Temat założony przez niniejszego użytkownika
» 2013-03-20 20:53:31
Zrobiłem to, żeby coś dało musiałem jeszcze coś zrobić.
 Mianowicie, utworzyłem sf::Texture temptexture, bo przedtem się w ogóle nie zmieniała. Teraz się chyba zmienia, jednak następuje przycięcie się aplikacji na sekundę, co chwila. Nie ma jakiegoś innego sposobu, by bezpośrednio narysować RenderTexture?

Edit: dalej się nic nie zmienia...
P-78958
Arturr300
Temat założony przez niniejszego użytkownika
» 2013-03-20 22:15:28
Udało mi się zrobić, że się zmienia, jednak skala jest zmieniona. Jutro napiszę co i jak :)
P-78969
« 1 »
  Strona 1 z 1