Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Sujets - Despay

Pages: [1]
1
Graphique / [Résolu] Petite question sur le vertexarray
« le: Avril 18, 2015, 04:20:53 pm »
Bonjour,

j'aurais une petite question sur les vertexarray, quand faut-t-il les utiliser concrètement ?
Dans l'exemple du tutoriel SFML il s'agit d'afficher un grand nombre de tiles pour éviter de faire un grand nombre de draw().

Seulement voila, dans mon futur jeu j'aimerais faire des niveaux assez grands tant en largeur qu'en longueur (style volgarr the viking), du coup jusqu'à présent je faisais des test avec ma camera, du style "si le plateforme est dans la camera on la dessine", je me retrouve a dessiner quelques sprites seulement.

Mais serait ce plus rentable de faire un vertexarray contenant toutes les plateformes sur un niveau potentiellement très grand et ne faire qu'un seul draw() ?
Ou alors devrais-je carrément garder mon fonctionnement actuel et recalculer mon vertexarray a chaque frame, seulement est-ce raisonnable ?

Merci a vous.

2
Bonjour,

tout est dans le titre, je cherche un moyen efficace de 'cacher/protéger' les ressources de mon jeu tel que les sprites, map, et peut être de futurs scripts.

Merci a vous.

3
Bonjour,

voila j'ai un petit problème avec ma vue avec l'utilisation d'une RenderTexture.
Dans mon code, je possède un objet Camera qui hérite de View et qui s'occupe de se placer correctement par rapport a mon personnage et de dessiner les sprites censés être dans la scène. Au début je n'utilisais pas de RenderTexture mais ayant pour projet d'utiliser des shaders sur toute ma scene, j'ai changé mon code.

Mon problème est que ma RenderTexture ne se dessine pas la ou il faut, voici 2 images sans/avec utilisation de la RenderTexture :
http://www.noelshack.com/2015-11-1426025436-sans-rendertexture.png
http://www.noelshack.com/2015-11-1426025429-avec-rendertexture.png

Voici le code que j'utilise :
void Camera::dessinerSpriteVisible(Map* map, RenderWindow * app)
{
    Sprite sprite;
    sf::RenderTexture renderTexture;
    if (!renderTexture.create(1920, 1080)){
        cerr << "Erreur initialisation render"<<endl;
        return;
    }
    renderTexture.clear(sf::Color::Red);
   // renderTexture.setView(*this);


    vector<Platforme*> * platformes = map->getPlatformes();
    //on dessine les platformes
    for(unsigned int i = 0 ; i < platformes->size() ; i++)
    {
       if(isVisible((*platformes)[i]))
       {
           renderTexture.draw( *((*platformes)[i]) );
            sprite.setTexture(renderTexture.getTexture());
            renderTexture.display();
            app->draw(sprite);
       }

    }

    vector<Personnage*> * personnages = map->getPersonnages();
    //on dessine les perso
    for(unsigned int i = 0 ; i < personnages->size() ; i++)
    {
        if(isVisible((*personnages)[i]))
       {
            renderTexture.draw( *((*personnages)[i]) );
            sprite.setTexture(renderTexture.getTexture());
            renderTexture.display();
            app->draw(sprite);

       }
    }

    vector<Decor*> * decors = map->getDecors();
     for(unsigned int i = 0 ; i < decors->size() ; i++)
    {
        if(isVisible((*decors)[i]))
       {
            renderTexture.draw( *((*decors)[i]) );
            sprite.setTexture(renderTexture.getTexture());
            renderTexture.display();
            app->draw(sprite);
       }
    }

   // app->setView(renderTexture.getView());

}
 

J'ai essayé de jouer avec 'renderTexture.setView(app->getView())' puis 'app->setView(renderTexture.getView());' mais rien n'y fait, cela ne fonctionne pas correctement  :-\

Quelqu'un pourrait t-il m'expliquer ce que je fais de mal ?

Merci de votre aide !

Pages: [1]