Registriert: Fr Jul 14, 2006 13:08 Beiträge: 117 Wohnort: Berlin
moin Leute,
vorab meine procedure Render.
ist eigentlich nur das was man im Tut lesen kann bis Lektion2,
plus meine "Geistesblitze" später einen 3D Würfel darstellen zu wollen.
Code:
procedure TForm1.Render;
begin
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
Registriert: Sa Jan 01, 2005 17:11 Beiträge: 2068
Programmiersprache: C++
Die Antwort ist gemein aber:
Der Code stimmt, das Ergebnis auch!
Ich hab dein Bild nochmal überarbeitet. Der Punkt in der Mitte ist der Ursprung.
Jetzt ist es perspektivische Verzehrung von diesem Punkt aus.
Die beiden Linien zeigen die Verzehrung die Punkte auf dieser Linie erfolgen.
Daher siehst du auch, dass die "komischen" Punkte doch richtig sind
Also verschiebst du entweder die Szene um 0,5 in X-Richtung oder du änderst die Punkte in sowas um:
Code:
glBegin(GL_QUADS);//vordere Seite d.quads (Color Rot)
Registriert: Fr Jul 14, 2006 13:08 Beiträge: 117 Wohnort: Berlin
hi i0n0s,
Danke dir erstmal für deine Hilfe, das ich nun doch noch was auf meinem Screen zu sehen bekam.
Das mit den Koordinaten ändern war beim ersten mal noch etwas
geistig anstrengende Arbeit. Wie soll dass bloß bei komplexeren Sachen erst werden?
Nicht daß das Ergebnis nicht genau das ist was ich wollte. Aber da bin ich selbst
dran schuld, denn ich hab's ja auch genauso beschrieben.
(Deswegen probier ich auch erstmal einiges nur so rum )
Solche Objecte kann man doch bestimmt besser / eleganter Erzeugen, als wirklich
jeden einzelnen Vect.. *mom vergessen den Namen* Punkt als eine seperate CodeZeile zu schreiben müssen.
> Also verschiebst du entweder die Szene um 0,5 in X-Richtung oder ... Da muss ich mal in die Tuts schauen was du damit meinst, oder zumindest wie ich das anstellen kann( befehl raussuchen)
Das mit den Bildern als PNG hochladen werd ich übernehmen, bisher reichte ein
jpg aus, aber ich vergaß auf diesen Seiten handelt es sich um graphische Darstellungen von
allem möglichen, da sollte dann auch etwas besseres kommen als komprimierte jpg's.
hab es dann im angehängten Bild auch gleich umgesetzt
Wie man auch daraus erkennen kann, hab ich den "Würfel", oder was das nun geworden ist,
mit glRotatef(1,0,0); auch zum Drehen bekommen. Viel wichtiger ist mir aber die FPS-Anzeige
im Caption. hab hier XP zu laufen , mit einer Winfast A310 von Leadteck. Nicht grad der Hammer trotz seiner 256 MB RAM.
Sowie ich den Treiber der Orginal-CD benutze, (installiert es mir dann die Karte als Nvidia Geforce FX 5600). Mit diesem Treiber
bekomme ich gerad mal bei 60-63 FPS hin. Benutze ich den XP Treiber von M$, dann gibt's das 10-fache.
Kann ich nun die Karte bei meiner Tochter in den PC einbasteln und mir ne neue kaufen, oder gibt's da irgendwelche Abhilfe ?
Bei Nvidia auf der DL-Seite für Treiber find ich leider keinen Treiber für die A310. (Die ATI auf meinem Laptop bringt sogar 2800-3100 Fps zum Vergleich)
hier dann noch das bild vom Programm (aus der Umdrehung heraus "geknipst")
Gruß Uwe
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Registriert: Sa Jan 01, 2005 17:11 Beiträge: 2068
Programmiersprache: C++
uweq hat geschrieben:
> Also verschiebst du entweder die Szene um 0,5 in X-Richtung oder ... Da muss ich mal in die Tuts schauen was du damit meinst, oder zumindest wie ich das anstellen kann( befehl raussuchen)
glTranslatef(0.5,0,0);
uweq hat geschrieben:
:?: Kann ich nun die Karte bei meiner Tochter in den PC einbasteln und mir ne neue kaufen, oder gibt's da irgendwelche Abhilfe ? Bei Nvidia auf der DL-Seite für Treiber find ich leider keinen Treiber für die A310.
Registriert: Fr Jul 14, 2006 13:08 Beiträge: 117 Wohnort: Berlin
hi i0n0s,
Der Treiber von Nvidia bringt auch nur eine 60fps-Rate.
Vielleicht puffert aber die Karte es auf ein maximales Minimum, um alles Ruckelfrei anzeigen zu können.
Keine Ahnung, aber danke für den Link.
Die Function glTranslate werd ich mir dann mal näher anschauen(und was dazu gehört)
Bisher hab ich irgendwas aber noch nicht richtig begriffen um einen einfachen simplen würfel darstellen zu können.
..aber man arbeitet dran
Registriert: Sa Jan 01, 2005 17:11 Beiträge: 2068
Programmiersprache: C++
uweq hat geschrieben:
Der Treiber von Nvidia bringt auch nur eine 60fps-Rate.
Hast du zufällig einen TFT und daher die Refreshrate auf 60fps gesetzt? Weil dann hast du einfach VSync an, dass lässt sich dann im Treiber deaktivieren.
Registriert: Fr Jul 14, 2006 13:08 Beiträge: 117 Wohnort: Berlin
hi i0n0s,
Das mit dem Treiber hat bei Deaktivierung dann 2800 fps gebracht. Mit dem TFT hattest du richtig vermutet, nur mein Schlepptop hat auch TFT,
aber eben ne ATI drin, und deshalb die verwirrung bei mir.
ach ja noch eine Anmerkung zur perspektive: lustigerweise schaut man bei diesen bildern in den würfel hinein, statt aussen drauf - das sorgt gelegentlich auch für Verwirrung Aber noch ein kleiner Tipp, wenn Du mal wieder nicht ganz sicher bist, ob das, was Du siehst richtig ist: Drehungen helfen deinem Gehirn zu verstehen, wie eine Szene wirklich aussieht - sprich: Ein fest stehender Würfel lässt sich viel schlechter interpretieren, als ein sich drehender
Registriert: Fr Jul 14, 2006 13:08 Beiträge: 117 Wohnort: Berlin
hi Nico,
Das mit dem Würfel hast du richtig erkannt. War aber nicht so geplant, aber ich werd mir mal mühe geben das hinzubekommen.
Das mit dem Rotieren bzw. drehen um eine andere Ansicht zu bekommen, hab ich mal mit glRotatef gemacht.
Kam halt nur beimScreenshot nicht rüber, ist halt eben ein Standbild.
Lustig kommt mein Gebilde aber trotzdem
Naja, ich geb erstmal nicht auf und 90%lesen 9%falsch testen 1%fragen dann klappt's auch irgendwann.
Registriert: Fr Jul 14, 2006 13:08 Beiträge: 117 Wohnort: Berlin
hi i0n0s,
ich mach's auch öfter, nur ich wills aber auch richtig verstanden wissen.
Also nicht etwa sowas wie
Was ist ein Quad etc..
oder wie initialisiere ich OpenGL ..
gruß Uwe
PS . und aufgeben kommt sowieso nicht in Frage,
hab schliesslich ein offenes Projekt hier zu liegen.
Dafür ist reines Delphi mit Grafikausgabe doch reichlichst "behindert" (Canvas)
Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast
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.