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

Aktuelle Zeit: Do Mär 28, 2024 21:08

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Fr Feb 15, 2013 21:41 
Offline
DGL Member

Registriert: Fr Feb 15, 2013 21:13
Beiträge: 22
Programmiersprache: Object Pascal
Hi Leute,

ich hatte schon seit längerer Zeit mal Lust mich mit 3D-Programmierung zu befassen und hab es gestern endlich einmal in Angriff genommen.
Bisher habe ich das Quickstart Tutorials sowie Tutorial 1-3 durchgearbeitet und mir ein paar Quelltexte von kleineren Beispielprogrammen angeschaut. In Object Pascal hab ich im Moment noch das nötigste Rüstzeug aus der Schule und Hobby-Programmierung parat (schreibe in Lazarus) und mit den Vektoren gabs auch noch keine (größeren) Meinungsverschiedenheiten...
Inzwischen bin ich natürlich schon fleißig am Beispielprogramme schreiben... einige Dinge sind mir allerdings im Moment noch unklar:

1. Wo ist der Unterschied zwischen gluPerspective und glFrustum? Scheint mir vom Ergebnis her im Prinzip das Gleiche zu sein... nur dass mit anderen Parametern definiert wird, oder sehe ich das falsch? :?

2. Komme mit dem gluSphere-Befehl nicht klar... genauer gesagt mit dem quadObject-Parameter. Verständnismäßig müssten hier ja die Mittelpunktskoordinaten der Kugel enthalten sein. Nur weiß ich nichts mit dem Datentyp anzufangen, da ich keinen Schimmer von seiner Struktur habe und bisher auch zu blöd war, was dazu zu finden. Könnte mir das bitte jemand kurz erklären? Ich denke ein paar Zeilen Beispielcode und/oder ein Link würden ausreichen.

3. Ich habe gerade eine Art 3D-Engine geschrieben, bei der sich die "Kamera" im Raum bewegen und Rotieren kann und einen Würfel im Raum platziert. Aus einem mir unerklärlichen Grund sind aber aus bestimmten Positionen / Winkeln einige der Würfelflächen nicht sichtbar... in anderen Winkeln allerdings schon. Ich dachte zuerst, dass es an den Clipping-Ebenen liegt und habe ein wenig damit herum gespielt um ein besseres Verständnis von ihrer Bedeutung zu bekommen. Letztendlich bin ich aber zu dem Schluss gekommen, dass der Fehler wo anders liegen muss, da der Würfel komplett in der Szenenbegrenzung liegt. Hat jemand eine Idee, woran das liegen könnte?

Ich freue mich auf eure Antworten,
Grüße, BS


Zuletzt geändert von BlueScream am Fr Feb 15, 2013 22:22, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Feb 15, 2013 21:46 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Erstmal willkommen. Für's nächste mal teile deine drei Fragen bitte in drei Themen auf :).

zu 1.:
Da hast du vermutlich recht, aber ich kenne glFrustum nicht gut :)

zu 2.:
Hast du dir den Artikel zu gluSphere in unserem Wiki durchgelesen? Dort wird auch auf gluNewQuadric verwiesen, eventuell ist das das, was du brauchst.

zu 3.:
Da wirst du in das klassische Backface-Culling gelaufen sein. Das sorgt dafür, dass Flächen nur von ihrer „Vorderseite“ aus gerendert werden. Die Vorderseite ist diejenige, bei der, wenn man sie betrachtet, die Eckpunkte der Fläche gegen den Uhrzeigersinn spezifiziert wurden (also z.B. an glVertex übergeben wurden).

hope this helps,
Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Feb 15, 2013 22:02 
Offline
DGL Member

Registriert: Fr Feb 15, 2013 21:13
Beiträge: 22
Programmiersprache: Object Pascal
Danke erstmal für die schnelle Antwort! :)

zu 1.:
Ja, die drei Themen aufzuteilen habe ich auch überlegt... wollte nur nicht gleich zu Beginn das Forum zumüllen... :D
Aber nun wurde ich eines besseren belehrt und gelobige Besserung! ;)

zu 2.:
Ja, habe ich... bin daraus aber auch nicht wirklich schlauer geworden, da ich nun zwar weiß, wie ich eine Variable diesen Types erzeuge, aber nicht was ich damit anfange...
Just in diesem Moment ist jedoch evtl. ein Geistesblitz bei mir eingeschlagen! Muss ich nur die Variable initialisieren und OpenGL zeichnet mir den Kugelmittelpunkt dann an die Postition meines "Stiftes" in der Modelmatrix? Werde ich gleich wohl mal ausprobieren...

zu 3.:
*Facepalm* Das kann sein... hab ich letzte Nacht erst drüber gelesen... wird sofort ausprobiert! :D

LG BS


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa Feb 16, 2013 16:34 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Gegegebenfalls nicht vergessen, die korrekte Lösung hier auch zu Posten, damit suchende hier auch die Hilfe finden :)

grüße

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa Feb 16, 2013 17:03 
Offline
DGL Member

Registriert: Fr Feb 15, 2013 21:13
Beiträge: 22
Programmiersprache: Object Pascal
Hatte ich vor, nur bin ich mit der gluSphere noch nicht weitergekommen, da ich mich ja seit gefühlten Äonen mit meiner Textur rumquäle... :roll:

Zu gluPerspective und glFrustum kann ich im Moment auch noch nichts sagen, da es eher eine Frage aus Interesse war und ich da noch nicht weiter mit rumprobiert habe. Werde ich denke ich machen wenn ich's geschafft habe a) meine Textur einzufügen, b) eine Kugel einzufügen und c) 2D-Schrift einzufügen (TextSuite will bei mir auch nicht so richtig... aber da durchforste ich dann nochmal das Forum und mach nötigenfalls einen neuen Thread auf.)

Zum Punkt 3 kann ich aber guten Gewissens sagen, dass es am Backface Culling lag. Danke nochmal dafür. ;)

EDIT: gluSphere funktionierte nicht, da ich den Befehl versehentlich innerhalb von glBegin(GL_QUADS)/glEnd platziert hatte.


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 32 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.071s | 19 Queries | GZIP : On ]