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

Développement 2D, 3D et Jeux Discussion :

[3D]Moteur de raytracing sans les bibliothèques type DirectX, que puis-je utiliser?


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut [3D]Moteur de raytracing sans les bibliothèques type DirectX, que puis-je utiliser?
    Bonjour,

    un projet d'études me conduit à devoir coder un moteur de raytracing au choix en C++ ou Java.
    Je n'ai pas le droit d'utiliser les Direct X, Open GL ou autres biblio qui vont bien.
    Je n'ai jamais fiat de programmation Graphique, j'ai en revanche de bonnes connaissances en développement objet.
    j'ignore :
    - lequel de ces 2 langages sera la plus pratique pour réaliser ce sujet
    - une fois ce choix effectué, quels sont les bibliothèques/fonctions standards de ces 2 langages qu'il faut exploiter.

    A savoir : je ne me soucis pas des problèmes de performance /compatibilité ou autre. Le but est que ce soit fait dans les temsp et que ca fonctionne sur au moins sur un OS.

    Pourriez-vous m'aiguiller?
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

  2. #2
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Je dois avoir loupé quelque chose parce qu'un algorithme de raytracing n'utilise pas DirectX ou OpenGL...

    Pour faire un raytracing, ce n'est qu'un problème d'intersection entre objets de ta scéne et tes rayons (bon cela se complique rapidement) mais à aucun moment est-ce qu'il faut afficher quelque chose... A la fin de l'algorithme (ou pendant), on écrit généralement le résultat dans un fichier qu'on regardera après...

    Sinon, c'est vrai qu'on pourrait faire un affichage en temps réel mais c'est un plus...

    A savoir : je ne me soucis pas des problèmes de performance /compatibilité ou autre. Le but est que ce soit fait dans les temsp et que ca fonctionne sur au moins sur un OS.
    Franchement, si c'est vrai, prend le langage dans lequel tu es le plus à l'aise...

    Jc

  3. #3
    mat.M
    Invité(e)
    Par défaut
    Oui FearyYourself a raison , Direct X ou OpenGL n'ont rien a voir

    Citation Envoyé par cladsam
    - une fois ce choix effectué, quels sont les bibliothèques/fonctions standards de ces 2 langages qu'il faut exploiter.
    Pourriez-vous m'aiguiller?
    Eh bien c'est tres simple sous Windows
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int x;
    int y;
    HDC hdc=GetDC(hwnd);
    CalculLancerRayon(&x,&y);
    SetPixel(hdc,x,y);
    ReleaseDC(hwnd,hdc);
    Tout cela a mettre dans WM_PAINT d'une banale appli win31 ( AppWizard -> appli win31 avec WinMain)
    A toi de developper la fonction CalculLancerRayon()....

    Sinon sur sourceforge.net il y a des tas de projets similaires.
    Si la complexite ne te fait pas peur il ya le code source de Persistence of Vision

  4. #4
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Points : 5 509
    Points
    5 509
    Par défaut
    edit hs : il va falloir faire quelquechose pour supprimer les messages :p

  5. #5
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut
    En effet, aucun besoin d'affichage temps réel dans mon cas.
    je dois juste prendre en entrée les objets à afficher (coordonnées, taille, orientation , transparence ...),créer l'image correspondante et l'afficher .
    Désolé si je vous ai paru un peu en parlant des Direct X et autre OpenGL, mais comme je le disais je n'ai jamais fait de prog graphique de ma vie , pas meme l'affichage d'un pixel coloré

    Quant à l'algo bien entendu que je vais l'écrire seul ou alors on partage la note

    Merci pour vos réponses, je ferme pas le sujet, je sent que j'aurai encore des précisions à vous demande
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

  6. #6
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par loka
    edit hs : il va falloir faire quelquechose pour supprimer les messages :p
    HS:
    tout à fait il n'y avait pas de bouton supprimer


    Désolé si je vous ai paru un peu en parlant des Direct X et autre OpenGL, mais
    En fait ce n'est pas tout à fait vrai ; on peut utiliser l'accélération matérielle pour afficher des objets dans la partie modeleur si tu développes conjointement un modeleur; 3dsmax , Lightwave je ne sais pas, Vue d'Esprit , Bryce utilisent OpenGL et Direct X mais seulement dans les fenêtres d'édition.
    Un raytracer c'est somme toute complexe comme tu t'en doutes.
    Peut-être le plus simple pour commencer est d'afficher des primitives comme des cubes et sphères avec modèle d'éclairage de Gouraud ou Phong les + classiques.
    Quant à l'accès aux pixels on peut prendre des "frameworks" comme la VCL (BCB) , MFC..WxWorks,Qt....

  7. #7
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut
    Citation Envoyé par mat.M
    Un raytracer c'est somme toute complexe comme tu t'en doutes.
    oh que oui alors ... je te prie de croire que pour moi, c'est pesque une film de science-fiction
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

  8. #8
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut
    RE, je ne pensais pas utile de refaire un post pour une question qui fait suite aux précédentes meme si c'est pas exactement pareil donc je continue par la.

    J'ai finallement décidé de m'essayer au C++ pour ce projet pour une raison toute simple, ca me permettra d'explorer un peu ce langage

    Du coup j'en arrive à vous demander quelles bibliothèques standards du C++ je peux utiliser et si vous savez ou je peux avoir de la documentation sur leur utilisation.

    J'ignore si cette question a plsu sa place ici ou dans le forum C++ ??
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

  9. #9
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par cladsam
    Du coup j'en arrive à vous demander quelles bibliothèques standards du C++ je peux utiliser et si vous savez ou je peux avoir de la documentation sur leur utilisation.
    En C++ il n'y a pas de biblios standards pour les graphismes.
    Le C et C++ sont des langages en mode texte , pas de sortie graphique.
    C'est l'OS qui gere les sorties graphiques parce que dependantes du materiel.
    Soit on recours au fonction du GDI sous win32 soit on utilise des biblios comme celles que j'ai citee.
    Mais pour developper un raytracer les acces graphiques sont limites puisqu'il suffit , baisquement , d'afficher par exemple 1024*768 points a l'ecran.
    Voir le tutoriel de BOb sur l'API win32 sinon sur www.cplusplus.com par exemple

Discussions similaires

  1. [VBA][Word]Sauvegarder sans les macros
    Par Oui-Oui MB dans le forum VBA Word
    Réponses: 3
    Dernier message: 23/07/2007, 12h29
  2. [ODBC] Utiliser une base de données Access sans les MFC
    Par Higestromm dans le forum Bases de données
    Réponses: 6
    Dernier message: 15/03/2005, 21h37
  3. Réponses: 1
    Dernier message: 08/11/2004, 16h04
  4. tri a bulle sans les doublons
    Par comme de bien entendu dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 10/03/2003, 16h29
  5. Tracer une ligne droite sans les interruptions
    Par Stef784ever dans le forum x86 16-bits
    Réponses: 4
    Dernier message: 25/11/2002, 01h22

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