offline
- Vertices
- Ugledni građanin
- Pridružio: 10 Dec 2005
- Poruke: 355
|
Ovako:
1 korak:
Znaci u folderu, "PlatfornSDK\\include\gl" mi se nalazi sledece:
gl.h
glaux.h
glu.h
glut.h
2 korak:
Znaci u folderu, "WIndows\system" mi se nalazi sledece:
glu32.dll
glut32.dll
opengl32.dll
3 korak:
Znaci u folderu, "PlatformSDK\Lib" mi se nalazi sledece:
glu32.lib
glut32.lib
opengl32.lib
Jel ovo dobro do sada?
OVO NE ZNAM
Kreiranje .lib fajlova kod Borlandovog kompajlera se postize komandom implib [imefajla].lib [imefajla].dll (koju naravno treba ukucati u command promptu).
Generalno, treba otkucati sledece ako koristite Borlandov kompajler:
implib opengl32.lib opengl32.dll
implib glu32.lib glu32.dll
implib glut32.lib glut32.dll
Kada pravite ove .lib fajlove, vodite racuna da vam .dll fajlovi (koje navodite) budu u direktorijumu u kojem se nalazite. Fajlove opengl32.dll i glu32.dll imate u sistemskom direktorijumu Windowsa, pa ili ih iskopirajte u direktorijum u kome se nalazite, ili u komandoj liniji navedite putanju do DLLa (ovako: implib glu32.lib c:\windows\system32\glu32.dll). Fajl glut32.dll imate u onom GLUT-ovom ZIP fajlu koji ste skinuli...
Kreirane .lib fajlove zatim treba iskopirati u /lib direktorijum vaseg kompajlera (putanja je skoro ista kao do /include, samo sto se ne zavrsava sa /include nego sa /lib).
Verovatno je i kod ostalih kompajlera slican postupak kreiranja .lib fajla (mozda cak i potpuno isti).
----------------- 4. korak -----------------
Svo 'spremanje kompajlera' je gotovo, i sada treba videti kako izgleda jedan OpenGL program:
Citat:
#if (defined(__WIN32__) || defined(WIN32))
#include <windows.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
GLfloat boja1[] = { 0.3, 0.7, 0.0, 1.0 };
GLfloat boja2[] = { 0.0, 0.2, 0.8, 1.0 };
float i=0;
void draw(void)
{
i++;
if (i>360) i=0;
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glTranslatef (0, 0, 50);
glMaterialfv(GL_FRONT, GL_DIFFUSE, boja1);
glBegin (GL_QUADS);
glTexCoord2f (0.0,0.0);
glVertex3f (-10.0, -10.0, 20.0);
glTexCoord2f (1.0, 0.0);
glVertex3f (10.0, -10.0, 35.0);
glTexCoord2f (1.0, 1.0);
glVertex3f (10.0, 10.0, 0.0);
glTexCoord2f (0.0, 1.0);
glVertex3f (-10.0, 10.0, 0.0);
glEnd ();
glPopMatrix();
glPushMatrix();
glTranslatef (0, 0, 50);
glRotatef(i, 1, 0, 0);
glRotatef(i, 0, 1, 0);
glMaterialfv(GL_FRONT, GL_DIFFUSE, boja2);
glutSolidTorus (1, 3, 3, 3);
glPopMatrix();
glutSwapBuffers();
}
void light (void)
{
GLfloat light_position[] = { 1.0, 1.0, 1.0, 0.0 };
glLightfv (GL_LIGHT0, GL_POSITION, light_position);
glEnable (GL_LIGHTING);
glEnable (GL_LIGHT0);
glEnable(GL_DEPTH_TEST);
}
void reshape (int width, int height)
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0f, (GLfloat)width/(GLfloat)height, 1.0f, 1000.0f);
gluLookAt(0, 0, -1, 0, 0, 0, 0, 1.0, 0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void keyboard(unsigned char key, int x, int y)
{
switch (key) {
case 27:
exit(0);
break;
}
}
int main(int argc, char* argv[]) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE |GLUT_RGB|GLUT_DEPTH);
glutEnterGameMode();
glutDisplayFunc(draw);
glutSetCursor(GLUT_CURSOR_NONE);
reshape(640,480);
light();
glutKeyboardFunc(keyboard);
glutIdleFunc(draw);
glutMainLoop();
return 0;
|