AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi OpenGL 3D Cube grafikproblem
Thema durchsuchen
Ansicht
Themen-Optionen

OpenGL 3D Cube grafikproblem

Ein Thema von cherry · begonnen am 3. Mai 2009 · letzter Beitrag vom 3. Mai 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von cherry
cherry

Registriert seit: 14. Nov 2005
561 Beiträge
 
RAD-Studio 2009 Ent
 
#1

OpenGL 3D Cube grafikproblem

  Alt 3. Mai 2009, 14:46
Hallo Leute

Ich möchte mich ein bisschen in das Thema OpenGL einarbeiten. Dazu habe ich mir ein Buch gekauft. (ist leider ein bisschen alt) -> "Delphi Developers Guide to OpenGL".

Nun bei dem aktuellen beispielprogramm aus dem Buch, gehts um son 3d cube. nur leider wird der irgendwie grafisch nicht richtig dargestellt. Siehe Bild.

Auf der CD des Buches sind die Programme alle drauf und wenn ich das auf meinem PC (habe auch andere getestet) ausführe, passiert das selbe. Nur die Illustration im Buch zeigt den Würfel korrekt.

Liegt wohl an der OpenGL Version oder wie?
Was kann ich dagegen tun, oder ist vielleicht ein Fehler im Code.

PS: Nur so nebenbei, wenn ich
Delphi-Quellcode:
procedure TForm1.FormDestroy(Sender: TObject);
begin
  OpenGLReady := false;
  wglMakeCurrent(glDC,0);
// throws an error?!
// wglDeleteContext(GLContext);
end;
wglDeleteContext(GLContext); nicht ausklammere, erhalte ich eine Zugriffsverletzung, siehe Bild 2.

Habe das ganze Projekt mal attached...
klicke ein paar mal auf rotate um den Fehler zu erkennen.

danke schon mal..
Miniaturansicht angehängter Grafiken
error_710.jpg   cube_232.jpg  
Angehängte Dateien
Dateityp: zip cube_117.zip (253,2 KB, 20x aufgerufen)
Ist das nur mein Gefühl, oder ist die ganze Welt verrückt geworden!?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: OpenGL 3D Cube grafikproblem

  Alt 3. Mai 2009, 14:49
Was für eine Grafikkarte?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von cherry
cherry

Registriert seit: 14. Nov 2005
561 Beiträge
 
RAD-Studio 2009 Ent
 
#3

Re: OpenGL 3D Cube grafikproblem

  Alt 3. Mai 2009, 14:58
aufm notebook eine Intel onboard. Habs aber soeben auf meinem PC, Radeon 9800 pro, mit dem selben Effekt getestet.
Ist das nur mein Gefühl, oder ist die ganze Welt verrückt geworden!?
  Mit Zitat antworten Zitat
Benutzerbild von Desmulator
Desmulator

Registriert seit: 3. Mai 2007
Ort: Bonn
169 Beiträge
 
#4

Re: OpenGL 3D Cube grafikproblem

  Alt 3. Mai 2009, 15:14
Kann es sein, dass die camera zu nahe an dem Objekt ist?
Von DirectX weiß ich, dass man in der Projektion die Minimale und Maximale Sichtweite einstellen kann.
Das sieht sehr dannach aus, als würe die eine Ecke des Würfels abgeschnitten werden, somit die Innenseiten angezeigt. ( Ich setze mal vorraus, dass BackfaceCulling ist an ^^ )
Ich würde entwerder den Wert der Minimalen Sichtweite senken, oder die Camera weiter weg schieben.

PS: Ich hab mir dein Projekt mal angegukt. Es geht um die Funktion glFrustum. Du rufst sie in der Zeile 104 in der MainForm.pas auf. Der zweitletzte Parameter steh Für die Nähe. Momentan wird er auf 2.0 gesetzt, mach mal ein 0.0 drauß, ich bin mir sicher, dass es dann geht.
Lars
There are 10 kinds of people in the world:
those who get binary, and those who don’t.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: OpenGL 3D Cube grafikproblem

  Alt 3. Mai 2009, 15:20
Definitiv ein Near-Clippig Problem. Würfel und Kamera weiter auseinander, und es dürfte richtig aussehen. Irgendwann sehr bald sollte in dem Buch das Thema Clippinplanes dann auftauchen hoffe ich
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von cherry
cherry

Registriert seit: 14. Nov 2005
561 Beiträge
 
RAD-Studio 2009 Ent
 
#6

Re: OpenGL 3D Cube grafikproblem

  Alt 3. Mai 2009, 15:23
Zitat von Desmulator:
...oder die Camera weiter weg schieben.
hat funktioniert. danke.
Jetzt bleibt noch das andere problemchen, warum kann ich den GLContext am schluss nicht löschen.
Siehe beschrieb in Beitrag 1#.
Ist das nur mein Gefühl, oder ist die ganze Welt verrückt geworden!?
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#7

Re: OpenGL 3D Cube grafikproblem

  Alt 3. Mai 2009, 15:23
hi cherry,

schau dir mal DGLOpenGL an, da gibts viele tolle sachen zum einsteigen. und die neuesten OpenGL header für Delphi.

@Desmulator

den near wert würde ich nie auf 0 setzen nim 0.1 oder was anderes kleines.

[Edit]

wegen deines Context Probs hast du mal

Delphi-Quellcode:
procedure TForm1.FormDestroy(Sender: TObject);
begin
  OpenGLReady := false;
// throws an error?!
  wglDeleteContext(GLContext);
  wglMakeCurrent(glDC,0);

end;
Probiert ?

[edit=mkinzler]URL-Tag korrigiert Mfg, mkinzler[/edit]
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
Flips

Registriert seit: 17. Feb 2005
Ort: Sankt Wendel
491 Beiträge
 
Delphi 7 Professional
 
#8

Re: OpenGL 3D Cube grafikproblem

  Alt 3. Mai 2009, 15:29
Kamera weiter weg schieben ist aber keine Dauerlösung, ich poste einfach mal, wie man das Clipping-Problem beseitigt.
Delphi-Quellcode:
//Innerhalb der Projection-Matrix
gluPerspective(60, FCW/FCH, 0.001, 128);
FCW = ClientWidth, FCH = ClientHeight
gluPerspective auf delphigl.com
Philipp F.
  Mit Zitat antworten Zitat
Benutzerbild von cherry
cherry

Registriert seit: 14. Nov 2005
561 Beiträge
 
RAD-Studio 2009 Ent
 
#9

Re: OpenGL 3D Cube grafikproblem

  Alt 3. Mai 2009, 15:49
Zitat von Corpsman:
wegen deines Context Probs hast du mal

Delphi-Quellcode:
procedure TForm1.FormDestroy(Sender: TObject);
begin
  OpenGLReady := false;
// throws an error?!
  wglDeleteContext(GLContext);
  wglMakeCurrent(glDC,0);

end;
Probiert ?
jep, geht auch nicht. selber error.
Ist das nur mein Gefühl, oder ist die ganze Welt verrückt geworden!?
  Mit Zitat antworten Zitat
Flips

Registriert seit: 17. Feb 2005
Ort: Sankt Wendel
491 Beiträge
 
Delphi 7 Professional
 
#10

Re: OpenGL 3D Cube grafikproblem

  Alt 3. Mai 2009, 16:01
Vielleicht zuerst den Context deaktivieren.
Kann allerdings sein, dass die Methode nur in der dglOpenGL.pas implementiert ist.
Delphi-Quellcode:
  
DeactivateRenderingContext;
wglDeleteContext(GLContext)
wglMakeCurrent(glDC,0);
Philipp F.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz