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 - Zinlibs

Pages: [1]
1
Général / [Résolu] [SFML 2] Problème de linkage avec la SFML statique
« le: Juillet 07, 2012, 07:04:55 pm »
Salut,

J'ai une erreur à la compilation (références indéfinies vis à vis de la SFML) lorsque j'essaye de lier à un projet de test la SFML en statique. J'utilise cmake et le findSFML fourni par Laurent. J'ai bien défini SFMLDIR qui pointe vers un dossier d'installation de la SFML valide avec les lib statiques dedans (fraîchement compilées). J'ai de plus défini la variable SFML_STATIC_LIBRARIES et lui ai assigné la valeur true. Je compile avec minGW (gcc 4.7).



Le code du main est très simple :

#include <SFML/Window.hpp>

int main()
{
    sf::Window window(sf::VideoMode(800, 600), "My window");

    // run the program as long as the window is open
    while (window.isOpen())
    {
        // check all the window's events that were triggered since the last iteration of the loop
        sf::Event event;
        while (window.pollEvent(event))
        {
            // "close requested" event: we close the window
            if (event.type == sf::Event::Closed)
                window.close();
        }
    }

    return 0;
}

Merci de votre aide !

2
Salut les gens,  :)

Aujourd'hui je vous présente les deux librairies sur lesquelles je travaille depuis quelques temps et qui me tiennent à coeur, ma philosophie étant de totalement séparer et différencier l'aspect géométrique d'objets de leur rendu graphique ou de toute autre utilisation potentielle (tel un moteur physique, que je développe grâce à la première soit dit en passant) :  ;D

La première nommée Zoost qui permet de créer des objets géométrique le plus simplement du monde et de les faire interagir entre eux (et ce totallement indépendamment de la SFML).
Des segments, jusqu'aux triangles, en passant par les courbes (y compris Bezier) et les polygones concaves, vous n'aurez que l’embarras du choix (et j'en rajouterai bientôt).
Vous pouvez bien sûr creer vos propres formes personnalisée grâce à un système à la fois haut et bas niveau.  ;D

La seconde, Zoom, (basée sur SFML 2.0 RC) se concentre sur l'aspect animation et graphismes, permettant grosso modo d'utiliser une géometrie de Zoost et de l'animer comme bon vous semble. Mais ça ne s'arrête pas là car vous pourrez aussi afficher ces géométries et personnaliser le rendu à volonté (taille de chaque point, couleurs des segments, remplissage des formes et j'en passe...). Enfin, est fourni un moteur de lumière basé sur le super travail de Gregouar, qui a été dépoussiéré pour l'occasion. Dans un futur proche et avec son aide, je compte ajouter la gestion du tout nouveau moyen de rendre les ombres 2.5D, ce qui me rend vraiment impatient...  :P

Exemple de création d'un polygone concave et son rendu :

Geom geom = Geom::polygon({{0, 0}, {25, 100}, {40, 100}, {40, 0}, {100, 0}, {100, 100}, {120, 100}, {120, 0}, {180, 0}, {180, 100}, {200, 100}, {200, 0}, {260, 0}, {260, 100}, {275, 100}, {300, 0}, {300, 120}, {240, 120}, {240, 20}, {220, 20}, {220, 120}, {160, 120}, {160, 20}, {140, 20}, {140, 120}, {80, 120}, {80, 20}, {60, 20}, {60, 120}, {0, 120}});
geom.setPosition(130, 200);
geom.scale(1.5, 1.5);

Shape shape(geom);
shape.setFaceColor(Color::SpringGreen);
shape.setLiaisonColor(Color::DarkGreen);
shape.setLiaisonWidth(3);

target.draw(shape);

Exemple d'animation d'un objet via une courbe et une cinétique :

Curve curve = Curve::bezier({767, 410, 1000, 900, 1000, 30, 500, 30, 1, 30, 50, 560, 169, 410}) + Curve({169, 410, 228, 321, 386, 571, 553, 261, 421, 218, 575, 464, 767, 410});
curve.setOrigin(500, 370);

Kinetic kinetic(curve, 400, 0, true); // 400 est la vitesse de parcours de la courbe, 0 signifie qu'un commence du début (toujours inférieur ou égal à 1) et true qu'on boucle la cinétique.

// Boucle principale :

Vector2d coords = curve.convertToGlobal(kinetic.update(clock.restart())); // Nouveau point de parcours de la courbe.
myShape.setPosition(coords);

Voilà, ces deux librairies sont pas tout à fait complètes, mais amenées à évoluer rapidement (vu que j'en ai besoin dans mes futurs projets). Je vous tiens au courant des évolution et reste à votre écoute pour toute question ou suggestion !  ::)

https://github.com/Zinlibs/Zoost
https://github.com/Zinlibs/Zoom

Merci et bon codage !

Pages: [1]