IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SFML Discussion :

Sfml et example


Sujet :

SFML

  1. #1
    bm
    bm est déconnecté
    Membre confirmé

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Points : 556
    Points
    556
    Billets dans le blog
    6
    Par défaut Sfml et example
    bonjour ,

    Pour savoir si open gl existe avec sfml , j'ai ouvert "example/window/windows.cpp"

    g++ -L../../../SFML-2.0/lib -L../../../SFML-2.0/lib -o bin/Debug/Fen obj/Debug/main.o ../../../SFML-dev/lib/libsfml-audio.so ../../../SFML-dev/lib/libsfml-graphics.so ../../../SFML-dev/lib/libsfml-network.so ../../../SFML-dev/lib/libsfml-system.so ../../../SFML-dev/lib/libsfml-window.so ../../../SFML-dev/lib/libsfml-audio.so ../../../SFML-dev/lib/libsfml-graphics.so ../../../SFML-dev/lib/libsfml-network.so ../../../SFML-dev/lib/libsfml-system.so ../../../SFML-dev/lib/libsfml-window.so
    /usr/bin/ld: obj/Debug/main.o: référence au symbole non défini «glClearDepth»

    //usr/lib/x86_64-linux-gnu/mesa/libGL.so.1: error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status
    Process terminated with status 1 (0 minute(s), 0 second(s))
    0 error(s), 0 warning(s) (0 minute(s), 0 second(s))
    ||=== Générer: Debug in Fen (compiler: GNU GCC Compiler) ===|
    ||=== Build échoué: 0 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
    Build échoué , comment améliorer ce qui manque ?

  2. #2
    Membre émérite Avatar de Cirrus Minor
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2014
    Messages
    953
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2014
    Messages : 953
    Points : 2 610
    Points
    2 610
    Par défaut
    Tu as déjà dessiné des trucs avec SFML, non ?
    SFML se base sur OpenGL, donc il "existe" avec SFML.

    Pour ton problème:
    - il y a quoi de particulier dans windows.cpp ? Des appels directs à OpenGL ?
    - pourquoi est-ce que tu linkes avec la version 2.0, tu n'avais pas compilé la 2.1 ?
    - ton problème est un problème de link, tu dois probablement linker la bibliothèque OpenGL à ton projet.

  3. #3
    bm
    bm est déconnecté
    Membre confirmé

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Points : 556
    Points
    556
    Billets dans le blog
    6
    Par défaut
    window.cpp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    ////////////////////////////////////////////////////////////
    // Headers
    ////////////////////////////////////////////////////////////
     
    #include <SFML/Window.hpp>
    #include <SFML/OpenGL.hpp>
     
     
    ////////////////////////////////////////////////////////////
    /// Entry point of application
    ///
    /// \return Application exit code
    ///
    ////////////////////////////////////////////////////////////
    int main()
    {
        // Request a 32-bits depth buffer when creating the window
        sf::ContextSettings contextSettings;
        contextSettings.depthBits = 32;
     
        // Create the main window
        sf::Window window(sf::VideoMode(640, 480), "SFML window with OpenGL", sf::Style::Default, contextSettings);
     
        // Make it the active window for OpenGL calls
        window.setActive();
     
        // Set the color and depth clear values
        glClearDepth(1.f);
        glClearColor(0.f, 0.f, 0.f, 1.f);
     
        // Enable Z-buffer read and write
        glEnable(GL_DEPTH_TEST);
        glDepthMask(GL_TRUE);
     
        // Disable lighting and texturing
        glDisable(GL_LIGHTING);
        glDisable(GL_TEXTURE_2D);
     
        // Configure the viewport (the same size as the window)
        glViewport(0, 0, window.getSize().x, window.getSize().y);
     
        // Setup a perspective projection
        glMatrixMode(GL_PROJECTION);
        glLoadIdentity();
        GLfloat ratio = static_cast<float>(window.getSize().x) / window.getSize().y;
        glFrustum(-ratio, ratio, -1.f, 1.f, 1.f, 500.f);
     
        // Define a 3D cube (6 faces made of 2 triangles composed by 3 vertices)
        GLfloat cube[] =
        {
            // positions    // colors (r, g, b, a)
            -50, -50, -50,  0, 0, 1, 1,
            -50,  50, -50,  0, 0, 1, 1,
            -50, -50,  50,  0, 0, 1, 1,
            -50, -50,  50,  0, 0, 1, 1,
            -50,  50, -50,  0, 0, 1, 1,
            -50,  50,  50,  0, 0, 1, 1,
     
             50, -50, -50,  0, 1, 0, 1,
             50,  50, -50,  0, 1, 0, 1,
             50, -50,  50,  0, 1, 0, 1,
             50, -50,  50,  0, 1, 0, 1,
             50,  50, -50,  0, 1, 0, 1,
             50,  50,  50,  0, 1, 0, 1,
     
            -50, -50, -50,  1, 0, 0, 1,
             50, -50, -50,  1, 0, 0, 1,
            -50, -50,  50,  1, 0, 0, 1,
            -50, -50,  50,  1, 0, 0, 1,
             50, -50, -50,  1, 0, 0, 1,
             50, -50,  50,  1, 0, 0, 1,
     
            -50,  50, -50,  0, 1, 1, 1,
             50,  50, -50,  0, 1, 1, 1,
            -50,  50,  50,  0, 1, 1, 1,
            -50,  50,  50,  0, 1, 1, 1,
             50,  50, -50,  0, 1, 1, 1,
             50,  50,  50,  0, 1, 1, 1,
     
            -50, -50, -50,  1, 0, 1, 1,
             50, -50, -50,  1, 0, 1, 1,
            -50,  50, -50,  1, 0, 1, 1,
            -50,  50, -50,  1, 0, 1, 1,
             50, -50, -50,  1, 0, 1, 1,
             50,  50, -50,  1, 0, 1, 1,
     
            -50, -50,  50,  1, 1, 0, 1,
             50, -50,  50,  1, 1, 0, 1,
            -50,  50,  50,  1, 1, 0, 1,
            -50,  50,  50,  1, 1, 0, 1,
             50, -50,  50,  1, 1, 0, 1,
             50,  50,  50,  1, 1, 0, 1,
        };
     
        // Enable position and color vertex components
        glEnableClientState(GL_VERTEX_ARRAY);
        glEnableClientState(GL_COLOR_ARRAY);
        glVertexPointer(3, GL_FLOAT, 7 * sizeof(GLfloat), cube);
        glColorPointer(4, GL_FLOAT, 7 * sizeof(GLfloat), cube + 3);
     
        // Disable normal and texture coordinates vertex components
        glDisableClientState(GL_NORMAL_ARRAY);
        glDisableClientState(GL_TEXTURE_COORD_ARRAY);
     
        // Create a clock for measuring the time elapsed
        sf::Clock clock;
     
        // Start the game loop
        while (window.isOpen())
        {
            // Process events
            sf::Event event;
            while (window.pollEvent(event))
            {
                // Close window: exit
                if (event.type == sf::Event::Closed)
                    window.close();
     
                // Escape key: exit
                if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Escape))
                    window.close();
     
                // Resize event: adjust the viewport
                if (event.type == sf::Event::Resized)
                    glViewport(0, 0, event.size.width, event.size.height);
            }
     
            // Clear the color and depth buffers
            glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
     
            // Apply some transformations to rotate the cube
            glMatrixMode(GL_MODELVIEW);
            glLoadIdentity();
            glTranslatef(0.f, 0.f, -200.f);
            glRotatef(clock.getElapsedTime().asSeconds() * 50, 1.f, 0.f, 0.f);
            glRotatef(clock.getElapsedTime().asSeconds() * 30, 0.f, 1.f, 0.f);
            glRotatef(clock.getElapsedTime().asSeconds() * 90, 0.f, 0.f, 1.f);
     
            // Draw the cube
            glDrawArrays(GL_TRIANGLES, 0, 36);
     
            // Finally, display the rendered frame on screen
            window.display();
        }
     
        return EXIT_SUCCESS;
    }
    J'ai dessiné des formes , avant de voir les possibilités de la doc example :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #include <SFML/Graphics.hpp>
    #include <string>
    #include <iostream>
    #include <cstdlib>
    #include "shape.h"
     
    sf::RenderWindow window;
    sf::RectangleShape rect;
    sf::VertexArray line_1;
    sf::VertexArray line_2;
    sf::CircleShape circle;
     
    int main()
    {
        // Création de la fenêtre
        window.create(sf::VideoMode(800,600),"Tuto SFML");
        // Modifier la position
        window.setPosition(sf::Vector2i(190,0));
        window.setFramerateLimit(60);

  4. #4
    Membre émérite Avatar de Cirrus Minor
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2014
    Messages
    953
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2014
    Messages : 953
    Points : 2 610
    Points
    2 610
    Par défaut
    Ah ben alors c'est bien ça, tu dois lier ton projet avec OpenGL.

    Tu veux faire quoi, exactement ? De la 3D ?

  5. #5
    bm
    bm est déconnecté
    Membre confirmé

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Points : 556
    Points
    556
    Billets dans le blog
    6
    Par défaut
    Dans un premier temps je veux voir les possibilités de la doc
    example de sfml :

    2d/3d , je ne sais pas en temps de développement qu'elle est la
    différence

    Voir mon blog ici , qui va traiter de la météo .

    Je veux réaliser des simulations en rapport avec la météo :

    - un décor
    - déplacer des nuages
    - tomber des gouttes d'eau
    - etc ..

    --------------------------------------------------

    Dans ma config , en commençant par un projet OpenGL , il y a une source exploitable .

    Je vais rester avec SFML et poursuivre en 2d

    [Résolu]

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 826
    Points : 218 287
    Points
    218 287
    Billets dans le blog
    117
    Par défaut
    Bonjour,

    Si vous avez trop de soucis de mis en place d'un projet SFML (ou autre), vous pouvez toujours récupérer un template de projet : http://jeux.developpez.com/telecharg.../709/Templates
    Ce sont des archives qu'il suffit de décompresser pour que cela fonctionne.

    Pour OpenGL, je ne serai trop vous conseiller les ressources récemment mis à disposition en français : http://opengl.developpez.com/
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  7. #7
    bm
    bm est déconnecté
    Membre confirmé

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Points : 556
    Points
    556
    Billets dans le blog
    6
    Par défaut
    récupérer un template de projet ..
    Je suis déjà plus avancé que les templates qui ouvrent et ferme une fenêtre.

    Ok , pour OpenGL , ajouter du C dans Sfml compatible C++ est un paramètre de plus
    dans un projet 2d .

    Ajouter des sprite 3d sera un plus pour débuter ..

  8. #8
    Membre émérite Avatar de Cirrus Minor
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2014
    Messages
    953
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2014
    Messages : 953
    Points : 2 610
    Points
    2 610
    Par défaut
    Bonjour bm,
    je te déconseille d'ajouter des sprites 3D - enfin... des modèles, comme on dit - pour débuter en SFML.
    Essaie déjà de faire des applications simples, avec une physique puisque tu veux faire de la simulation, histoire de bien appréhender le temps réel et les interactions entre les éléments.
    SFML est une bibliothèque C++, et tu n'as donc pas a mettre de code C dedans (à moins d'appeler des bibliothèques C).

  9. #9
    bm
    bm est déconnecté
    Membre confirmé

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Points : 556
    Points
    556
    Billets dans le blog
    6
    Par défaut
    http://jeux.developpez.com/tutoriels...r-une-fenetre/

    C'est avec OpenGl et fenêtrage c++

    Ce qui manque pour faire la liaison avec ce tuto , c'est configurer mon pc avec ubuntu .

    http://doc.ubuntu-fr.org/opengl

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo apt-get install freeglut3-dev
    Ensuite , que faire de plus pour obtenir le bon OpenGl avec codeblocks .
    Actuellement , j'ouvre des projet OpenGl formaté C et pas C++
    C'est la liaison vers freeglut3-dev qui n'est pas active ..



    OpenGL et SFML , peuvent se compléter si l'installation ne bourre pas mon pc , ni
    ne tue mon serveur localhost !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Web Service] example avec base Oracle 10g
    Par osmoze dans le forum Services Web
    Réponses: 3
    Dernier message: 19/04/2006, 20h20
  2. [Debutant] - Ou trouver un example de collision ?
    Par Happy dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 15/12/2005, 04h36
  3. Examples d'algorithmes
    Par Sid ali dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 11/11/2005, 22h52
  4. [COMMONS-DISCOVERY] example
    Par hackyros dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 23/09/2004, 16h14
  5. Example d'applications XMLGRAM Chart
    Par danuz dans le forum XMLRAD
    Réponses: 5
    Dernier message: 29/07/2003, 19h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo