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.


Messages - Blenderiste09

Pages: [1]
1
Réseau / Re: Entiers à taille fixe
« le: Octobre 03, 2019, 11:40:19 am »
Salut !
Merci pour tes réponses  :)
Je me demande bien à quelles autres opérations tu pensais, du coup :P

Eh bien, je ne savais pas non plus :P . Je voulais juste être sûr de ne pas faire de bêtise, histoire de ne pas faire crasher les autres joueurs par ma faute ^^

Merci encore !

2
Réseau / [Résolu] Entiers à taille fixe
« le: Octobre 02, 2019, 10:11:54 pm »
Bonjour à tous,
Je suis en train de faire un système de serveur-client pour Portal 2 en modifiant un plugin existant (https://github.com/NeKzor/SourceAutoRecord).
Le problème est que je sois envoyer un ID depuis le serveur vers les clients, j'utilise donc sf::Uint32 et je le stocke dans l'ID d'une entité. Le soucis, c'est que j'aimerais éviter de modifier cette entité en définissant l'ID comme étant un sf::Uint32. J'aurais voulu le laisser comme un unsigned int.

Ma question est donc : Puis-je convertir un sf::Uint32 en (unsigned) int sans problème (du genre : int a = sf::Uint32(42)) vu que ce ne sont que des typedefs ou est-ce que je dois effectuer d'autres opérations avant ?

Également, en cherchant une réponse sur ce forum, je suis tombé sur ce thread : https://fr.sfml-dev.org/forums/index.php?topic=20843.msg149420#msg149420

Du coup, est-ce que je devrais utiliser int32_t ou sf::Uint32 de préférence pour les envois par réseau ?


Merci d'avance :)

3
Graphique / Re: afficher std::vector<sf::RectangleShape>
« le: Septembre 18, 2017, 09:52:01 pm »
Salut !
Merci beaucoup pour ta réponse, c'était tout bête.
Citer
Cependant je me demandait, est-ce qu'il n'y aurait pas un moyen de faire un seul draw call avec une sorte de VertexArray pour Rectangle ou autres formes plus complexes
Je ne comprends pas très bien ta question. Un vertex array contient des points qui forment des primitives, il n'y a pas de notion de forme complexe, là on est un cran plus bas niveau, c'est à toi de définir tes formes à partir des primitives de base disponibles (des triangles, ou si tu te fiches de la compatibilité, des quads).

La question pourrait-être tournée comme ça : Est-ce que l'on peut faire un seul appel à draw() pour dessiner plusieurs cercles par exemple ?

4
Graphique / Re: afficher std::vector<sf::RectangleShape>
« le: Septembre 15, 2017, 07:52:28 pm »
Effectivement, bête erreur d'inattention ! :P Merci beaucoup.
Du coup le code fonctionne, et j'ai voulu l'intégrer dans la fonction draw d'une classe Grid que j'ai créé:
void Grid::draw(sf::RenderTarget & target, sf::RenderStates states) const
{
        states.transform *= getTransform();

        target.draw(m_vertices, states); //D'autres formes dessinée avant les rectangles

        /*for(int i(0); i < m_rectArray.size(); i++)
        target.draw(m_rectArray[i]);*/
//Cette boucle fonctionne

        for(vector<sf::RectangleShape>::iterator it = m_rectArray.begin(); it != m_rectArray.end(); it++)
            target.draw(*it);
}
 

Cependant il me sort une autre erreur.
(click to show/hide)
Et j'avoue que j'ai du mal à la comprendre.


Ensuite, j'ai une deuxième question qui est en rapport avec le sujet.
Pour réduire le nombre de draw calls, je pense créer moi-même mes Rectangles en utilisant des VertexArray pour ne faire qu'un seul draw call.
Cependant je me demandait, est-ce qu'il n'y aurait pas un moyen de faire un seul draw call avec une sorte de VertexArray pour Rectangle ou autres formes plus complexes (autre que de faire un getPoint() et l'insérer dans un VertexArray) ?

Merci encore

5
Graphique / afficher std::vector<sf::RectangleShape>
« le: Septembre 15, 2017, 05:15:37 pm »
Bonjour,
Je suis en train d'essayer de réaliser un tout simple Conway's game of life.
J'aimerais créer des cellules composées dans un premier temps de sf::RectangleShape le tout contenu dans std::vector.

Problème, lors de l'appel de la fonction window.draw(), rien ne s'affiche.
Voici la partie qui cause problème:

#include <SFML/Graphics.hpp>
#include <iostream>

using namespace std;

int main()
{
    int windowX = 800, windowY = 600, gridSize = 10;
    sf::RenderWindow window(sf::VideoMode(windowX, windowY), "Game of Life");

    //Rectangle qui sera inséré dans le vector
    sf::RectangleShape rect;
    rect.setFillColor(sf::Color(250, 0, 0));
    rect.setScale(gridSize, gridSize);

    vector<sf::RectangleShape> rectArray;

    for(int y(0); y < windowY; y += gridSize)
    {
        for(int x(0); x < windowX; x += gridSize)
        {
            rect.setPosition(x, y); //Position de chaque cellules de la grille
            rectArray.push_back(rect);
        }
    }


        window.clear();

        for(vector<sf::RectangleShape>::iterator it = rectArray.begin(); it != rectArray.end(); it++)
            window.draw(*it);

        window.display();

        while (window.isOpen())
        {
                sf::Event event;
                while (window.pollEvent(event))
                {
                        if (event.type == sf::Event::Closed)
                                window.close();
                }

        }

        return 0;
}
 

Cette manière de faire est provisoire car je pense que je passerai par un sf::VertexArray au final, mais je voudrais quand même comprendre.

Pourriez-vous m'aider ?

Merci d'avance

Pages: [1]