Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1

    [C] OpenGL per gioco 2d

    ciao a tutti,
    spero mi possiate aiutare...
    Allora vorrei divertirmi a passare il tempo realizzando un videogioco 2d in C. In seuito a varie consultazioni credo che le OpenGL come librerie grafiche siano le più adatte e le più scalabili... ora il problema è: dove trovo la guida di riferimento e le librerie ? non mi dite su google generico, perchè ho cercato ma si trovano parecchie cose che non servono ed altre che servono però sono incasinate... magari se qualcuno di voi mi sa dare qualke info, così vado a colpo sicuro ed inizio a studiarmi un pò le OpenGL...

    anche qualke libro da comprare... non deve essere per forza qualcosa free...
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  2. #2
    Utente di HTML.it L'avatar di gokan
    Registrato dal
    Feb 2003
    Messaggi
    262
    Ci sono diversi tread che parlano di questo argomento,
    uno di questi

    Vai sul sito www.opengl.org e scarica il redbook, questa è la guida ufficiale.Sappi che non è facilissimo programmare un videogioco, quindi, armati di pazienza e studiati almeno i primi 5 capitoli del testo detto sopra. Dopodichè ti consiglio di cercare in rete qualche semplice esempio che ti permetta di capire come funziona un banale giochetto 2d.

  3. #3
    si per studiare non ho problemi, anzi mi piace farlo :-)
    il C lo conosco abbastanza bene, poi ho anche buone nozioni di analisi e geometria che credo servano nel programmare un gioco...


    ora scarico e inizio a studiare il redbook

    ah le librerie le prendo dal sito che mi hai dato vero ?
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  4. #4
    va beh mi ci vorrà un pò il pdf è di 7mb ed ho un 56k come connessione... cmq senti ma cosa dev oscaricare per avere le librerie sul pc, intendo gli header da includere nei programmi che scrivo... credo ci dovrebbe essere un file zippato o qualcosa del genere vero ? non riesco a trovarlo...
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  5. #5
    Utente di HTML.it L'avatar di gokan
    Registrato dal
    Feb 2003
    Messaggi
    262
    Per potere eseguire gli esempi del libro, hai bisogno delle glut. Informazioni e files li trovi qui:
    http://www3.csr.unibo.it/~lazzaro/
    scegli "metodi numerici ...."

    Prendi le glut32 e leggiti il file readme

    Ciao

  6. #6
    mm ho provato a compilare un file di esempio:

    codice:
    #include <GL/glut.h>
    #include "stdlib.h"
    
    #define RAMPSIZE 16
    #define RAMP1START 32
    #define RAMP2START 48
    
    static float rotAngle = 0.;
    
    /*  Initialize antialiasing for color index mode,
     *  including loading a green color ramp starting
     *  at RAMP1START, and a blue color ramp starting
     *  at RAMP2START. The ramps must be a multiple of 16.
     */
    void init(void)
    {
       int i;
    
       for (i = 0; i < RAMPSIZE; i++) {
          GLfloat shade;
          shade = (GLfloat) i/(GLfloat) RAMPSIZE;
          glutSetColor(RAMP1START+(GLint)i, 0., shade, 0.);
          glutSetColor(RAMP2START+(GLint)i, 0., 0., shade);
       }
    
       glEnable (GL_LINE_SMOOTH);
       glHint (GL_LINE_SMOOTH_HINT, GL_DONT_CARE);
       glLineWidth (1.5);
    
       glClearIndex ((GLfloat) RAMP1START);
    }
    
    /*  Draw 2 diagonal lines to form an X
     */
    void display(void)
    {
       glClear(GL_COLOR_BUFFER_BIT);
    
       glIndexi(RAMP1START);
       glPushMatrix();
       glRotatef(-rotAngle, 0.0, 0.0, 0.1);
       glBegin (GL_LINES);
          glVertex2f (-0.5, 0.5);
          glVertex2f (0.5, -0.5);
       glEnd ();
       glPopMatrix();
    
       glIndexi(RAMP2START);
       glPushMatrix();
       glRotatef(rotAngle, 0.0, 0.0, 0.1);
       glBegin (GL_LINES);
          glVertex2f (0.5, 0.5);
          glVertex2f (-0.5, -0.5);
       glEnd ();
       glPopMatrix();
    
       glFlush();
    }
    
    void reshape(int w, int h)
    {
       glViewport(0, 0, (GLsizei) w, (GLsizei) h);
       glMatrixMode(GL_PROJECTION);
       glLoadIdentity();
       if (w <= h) 
          gluOrtho2D (-1.0, 1.0, 
             -1.0*(GLfloat)h/(GLfloat)w, 1.0*(GLfloat)h/(GLfloat)w);
       else 
          gluOrtho2D (-1.0*(GLfloat)w/(GLfloat)h, 
             1.0*(GLfloat)w/(GLfloat)h, -1.0, 1.0);
       glMatrixMode(GL_MODELVIEW);
       glLoadIdentity();
    }
    
    void keyboard(unsigned char key, int x, int y)
    {
       switch (key) {
          case 'r':
          case 'R':
             rotAngle += 20.;
             if (rotAngle >= 360.) rotAngle = 0.;
             glutPostRedisplay();	
             break;
          case 27:  /*  Escape Key */
             exit(0);
             break;
          default:
             break;
        }
    }
    
    /*  Main Loop
     *  Open window with initial window size, title bar, 
     *  color index display mode, and handle input events.
     */
    int main(int argc, char** argv)
    {
       glutInit(&argc, argv);
       glutInitDisplayMode (GLUT_SINGLE | GLUT_INDEX);
       glutInitWindowSize (200, 200);
       glutCreateWindow (argv[0]);
       init();
       glutReshapeFunc (reshape);
       glutKeyboardFunc (keyboard);
       glutDisplayFunc (display);
       glutMainLoop();
       return 0;
    }
    ma mi da errore, anke se ho copiato la libreria nella cartella lib del dev-c++, forse però è per questo, nel senso che io uso il devc++, magari devo configurare qualcosa...
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  7. #7
    dimenticavo gli errori sono questi:

    [code]Compiler: Default compiler
    Executing gcc.exe...
    gcc.exe "C:\Documents and Settings\Rocco\Desktop\aaindex.c" -o "C:\Documents and Settings\Rocco\Desktop\aaindex.exe" -ansi -g3 -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x15): In function `glutInit_ATEXIT_HACK':
    C:/Dev-Cpp/include/GL/glut.h:486: undefined reference to `__glutInitWithExit'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x30): In function `glutCreateWindow_ATEXIT_HACK':
    C:/Dev-Cpp/include/GL/glut.h:503: undefined reference to `__glutCreateWindowWithExit'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x4c): In function `glutCreateMenu_ATEXIT_HACK':
    C:/Dev-Cpp/include/GL/glut.h:549: undefined reference to `__glutCreateMenuWithExit'

    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x8e): In function `init':
    C:/Documents and Settings/Rocco/Desktop/aaindex.c:66: undefined reference to `glutSetColor'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0xa4):C:/Documents and Settings/Rocco/Desktop/aaindex.c:67: undefined reference to `glutSetColor'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0xbb):C:/Documents and Settings/Rocco/Desktop/aaindex.c:70: undefined reference to `_imp__glEnable'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0xd2):C:/Documents and Settings/Rocco/Desktop/aaindex.c:71: undefined reference to `_imp__glHint'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0xe4):C:/Documents and Settings/Rocco/Desktop/aaindex.c:72: undefined reference to `_imp__glLineWidth'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0xf6):C:/Documents and Settings/Rocco/Desktop/aaindex.c:74: undefined reference to `_imp__glClearIndex'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x111): In function `display':
    C:/Documents and Settings/Rocco/Desktop/aaindex.c:81: undefined reference to `_imp__glClear'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x120):C:/Documents and Settings/Rocco/Desktop/aaindex.c:83: undefined reference to `_imp__glIndexi'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x12a):C:/Documents and Settings/Rocco/Desktop/aaindex.c:84: undefined reference to `_imp__glPushMatrix'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x145):C:/Documents and Settings/Rocco/Desktop/aaindex.c:85: undefined reference to `_imp__glRotatef'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x154):C:/Documents and Settings/Rocco/Desktop/aaindex.c:86: undefined reference to `_imp__glBegin'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x16b):C:/Documents and Settings/Rocco/Desktop/aaindex.c:87: undefined reference to `_imp__glVertex2f'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x182):C:/Documents and Settings/Rocco/Desktop/aaindex.c:88: undefined reference to `_imp__glVertex2f'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x18c):C:/Documents and Settings/Rocco/Desktop/aaindex.c:89: undefined reference to `_imp__glEnd'

    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x193):C:/Documents and Settings/Rocco/Desktop/aaindex.c:90: undefined reference to `_imp__glPopMatrix'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x19f):C:/Documents and Settings/Rocco/Desktop/aaindex.c:92: undefined reference to `_imp__glIndexi'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x1a9):C:/Documents and Settings/Rocco/Desktop/aaindex.c:93: undefined reference to `_imp__glPushMatrix'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x1bf):C:/Documents and Settings/Rocco/Desktop/aaindex.c:94: undefined reference to `_imp__glRotatef'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x1ce):C:/Documents and Settings/Rocco/Desktop/aaindex.c:95: undefined reference to `_imp__glBegin'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x1e5):C:/Documents and Settings/Rocco/Desktop/aaindex.c:96: undefined reference to `_imp__glVertex2f'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x1fc):C:/Documents and Settings/Rocco/Desktop/aaindex.c:97: undefined reference to `_imp__glVertex2f'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x206):C:/Documents and Settings/Rocco/Desktop/aaindex.c undefined reference to `_imp__glEnd'

    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x20d):C:/Documents and Settings/Rocco/Desktop/aaindex.c:99: undefined reference to `_imp__glPopMatrix'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x214):C:/Documents and Settings/Rocco/Desktop/aaindex.c:101: undefined reference to `_imp__glFlush'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x239): In function `reshape':
    C:/Documents and Settings/Rocco/Desktop/aaindex.c:106: undefined reference to `_imp__glViewport'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x24b):C:/Documents and Settings/Rocco/Desktop/aaindex.c:107: undefined reference to `_imp__glMatrixMode'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x255):C:/Documents and Settings/Rocco/Desktop/aaindex.c:108: undefined reference to `_imp__glLoadIdentity'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x298):C:/Documents and Settings/Rocco/Desktop/aaindex.c:110: undefined reference to `_imp__gluOrtho2D'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x2d8):C:/Documents and Settings/Rocco/Desktop/aaindex.c:113: undefined reference to `_imp__gluOrtho2D'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x2ea):C:/Documents and Settings/Rocco/Desktop/aaindex.c:115: undefined reference to `_imp__glMatrixMode'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x2f4):C:/Documents and Settings/Rocco/Desktop/aaindex.c:116: undefined reference to `_imp__glLoadIdentity'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x37b): In function `keyboard':
    C:/Documents and Settings/Rocco/Desktop/aaindex.c:126: undefined reference to `glutPostRedisplay'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x3c4): In function `main':

    C:/Documents and Settings/Rocco/Desktop/aaindex.c:143: undefined reference to `glutInitDisplayMode'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x3d9):C:/Documents and Settings/Rocco/Desktop/aaindex.c:144: undefined reference to `glutInitWindowSize'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x3fe):C:/Documents and Settings/Rocco/Desktop/aaindex.c:147: undefined reference to `glutReshapeFunc'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x40e):C:/Documents and Settings/Rocco/Desktop/aaindex.c:148: undefined reference to `glutKeyboardFunc'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x41e):C:/Documents and Settings/Rocco/Desktop/aaindex.c:149: undefined reference to `glutDisplayFunc'
    C:\DOCUME~1\Rocco\IMPOST~1\Temp/ccQfaaaa.o(.text+0x426):C:/Documents and Settings/Rocco/Desktop/aaindex.c:150: undefined reference to `glutMainLoop'

    Execution terminated
    [/quote]
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  8. #8
    sembra che non riesca a risolvere i comandi contenuti in glut.h...
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  9. #9
    se non l'hai già fatto prova ad aprire project options, poi
    parameters -> Add library or object, aggiungi le librerie glu* (non ricordo il nome specifico)

  10. #10
    l'avevo fatto ma non fungeva, ora che ho riavviato invece sembra andar benissimo!!!

    meglio così!!!


    grazie a tutti per le info...


    cmq c'è qualcuno che ha già letto il redbook ?
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.