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 :

Comment passer de la 3D à la 2D?


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 Comment passer de la 3D à la 2D?
    Bonjour,

    j'aimerais comprendre un petit quelquechose : lorsque l'on effectue des calculs 3D, il faut ensuite une image 2D de ce que l'on à calculé.
    J'aimerais savoir comment obtenir cette image 2D?
    JE m'explique :
    j'ai lu la question dans la FAQ qui traite de ce sujet, mais dans cette question, il est dit que l'API 3D gère cette transformation : on lui donne des objets 3D , elle nous affiche un rendu 2D.
    Pour ma part, je dois développer un moteur de raytracing.
    Je dois donc calculer les premières intersections d'un rayon avec les objets 3D de la scène.
    Mais une fois cela effectué, c'est bien une scène 3D que je vais avoir, et je ne dois rien passer à une API mais stocker l'image sous forme d'un tableau de PIxels dans un fichier PPM.
    Je ne comprends pas bien le processus ...
    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
    Pour un raytracer, dans un cas sans réflexions, on utilise généralement l'idée que si on envoit un rayon qui a une direction perpendiculaire à l'écran et va vers la scéne alors l'objet le plus proche qu'il touche donne la couleur du pixel avec la participation de la lumiére de la scéne.

    Ensuite, si l'objet a un taux de réflection, alors un deuxième rayon part de l'objet et il faut calculer une autre intersection.

    Ensuite, si tu veux un algo plus détaillé (donc avec les réflexions et autres...) utilise , il doit avoir un nombre important de raytracers qui tournent sur le net...


    Et si t'as des problèmes plus précis, tu peux revenir ici

    Jc

  3. #3
    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
    Hum si je te comprend bien imaginons que j'ai dans uen scène :
    une sphére rouge en premier plan.
    un cylindre vert partiellement caché par cetet sphère.

    Pour obtenir l'image finale.
    Pour chaque pixel de l'image finale, je crée un rayon.
    Je lance rayon, s'il rencontre en premier ma sphère, je dis le pixel sera rouge.
    S'il rencontr een premier mon cylindre (cas de la portion de cylindre non masque par la sphère) ce pixel est vert.
    S'il ne rencontre aucun de ces élements,il reste noir.

    c'est "aussi simple que ca" (le principe, j'ai pas la prétention que l'implémentation le sera tout autant) ???

    En gros si j'ai une image de 600 par 600 je ferai 600² calculs de "la couleur du premier objet rencontré"?
    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.

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Ca ne sert à rien de tâtonner, il existe au moins un milliard de très bons tutoriels sur le raytracing

  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
    Citation Envoyé par Laurent Gomila
    Ca ne sert à rien de tâtonner, il existe au moins un milliard de très bons tutoriels sur le raytracing
    Euh en fait ca répond à aucune de mes questions ça
    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
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Citation Envoyé par cladsam
    Euh en fait ca répond à aucune de mes questions ça
    Les tutoriels y répondent.

  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
    Tu sais on peut aller loin comme ca.
    Je ne suis pas la pour me prendre la tête avec ce genre de réponses.
    Si je pose des questions c'est que j'ai besoin des réponses et que j'ai déjà lu des tutoriaux qui n'était pas assez clairs à mon gout.
    Je ne demande donc pas un tutorial sur l'utilisation du Forum, de la touche F1 ou de Google et il n'est pas util de m'envoyer pêtre via des ... cherche des tutoriaux.
    Cela dit, merci pour ton aide PRECIEUSE
    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 Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Si je te parle de tutoriels, c'est que tu as l'air de débuter avec le raytracing, et que tu as des questions très générales sur son fonctionnement.

    Maintenant, si tu as capté comment ça marche, et que tu as une question précise, je serais ravi d'y répondre.

    Désolé si je ne t'ai pas aidé, mais parfois il faut savoir s'aider soi-même aussi, trop de personnes postent ici sans même faire un minimum de recherches personnelles.

  9. #9
    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 Laurent Gomila
    Désolé si je ne t'ai pas aidé, mais parfois il faut savoir s'aider soi-même aussi, trop de personnes postent ici sans même faire un minimum de recherches personnelles.
    Justement j'ai des questions générales sur leur fonctionnement car les tutoriaux sont très spécifiques, ils expliquent l'algorithme .. que j'ai déjà, le calcul d'intersection etc... mais ce n'est pas le code ou les maths qui me gènent (pour l'instant ) mais la philosophie générale qui est "mal vulgarisée" ce qui explique que ma question soit générale.

    D'ou ma reponse pour t'indiquer que je suis pas de ceux viennent faire de la polution de forums sans avoir chercher.

    Maintenant, ai-je bien compris le fonctionnement général? Et bien c'est la le but de la question, m'assurer que c'est le cas
    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.

  10. #10
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Ok, on est bien d'accord

    Donc oui, tu as bien compris le principe du raytracing, qui n'est pas compliqué en soi comme tu as pu le remarquer. Ce qui devient un peu compliqué c'est d'avoir un rendu réaliste : avec la méthode que tu décris tu n'auras qu'une scène contenant des objets avec couleur unie.

    Maintenant il faut gérer les réflections, l'éclairage, les ombres, la réfraction, etc... Bien sûr tu n'es pas obligé de tout gérer, mais plus tu en plus ta scène sera réaliste.

    Et en gros, pour gérer toutes ces choses, lorsque tu rencontres une intersection il faut relancer un ou plusieurs rayons dans les directions adéquates (normale à la surface pour la reflection, vers la lumière pour l'ombre, légèrement dévié pour la réfraction, ...), avec la formule qui va bien.

Discussions similaires

  1. comment passer de access à MySQL
    Par isa_21 dans le forum Requêtes
    Réponses: 4
    Dernier message: 06/10/2004, 08h51
  2. [TLisBox] Comment passer à la ligne ?
    Par gamez dans le forum Composants VCL
    Réponses: 2
    Dernier message: 18/06/2004, 23h52
  3. [C#] Comment passer un paramètre Boolean au service Web ?
    Par ramalho dans le forum Services Web
    Réponses: 3
    Dernier message: 07/06/2004, 17h31
  4. [STRUTS] comment passer plusieur param GET aves <html:lin
    Par lfournial dans le forum Struts 1
    Réponses: 3
    Dernier message: 20/01/2004, 08h57
  5. Comment passer sous Delphi ?
    Par J-P-B dans le forum XMLRAD
    Réponses: 2
    Dernier message: 13/06/2003, 10h09

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