You are on page 1of 13

PRAVOUGLI TROUGAO RGB

#include <windows.h>
#include <GL/glut.h>
void init()
{
glClearColor(1.0,1.0,1.0,1.0); // definira boju pozadine prozora
(platna)
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0,0,1,0,0,-1,0,1,0); // definira tacku pogleda kamere
}
void prikazi()
{
glClear(GL_COLOR_BUFFER_BIT); // cisti buffer boje
//glShadeModel(GL_FLAT); // definira model sjencenja, defaultna
vrijednost je GL_SMOOTH
glBegin(GL_TRIANGLES);
glColor3f(1.0,0.0,0.0); CRVENA BOJA PRVE TACKE
glVertex2f(0.0,0.0);
glColor3f(0.0,1.0,0.0);GREEN DRUGE TACKE
glVertex2f(0.5,0.0);
glColor3f(0.0,0.0,1.0);BLUE TRECE TACKE
glVertex2f(0.0,0.5);
glEnd();
glFlush(); // forsira izvrsavanje GL naredbi u konacnom vremenu
}
int main(int argc, char **argv)
{
glutInit(&argc,argv); // inicijalizacija GLUT-a
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); // postavlja pocetni
prikazni nacin rada
glutInitWindowSize(400,400); // definira velicinu prozora u pikselima
glutInitWindowPosition(50,100); // definira rastojanje gornjeg lijevog
ugla prozora od gornjeg lijevog ugla ekrana
glutCreateWindow("Raznobojni pravougli trougao"); // kreira prozor s
navedenim naslovom
glutDisplayFunc(prikazi); // postavlja display callback za trenutni
prozor
init();
glutMainLoop(); // ulazi u petlju za obradu dogadjaja
return 0;
}

pravougli_trougao_s_gluLookAt.c
#include <windows.h>
#include <GL/glut.h>
void inicijaliziraj()
{
glClearColor(1.0,1.0,1.0,1.0);
glColor3f(0.0,0.0,1.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0,0.25,1,0,0,-5,0,1,0);
}
void prikazi()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glVertex2d(-0.5,-0.5);
glVertex2d(0.5,-0.5);
glVertex2d(-0.5,0.5);
glEnd();
glFlush();
}
int main(int argc, char ** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(400,600);
glutInitWindowPosition(50,50);
glutCreateWindow("Pravougli trougao, uz gluLookAt");
glutDisplayFunc(prikazi);
inicijaliziraj();
glutMainLoop();
return 0;
}

pravougli_trougao.c
#include <windows.h>
#include <GL/glut.h>
void inicijaliziraj()
{
glClearColor(1.0,1.0,1.0,0.0);
glColor3f(0.0,0.0,1.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void prikazi()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glVertex2d(-0.5,-0.5);
glVertex2d(0.5,-0.5);
glVertex2d(-0.5,0.5);
glEnd();
glFlush();
}
int main(int argc, char ** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(400,600);
glutInitWindowPosition(50,50);
glutCreateWindow("Pravougli trougao");
glutDisplayFunc(prikazi);
inicijaliziraj();
glutMainLoop();
return 0;
}

CAJNIK
#include <windows.h>
#include <GL/glut.h>
void init()
{
glClearColor(1.0,1.0,1.0,1.0); // definira boju pozadine prozora
(platna)
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0,0,5,0,0,-1,0,1,0); // definira tacku pogleda kamere
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(145,16/9,5,100);
}
void prikazi()
{
glClear(GL_COLOR_BUFFER_BIT); // cisti buffer boje
glLoadIdentity();
glColor3f(1.0,0.0,0.0);
glutWireTeapot(0.25);
glLoadIdentity();
glColor3f(0.0,1.0,0.0);
glTranslatef(0.0,0.5,0.0);
glutWireTeapot(0.25);
glLoadIdentity();
glColor3f(0.0,0.0,1.0);
glTranslatef(0.0,-0.5,0.0);
glRotatef(135,0,0,1);
glutWireTeapot(0.25);
glFlush(); // forsira izvrsavanje GL naredbi u konacnom vremenu
}
int main(int argc, char **argv)
{
glutInit(&argc,argv); // inicijalizacija GLUT-a
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); // postavlja pocetni
prikazni nacin rada
glutInitWindowSize(400,400); // definira velicinu prozora u pikselima
glutInitWindowPosition(50,100); // definira rastojanje gornjeg lijevog
ugla prozora od gornjeg lijevog ugla ekrana
glutCreateWindow("Raznobojni wireframe cajnici"); // kreira prozor s
navedenim naslovom
glutDisplayFunc(prikazi); // postavlja display callback za trenutni
prozor
init();
glutMainLoop(); // ulazi u petlju za obradu dogadjaja
return 0;
}

unakrsne_linije.c
* Ovaj program crta dvije unakrsne linije, crvene i zelene boje,
* razlicite debljine, u normaliziranom koordinatnom sistemu.
#include <windows.h>
#include <GL/glut.h>
void init()
{
glClearColor(1.0,1.0,1.0,1.0); // definira boju pozadine prozora
(platna)-bijela boja
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void prikazi() // display callback funkcija
{
glClear(GL_COLOR_BUFFER_BIT); // cisti buffer boje
glLineWidth(3.0);
glBegin(GL_LINES); // definira boju i "koordinate" prve linije
glColor3f(1.0,0.0,0.0);
glVertex2f(-0.5,-0.5);
glVertex2f(0.5,0.5);
glEnd();
glLineWidth(1.0);
glBegin(GL_LINES); // definira boju i "koordinate" druge linije
glColor3f(0.0,1.0,0.0);
glVertex2f(0.5,-0.5);
glVertex2f(-0.5,0.5);
glEnd();

glFlush(); // forsira izvrsavanje GL naredbi u konacnom vremenu


}
int main(int argc, char **argv)
{
glutInit(&argc,argv); // inicijalizacija GLUT-a
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); // postavlja pocetni
prikazni nacin rada
glutInitWindowSize(400,400); // definira velicinu prozora u pikselima,
sirina x visina prozora
glutInitWindowPosition(50,100); // definira rastojanje gornjeg lijevog
ugla prozora od gornjeg lijevog ugla ekrana
glutCreateWindow("Unakrsne linije"); // kreira prozor s naslovom
"Unakrsne linije"
glutDisplayFunc(prikazi); // registrira display callback funkciju za
trenutni prozor
init();
glutMainLoop(); // ulazi u petlju za obradu dogadjaja
return 0;
}

Bijeli Kvadrat na crvenoj pozadini


#include<windows.h>
#include<GL/glut.h>
void init()
{
glClearColor(1.0,0.0,0.0,1.0,) ; postavljanje boje pozadine
glColor 3f(1.0,1.0,1.0); boja objekta
glMatrixMode (GL.PROJECTION); aktivna matrica
glLoadIdentity()
glOrtho(-1.0,1.0,-1.0,1.0,.1.0,1.0); ortografska projekcija
}
void mydisplay()
{
glClear (GL_COLOR_BUFFER_BIT); praznjenje bafera boje
glBegin(GL_POLYGON) ; iscrtavanje kvadrata
glVertex 2f(-0.5,-0.5) ;crtanje tacaka
glVertex 2f(-0.5,0.5);
glVertex2f(o.5,0.5);
glVrtex(0.5,-0.5);
glEnd();
gl Flush();
}
Int main(int argc,char** argv)
glutInit(&argc,argv)
glInitDisplay Mode(GLUT_SINGLE\GLUT_RGB) inicijalizacija prikaza
glutInit WindowsSize(500,500) velicina prozora
glutInitWindowPosition(50,100); // definira
prozora od gornjeg lijevog ugla ekrana
glutCreateWindow("Unakrsne linije"); //
"Unakrsne linije"
glutDisplayFunc(prikazi); // registrira
trenutni prozor
init();
glutMainLoop(); // ulazi u petlju za obradu
return 0;}

rastojanje gornjeg lijevog ugla


kreira prozor s naslovom
display callback funkciju za

dogadjaja

Jednakostranicni trougao Zelena,crvena plava


#include<windows.h>
#include<GL/glut.h>
void init()
{
glClean(GL_COLO _BUFFER_BIT);
glTriangles(GL_FRONT,GL_FILL);
glBegin (GL_TRIANGLES);
glColor3f(0.0,1.0,0.0); zelena boja prve tacke
glVertex 2f(0.0,0.0);
glColor 3f(1.0,0.0,0.0,) ;crvena boja druge tacke
glVertex 2f (1.0,0.1);
glVertex 3f (0.0,0.0,1.0); plaba boja trece tacke
glVertex 2f(0.5,0.866);
glEnd;
glFlusch;
}
Int main(int argc,char **,argv);
glutInit(&argc,argv)
glutOrtho(-0.5,1.5,-0.5,1.5,-1,0,1.0) ortografska projekcija
glutInit WindowsSize(500,500) velicina prozora
glutInitWindowPosition(50,100); // definira rastojanje gornjeg lijevog ugla
prozora od gornjeg lijevog ugla ekrana
glutCreateWindow("Trougao"); // kreira prozor s naslovom "trougao
glutDisplayFunc(display); // registrira display callback funkciju za
trenutni prozor
glutKeyboardFunc(kbd); poziva fonc za tastaturu
init();
glutMainLoop(); // ulazi u petlju za obradu dogadjaja
return 0;}

voidkbd(unsign char
key int xint y
if key ==27
exit (0)

2 trougla jedan (lijevi) ispunjen


#include<windows.h>
#include<GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glPolygonMode(GL_FRONT,GL_POLYGON),-ispunjen trougao
glPolygonMode(GL_BACK,GL_LINE); NIJE ISPUNJEN LINIJE
glBegin(GL_TRIANGLES);
glColor 3f (1.0,0.0,0.0); boja linije
glVertex 2f(-2.0,-2.0); koordinate linija
glVertex 2f(-0.5,-2.0);
glVertex 2f(-0.5,2.0);
glColor 3f (0.0,0.0,1.0); boja linije
glVertex 2f(2.0,-2.0); koordinate linija
glVertex 2f(2.5,-2.0);
glVertex 2f(0.5,2.0);
glEnd;
glFlusch;
} Int main(int argc,char **,argv);
glutInit(&argc,argv)
GlutInit DisplayMode(GLUT_SINGLE\GLUT_RGB);
glutInitWindowPosition(50,100); // definira rastojanje gornjeg lijevog ugla
prozora od gornjeg lijevog ugla ekrana
glutCreateWindow("Trougao"); // kreira prozor s naslovom "trougao
glutDisplayFunc(display); // registrira display callback funkciju za
trenutni prozor
glutKeyboardFunc(kbd); poziva fonc za tastaturu
init();
glutMainLoop(); // ulazi u petlju za obradu dogadjaja
return 0;}

5 cajnika
#include<GL/glut.h>
Call back
Void display() {
glClear( GL_COLOR_BUFFER_BIT);
glClear(GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
gluLooktt(0.0,8.0,0.0,0.1,0);
//centralni cajnika
glTranslate f(00,0.0,3.0);
glutSolidTeapot(1.0);
glTranslate(2.0,2.0,-1.0);
//gornji desni cajnik
glutSolidTeapot(1.0);
//gornji lijevi cajnik
glTranslate(-4.0,0.0,-1.0);
glutSolidTeapot(1.0);
//donji lijevi cajnik
glTranslate(0.0,-4.0,-1.0);
glutSolidTeapot(1.0);
donji desni cajnik
glTranslate(4.0,0.0,-1.0)
glutSolidTeapot(1.0);
glFlush();
}
Calback f ja za tastaturu
void kbd (unsigned char key int x ,int y) }
switch( key) }
case 27 ;
exit 0
break

case o
case 0
glMatrixMode(GL_PROJECTION);
glLoadIdentity ();
glOrtho(-5,5-5,5.-10,10);
break;
case f
case F
glMatrixMode(GL_PROJECTION);
glLoadIdentity ();
glFrustum(-2,2-2,2,3.10)
break
glMatrixMode(GL_MODELVIEW);
GlutPostRodisplay();
Callback f-ja za promjenu velicine prozora
void reshape(GLint w,Gl int h)}
glWiev port(o,o,w,h)
//f-ja za inicijalizaciju sistema
Void init(){
glfloat light_position[]={0.0,0.0,6.0,0.0};
glfloat light _color[]={0.5,0.5,1.0,00};
glClearColor(0.0,0.0,0.0,0.0);
glShadeModel(GL_FLAT);
glLightfw(GL_LIGHTO,GL_POSITION,light position);
glLightfw(GL_LIGHTO,GL_DIFFUSE,light color);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHTO);
glColor 3f (1.0,1.0,1.0);
glMatrixMode(GL_PROJECTION);
glOrtho(-5.5-5,5,-10,10);
glMatrixMode(GL_MODELVIEW);

int main(int argc,char ,argv);


glut init (argc,argv);
glutWindowsSize(400,400);
glutInitDisplayMode(GLUT_SINGLE);
glutInitDisplayMode(GLUT_RGB);
glutInitDisplayMode(GLUT_DEPHT);
glutCreateWindow(Projekcije);
init()
glutDisplayFunc(Display);
glutKeyboardFunc(kbd);
glutReshapeFunc(reshape);
glutMainLoop();
}

KVADRAT TRANSFORMACIJA KVADRATA

#include<windows.h>
#include<GL/glut.h>
void display -kvadrat (void) }
glBegin(GL_POLYGON);
glVertex 2f(-1.0,-1.0);
glVertex 2f(1.0,-1.0);
glVertex 2f(1.0,1.0);
glVertex 2f(-1.0,1.0);
glEnd ()}
callBack f-ja za iszcrtavanje;
voidDisplay (void);
glClear( GL_COLOR_BUFFER_BIT);
glLoadIdentity;
glColor3f(-1.0,1.0,0.0)

macrtajKvadrat();
glColor3f(o.o,o.o.1.o);
glTranslate(0.0,0.0,1.0);
glRotate(54.0,0.0,0.0,1.0);
glScalef(1.0,1.5,1.0);
glNacrtaj kvadrat();
glFlush();}
f ja za inicijalizaciju sistema
void init()}
glClear Color(0.0,0.0,0.0,0.0);
glMatrixMode (GL_PROJECTION);
glShadeModel(GL_SHOOT);
glLoadIdentity();
glOrtho(-1.5,5,-2.5,2.5,-3.3);
glMatrixMode(GL_MODELVIEW);
int main(int argc,char ,argv);
glut init (argc,argv);
glutWindowsSize(400,400);
glutInitDisplayMode(GLUT_SINGLE);
glutInitDisplayMode(GLUT_RGB);
glutInitDisplayMode(GLUT_DEPHT);
glutCreateWindow(Transformacije);
init()
glutDisplayFunc(Display);
glutKeyboardFunc(kbd);
glutReshapeFunc(reshape);
glutMainLoop();
}

You might also like