Προς το περιεχόμενο

γραφικά C++ με glut


sp_steve

Προτεινόμενες αναρτήσεις

Δημοσ.

Θέλω να βάλω γραφικά σε έναν κώδικα και βρήκα σαν πρότυπο τον παρακάτω κώδικα

 

>#include <GL/glut.h>

void changeSize(int w, int h) {

// Prevent a divide by zero, when window is too short
// (you cant make a window of zero width).
if (h == 0)
	h = 1;

float ratio =  w * 1.0 / h;

// Use the Projection Matrix
glMatrixMode(GL_PROJECTION);

// Reset Matrix
glLoadIdentity();

// Set the viewport to be the entire window
glViewport(0, 0, w, h);

// Set the correct perspective.
gluPerspective(45.0f, ratio, 0.1f, 100.0f);

// Get Back to the Modelview
glMatrixMode(GL_MODELVIEW);
}

float angle = 0.0f;

void renderScene(void) {

// Clear Color and Depth Buffers
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

// Reset transformations
glLoadIdentity();
// Set the camera
gluLookAt(	0.0f, 0.0f, 10.0f,
			0.0f, 0.0f,  0.0f,
			0.0f, 1.0f,  0.0f);

glRotatef(angle, 0.0f, 1.0f, 0.0f);

glBegin(GL_TRIANGLES);
	glVertex3f(-2.0f,-2.0f, 0.0f);
	glVertex3f( 2.0f, 0.0f, 0.0);
	glVertex3f( 0.0f, 2.0f, 0.0);
glEnd();

angle+=0.1f;

glutSwapBuffers();
}

void main(int argc, char **argv) {

// init GLUT and create window
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(320,320);
glutCreateWindow("Lighthouse3D- GLUT Tutorial");

// register callbacks
glutDisplayFunc(renderScene);
glutReshapeFunc(changeSize);
glutIdleFunc(renderScene);

// enter GLUT event processing cycle
glutMainLoop();
}

 

Όταν κάνω όμως compile, μου λέει ότι η main πρέπει να επιστρέφει int. Μήπως ξέρετε να μου πείτε γιατί γίνεται αυτό?

  • Απαντ. 39
  • Δημ.
  • Τελ. απάντηση
Δημοσ.

με τι το κάνεις compile..? υπάρχει το glut εγκατεστημένο..?

 

Χρησιμοποιώ dev c++ και έχω κάνει εγκατάσταση το πακέτο του glut απο το update του προγράμματος...

Δημοσ.

ωραία έτσι πρέπει να το κάνεις. αυτό που θυμάμαι είναι οτι και εγώ είχα πρόβλημα όταν το είχα περάσει αλλα μετά που το έβγαλα και το ξαναέβαλα ήταν μια χαρά. το link error είναι για τα αρχεία του glut ?

Δημοσ.

ωραία έτσι πρέπει να το κάνεις. αυτό που θυμάμαι είναι οτι και εγώ είχα πρόβλημα όταν το είχα περάσει αλλα μετά που το έβγαλα και το ξαναέβαλα ήταν μια χαρά. το link error είναι για τα αρχεία του glut ?

 

Ναι μόνο για το glut...

Δημοσ.

αν πάς στο DevCpp φάκελο στο include/GL τι αρχεία έχει μέσα? εμένα έχει gl.h glu.h glut.h glext.h glutf90.h

 

στο update του devcpp έχει άλλο ενα glut (νομίζω λέγεται freeglut η κάτι παρόμοιο)... μόνο όταν πέρασα αυτό και μετά το έσβησα και μετά ξαναπέρασα το απλό glut μου είχε φτιάξει. δεν έχω ιδέα γιατι έγινε αυτό...

Δημοσ.

αν πάς στο DevCpp φάκελο στο include/GL τι αρχεία έχει μέσα? εμένα έχει gl.h glu.h glut.h glext.h glutf90.h

 

στο update του devcpp έχει άλλο ενα glut (νομίζω λέγεται freeglut η κάτι παρόμοιο)... μόνο όταν πέρασα αυτό και μετά το έσβησα και μετά ξαναπέρασα το απλό glut μου είχε φτιάξει. δεν έχω ιδέα γιατι έγινε αυτό...

 

 

Εμένα έχει gl.h glu.h glut.h glext.h . έχω περάσει το απλό glut. Μπορείς να μου κάνεις μια χάρη? αν γίνεται τρέξε το κώδικα που έχω δώσει παραπάνω γιατί νομίζω ότι εκεί υπάρχει το πρόβλημα... Να δώ αν δουλεύει σε σένα...

Δημοσ.

ναι και μένα τα ίδια βγάζει άρα είναι στον κώδικα το θέμα... μισό να το ψάξω και θα σου πώ τι φταίει

 

edit: χαχα.. αν σου πώ τι είναι θα τραβάς τα μαλλιά σου. πρέπει να κάνεις το project project της C όχι της C++... δηλαδή main.c

 

υ.γ πρόσφατα ασχολήθηκα με το θέμα γιατι το χρώσταγα στην σχολή (αιώνιος φοιτητής και εγώ) και έφτιαξα το παρακάτω project

 

οπότε αν μπορώ να βοηθήσω σε κάτι ρώτα με..

Δημοσ.

Το DevC++ είναι απαρχαιωμένο ρε παιδιά!!!

 

Τέσπα, χρησιμοποιεί MinGW το οποίο περιέχει μια παλιά έκδοση του GLUT κι ενδεχομένως να έχεις μπλέξει παλιά με καινούρια αρχεία.

 

Το αυθεντικό GLUT είναι έτσι κι αλλιώς εγκαταλελειμμένο, αλλά υπάρχουν τα OpenGlut και Freeglut τα οποία κρατάνε ζωντανό το project, με το Freeglut να είναι πιο ενημερωμένο και πιο "ζωντανό".

 

Δοκίμασε να το εγκαταστήσεις και να δουλεύεις με αυτό καλύτερα.

 

ΥΓ. Και ρε σεις παιδιά, έλεος με το DevC++, είναι abandonware!!! Υπάρχουν τόσα σύγχρονα IDE εκεί έξω... Eclipse, Netbeans, Code:Blocks.... αυτό το τελευταίο μου αρέσει καλύτερα από όλα εμένα, αν κι εγώ δεν χρησιμοποιώ IDE :lol: Έχω κατεβάσει κάτι add-ons κι έχω φτιάξει κάτι scriptakia και δουλεύω απευθείας μέσα από... Notepad++ :P

Δημοσ.

Λέει [Link Error] undefind reference to (...δεν βρίσκει μεθόδους και βιβλιοθήκες)

 

 

Βαλε τις βιβλιοθξκες στο linker (google για το πως μπαινουν στο dev-c++)

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...