The Dark Side of Hardware Upgrade Forum

...bringing out the worst in you since 2003...
Oggi è lun ott 05, 2026 8:53 pm

Tutti gli orari sono UTC +1 ora


-->
-->

Apri un nuovo argomento Rispondi all’argomento  [ 55 messaggi ]  Vai alla pagina 1, 2, 3  Prossimo
Autore Messaggio
 Oggetto del messaggio: Librerie grafiche
MessaggioInviato: mar mag 24, 2011 4:41 am 
Schiavo
Avatar utente
Iscritto il: gio lug 15, 2010 7:35 pm
Messaggi: 5339
Località: Tua madre succhia i cazzi all'inferno, idiota
C'è qualcosa di basilare per il C++? Per chiarire, vorrei disegnare traiettorie in un grafico tridimensionale, e cose simili.
_________________
Long Live Iran
Immagine
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: mar mag 24, 2011 5:49 am 
GDK su GTK+?
Top
  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: mar mag 24, 2011 10:56 pm 
Schiavo
Avatar utente
Iscritto il: gio lug 15, 2010 7:35 pm
Messaggi: 5339
Località: Tua madre succhia i cazzi all'inferno, idiota
Non capisco, GDK è un estratto di GTK+? Qualcuno ha esperienza con questa roba?
_________________
Long Live Iran
Immagine
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: mar mag 24, 2011 10:57 pm 
Dittatore
Dittatore
Avatar utente
Iscritto il: sab giu 17, 2006 2:02 pm
Messaggi: 39361
Località: Dentro il mio ano
Un paio di amici ci giocano, tornei, robe grosse.

I tornei di librerie grafiche son lollosi perchè sono sempre tutti ciucchi, tutti offrono sempre da bere alla squadra avversaria per farli perdere :asd:

Difatti per i bar ospitare i tornei è una sagra :sisi:
_________________
No real limits of any kind apply here — not even the sky
Immagine

p.NiGhTmArE (9 marzo 2003 - 8 ottobre 2008)
IO C'ERO
p-nightmare (8 ottobre 2008 - 8 ottobre 2008)
p.nightmаrе (8 ottobre 2008 - 22 febbraio 2009)

Dopo quasi sei anni di spam, suddenly a lifeban appears.
p.nightmare riposa in pace.
Spoiler: show
Immagine
rest in pieces (23 febbraio 2009 - 23 febbraio 2009)
-Ban per utente orbitante
smettila. (23 febbraio 2009 - 23 febbraio 2009)
-Ban per smascheratura di clone
????????u?d, oq?????, ??????po, uos?????, ?ö??ss??s(25 febbraio 2009 - 25 febbraio 2009)
-Ban per iscrizione alla cena
SwisströM mandante (2 marzo 2009 - 2 marzo 2009)
-Ban per mandante
ibtl (2 marzo 2009 - 2 marzo 2009)
-Ban per epic win in b4 the ban, failget, winrar, epic win in b4 the ban (2) e altro
no wai (9 marzo 2009 - 9 marzo 2009)
-Ban per WTF morgstronzate, dead babies/jews jokes e francoiskfagging
barrel roll (10 marzo 2009 - 11 marzo 2009)
-Ban per barrel rolling (2) e crosspua (http://www.hwupgrade.org/forum/viewtopic.php?f=4&t=17993)
Paol? Corsini (31 maggio 2009 - 31 maggio 2009)
-Ban per admincloning e chinaupgrade (no screen, thread cestinato)
AngelTretya (11 novembre 2009 - 12 novembre 2009)
-Ban per CromaTrolling
p,nightm?r? (15 novembre 2009 - 15 novembre 2009)
-Ban per funerale del router
Intel900009 (11 novembre 2009 - 10 dicembre 2009)
-Ban per SPAM
???????? (23 agosto 2009 - 10 dicembre 2009)
-Ban per SPAM-CLONE
magopippo86 (10 dicembre 2009 - 10 dicembre 2009)
-Ban per... "Vietato l'accesso"
cliowill78 (10 dicembre 2009 - 11 dicembre 2009)
-Ban per colpa di quel coglione del mambo
mariopppp (28 gennaio 2010 - 28 gennaio 2010)
-Ban per aver difeso mio figlio dalle minacce di xeggot (e toasting in an epic bread ).
venti (4 febbraio 2010 - 4 febbraio 2010)
-Ban con scuse per aver festeggiato il ventesimo clone
precisante (26 febbraio 2010 - 26 febbraio 2010)
-Ban per precisazione dovuta a calunnia
se non con un eh ma eh ma bla bla blaImmagine
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: mar mag 24, 2011 11:23 pm 
Schiavo
Avatar utente
Iscritto il: gio lug 15, 2010 7:35 pm
Messaggi: 5339
Località: Tua madre succhia i cazzi all'inferno, idiota
Che palle :asd:
_________________
Long Live Iran
Immagine
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: mer mag 25, 2011 9:41 am 
Schiavo
Avatar utente
Iscritto il: ven lug 16, 2010 11:13 am
Messaggi: 716
Località: Esiliato da Tristram
Puoi usare openGL, sono progettate per fare ben altro ma ce la fai tranquillamente a tracciare qualche linea in 3D.
_________________
Il sole è giallo
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: mer mag 25, 2011 9:50 am 
Schiavo
Avatar utente
Iscritto il: mar gen 04, 2011 11:52 am
Messaggi: 11238
Località: Trastecco di Moli
Io ne ho comprata una da ikea. Ottima, è solida e fa la sua figura in camera.
;)
_________________
Immagine
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: mer mag 25, 2011 10:21 am 
Schiavo
Avatar utente
Iscritto il: gio lug 15, 2010 7:35 pm
Messaggi: 5339
Località: Tua madre succhia i cazzi all'inferno, idiota
Anche poligoni ad esempio? Uff, a pensare di dovere leggere la documentazione :pua:
_________________
Long Live Iran
Immagine
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: mer mag 25, 2011 11:39 am 
Schiavo
Avatar utente
Iscritto il: ven lug 16, 2010 11:13 am
Messaggi: 716
Località: Esiliato da Tristram
Aldin ? ha scritto:
Anche poligoni ad esempio? Uff, a pensare di dovere leggere la documentazione :pua:


Ovvio, puoi farci tutto quello che vuoi.

Beh oddio, non credo che per disegnare qualche grafico o poligono ti debba leggere tutta la documentazione di openGL: basta che ti scarichi uno scheletro di programma (ai tempi andavano molto le pagine di nehe, ora non ne ho idea), dopodichè, una volta definita la finestra ed i parametri di rendering, disegnarci qualcosa dentro equivale a una semplice chiamata a un paio di funzioni a cui passi il tipo di oggetto e le coordinate. Ovviamente controlla prima che la tua scheda grafica supporti openGL, ma direi che se hai qualcosa di superiore al Pentium MMX non dovresti aver problemi.
_________________
Il sole è giallo
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: lun lug 04, 2011 3:39 am 
Schiavo
Avatar utente
Iscritto il: gio lug 15, 2010 7:35 pm
Messaggi: 5339
Località: Tua madre succhia i cazzi all'inferno, idiota
Sangue dalla vagina di cristo in fiamme. Come cazzo faccio a usare queste opengl di merda su linux di merda? Ho perso tre ore ma non ci capisco un cazzo.
_________________
Long Live Iran
Immagine
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: lun lug 04, 2011 8:23 am 
Schiavo
Avatar utente
Iscritto il: lun lug 19, 2010 6:08 pm
Messaggi: 7370
Località: Smileland (già Crucconia)
Ma usare QT no ?
_________________
Se nel forum sono attivo vuol dire che al lavoro sto facendo documentazione.
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: lun lug 04, 2011 8:25 am 
Schiavo
Avatar utente
Iscritto il: sab ott 16, 2010 1:37 am
Messaggi: 7223
trallallero ? ha scritto:
Ma usare QT no ?

il fatto che si pronunci "cute" è troppo da froci.
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: lun lug 04, 2011 8:31 am 
Schiavo
Avatar utente
Iscritto il: lun lug 19, 2010 6:08 pm
Messaggi: 7370
Località: Smileland (già Crucconia)
Salvo imprevisti, 'sta settimana la passerò aspettando le ferie perché ho finito in anticipo il progetto, quindi se ti serve aiuto chiedi pure.
Non so niente di Opengl ma immagino sia facile avendo esperienza in C++, Linux e seguendo un "how to" tipo http://www.opengl.org/wiki/Getting_started#Linux

eglio ha scritto:
trallallero ? ha scritto:
Ma usare QT no ?

il fatto che si pronunci "cute" è troppo da froci.

Non è che una mela disegnata sul pc sia proprio da super maschi, eh :gay:
_________________
Se nel forum sono attivo vuol dire che al lavoro sto facendo documentazione.
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: lun lug 04, 2011 8:37 am 
Schiavo
Avatar utente
Iscritto il: gio lug 15, 2010 7:35 pm
Messaggi: 5339
Località: Tua madre succhia i cazzi all'inferno, idiota
Ho visto quel link ma è arabo. Volevo creare una rappresentazione grafica del problema dei tre corpi, ma ora mi hanno preso gli automi cellulari è voglio ottenere una rappresentazione grafica di quelli, vedi il thread in Scienza e Tecnica. Sostanzialmente una griglia colorata che può variare nel tempo.
_________________
Long Live Iran
Immagine
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: lun lug 04, 2011 8:46 am 
Schiavo
Avatar utente
Iscritto il: lun lug 19, 2010 6:08 pm
Messaggi: 7370
Località: Smileland (già Crucconia)
E che problemi hai ? cos'è che non riesci a fare ?
_________________
Se nel forum sono attivo vuol dire che al lavoro sto facendo documentazione.
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: lun lug 04, 2011 9:04 am 
Schiavo
Avatar utente
Iscritto il: lun lug 19, 2010 6:08 pm
Messaggi: 7370
Località: Smileland (già Crucconia)
Allora, per poter lavorare con opengl ho visto che devi installare i seguenti pacchetti (io uso ubuntu 10.04):

Codice:
sudo apt-get install libgl1-mesa libgl1-mesa-dev mesa-common-dev x11proto-xext-dev


poi ho provato a compilare l'esempio online che ho salvato in un file di nome main.cpp (l'esempio è in C e viene compilato con gcc, ma io lo salvo come cpp e lo compilo con g++):

Codice:
#include<stdio.h>
#include<stdlib.h>
#include<X11/X.h>
#include<X11/Xlib.h>
#include<GL/gl.h>
#include<GL/glx.h>
#include<GL/glu.h>

Display                 *dpy;
Window                  root;
GLint                   att[] = { GLX_RGBA, GLX_DEPTH_SIZE, 24, GLX_DOUBLEBUFFER, None };
XVisualInfo             *vi;
Colormap                cmap;
XSetWindowAttributes    swa;
Window                  win;
GLXContext              glc;
XWindowAttributes       gwa;
XEvent                  xev;

void DrawAQuad() {
glClearColor(1.0, 1.0, 1.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-1., 1., -1., 1., 1., 20.);

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0., 0., 10., 0., 0., 0., 0., 1., 0.);

glBegin(GL_QUADS);
  glColor3f(1., 0., 0.); glVertex3f(-.75, -.75, 0.);
  glColor3f(0., 1., 0.); glVertex3f( .75, -.75, 0.);
  glColor3f(0., 0., 1.); glVertex3f( .75,  .75, 0.);
  glColor3f(1., 1., 0.); glVertex3f(-.75,  .75, 0.);
glEnd(); }

int main(int argc, char *argv[]) {

dpy = XOpenDisplay(NULL);

if(dpy == NULL) {
   printf("\n\tcannot connect to X server\n\n");
        exit(0); }
       
root = DefaultRootWindow(dpy);

vi = glXChooseVisual(dpy, 0, att);

if(vi == NULL) {
   printf("\n\tno appropriate visual found\n\n");
        exit(0); }
else {
   printf("\n\tvisual %p selected\n", (void *)vi->visualid); }/* %p creates hexadecimal output like in glxinfo */


cmap = XCreateColormap(dpy, root, vi->visual, AllocNone);

swa.colormap = cmap;
swa.event_mask = ExposureMask | KeyPressMask;

win = XCreateWindow(dpy, root, 0, 0, 600, 600, 0, vi->depth, InputOutput, vi->visual, CWColormap | CWEventMask, &swa);

XMapWindow(dpy, win);
XStoreName(dpy, win, "VERY SIMPLE APPLICATION");

glc = glXCreateContext(dpy, vi, NULL, GL_TRUE);
glXMakeCurrent(dpy, win, glc);

glEnable(GL_DEPTH_TEST);

while(1) {
   XNextEvent(dpy, &xev);
       
        if(xev.type == Expose) {
           XGetWindowAttributes(dpy, win, &gwa);
                glViewport(0, 0, gwa.width, gwa.height);
           DrawAQuad();
                glXSwapBuffers(dpy, win); }
               
   else if(xev.type == KeyPress) {
           glXMakeCurrent(dpy, None, NULL);
      glXDestroyContext(dpy, glc);
      XDestroyWindow(dpy, win);
      XCloseDisplay(dpy);
      exit(0); }
   } /* this closes while(1) { */
} /* this is the } which closes int main(int argc, char *argv[]) { */


così:
Codice:
g++ -o quad main.cpp -lX11 -lGL -lGLU


lo lancio:
Codice:
./quad


e funziona:

Allegato:
quad.png
quad.png [ 14.3 | Osservato 2 volte ]
_________________
Se nel forum sono attivo vuol dire che al lavoro sto facendo documentazione.
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: lun lug 04, 2011 9:14 am 
Schiavo
Avatar utente
Iscritto il: lun lug 19, 2010 6:08 pm
Messaggi: 7370
Località: Smileland (già Crucconia)
Carino anche questo rotating cube.
Per compilarlo devi aggiungere

Cita:
sudo apt-get install libxxf86vm-dev


Codice:
/* Xlib.h is the default header that is included and has the core functionallity */
#include <X11/Xlib.h>                                                             
/* Xatom.h includes functionallity for creating new protocol messages */           
#include <X11/Xatom.h>                                                             
/* keysym.h contains keysymbols which we use to resolv what keys that are being pressed */
#include <X11/keysym.h>                                                                   

/* printf */
#include <stdio.h>
#include <string.h>

/* the XF86 Video Mode extension allows us to change the displaymode of the server
* this allows us to set the display to fullscreen and also read videomodes and   
* other information.                                                             
*/                                                                               
#include <X11/extensions/xf86vmode.h>                                             

/* gl.h we need OpenGL :-) */
#include <GL/gl.h>           
/* this file is needed for X11 applications if we want to use hardware rendering */
#include <GL/glx.h>                                                               
#include <GL/glu.h>                                                               

#define WIDTH 640
#define HEIGHT 480
#define TITLE "OpenGL in X11"

typedef struct {
    Display *dpy;
    int screen; 
    Window win; 
    GLXContext ctx;
    XSetWindowAttributes attr;
    Bool fs;                 
    Bool doubleBuffered;     
    XF86VidModeModeInfo deskMode;
    int x, y;                   
    unsigned int width, height; 
    unsigned int depth;                                                                                                                                       
} GLWindow;                                                                                                                                                   

GLWindow GLWin;                                                                                                                                               

/* most important variable
* it contains information about the X server which we communicate with
*/                                                                   
Display               * display;                                       
int                     screen;                                       
/* our window instance */                                             
Window                  window;                                       
GLXContext              context;                                       
XSetWindowAttributes    winAttr;                                       
Bool                    fullscreen = False;                           
Bool                    doubleBuffered;                               
/* original desktop mode which we save so we can restore it later */   
XF86VidModeModeInfo     desktopMode;                                   
int                     x, y;                                         
unsigned int            width, height;                                 
unsigned int            depth;                                         

GLfloat                 rotQuad = 0.0f;

/* attributes for a single buffered visual in RGBA format with at least
* 4 bits per color and a 16 bit depth buffer */                       
static int attrListSgl[] =                                             
{                                                                     
    GLX_RGBA, GLX_RED_SIZE, 4,                                         
    GLX_GREEN_SIZE, 4,                                                 
    GLX_BLUE_SIZE, 4,                                                 
    GLX_DEPTH_SIZE, 16,                                               
    None                                                               
};                                                                     

/* attributes for a double buffered visual in RGBA format with at least
* 4 bits per color and a 16 bit depth buffer */                       
static int attrListDbl[] =                                             
{                                                                     
    GLX_RGBA, GLX_DOUBLEBUFFER,                                       
    GLX_RED_SIZE, 4,                                                   
    GLX_GREEN_SIZE, 4,                                                 
    GLX_BLUE_SIZE, 4,                                                 
    GLX_DEPTH_SIZE, 16,                                               
    None                                                               
};                                                                     

/* prototypes */
void createWindow();
void destroyWindow();
void resizeGL(unsigned int, unsigned int);
void initGL();                           

/*
* create a window
*/               
void createWindow()
{                 
    XVisualInfo *vi;
    Colormap cmap; 
    int i, dpyWidth, dpyHeight;
    int glxMajor, glxMinor, vmMajor, vmMinor;
    XF86VidModeModeInfo **modes;             
    int modeNum, bestMode;                   
    Atom wmDelete;                           
    Window winDummy;                         
    unsigned int borderDummy;               

    /* set best mode to current */
    bestMode = 0;                 
    /* get a connection */       
    display = XOpenDisplay(0);   
    screen = DefaultScreen(display);
    XF86VidModeQueryVersion(display, &vmMajor, &vmMinor);
    printf("XF86 VideoMode extension version %d.%d\n", vmMajor, vmMinor);
    XF86VidModeGetAllModeLines(display, screen, &modeNum, &modes);       
    /* save desktop-resolution before switching modes */                 
    GLWin.deskMode = *modes[0];
    desktopMode = *modes[0];                                     
    /* look for mode with requested resolution */                       
    for (i = 0; i < modeNum; i++)                                       
    {                                                                   
        if ((modes[i]->hdisplay == width) && (modes[i]->vdisplay == height))
            bestMode = i;                                                   
    }                                                                       
    /* get an appropriate visual */                                         
    vi = glXChooseVisual(display, screen, attrListDbl);                     
    if (vi == NULL)                                                         
    {                                                                       
        vi = glXChooseVisual(display, screen, attrListSgl);                 
        doubleBuffered = False;                                             
        printf("singlebuffered rendering will be used, no doublebuffering available\n");
    }                                                                                   
    else                                                                               
    {                                                                                   
        doubleBuffered = True;                                                         
        printf("doublebuffered rendering available\n");                                 
    }                                                                                   
    glXQueryVersion(display, &glxMajor, &glxMinor);                                     
    printf("GLX-Version %d.%d\n", glxMajor, glxMinor);                                 
    /* create a GLX context */                                                         
    context = glXCreateContext(display, vi, 0, GL_TRUE);                               
    /* create a color map */                                                           
    cmap = XCreateColormap(display, RootWindow(display, vi->screen),                   
        vi->visual, AllocNone);                                                         
    winAttr.colormap = cmap;                                                           
    winAttr.border_pixel = 0;                                                           

    if (fullscreen)
    {             
        /* switch to fullscreen */
        XF86VidModeSwitchToMode(display, screen, modes[bestMode]);
        XF86VidModeSetViewPort(display, screen, 0, 0);           
        dpyWidth = modes[bestMode]->hdisplay;                     
        dpyHeight = modes[bestMode]->vdisplay;                   
        printf("resolution %dx%d\n", dpyWidth, dpyHeight);       
        XFree(modes);                                             

        /* set window attributes */
        winAttr.override_redirect = True;
        winAttr.event_mask = ExposureMask | KeyPressMask | ButtonPressMask |
            StructureNotifyMask;                                           
        window = XCreateWindow(display, RootWindow(display, vi->screen),   
            0, 0, dpyWidth, dpyHeight, 0, vi->depth, InputOutput, vi->visual,
            CWBorderPixel | CWColormap | CWEventMask | CWOverrideRedirect,   
            &winAttr);                                                       
        XWarpPointer(display, None, window, 0, 0, 0, 0, 0, 0);               
                XMapRaised(display, window);                                 
        XGrabKeyboard(display, window, True, GrabModeAsync,                 
            GrabModeAsync, CurrentTime);                                     
        XGrabPointer(display, window, True, ButtonPressMask,                 
            GrabModeAsync, GrabModeAsync, window, None, CurrentTime);       
    }                                                                       
    else                                                                     
    {                                                                       
        /* create a window in window mode*/                                 
        winAttr.event_mask = ExposureMask | KeyPressMask | ButtonPressMask |
            StructureNotifyMask;                                             
        window = XCreateWindow(display, RootWindow(display, vi->screen),     
            0, 0, width, height, 0, vi->depth, InputOutput, vi->visual,     
            CWBorderPixel | CWColormap | CWEventMask, &winAttr);             
        /* only set window title and handle wm_delete_events if in windowed mode */
        wmDelete = XInternAtom(display, "WM_DELETE_WINDOW", True);                 
        XSetWMProtocols(display, window, &wmDelete, 1);                           
        XSetStandardProperties(display, window, TITLE,                             
            TITLE, None, NULL, 0, NULL);                                           
        XMapRaised(display, window);                                               
    }                                                                             
    /* connect the glx-context to the window */                                   
    glXMakeCurrent(display, window, context);                                     
    if (glXIsDirect(display, context))                                             
        printf("DRI enabled\n");                                                   
    else                                                                           
        printf("no DRI available\n");                                             
    initGL();                                                                     
}                                                                                 

/*
* destroy the window
*/                 
void destroyWindow()
{                   
    if( context )   
    {               
        if( !glXMakeCurrent(display, None, NULL))
        {                                       
            printf("Could not release drawing context.\n");
        }                                                 
        /* destroy the context */                         
        glXDestroyContext(display, context);               
        context = NULL;                                   
    }                                                     
    /* switch back to original desktop resolution if we were in fullscreen */
    if( fullscreen )                                                         
    {                                                                       
        XF86VidModeSwitchToMode(display, screen, &desktopMode);             
        XF86VidModeSetViewPort(display, screen, 0, 0);                       
    }                                                                       
    XCloseDisplay(display);                                                 
}                                                                           

void resizeGL(unsigned int width, unsigned int height)
{                                                     
    /* prevent divide-by-zero */                     
    if (height == 0)                                 
        height = 1;                                   
    glViewport(0, 0, width, height);                 
    glMatrixMode(GL_PROJECTION);                     
    glLoadIdentity();                                 
    gluPerspective(45.0f, (GLfloat)width / (GLfloat)height, 0.1f, 100.0f);
    glMatrixMode(GL_MODELVIEW);                                           
}                                                                         

void initGL()
{           
    glShadeModel(GL_SMOOTH);
    glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
    glClearDepth(1.0f);                 
    glEnable(GL_DEPTH_TEST);             
    glDepthFunc(GL_LEQUAL);             
    glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
    /* we use resizeGL once to set up our initial perspective */
    resizeGL(width, height);                                   
    /* Reset the rotation angle of our object */               
    rotQuad = 0;                                               
    glFlush();                                                 
}                                                               

void renderGL()
{             
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glLoadIdentity();                                 
    glTranslatef(0.0f, 0.0f, -7.0f);                   
    glRotatef(rotQuad, 1.0f, 0.5f, 0.25f);             
    glBegin(GL_QUADS);                                 
        /* top of cube */                             
        glColor3f(0.0f, 1.0f, 0.0f);                   
        glVertex3f(1.0f, 1.0f, -1.0f);                 
        glVertex3f(-1.0f, 1.0f, -1.0f);               
        glVertex3f(-1.0f, 1.0f, 1.0f);                 
        glVertex3f(1.0f, 1.0f, 1.0f);                 
        /* bottom of cube */                           
        glColor3f(1.0f, 0.5f, 0.0f);                   
        glVertex3f(1.0f, -1.0f, 1.0f);                 
        glVertex3f(-1.0f, -1.0f, 1.0f);               
        glVertex3f(-1.0f, -1.0f, -1.0f);               
        glVertex3f(1.0f, -1.0f, -1.0f);               
        /* front of cube */                           
        glColor3f(1.0f, 0.0f, 0.0f);                   
        glVertex3f(1.0f, 1.0f, 1.0f);                 
        glVertex3f(-1.0f, 1.0f, 1.0f);                 
        glVertex3f(-1.0f, -1.0f, 1.0f);               
        glVertex3f(1.0f, -1.0f, 1.0f);                 
        /* back of cube */                             
        glColor3f(1.0f, 1.0f, 0.0f);                   
        glVertex3f(-1.0f, 1.0f, -1.0f);               
        glVertex3f(1.0f, 1.0f, -1.0f);                 
        glVertex3f(1.0f, -1.0f, -1.0f);               
        glVertex3f(-1.0f, -1.0f, -1.0f);               
        /* right side of cube */                       
        glColor3f(1.0f, 0.0f, 1.0f);                   
        glVertex3f(1.0f, 1.0f, -1.0f);                 
        glVertex3f(1.0f, 1.0f, 1.0f);                 
        glVertex3f(1.0f, -1.0f, 1.0f);                 
        glVertex3f(1.0f, -1.0f, -1.0f);               
        /* left side of cube */                       
        glColor3f(0.0f, 1.0f, 1.0f);                   
        glVertex3f(-1.0f, 1.0f, 1.0f);                 
        glVertex3f(-1.0f, 1.0f, -1.0f);               
        glVertex3f(-1.0f, -1.0f, -1.0f);               
        glVertex3f(-1.0f, -1.0f, 1.0f);               
    glEnd();                                           
    rotQuad += 0.1f;                                   
    /* swap the buffers if we have doublebuffered */   
    if (doubleBuffered)                               
    {                                                 
        glXSwapBuffers(display, window);               
    }                                                 
}                                                     

int main(int argc, char ** argv)
{                               
    XEvent event;               
    Bool done = False;         

    width = WIDTH;
    height = HEIGHT;

    createWindow();

    /* wait for events and eat up cpu. ;-) */
    while (!done)                           
    {                                       
        /* handle the events in the queue */
        while (XPending(display) > 0)       
        {                                   
            XNextEvent(display, &event);     
            switch (event.type)             
            {                               
                case Expose:                 
                        if (event.xexpose.count != 0)
                            break;                   
                    renderGL();                     
                        break;                       
                    case ConfigureNotify:           
                    /* call resizeGL only if our window-size changed */
                        if ((event.xconfigure.width != GLWin.width) ||
                            (event.xconfigure.height != GLWin.height))
                        {
                            width = event.xconfigure.width;
                            height = event.xconfigure.height;
                            resizeGL(width, height);
                        }
                        break;
                /* exit in case of a mouse button press */
                case ButtonPress:
                    done = True;
                    break;
                case KeyPress:
                    if (XLookupKeysym(&event.xkey, 0) == XK_Escape)
                    {
                        done = True;
                    }
                    if (XLookupKeysym(&event.xkey,0) == XK_F1)
                    {
                        destroyWindow();
                        fullscreen = !fullscreen;
                        createWindow();
                    }
                    break;
                case ClientMessage:
                    if (strcmp(XGetAtomName(display, event.xclient.message_type),
                               "WM_PROTOCOLS") == 0)
                    {
                        done = True;
                    }
                    break;
                default:
                    break;
            }
        }
        renderGL();
    }

    destroyWindow();

    return 0;
}
_________________
Se nel forum sono attivo vuol dire che al lavoro sto facendo documentazione.
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: lun lug 04, 2011 12:27 pm 
Schiavo
Avatar utente
Iscritto il: gio lug 15, 2010 7:35 pm
Messaggi: 5339
Località: Tua madre succhia i cazzi all'inferno, idiota
Codice:
fatal error: X11/X.h: File o directory non esistente
compilation terminated.

:yuno: work?
_________________
Long Live Iran
Immagine
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: lun lug 04, 2011 12:38 pm 
Schiavo
Avatar utente
Iscritto il: lun lug 19, 2010 6:08 pm
Messaggi: 7370
Località: Smileland (già Crucconia)
Aldin ? ha scritto:
Codice:
fatal error: X11/X.h: File o directory non esistente
compilation terminated.

:yuno: work?

Primo: mettere lingua INGLESE (con Linux lo puoi fare e in 5 secondi, non è Windows) così, in caso di errore, googli e lo trovi risolto in altri 5 secondi.

Secondo: cazzo ma l'ABC !!! X è il sistema grafico di Linux, vuoi programmare le opengl e non sai manco qual'è l'ambiente grafico su cui lavori ?

Terzo: googlare l'errore e imparare a risolvere i semplici problemi è troppo difficile ? hint goggle: x11 x.h missing file

Su Linux funziona sempre così: se hai una libreria libGoofy che ti serve in real time fai
sudo apt-get install libGoofy
se ti serve per compilare:
sudo apt-get install libGoofy-dev

Se vuoi ti dico quale libreria ti manca (in verità gli header files non la libreria) ma dovresti imparare a risolverli i problemi (anche solo googlando) non solo a chiedere la soluzione pronta :challenge:
_________________
Se nel forum sono attivo vuol dire che al lavoro sto facendo documentazione.


Ultima modifica di trallallero, lun lug 04, 2011 12:42 pm, modificato 1 volta.
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: lun lug 04, 2011 12:39 pm 
Schiavo
Avatar utente
Iscritto il: lun lug 19, 2010 6:08 pm
Messaggi: 7370
Località: Smileland (già Crucconia)
E poi che sistema hai ? :lnrg:

Mezzo inglese - mezzo italiano ?
_________________
Se nel forum sono attivo vuol dire che al lavoro sto facendo documentazione.
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: lun lug 04, 2011 12:43 pm 
Schiavo
Avatar utente
Iscritto il: gio lug 15, 2010 7:35 pm
Messaggi: 5339
Località: Tua madre succhia i cazzi all'inferno, idiota
Ecco perché, nell'installazione dei pacchetti mi da questo errore:
Impossibile trovare il pacchetto libgl1-mesa :pua:
Neppure scaricando con il gestore dei pacchetti tutto quello che trovo riesce a risolvere.

Non ho idea di cosa stai dicendo e non so cosa sia un server grafico :challenge:
_________________
Long Live Iran
Immagine
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: lun lug 04, 2011 12:52 pm 
Schiavo
Avatar utente
Iscritto il: lun lug 19, 2010 6:08 pm
Messaggi: 7370
Località: Smileland (già Crucconia)
sicuramente per il X.h ti serve questo:
Cita:
sudo apt-get install libx11-dev


e prova questo:
Cita:
sudo apt-get install libgl1-mesa-dev
_________________
Se nel forum sono attivo vuol dire che al lavoro sto facendo documentazione.
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: lun lug 04, 2011 12:57 pm 
Schiavo
Avatar utente
Iscritto il: gio lug 15, 2010 7:35 pm
Messaggi: 5339
Località: Tua madre succhia i cazzi all'inferno, idiota
Ma non ho nemmeno GLU :wat:
Ora dice:
C:7: fatal error: GL/glu.h: File o directory non esistente
compilation terminated

Ho provato a cambiare lingua ma si vede che vuole il riavvio.
_________________
Long Live Iran
Immagine
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: lun lug 04, 2011 12:59 pm 
Schiavo
Avatar utente
Iscritto il: lun lug 19, 2010 6:08 pm
Messaggi: 7370
Località: Smileland (già Crucconia)
Aldin ? ha scritto:
Ma non ho nemmeno GLU :wat:
Ora dice:
C:7: fatal error: GL/glu.h: File o directory non esistente
compilation terminated

Ho provato a cambiare lingua ma si vede che vuole il riavvio.

:yuno: sudo apt-get install libglu-dev
_________________
Se nel forum sono attivo vuol dire che al lavoro sto facendo documentazione.
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: Librerie grafiche
MessaggioInviato: lun lug 04, 2011 1:01 pm 
Schiavo
Avatar utente
Iscritto il: lun lug 19, 2010 6:08 pm
Messaggi: 7370
Località: Smileland (già Crucconia)
Per la cronaca, ho googlato "fatal error: GL/glu.h:" e nel PRIMO SITO ho trovato la soluzione
_________________
Se nel forum sono attivo vuol dire che al lavoro sto facendo documentazione.
Top
 Profilo E-mail Non connesso  
 
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento  [ 55 messaggi ]  Vai alla pagina 1, 2, 3  Prossimo
-->

Tutti gli orari sono UTC +1 ora


Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Vai a:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduzione Italiana phpBB.it