JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=7fc323ea490cd138b6e9270af4ff6e1dMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

OpenGL + Glut !? *verzweifel*

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Mindmover
Mini JLI'ler


Alter: 41
Anmeldedatum: 28.02.2005
Beiträge: 25

Medaillen: Keine

BeitragVerfasst am: 14.05.2005, 12:10    Titel: OpenGL + Glut !? *verzweifel* Antworten mit Zitat

Soderle ich muß schonwieder Nerven, ich habe wie immer das Suchen benutzt aber es ist wieder nix gescheites dabei rausgekommen (außer das ich Patrick seine Schnippsel nicht downloaden/anschauen kann)

Also hier die Frage:

Ich besuche derzeitig, der Erfahrungswillen, neben dem Studium noch eine Vorlesung in Computergraphik. Dort Programmieren wir unter Linux mit "Kate" + Mesa und OpenGL + Glut verwenden wir für den Code. In Linux kann man dolle sachen mit machen, nur dummerweise bin ich nur ein Windows-User und so stellt sich mir das Problem das ich das ganze zuhause nicht nachprogrammiere kann. Allerdings nur bei mir ... den bei meinen Kommiltonen funzt es, die haben sich mein Problem schon angeschaut und konnten es auch nicht lösen und ich verzweifle langsam wirklich.

Ganz einfach also OpenGL unter VC6 installiert (dll in Systemordner; Lib in Lib und glut.h in include - Verzeichnis)

=>

Ich kann NICHT die Datein von Linux verwenden. Da er mir immer einen "Klammerfehler" in der gl.h moniert (was so ungefähr mehrere 100 Fehler nach sich zieht und der Compiler wegen zu vieler Fehler abbricht).


Jetzt habe ich versucht einfach mal selbst eine Win32 - Consolen Anwendung zu programmieren. Ich öffne also die Anwendung schreibe den Code komplett rein und Sage Kompilieren+ausführen ... wieder der Fehler aus der GL.h zwischenzeitig hatte ich den Compiler im Visier aber der Code funktioniert auch in Dev C++ und MinGW nicht.

Durch die vielen Englischen Beschreibungen wie ich mir die Dateien von Mesa raussuche und bei VC6 installiere gingen mir Zeit und Nerven verloren aber gebracht hat es nichts.

Daraufhin habe ich Unter "Projekt -> Einstellung" die lib's gelinkt (wäre ja nicht dumm) aber keine besserung noch immer wird mir vom Compiler beim compilieren die Gl.h auf den Bildschirm geworfen und ein Fehler direkt nach den #Define-Befehlen moniert.

Also meine mageren Improvisationskünste neigen sich dem Ende zu nicht nur ich sondern auch meine Komiltonen (die teilweise mehr Ahnung haben als ich) sind ratlos und ich komme in der Vorlesung nicht mehr mit weil ich zuhause nicht testen und ausprobieren kann.

Reines OpenGL als Win32-Anwendung hilft mir nur wenig weiter da wir halt sehr stark mit Glut arbeiten.

So und jetzt hoffe ich so als letzte Möglichkeit das vielleicht einer von euch ne Ahnung hat. ICh hoffe das euch das zutexten nicht zu sehr Nervt.

Solong Greets Mindmover
(der erst am Montag wieder online kommen kann)

Btw hier mal die Datei frisch aus der Linux Werkstatt ^^:
(die Datei ist noch aus den Ersten Vorlesungen ich habe erst Später ausführliche Kommentare ergänzt, ich hoffe dennoch das es zu verstehen ist.)


CPP:
#include <stdlib.h>
#include <stdio.h>

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

int main (int argc, char **argv)
{
    void myinit ();
    void display ();

    glutInit (&argc, argv);
    glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
    glutInitWindowSize (500,500);
    glutInitWindowPosition (0,0);
    glutCreateWindow ("Praktikum Computergraphik SS 2005");
    glutDisplayFunc (display);
    myinit();
    glutMainLoop();
    return 0;
}

void myinit (void)
{
    /* Attributes */
    glClearColor (1.0,1.0,1.0,0.0); // white background

    /* Viewing */
    glMatrixMode (GL_PROJECTION);
    glLoadIdentity ();
    glOrtho (-500.0,500.0, -500.0,500.0, -500.0,500.0);
    glMatrixMode (GL_MODELVIEW);
}

void display (void)
{
    glClear(GL_COLOR_BUFFER_BIT);
   
    glColor3f ((200.0)/750.0,(200.)/600.0,500.0);
    glTranslated(-150,0,0);
    glutSolidSphere(65,50,50);
   
    glColor3f ((200.0)/750.0,(200.)/600.0,500.0);
    glTranslated(300,0,0);
    glutSolidSphere(65,50,50);
   
    glColor3f ((200.0)/750.0,(200.)/600.0,500.0);
    glTranslated(0,-300,0);
    glutSolidSphere(65,50,50);
   
   
    glColor3f ((200.0)/750.0,(200.)/600.0,500.0);
    glScalef(3,1,1);
    glTranslated(-50,300,0);
    glutSolidCube(100);

    glColor3f ((200.0)/750.0,(200.)/600.0,500.0);
    glLoadIdentity();
    glRotatef(270,0,0,1);
    glTranslated(150,150,0);
    glScalef(3,1,1);
    glutSolidCube(100);

   
    glColor3f ((200.0)/750.0,(200.)/600.0,500.0);
    glLoadIdentity();
    glRotatef(260,0,0,1);
    glScalef(4,1,1);
    glTranslated(90,165,0);
    glutSolidCube(30);

    glColor3f ((200.0)/750.0,(200.)/600.0,500.0);
    glLoadIdentity();
    glRotatef(270,0,0,1);
    glScalef(4,1,1);
    glTranslated(100,160,0);
    glutSolidCube(30);
   
    glColor3f ((200.0)/750.0,(200.)/600.0,500.0);
    glLoadIdentity();
    glRotatef(280,0,0,1);
    glScalef(4,1,1);
    glTranslated(100,140,0);
    glutSolidCube(30);
   
    glFlush (); // start processing OpenGL routines
}

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
xardias
JLI Master


Alter: 38
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 14.05.2005, 12:54    Titel: Antworten mit Zitat

normalerweise werden die gl.h usw vom compiler mitgeliefert, daher brauchst du die linux dateien garnicht.
ansonsten versuch doch einfach mal VC neu zu installieren, vielleicht hast du die vorhandenen header dateien kaputt gemacht.

Glut kannst ud hier finden:
http://www.opengl.org/resources/libraries/glut.html
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mindmover
Mini JLI'ler


Alter: 41
Anmeldedatum: 28.02.2005
Beiträge: 25

Medaillen: Keine

BeitragVerfasst am: 15.05.2005, 08:07    Titel: Antworten mit Zitat

Auch mit einer Neuinstallation hat es auch nicht funktioniert.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
xardias
JLI Master


Alter: 38
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 15.05.2005, 09:05    Titel: Antworten mit Zitat

nochmal schritt für schritt, damit ichs kapier *g*

wenn du obiges programm in eine konsolenanwendung einbastelst, ohne vorher an den header dateien rumgebastelt zu haben. welche fehlermeldungen kommen dann?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 15.05.2005, 09:13    Titel: Antworten mit Zitat

Ganz einfach, du musst die 'windows.h' mit einbinden, bevor du die 'gl.h' einbindest...
Um das ganze plattformunabhängig zu halten, mache ich das z.B. immer so:
CPP:
#if defined(_WIN32)
#include <windows.h>
#endif
#include <gl/gl.h>
#include <gl/glext.h>


Außerdem müssen die ganzen Funktionen der Glu-Library gluFunktionsName heißen, nicht glutFunktionsname.


Zuletzt bearbeitet von GreveN am 15.05.2005, 10:21, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
xardias
JLI Master


Alter: 38
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 15.05.2005, 09:56    Titel: Antworten mit Zitat

es gitb eine glu library UND eine glut library. es gibt also beide prefixe Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 15.05.2005, 10:20    Titel: Antworten mit Zitat

Ok, ich muss zugeben, das hab ich nicht gewusst, ich benutz eigentlich auch nie Glut, Glu, Glaux oder wie sie noch alle heißen. Höchtens hin und wieder mal die SDL.

Funktioniert das Programm denn jetzt, nachdem du die Windows.h mit eingebunden hast?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 15.05.2005, 10:25    Titel: Antworten mit Zitat

GreveN
Zurecht, Glut und Glaux sind darin bekannt, das sie sehr Lam und Buggy sind. Selfmade rocks more Wink
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
xardias
JLI Master


Alter: 38
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 15.05.2005, 11:04    Titel: Antworten mit Zitat

und glut ist uralt.. es wird nicht mehr weiter entwickelt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mindmover
Mini JLI'ler


Alter: 41
Anmeldedatum: 28.02.2005
Beiträge: 25

Medaillen: Keine

BeitragVerfasst am: 17.05.2005, 08:37    Titel: Antworten mit Zitat

Dann habe ich zwei Probleme.

1. Da glut in meiner Vorlesung genutzt wird werde ich mehr oder weniger gezwungen dies zu verwenden, ganz gleich ob uralt oder aktuell.

2. Selfmade...gerne und jederzeit aber dazu fehlen mir a) Programmierkenntnisse und b) die nötigen Vorlesungen in dennen mir oetwas näher gebracht werden kann.

Ich werde euren Vorschlag mit der Header initialisierung mal versuchen. Dazu fahr ich dann gleich nachhause und probier es mal. Ansonsten erstmal danke für eure Tips.

Btw. Warum ist glut lame und Buggy? Klärt mich mal auf dann kann ich wenigstens lernen es zu verstehen udn vielleicht es einmal besser versuchen.

Solong Greets Mindmover
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mindmover
Mini JLI'ler


Alter: 41
Anmeldedatum: 28.02.2005
Beiträge: 25

Medaillen: Keine

BeitragVerfasst am: 18.05.2005, 11:30    Titel: Antworten mit Zitat

Sorry wegen dem Doppelpost erstmal. Also die Anwtort ist, ja, auf den ersten Blick scheint es mit dem

#if defined ...

zu funktionieren, jetzt kommt allerdings der Hacken. So funktioniert die

glBegin(GL_TRIANGLES)
...
glEnd();

allerdings funktionieren die Aufrufe "GL_LINE_LOOP" ; "GL_LINE_STRIP";"GL_TRIANGLE_FAN" ... nicht. Dann hab ich es aufgegeben weil ich keine Lust mehr hatte. Bei den vor genannten Objekten startete er zwar das Fenster aber das Fenster ist "Durschsichtig", d.h. er nimmt den Hintergrund an dem Punkt wo dasFenster erscheint(Linke obere Ecke) und behält diesen bei. Nichts zu sehen von Linien oder Dreiecken. Kennt jemand dieses Problem!?

Greets Mindmover
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
xardias
JLI Master


Alter: 38
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 18.05.2005, 13:33    Titel: Antworten mit Zitat

das hört sich sehr verwirrend an. vielleicht zeigst du uns einen screenshot von dem was da falsch/oder garnicht dargestellt wird
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
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.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum