All tutorials in one place.

Saturday, July 2, 2016

2. Programi i pare ne OpenGL

Per te kuptuar ndertimin e programit te pare ne OpenGL se pari duhet te shikojme funksionet baze qe realizojne funksionimin e programit, te perceptojme hapesiren e vizatimit te objekteve, pamjen e syrit si ajo shfaqet ne ekran dhe dritaren e programit, ne menyre qe vizatimi te shfaqet i plote para perdoruesit.
Ne figurenparaqitur me siper boxhti I X-ve merr vlera nga -80 ne 80, ndersa boshti I Y-ve merr vlera nga -60 ne 60. Ky seksion do te quhet clipping area dhe kesaj zone do ti referohemi gjate ndertimeve ne aplikacionin tone. Ne shumicen e aplikacioneve, clipping area nuk perputhet me
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 kuqeNe 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.

Share:

0 comments:

Post a Comment

Popular Posts

Categories

Tutorials House. Powered by Blogger.

Labels