Come iniziare a studiare informatica grafica?

Henry90

Utente Attivo
426
6
CPU
AMD Ryzen 7 2700X
Scheda Madre
Asrock X470 Taichi
HDD
Samsung 970 EVO 500GB
RAM
Corsair DDR4 Vengeance LPX 2x16GB 3200
GPU
Gigabyte GeForce RTX 2070 WINDFORCE 8G
Monitor
LG UltraGear 27GP850P-B
PSU
Corsair RM750x PSU
Case
Fractal Design Define R6 Black - Tempered glass
OS
Windows10
no no io l'ho preso copiato e incollato qui direttamente dal terminale!
 

Henry90

Utente Attivo
426
6
CPU
AMD Ryzen 7 2700X
Scheda Madre
Asrock X470 Taichi
HDD
Samsung 970 EVO 500GB
RAM
Corsair DDR4 Vengeance LPX 2x16GB 3200
GPU
Gigabyte GeForce RTX 2070 WINDFORCE 8G
Monitor
LG UltraGear 27GP850P-B
PSU
Corsair RM750x PSU
Case
Fractal Design Define R6 Black - Tempered glass
OS
Windows10
aaaaaaa tu dici direttamente nel codice!!!!! infatti ho cambiato!! ma pensa che quell'esempio l'avevo proprio preso dal libro!!! vedo se parte ora!
 

Henry90

Utente Attivo
426
6
CPU
AMD Ryzen 7 2700X
Scheda Madre
Asrock X470 Taichi
HDD
Samsung 970 EVO 500GB
RAM
Corsair DDR4 Vengeance LPX 2x16GB 3200
GPU
Gigabyte GeForce RTX 2070 WINDFORCE 8G
Monitor
LG UltraGear 27GP850P-B
PSU
Corsair RM750x PSU
Case
Fractal Design Define R6 Black - Tempered glass
OS
Windows10
allora quel programmino di prima ho capito che era un esempio stupido e generale senza rispettare sintassi e niente per far capire un minimo come funzionava.. ho trovato questo secondo esempio.. non mi arrendo fino a quando almeno uno non riesco a compilare!! c'è un nome specifico che dare al file quando salvo? ad esempio in java il nome del file deve essere lo stesso di quello della classe.. qui?

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

void display(void)
{
/* clear all pixels */
glClear (GL_COLOR_BUFFER_BIT);

/* draw white polygon (rectangle) with corners at
* (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0)
*/
glColor3f (1.0, 1.0, 1.0);
glBegin(GL_POLYGON);
glVertex3f (0.25, 0.25, 0.0);
glVertex3f (0.75, 0.25, 0.0);
glVertex3f (0.75, 0.75, 0.0);
glVertex3f (0.25, 0.75, 0.0);
glEnd();

/* don't wait!
* start processing buffered OpenGL routines
*/
glFlush ();
}

void init (void)
{
/* select clearing (background) color */
glClearColor (0.0, 0.0, 0.0, 0.0);

/* initialize viewing values */
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}

/*
* Declare initial window size, position, and display mode
* (single buffer and RGBA). Open window with “hello”
* in its title bar. Call initialization routines.
* Register callback function to display graphics.
* Enter main loop and process events.
*/
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (250, 250);
glutInitWindowPosition (100, 100);
glutCreateWindow (“hello”);
init ();
glutDisplayFunc(display);
glutMainLoop();
return 0; /* ISO C requires main to return int. */
}
 

pabloski

Utente Èlite
2,868
916
no nessun nome specifico, basta che termini con .c

ad esempio l'esempio che hai postato l'ho chiamato a.c e l'ho compilato così

gcc -o a a.c -lGL -lGLU -lglut

occhio ai nomi delle librerie che sono sempre case-sensitive....gl e glu si trovano in /usr/lib/ligGL.so e /usr/lib/libGLU.so mentre glut si chiama /usr/lib/libglut.so

comunque le librerie stanno tutte nella directory /usr/lib mentre gli header in /usr/include/GL

detto questo, il programma compilato disegna un quadrato bianco
 

Henry90

Utente Attivo
426
6
CPU
AMD Ryzen 7 2700X
Scheda Madre
Asrock X470 Taichi
HDD
Samsung 970 EVO 500GB
RAM
Corsair DDR4 Vengeance LPX 2x16GB 3200
GPU
Gigabyte GeForce RTX 2070 WINDFORCE 8G
Monitor
LG UltraGear 27GP850P-B
PSU
Corsair RM750x PSU
Case
Fractal Design Define R6 Black - Tempered glass
OS
Windows10
parli del codice subito qui sopra?
 

Henry90

Utente Attivo
426
6
CPU
AMD Ryzen 7 2700X
Scheda Madre
Asrock X470 Taichi
HDD
Samsung 970 EVO 500GB
RAM
Corsair DDR4 Vengeance LPX 2x16GB 3200
GPU
Gigabyte GeForce RTX 2070 WINDFORCE 8G
Monitor
LG UltraGear 27GP850P-B
PSU
Corsair RM750x PSU
Case
Fractal Design Define R6 Black - Tempered glass
OS
Windows10
niente... lo salvo come prova.c .. da terminale mi metto nella cartella dove si trova il file e come comando do:
gcc prova.c -0 prova2 -IGL -IGLU -Iglut

ma mi da questi errori:
prova.c: In function ‘main’:
prova.c:50: error: stray ‘\342’ in program
prova.c:50: error: stray ‘\200’ in program
prova.c:50: error: stray ‘\234’ in program
prova.c:50: error: stray ‘\342’ in program
prova.c:50: error: stray ‘\200’ in program
prova.c:50: error: stray ‘\235’ in program
prova.c:50: error: ‘hello’ undeclared (first use in this function)
prova.c:50: error: (Each undeclared identifier is reported only once
prova.c:50: error: for each function it appears in.)
 

pabloski

Utente Èlite
2,868
916
ma questo è un problema di editing....hai fatto copia/incolla?

così facendo hai copiato un simbolo che somiglia a " ma non lo è

alla riga 50 dove sta hello cancella quelle due pseudo-virgolette e mettici quelle vere
 

Henry90

Utente Attivo
426
6
CPU
AMD Ryzen 7 2700X
Scheda Madre
Asrock X470 Taichi
HDD
Samsung 970 EVO 500GB
RAM
Corsair DDR4 Vengeance LPX 2x16GB 3200
GPU
Gigabyte GeForce RTX 2070 WINDFORCE 8G
Monitor
LG UltraGear 27GP850P-B
PSU
Corsair RM750x PSU
Case
Fractal Design Define R6 Black - Tempered glass
OS
Windows10
grandissimo! sono uno scemo -.- problema (almeno quello) tolto.. prossimo step quando do la linea di compilazione mi da il seguente errore (chissà se finiremo mai xD):

/tmp/ccu8blrR.o: In function `display':
prova.c:(.text+0xe): undefined reference to `glClear'
prova.c:(.text+0x2d): undefined reference to `glColor3f'
prova.c:(.text+0x39): undefined reference to `glBegin'
prova.c:(.text+0x58): undefined reference to `glVertex3f'
prova.c:(.text+0x77): undefined reference to `glVertex3f'
prova.c:(.text+0x96): undefined reference to `glVertex3f'
prova.c:(.text+0xb5): undefined reference to `glVertex3f'
prova.c:(.text+0xba): undefined reference to `glEnd'
prova.c:(.text+0xbf): undefined reference to `glFlush'
/tmp/ccu8blrR.o: In function `init':
prova.c:(.text+0xef): undefined reference to `glClearColor'
prova.c:(.text+0xfb): undefined reference to `glMatrixMode'
prova.c:(.text+0x100): undefined reference to `glLoadIdentity'
prova.c:(.text+0x12a): undefined reference to `glOrtho'
/tmp/ccu8blrR.o: In function `main':
prova.c:(.text+0x147): undefined reference to `glutInit'
prova.c:(.text+0x153): undefined reference to `glutInitDisplayMode'
prova.c:(.text+0x167): undefined reference to `glutInitWindowSize'
prova.c:(.text+0x17b): undefined reference to `glutInitWindowPosition'
prova.c:(.text+0x187): undefined reference to `glutCreateWindow'
prova.c:(.text+0x198): undefined reference to `glutDisplayFunc'
prova.c:(.text+0x19d): undefined reference to `glutMainLoop'
collect2: ld returned 1 exit status
 

pabloski

Utente Èlite
2,868
916
dice che non trova quelle funzioni, cioè le librerie non ci sono

a questo punto verifica che in /usr/lib ci siano libGL.so, libGLU.so e libglut.so
 

Henry90

Utente Attivo
426
6
CPU
AMD Ryzen 7 2700X
Scheda Madre
Asrock X470 Taichi
HDD
Samsung 970 EVO 500GB
RAM
Corsair DDR4 Vengeance LPX 2x16GB 3200
GPU
Gigabyte GeForce RTX 2070 WINDFORCE 8G
Monitor
LG UltraGear 27GP850P-B
PSU
Corsair RM750x PSU
Case
Fractal Design Define R6 Black - Tempered glass
OS
Windows10
si ci sono tutte e 3:( l'unica particolarità è che sulla libGL.so c'è una piccola croce sull'angolo in alto a destra e su tutte le altre no.. cosa significa?
 

pabloski

Utente Èlite
2,868
916
sarà un artefatto di nautilus

comunque sia hai usato -lGL -lGLU e -lglut ? ovviamente le maiuscole contano

inoltre controlla che in /usr/include/GL ci siano gl.h, glu.h e glut.h
 

Henry90

Utente Attivo
426
6
CPU
AMD Ryzen 7 2700X
Scheda Madre
Asrock X470 Taichi
HDD
Samsung 970 EVO 500GB
RAM
Corsair DDR4 Vengeance LPX 2x16GB 3200
GPU
Gigabyte GeForce RTX 2070 WINDFORCE 8G
Monitor
LG UltraGear 27GP850P-B
PSU
Corsair RM750x PSU
Case
Fractal Design Define R6 Black - Tempered glass
OS
Windows10
si le maiuscole le ho messe.. niente.. ho controllato anche la presenza degli header e ci sono..
 

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili