spiele programieren welch Sprache?



  • Zuerst sollte man sich mit einer Programmiersprache auseinandersetzten. Und das mit einem Buch und nicht mit Tutorials. Und dann kommt die Spieleprogrammierung.



  • Hab bei EOutOfResources gelesen das grafik auch in c geht hab bei google und hier im forum aber nichts gefunden! http://www.c-plusplus.net/forum/images/smiles/confused.gif



  • c grafik ? schrieb:

    Hab bei EOutOfResources gelesen das grafik auch in c geht

    OpenGL hat eine implentierung für C. SDL ist auch in C geschrieben.



  • wo kann ich mir die libary glut.h runterladen?



  • c grafik ? schrieb:

    wo kann ich mir die libary glut.h runterladen?

    Libary heisst eigentlich Library.
    Und glut.h ist keine Bibliothek sondern ein Header.

    Deine Frage würde jetzt lauten:
    Wo kann ich mit die Library GLUT herunterladen?

    Antwort:
    Bitte nutze freeGLUT statt GLUT.

    MfG, EOutOfResources



  • Neben Low-Level-Schnittstellen wie OpenGL und DirectX gibt es z.B. folgende Frameworks:

    C – SDL, Allegro, CSFML (2D)
    C++ – SFML (2D), Irrlicht, Ogre (3D)
    C#SFML.Net (2D), XNA

    Für die 2D-Programmierung würde ich unbedingt SFML oder dessen Bindings empfehlen, das ist sehr anfängerfreundlich geschrieben. Neben Grafik hast du auch gleich Dinge wie Audio, Netzwerkprogrammierung oder Event-Handling mit dabei.



  • EOutOfResources schrieb:

    c grafik ? schrieb:

    wo kann ich mir die libary glut.h runterladen?

    Libary heisst eigentlich Library.
    Und glut.h ist keine Bibliothek sondern ein Header.

    Deine Frage würde jetzt lauten:
    Wo kann ich mit die Library GLUT herunterladen?

    Antwort:
    Bitte nutze freeGLUT statt GLUT.

    MfG, EOutOfResources

    wenn ich mit freeglut diesen code eingebe :

    #include <windows.h>
    #include <gl/glut.h>
    
    void RenderScene(void) 
    {
    	/* Loesche das Fenster mit der aktuell gesetzten
    	 Loeschfarbe */
    	glClear(GL_COLOR_BUFFER_BIT);
    
    	/* Setze die aktuelle Zeichenfarbe zu rot
     	   ala */
    	glColor3f(1.0f, 0.0f, 0.0f);
    
    	/* Zeichne ein Rechteck */
    	glRectf(100.0f, 150.0f, 150.0f, 100.0f);
    
    	/* Flush Zeichenoperationen */
    	glFlush();
    }
    
    /* Setze Renderstate */
    void SetupRC(void)
    {
    	glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
    }
    
    void ChangeSize(GLsizei w, GLsizei h)
    {
    	/* Es darf keine Division durch Null durchgeführt werden */
    	if (h==0)
    	h = 1;
    
    	/* Setze den Viewport auf die aktuelle Dimension des Fensters */
    	glViewport(0, 0, w, h);
    
    	/* Wähle die Projektionsmatrix aus */
    	glMatrixMode(GL_PROJECTION);
    
    	/* Hilfsmatrix auf Null setzen (wird zur Berechnung von Translationen
    	   und Rotationen gebraucht */
    	glLoadIdentity();
    
    	/* Wenn Breite kleiner der Höhe, dann skaliere Breite
    	   ansonsten die Höhe */
    	if (w<=h)
    	glOrtho(0.0f, 250.f, 0.0f, 250.f * h/w, 1.0, -1.0);
    	else
    	glOrtho(0.0f, 250.f *w/h, 0.0f, 250.f, 1.0, -1.0);
    
    	/* Alle Transformationen werden auf das Tragwerk angewandt
    	   (Transformations-Matrix) */
    	glMatrixMode(GL_MODELVIEW);
    	glLoadIdentity();
    }
    
    int main(void) 
    {
    	glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    	glutCreateWindow("First Steps");
    	glutDisplayFunc(RenderScene);
    	glutReshapeFunc(ChangeSize);
    	SetupRC();
    	glutMainLoop();
    }
    

    öffnet der compiler mir FREEGLUT_STD.H und gibt 19 fehlermeldungen wie :
    [Error] C:\PROGRA1\C-FREE1\mingw32\Include\G__~1\freeglut_std.h:610: undefined reference to `_imp____glutInitWithExit@12'
    Warum??



  • Du musst freeGLUT linken, damit der Linker die Symbole finden kann.



  • Irgendwer schrieb:

    Du musst freeGLUT linken, damit der Linker die Symbole finden kann.

    Und wie ???



  • entwicklungsumgebungsabhängig



  • Zu allererst würde ich mal "Programmieren" im Wörterbuch nachschlagen.
    Dann würde ich nicht mit Copy&Paste OpenGL anfangen, sondern mit C++ Konsolenapplikationen um die Sprache nach und nach zu beherrschen (und glaub nicht dass das getan ist sobald du weist was eine "For-Schleife" ist).


Anmelden zum Antworten