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

Turbo Pascal Discussion :

[TP] Besoin de couleurs pour raytracing


Sujet :

Turbo Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Rniamo
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    508
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 508
    Par défaut [TP] Besoin de couleurs pour raytracing
    Salut, j'aurais besoin de développer une sorte de moteur de rendu style raytracing. J'ai commencé en Pascal mais je me heurte à un problème : comment faire l'éclairage avec 15 couleurs (j'utilise l'unité graph) ???
    Mon principal problème est que les formules pour l'éclairage sont des fonctions. Quelqu'un peut-il m'aider, SVP ???

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    Si tu veux quelques chose d'efficace, avec plus de 16 couleurs par exemple, il te faudra programmer un peu, en utilisant par exemple des drivers VESA. Tu peux pour cela utiliser les drivers d'Hdd34, disponibles ici :
    http://pascail.developpez.com/utilitaires/?unite=vbe2

  3. #3
    Membre éprouvé
    Avatar de Stormy_Ordos
    Profil pro
    Expert sécurité informatique
    Inscrit en
    Mars 2005
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Expert sécurité informatique

    Informations forums :
    Inscription : Mars 2005
    Messages : 91
    Par défaut
    Bonjour!

    Si tu tiens vraiment à développer une app avec l'unité Graph(qui est bien pour la mise en page de progs "sérieux" mais trop raide pour des animations graphiques) je te conseille le site :
    http://www.devq.net/pascal/
    (regarde dans Graphics/BGI Drivers). Il y a un miroir pour charger un driver BGI te permettant d'utiliser les fonctions Graph dans pas mal de modes(de noir et blanc jusqu'à 64k de couleurs).
    je te renvoies aussi aux excellents SWAGS(toujours eux!):
    http://www.gdsoft.com/swag/swag.html

    A tout hasard, une procédure d'Initialisation en mode 640x480x256 que j'avais développée pour afficher un PCX :

    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
     
    procedure User_Initialization;
    var
    Graphdriver,Graphmode,Errorcode : integer;
    AutodetectPointer : pointer;
     
    const Path: string ='c:\tp\bgi';
     
    {$F+}
    function DetectVGA256 : integer;
    begin
         DetectVGA256:=2;
    end;
    {$F-}
     
    begin
         Repeat
               Clrscr;
               Writeln('Lancement du moteur graphique...');
               AutoDetectPointer := @DetectVGA256;   { Point to detection routine }
               GraphDriver := InstallUserDriver('SVGA256', AutoDetectPointer);
               GraphDriver:= Detect;
               Initgraph(Graphdriver,Graphmode,Path);
               Errorcode:=Graphresult;
               If Errorcode<>0 then begin
                                         Textcolor(Red);
                                         Writeln('Erreur d''initialisation graphique nø',Errorcode);
                                         Textcolor(White);
                                         Write('Entrez le chemin vers le driver graphique BGI : ');
                                         Readln(Path);
                                         If Path = 'exit' Then halt(1);
               end;
         Until Errorcode=0;
    end;   {user_initialization}
    A noter que le driver s'appelle SVGA256.BGI. Je sais pas sous quel compilo tu tournes, donc je précise que cette procédure marche au poil sous TP7.

  4. #4
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 53
    Par défaut
    Salut,

    Juste en passant pour redire que VBE2 fonctionne bien ... et que les appels sont simples et sembables à ceux de l'unité graph.

  5. #5
    Membre éclairé Avatar de Rniamo
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    508
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 508
    Par défaut
    Merci, je pense que je vais utiliser VESA.
    Mais pour les formules, comment faire varier les couleurs de façon exponentielle par exemple ??

  6. #6
    Membre éprouvé
    Avatar de Stormy_Ordos
    Profil pro
    Expert sécurité informatique
    Inscrit en
    Mars 2005
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Expert sécurité informatique

    Informations forums :
    Inscription : Mars 2005
    Messages : 91
    Par défaut
    Euh... Qu'est-ce que tu veux faire exactement?

  7. #7
    Membre éclairé Avatar de Rniamo
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    508
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 508
    Par défaut
    Je récupère une couleur (en rvb ou tsl) puis j'applique une fonction (exp ou ln) à ses composantes. Pb : En rvb par ex, les couleurs ont 3 composantes entre 0 et 255 -> l'exp va me faire qqchose de bizarre...

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

Discussions similaires

  1. besoin d'aide pour le composant DBComboBox
    Par jane2002 dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/02/2004, 19h01
  2. [Kylix] besoin d'aide pour installer kylix3
    Par Sph@x dans le forum EDI
    Réponses: 3
    Dernier message: 11/02/2004, 13h53
  3. [TP]besoin d'aide pour commandes inconnues
    Par Upal dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 03/10/2002, 10h48
  4. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23
  5. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05

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