OpenGL-lernen

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
xperience2003
Beiträge: 972
Registriert: 04.10.2004 18:42
Computerausstattung: Amiga, LinuxMint, Windows7
Wohnort: gotha
Kontaktdaten:

Beitrag von xperience2003 »

Beim Terrain hab ich jeden Pixel der Heightmap als Eckpunkt eines Quadrats verwendet. Ist das gut so, oder gibts da bessere möglichkeiten?
nein, das is perfect
ist naemlich genau sinn und zweck der heightmap ^^

andere moeglichkeit waere das array der eckpunkte per berechnung zu fuellen ..nur da isses meistens nicht wirklich genau so, wie man es haben will
amiga rulez...
Rebirth Software
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

Naja, das ist nicht sinnvoll, wenn du Jedes Quadrat mit Dreiecken/Vierecken aufbaust, für solche zwecke gibt es die Stripe-Primitiven, die das ganze deutlich schneller machen.
Andreas_S
Beiträge: 787
Registriert: 14.04.2007 16:48
Wohnort: Wien Umgebung
Kontaktdaten:

Beitrag von Andreas_S »

Kennst du da irgendein Beispiel? Ich hab nämlich kA :mrgreen:

Danke :allright: !
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

Ich glaube da gab es was auf NeHe, bin jetzt aber zu Faul zum Suchen. Ich würde dir aber eh dringend die Lektüre eines OpenGL Buches empfehlen, wenn du tiefer in die Materie einsteigen willst. Ich kann "Beginning OpenGL Game Programming" empfehlen.
Andreas_S
Beiträge: 787
Registriert: 14.04.2007 16:48
Wohnort: Wien Umgebung
Kontaktdaten:

Beitrag von Andreas_S »

Ich schau mal ob ich das Buch bekomm. Danke!
Andreas_S
Beiträge: 787
Registriert: 14.04.2007 16:48
Wohnort: Wien Umgebung
Kontaktdaten:

Beitrag von Andreas_S »

Hab gerade gesehn dass das buch in englisch ist...
Nicht dass ich englisch nicht kann, aber es ist nicht wirklich optimal für mich.

Kennt ihr da noch andere Bücher? In deutsch?

Danke!
Andreas_S
Beiträge: 787
Registriert: 14.04.2007 16:48
Wohnort: Wien Umgebung
Kontaktdaten:

Beitrag von Andreas_S »

Ich hab eine Frage...

Gibt es bei GLU ect. auch Collisions berechnungen? Wenn ja, welche Befehle gibt es und wie kann man die anwenden?

Danke, Andreas.
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

Leider gibt es sowas in GLU nicht, da man sowas eher zu Programmlogik zählt als zur Darstellung.
Es gibt ein paar guter 3d Kollisionsbibliotheken, aber die sind nicht in PB und lassen sich auch nicht so leicht von PB aus nutzen.
Andreas_S
Beiträge: 787
Registriert: 14.04.2007 16:48
Wohnort: Wien Umgebung
Kontaktdaten:

Beitrag von Andreas_S »

Trifft sich gut^^ wei ich eh nicht in PB unterwegs bin... sondern in Visual C++...

Kennst du da ein paar Links die weiterhelfen? Und, sin die bibilotheken schnell?

Andreas.
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

Ist schon eine weile her, aber als ich mit ODE rumgespielt hatte war da im Quellcode eine optional zu nutzende Kollisionsbibliothek, die war ganz ok wenn ich mir richtig erinnere. Bin da aber nicht auf einem aktuellen Stand, da ich schon vor einer ganzen weile auf Java umgestiegen bin.

Am besten wäre es wohl, wenn du dich auf sourceforge umschaust, such da mal mit dem suchstring "(+3d +collision)" also ohne Anführungszeichen aber mit den Klammern. Ich würde dir auch empfehlen solche Fragen lieber im GameDev Forum oder einem C/C++ Forum zu stellen, weil dort sicher mehr Leute sind die dir bei diesem Problem weiterhelfen können.

Schnell war die Bibliothek schon, aber generell musst du daran denken, dass polygongenaue Kollisionsabfragen schon ein wenig Rechenzeit kosten und ein naives Abfrage muster (immer jedes Objekt mit jedem) mit der Zahl der Objekte quadratisch wächst (was immer schlecht ist), also wird je nach dem was für eine art Spiel du planst das ganze vermutlich schon komplizierter.

Wenn du nur ein Spiel machen willst und dich eigentlich nicht auf diesem Level mit der Materie beschäftigen willst, würde ich dir doch eher zur Verwendung eine fertigen Engine raten. Das erhöht die Wahrscheinlichkeit ein Projekt zu ende zu bringen beträchtlich. ;)
Antworten