#include <SFML/Graphics.hpp>
int main()
{
// Create a new render-window
sf::RenderWindow window(sf::VideoMode(800, 600), "SFML window");
// Create a new render-texture
sf::RenderTexture texture;
if (!texture.create(500, 500))
return -1;
sf::Texture txt;
txt.loadFromFile("rescures\\object1.png");
sf::Sprite spr(txt);
spr.setPosition(100,100);
while(window.isOpen())
{
// Event processing
// ...
// Clear the whole texture with red color
texture.clear(sf::Color::Red);
// Draw stuff to the texture
texture.draw(spr); // sprite is a sf::Sprite
// We're done drawing to the texture
texture.display();
// Now we start rendering to the window, clear it first
window.clear();
// Draw the texture
sf::Sprite sprite(texture.getTexture());
window.draw(sprite);
// End the current frame and display its contents on screen
window.display();
}
return 0;
}
Skopiowałem to ze strony SFML i wyświetla się tylko czerwony kwadrat 500x500(czyli te RenderTexture, ale tylko to) bez sprita.
EDIT: Nie ma to jak źle napisać przykład do dokumentacji... wystarczyło usunąć "texture.display();"
EDIT2: Tylko ten texture jest odwrócony do góry nogami.