hapesiren fizike te dritares. Ne kete rast perdorim nje transformim
nga sistemi koordinativ I perdorur nga aplikacioni ne kordinatat fizike te dritares.
Ky
transfromim eshte I bazuar ne clipping area, madhesine fizike te dritares dhe nga viewport. Viewport percakton hapesiren e dritares qe perdoret aktualisht nga aplikacioni.
Le te
praktikojme tani shembullin tone te pare ne OpenGL.
Shembulli i meposhtem paraqet nje dritare me permasa
320 me 240 pixela me nje background me ngjyre te kuqe. Ne vendosim clipping area te filloje nga (0,0) deri ne (160,120).
Viewport-in e kemi percaktuar qe te zere te gjithe hapesiren e dritares 320 me 240 pixela. Keto percaktime qe kemi vendosur do te thote qe rritja me nje kordinate ne aplikacionin tone do te shkaktoje rritjen me 2 pixela ne sistemin kordinativ fizik. (dritarja e aplilacionit (0,0) deri (160,120), dritarja fizike (0,0) deri ne (320,240)). Sidoqofte vetem1\4 e dritares eshte e zene nga aplikacioni.
#include<Windows.h>
#include<gl\glut.h>
void Display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
//fshin ekranin qe ishte vizatuar me pare
glFlush(); //detyron te gjitha komandat e meparshme te fillojne ekzekutimin
}
void init(void)
{
glClearColor(1.0,0.0,0.0,1.0); //vendosim ngjyren e kuqe per dritaren
glViewport(0,0,320,240); //vendosim madhesine e viewport sa madhesia e dritares
gluOrtho2D(0.0,160.0,0.0,120.0);
//vendosim hapesiren 2D te vizatimit(clipping area)
}
int main(int args,char* argv[])
{
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
//percakton 1 buffer te vetem dhe ngjyrat RGB
glutInitWindowSize(320,240); //percakton madhesine e dritares
glutCreateWindow("Dritarja ime e pare"); //percakton titullin e dritares
init();
glutDisplayFunc(Display); //therret funksionin Display te ndertuar me siper
glutMainLoop();
}
Rezultati I shembullit te mesiperm:
Jane dy librari qe duhen perfshire:
#include<Windows.h> eshte nje librari qe importohet gjithmone ne rastin e aplikacioneve te dritareve.
#include<gl\glut.h> duhet importuar sepse permban te gjitha funksionet e librarise GLUT te nevojshme per realizimin e aplikacionit.
0 comments:
Post a Comment