Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Jul 17, 2025 19:55

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: TFile3DS
BeitragVerfasst: Do Feb 10, 2005 16:19 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
TFile3DS ist im File3ds deffiniert. Wie soll ich dass jetzt rendern....?

Code:
  1.  
  2. type
  3.   TForm1 = class(TForm)
  4.     procedure FormCreate(Sender: TObject);
  5.     procedure FormDestroy(Sender: TObject);
  6.     procedure FormResize(Sender: TObject);
  7.     procedure FormPaint(Sender: TObject);
  8.   private
  9.   public
  10.     procedure glInit();
  11.   end;
  12.  
  13. var
  14.   Form1: TForm1;
  15.   mydc,myrc:cardinal;
  16.   a:TFile3DS;
  17.  
  18. implementation
  19. {$R *.dfm}
  20.  
  21. procedure Tform1.glInit();
  22. begin
  23.   glClearColor(0.3, 0.3, 0.3, 0.0);        // Black Background
  24.   glShadeModel(GL_SMOOTH);                 // Enables Smooth Color Shading
  25.   glClearDepth(1.5);                       // Depth Buffer Setup
  26.   glEnable(GL_DEPTH_TEST);
  27.   glDepthFunc (GL_LEQUAL);
  28.   glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);   //Realy Nice perspective calculations
  29.   glEnable(GL_TEXTURE_2D);                     // Enable Texture Mapping
  30.   wglSwapIntervalEXT(0);
  31. end;
  32.  
  33. procedure TForm1.FormCreate(Sender: TObject);
  34. begin
  35.  mydc := getdc(handle);
  36.  InitOpenGL();
  37.  myrc := CreateRenderingContext(mydc,[opDoublebuffered],32,24,0,0,0,0);
  38.  ActivateRenderingContext(mydc, myrc);
  39.  glInit();
  40.  
  41.  a := TFile3DS.CreateFromFile('4.3ds');
  42. end;
  43.  
  44. procedure TForm1.FormDestroy(Sender: TObject);
  45. begin
  46.  DeactivateRenderingContext;
  47.  DestroyRenderingContext(myrc);
  48.  releasedc(handle,mydc);
  49.  
  50.  a.Free;
  51. end;
  52.  
  53. procedure TForm1.FormResize(Sender: TObject);
  54. begin
  55.  if Height=0 then Height:=1;
  56.  
  57.   glViewport(0, 0, Width, Height);    // Set the viewport for the OpenGL window
  58.   glMatrixMode(GL_PROJECTION);        // Change Matrix Mode to Projection
  59.    glLoadIdentity();                   // Reset View
  60.     gluPerspective(45.0, Width/Height, 1.0, 1000.0);  // Do the perspective calculations. Last value = max clipping depth
  61.  
  62.   glMatrixMode(GL_MODELVIEW);         // Return to the modelview matrix
  63.    glLoadIdentity();                   // Reset View
  64.  
  65.    //if needed a faster feedback
  66.    OnPaint(self);
  67. end;
  68.  
  69. procedure TForm1.FormPaint(Sender: TObject);
  70. begin // this is only an alternative....OnIdle for intensiv drawing
  71.  glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  72.    glLoadIdentity();
  73.    //--draw the scene
  74.     // ????????????????
  75.    //--draw then scene
  76.  SwapBuffers(mydc);
  77. end;
  78.  
  79. end.
  80.  

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 10, 2005 16:46 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Gute Frage. Wie sieht die TFile3DS denn aus? Wo kommt die denn her? Im Zweifelsfalle benutz die gl3ds.pas von Noeska. Da gab es ja gerade schon hinlänglich Gesprächstoff. Wo DU auch schön mitgeantwortet hast!?! :shock:

PS: Versuche bitte nicht ständig deinen ganzen Quellcode zu posten. Zur Not gibt es immer noch Attechments. Dann kann sich wenigstens jeder selber aussuchen ob er den ganzen Code sehen will oder nicht. Danke.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.011s | 16 Queries | GZIP : On ]