|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bottegone (PT)
Messaggi: 978
|
[C] OpenGl
Ho dei problemi a fare un programmino semplice semplice sotto linux ecco il codice:
Codice:
#include <stdio.h>
#include <stdlib.h>
#include <GL/gl.h>
#include <GL/glx.h>
#include <GL/glu.h>
int main(){
glBegin( GL_LINES );
glEnd();
return 0;
}
Codice:
/tmp/ccAKxJLS.o: In function `main': open.c:(.text+0x24): undefined reference to `glBegin' open.c:(.text+0x29): undefined reference to `glEnd' collect2: ld returned 1 exit status Ciao e grazie
__________________
TC FUCKKKKKKKKKKKKKKKKKKKKKK | Pronto per il prossimo raduno, Oh YEAHHHH
|
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
gcc -lGL prova_opengl.c -o prova Per il momento dovrebbe bastare (per l'esempio che hai postato). Man mano che sviluppi con OpenGL, potrebbe poi essere necessario linkare altre librerie, sempre usando il parametro -l.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bottegone (PT)
Messaggi: 978
|
Con gcc -lGL nn funzionava, dopo un breve momento di panico sono caduto nel rapsus omicida provando tutte le combinazioni e prima di finire in paranoia ho trovato la soluzione.
gcc -lGLU prova_opengl.c -o prova funziona!!!!! Ciao e grazie PS di quali altre librerie potrei aver bisogno??
__________________
TC FUCKKKKKKKKKKKKKKKKKKKKKK | Pronto per il prossimo raduno, Oh YEAHHHH
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bottegone (PT)
Messaggi: 978
|
Finalmente sono riuscito a fare un programmino che per ora nn fa niente ma almeno sono riuscito a buttare giù un po' di dubbi. Il codice è in versione didattica(davvero commentato..)
Potreste guardarlo e dirmi se ci sono errori colossali o cmq se si può fare meglio Accetto tutti i commenti Codice:
#include <stdlib.h>
#include <GL/glut.h>
//programma base da implementare
int main( int argc , char *argv[] ){
//inizializzazione modalita video
glutInit( &argc , argv );
//scelgo la modalità di visualizzazione
glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH );
//creo la finestra
glutInitWindowSize( 500 , 500);
//posizionamento della finestra
//glutInitWindowPosition( 100 , 100 );
glutCreateWindow( "Titolo Finestra" );
//eventi ke vengono gestiti dalle OpenGL e vengono monitorati continuamente
//glutDisplayFunc(<procedura>); //nn può mancare è essenziale
//glutReshapeFunc(<procedura>); //viene chiamata al momento del resize della finestra argomenti: larghezza ,altezza
//glutMouseFunc(<procedura>); //viene chiamata alla pressione del mouse argomenti: bottone, stato(premuto o rilasciato) , posizioni del puntatore
//glutKeyboardFunc(<procedura>); //viene chiamata alla pressione di un tasto argomenti: carattere , posizione del mouse
//glutTimerFunc(<timeout>,<procedura>,<intero>); //viene chiamata ogni tot millisecondi
//abilitazioni grafiche
glEnable( GL_DEPTH_TEST );
glEnableClientState( GL_COLOR_ARRAY ); //abilitazione della gestione
glEnableClientState( GL_VERTEX_ARRAY ); //di array dei vertici, colori e normali
//dichiarazione array
//glVertexPointer( 3 , GL_FLOAT , 0 , <array> );
/* spiegazione:
arrays:
glVertexPointer: identifica quale e' l'array di vertici (quarto
argomento) e comunica che gli elementi di tale array sono triple
di numeri GL_FLOAT da individuarsi nella struttura dati array in
modo contiguo (0 valore di skip). Simili chiamate di
identificazione valgono per i colori e per le normali.
*/
//glColorPointer( 3 , GL_FLOAT , 0 , <array> );
glutMainLoop(); //ciclo ke viene eseguito fino a quando nn si verifica un segnale di kill
//se nn c'è una procedura come parametro resta in attesa degli eventi
return 0;
}
__________________
TC FUCKKKKKKKKKKKKKKKKKKKKKK | Pronto per il prossimo raduno, Oh YEAHHHH
|
|
|
|
|
|
#6 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7258
|
Quote:
)! quindi tanto vale iniziare il codice in C++ style che è un pò diverso da C style. comunque tanto sta a lui decidere, magari si vuole ammazzare di programmazione strutturata il fatto più che altro è che in giro trovi molto più materiale in C++ riguardo a queste cose. |
|
|
|
|
|
|
#8 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
|
Quote:
E' come dire che non puoi usare le liste perchè il linguaggio non le prevede di suo.
__________________
-> The Motherfucking Manifesto For Programming, Motherfuckers |
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bottegone (PT)
Messaggi: 978
|
Si ma io a scuola(superiori) programmo solo C e se gli porto un programma con le classi, cosa ke mi verrà spiegata il prossimo anno, nn so se sono molto contenti!!!!
Visto ke stò facendo un programma ke fa vedere un dado rotante a video mi basta il C x ora!!! Un altra domanda, come faccio ad applicare le texture al mio dado??? Ciao e grazie PS ops già visto x le texture, tutto sul sito!! Per altri dubbi vi chiederò!!
__________________
TC FUCKKKKKKKKKKKKKKKKKKKKKK | Pronto per il prossimo raduno, Oh YEAHHHH
|
|
|
|
|
|
#11 | ||
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7258
|
Quote:
Quote:
|
||
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7258
|
Quote:
ma secondo te conviene? il supporto agli oggetti nel linguaggio torna molto comodo qui (e penso che lo sai meglio di me |
|
|
|
|
|
|
#14 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
|
|
|
|
|
#15 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
|
|
|
|
|
#16 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
entrambe molto scomode ovviamente, ma come possibilità esistono sempre. |
|
|
|
|
|
|
#17 | |||
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7258
|
Quote:
mi sembra implicito che è un consiglio dettato dalla convenienza, mica ho detto che non si può fare programmi 3D in C Quote:
Quote:
comunque state perdendo il senso di quello che ho detto... se uno si mette a programmare roba grafica (soprattutto 3D) in C a voi non verrebbe voglia di consigliare un qualche linguaggio a oggetti? se poi DEVE usare C e fare un dado che ruota è un altro discorso, ma non lo sapevo prima. |
|||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:21.











)! quindi tanto vale iniziare il codice in C++ style che è un pò diverso da C style. comunque tanto sta a lui decidere, magari si vuole ammazzare di programmazione strutturata








