 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
schildron
Anmeldungsdatum: 25.08.2008 Beiträge: 86
|
Verfasst am: 23.02.2010, 20:45 Titel: gluSphere |
|
|
Ich habe ein Problem bei der Erstellung von Kugeln mit OpenGL.
Folgender Code ist für die Erzeugung der Bälle/Kugeln zuständig:
Code: | Sub Ball1()
glColor3f 8,0,2
gltranslatef P1x, P1y, -6
gluSphere(GluNewQuadric(), radius, 75, 75) ''Radius ist 0.22
gltranslatef (P1x*(-1)), (P1y*(-1)), 6
End Sub
Sub Ball2()
glColor3f 0.0, 1.0, 0.0
gltranslatef P2x, P2y, -6
gluSphere(GluNewQuadric(), radius, 75, 75)
gltranslatef (P2x*(-1)),(P2y*(-1)),6
End Sub |
Ich erzeuge die Bälle im Ursprung und verschiebe sie mit
entsprechend.
Die Kamera blickt genau auf das Geschehen --> Das Spielfeld erscheint 2-Dimensional. Die Kugeln werden nicht beleuchtet.
Während des Spieles erscheinen die Kugeln allerdings leicht oval und nicht rund. Woran kann das liegen?
Eine Frage am Rande:
Außerdem ruckelt der Code manchmal bei 60 FPS, woran könnte das liegen. Kann ich die FPS-Begrenzung von 60 aufheben?
Mit freundlichen Grüßen
Schildron |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 23.02.2010, 23:58 Titel: |
|
|
Zitat: | Während des Spieles erscheinen die Kugeln allerdings leicht oval und nicht rund. Woran kann das liegen? |
Also wenn dein OpenGL-Fenster "richtig" initalisiert wurde, darf das nicht passieren. Wird das Programm im Vollbild gestartet? Wenn ja, in welcher Auflösung? Und welche Auflösung hat dein Desktop normalerweise? _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
schildron
Anmeldungsdatum: 25.08.2008 Beiträge: 86
|
Verfasst am: 24.02.2010, 08:46 Titel: |
|
|
Wie man sehen kann sind die beiden Bälle oval. Ich initialisiere mein OpenGL-Fenster so, wie in Sebastians Tutorial.
Code: |
Screen 19, 16, , 2
'-------------------------
' Open-GL Init
'-------------------------
glViewport 0, 0, 800, 600
glMatrixMode GL_PROJECTION
glLoadIdentity
gluPerspective 45.0, 800.0/600.0,0.1, 6.1
glMatrixMode GL_MODELVIEW
glLoadIdentity
glClearColor 0.0, 0.35, 0.65, 0.0 ' Setze Farbe für löschen auf Blau
glClearDepth 1.0
glEnable GL_DEPTH_TEST
glClear GL_COLOR_BUFFER_BIT Or GL_DEPTH_BUFFER_BIT |
Da Programm läuft mit 800x600 Pixeln im Fenstermodus. Der Desktop hat 1280x1024 Pixel. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 24.02.2010, 09:59 Titel: |
|
|
Zitat: |
Wie man sehen kann sind die beiden Bälle oval. Ich initialisiere mein OpenGL-Fenster so, wie in Sebastians Tutorial. |
Wohl eher Stormy, Sebastian interessiert sich nicht so für OpenGL.
Aber nein, das tust du nicht, denn du benutzt glProjection, ohne dir scheinbar darüber Gedanken zu machen, was der Befehl bzw seine Parameter überhaupt tun. Den Befehl hast du sicher nicht aus Stormys tut und für eine 2D-Draufsicht (wie du es scheinbar planst) brauchst du den auch gar nicht. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
schildron
Anmeldungsdatum: 25.08.2008 Beiträge: 86
|
Verfasst am: 24.02.2010, 21:48 Titel: |
|
|
Das verstehe ich nur bedingt.
gluPerspective bestimmt das Sichtfeld der Kamera, das Seitenverhältnis und die min. bzw. max. Entfernung der anzeigbaren Objekte. In welchem Zusammenhang dies zu gluSphere hat ist mir auch schleierhaft. Ich sammele aber auch erst erste Erfahrung mit OpenGL.
OffTopic: Leider merke ich mir Namen nur sehr schwer, falls ich etwas vertausche ist das nicht persönlich zu nemehn. |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 24.02.2010, 21:52 Titel: |
|
|
das hat mit den kugeln an sich nichts zu tun, die bleiben schön rund. aber ne kugel im augenwinkel sieht halt verzerrt aus - und gluperspective sorgt dafür, dass es sowas wie "augenwinkel" gibt  _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
schildron
Anmeldungsdatum: 25.08.2008 Beiträge: 86
|
Verfasst am: 25.02.2010, 10:56 Titel: |
|
|
So, ich habe das Problem jetzt mit der Benutzung von GluDisk behoben. Könnte es sein, dass das Problem mit der ovalen Kugel dadurch entsteht, dass man schräg auf die Kugel blickt?
Schlussendlich funktioniert es jetzt. |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|