begin process at 2010 09 09 10:03:18
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

OpenGL

 > GLSCENE : CRÉER DEUX OBJETS DE TYPE SPHÈRE EN 3D, INSÉRER UNE TEXTURE SUR UN OBJET ET JOUER AVEC LA CAMÉRA

GLSCENE : CRÉER DEUX OBJETS DE TYPE SPHÈRE EN 3D, INSÉRER UNE TEXTURE SUR UN OBJET ET JOUER AVEC LA CAMÉRA


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :OpenGL Niveau :Initié Date de création :04/01/2004 Vu / téléchargé :9 675 / 925

Auteur : Yoann

Ecrire un message privé
Site perso
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
GLScene créé par Mile Lischke, est une bibliothèque 3D pour Delphi (à partir de la version 4) basée sur OpenGL.
GLScene regroupe un ensemble de composants permettant rapidement de concevoir des objets et des scènes en trois dimensions.

Le programme consiste à montrer les points suivants :
- Création d'objets 3D
- Mettre une texture sur un objet
- Jouer avec la caméra

Source

  • unit Unit1;
  • //Programmé par Yoann
  • //http://delphipage.free.fr/
  • interface
  • uses
  • Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  • GLScene, GLObjects, GLMisc, GLWin32Viewer, Math, Jpeg;
  • type
  • TForm1 = class(TForm)
  • GLSceneViewer1: TGLSceneViewer;
  • GLScene1: TGLScene;
  • GLCamera1: TGLCamera;
  • DummyCube1: TDummyCube;
  • Sphere1: TSphere;
  • GLLightSource1: TGLLightSource;
  • Sphere2: TSphere;
  • procedure FormMouseWheel(Sender: TObject; Shift: TShiftState;
  • WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
  • procedure GLSceneViewer1MouseDown(Sender: TObject;
  • Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  • procedure GLSceneViewer1MouseMove(Sender: TObject; Shift: TShiftState;
  • X, Y: Integer);
  • private
  • { Déclarations privées }
  • CoordX,CoordY:Integer;
  • public
  • { Déclarations publiques }
  • end;
  • var
  • Form1: TForm1;
  • implementation
  • {$R *.DFM}
  • procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState;
  • WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
  • begin
  • GLCamera1.AdjustDistanceToTarget(Power(1.1,WheelDelta/120)); //Modifie la distance de la vue
  • end;
  • procedure TForm1.GLSceneViewer1MouseDown(Sender: TObject;
  • Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  • begin
  • //Stocke les coordonnées de la souris
  • CoordX:=X;
  • CoordY:=Y;
  • end;
  • procedure TForm1.GLSceneViewer1MouseMove(Sender: TObject;
  • Shift: TShiftState; X, Y: Integer);
  • var dx,dy:Integer;
  • begin
  • //Calcule la distance entre le point lors du dernier clic et la position de la souris après avoir bouger
  • dx:=CoordX-X;
  • dy:=CoordY-Y;
  • CoordX:=X;
  • CoordY:=Y;
  • if ssLeft in Shift then //Si l'utilisateur utilise le bouton gauche de la souris alors...
  • GLCamera1.MoveAroundTarget(dy,dx); //Change l'orientation de la caméra
  • if ssRight in Shift then //Si il utilise le bouton droit alors...
  • GLCamera1.RotateObject(Sphere1,dy,dx); //L'objet "Sphere1" subit une rotation
  • end;
  • end.
unit Unit1;

//Programmé par Yoann
//http://delphipage.free.fr/

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  GLScene, GLObjects, GLMisc, GLWin32Viewer, Math, Jpeg;

type
  TForm1 = class(TForm)
    GLSceneViewer1: TGLSceneViewer;
    GLScene1: TGLScene;
    GLCamera1: TGLCamera;
    DummyCube1: TDummyCube;
    Sphere1: TSphere;
    GLLightSource1: TGLLightSource;
    Sphere2: TSphere;
    procedure FormMouseWheel(Sender: TObject; Shift: TShiftState;
      WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
    procedure GLSceneViewer1MouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure GLSceneViewer1MouseMove(Sender: TObject; Shift: TShiftState;
      X, Y: Integer);
  private
    { Déclarations privées }
    CoordX,CoordY:Integer;
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState;
  WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
GLCamera1.AdjustDistanceToTarget(Power(1.1,WheelDelta/120)); //Modifie la distance de la vue
end;

procedure TForm1.GLSceneViewer1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
//Stocke les coordonnées de la souris
CoordX:=X;
CoordY:=Y;
end;

procedure TForm1.GLSceneViewer1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
var dx,dy:Integer;
begin
//Calcule la distance entre le point lors du dernier clic et la position de la souris après avoir bouger
dx:=CoordX-X;
dy:=CoordY-Y;
CoordX:=X;
CoordY:=Y;
if ssLeft in Shift then //Si l'utilisateur utilise le bouton gauche de la souris alors...
GLCamera1.MoveAroundTarget(dy,dx); //Change l'orientation de la caméra
if ssRight in Shift then //Si il utilise le bouton droit alors...
GLCamera1.RotateObject(Sphere1,dy,dx); //L'objet "Sphere1" subit une rotation
end;

end.

 Conclusion

Plus d'information sur : http://delphipage.free.fr/

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture CREATION D'UN EXPERT : AJOUTER UNE OPTION DANS LE MENU "AIDE...
Source avec Zip COMMUNIQUER ENTRE DEUX APPLICATIONS GRACE AU PROTOCOLE DDE
Source avec Zip Source avec une capture TURBO POWER INTERNET PROFESSIONAL : ENVOYER UN EMAIL
Source avec Zip TWAIN : NUMÉRISER UN DOCUMENT DEPUIS UN SCANNER OU UN APPARE...
Source avec Zip Source avec une capture TURBO POWER ABBREVIA : EXTRAIRE LE CONTENU D'UN FICHIER ZIP

 Sources de la même categorie

Source avec Zip Source avec une capture TA TÊTE A SUBI UNE DÉFORMATION TEMPORELLE!!! par Forman
Source avec Zip Source avec une capture EASY OPENGL: DE L'OPENGL DANS LA VCL par Forman
Source avec Zip Source avec une capture [GLSCENE] GLSTARS, UN CIEL ETOILÉ AVEC DES LENSFLARE ET POIN... par f0xi
Source avec Zip Source avec une capture GLTICKTICK (GLSCENE) ET TICKTICK, DEUX HORLOGE A AIGUILLES (... par f0xi
Source avec Zip Source avec une capture PONG3D : GLSCENE par Nicolas___

Commentaires et avis

Commentaire de Fayen$ le 04/01/2004 19:30:29

on peut importer ces models fais sous 3ds ?

Commentaire de Frostizz le 05/01/2004 09:10:11

Oui, en mettant un objet TFreeForm, et en utilisant sa propriété TFreeForm.LoadFromFile('C:\obj.3ds');

Commentaire de Fayen$ le 05/01/2004 17:58:36

impec vais tester ca :)
gg ;)

Commentaire de Fayen$ le 05/01/2004 18:00:45

euh envoie moi le compo glscene plz :)
link : ...

Commentaire de Yoann le 06/01/2004 17:46:08

http://www.glscene.org/

Commentaire de crazyjoke le 07/01/2004 15:38:44

tu les fait avec koi tes objets 3d?

Commentaire de neurone20001 le 20/04/2004 11:17:34

On peut charger un objet 3ds avec sa texteure ?

Commentaire de djamseg le 12/04/2006 14:53:53

Bonjour peut ton afficher des fichier .3ds sous visual basic 6.0 avec ce fichier?

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales