• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

OpenGL Einsteiger

boolace

Boskoop
Registriert
07.03.06
Beiträge
40
Hallo liebe Community...

Hab ein mittelschweres (für mich katastrophales) Problem:
Habe dieses Semester endlich den lange hinausgezögerten OpenGL-Kurs belegt. Allerdings habe ich keinen Labor-Platz mehr gekriegt und muss das nun auf meinem Mac machen. Im Grafik-Labor stehen Solaris-Rechner. Ich weiss leider überhaupt nicht wie ich das auf dem Mac hinkriege.

Was ich weiss ist, das ich die GLUT Bibiliothek und den GCC Compiler brauche. Allerdings was ich nicht weiss:
Wohin mit der GLUT?
Brauche ich auch eine OpenGL Bibiliothek? An der Uni ist das alles Vorinstalliert.
Wie ist die Anweisung zum Kompilieren. Im Lab muss ich einfach gcc bla.c tippen und dann die a.out aufrufen. Wie ist das beim Mac?

Hoffentlich kann mir jemand eine einfache Anleitung geben, denn wenn ich das Labor nicht mache, kann ich mir den Kurs abschminken und dann kann ich ihn erst in einem Jahr wieder belegen ;-(.

Schonmal vielen, vielen Dank an euch!

Viele Grüße, Boolace
 

Squart

Pomme Etrangle
Registriert
29.01.04
Beiträge
910
Wie weit kennst du dich mit dem Terminal aus? Ich habe mal angefangen für OpenGL zu programmieren, da mir das viele getippt beim compilieren auf die Nerven ging habe ich mir ein kleines Shellskript geschrieben:
if [ $# -lt 1 ] ; then
echo "usage: GLComp.sh file1 file2 ..."
exit 1
fi

rm ./CurrentProgramm;
rm ./*~;

gcc -framework GLUT -framework OpenGL $* -o CurrentProgramm;
./CurrentProgramm;
Dieses habe ich in meinem Ordner abgelegt gehabt, in welchem ich dann schließlich meine Dateien hatte. Die Dateien mit dem ~ am Ende wollte ich nur löschen, da die emacs (?) immer selbst angelegt hat, und mir so schnell die Übersicht verloren ging.

Kurz zusammengefasst: GLUT und OpenGL sind schon vorinstalliert. Du müsstest einfach nur gcc -framework GLUT -framework OpenGL bla.c eintippen und dann a.out starten.
 

boolace

Boskoop
Registriert
07.03.06
Beiträge
40
Hi Squart!

Danke erstmal.

So direkt ging es nicht, weil das Terminal mir gesagt hat, dass er keine GLUT gefunden hat also hab ich das GLUT Package von der Uni in den /usr/include/ Ordner kopiert. Wenn ich es jetzt mit gcc -framework GLUT -framework OpenGL pixel.c -o pixel.out kompiliere dann bekomme ich folgende Fehlermeldung:

In file included from /usr/include/GL/glut.h:138,
from pixel.c:1:
/usr/include/GL/glu.h:230: error: parse error before '*' token

Hier der Code der an der Uni bei einem Kommilitonen einwandfrei funktioniert:

#include <GL/glut.h>
#include <stdlib.h>

int breite = 800, hoehe = 600;
int px = 400, py = 300;

extern void display(void);
extern void putpixel(GLint x, GLint y);
void init(void);
void zeichnen(void);

void init(void)
{
glClearColor (1.0, 1.0, 1.0, 1.0);
glColor3f (1.0, 0.0, 0.0);
}

void zeichnen(void)
{
putpixel (px, py);
}

Muss ich die includes vielleicht anders einbinden als an den Uni-Rechnern?

Danke!
 

Squart

Pomme Etrangle
Registriert
29.01.04
Beiträge
910
Ich würde das Glut-Package wieder löschen. Stattdessen solltest du so compilieren wie ich oben gesagt habe und für im Include einfach #include <GLUT/glut.h> verwenden.

Gruß
Squart
 

boolace

Boskoop
Registriert
07.03.06
Beiträge
40
Ah, okay. Habe GL/glut.h durch GLUT/glut.h ersetzt und jetzt läuft es. Muss man ja alles wissen, nich :).

Hoffe das das laborpraktikum jetzt klappt!

Vielen, vielen Dank!

So nebenbei: mit "rm bla.c" kann ich zwar im Terminal einen Datei löschen, ich kenn aber leider den Befehl zum Löschen eines Ordners nicht, weiss das jemand?

Gruß Boolace
 

Squart

Pomme Etrangle
Registriert
29.01.04
Beiträge
910
Bitte, gern geschehen.

Einen Ordner löschst du mittels rm -d, wenn noch Dateien in einem Ordner drinnen sind dann rm -rd