All tutorials in one place.

Saturday, July 2, 2016

3. Perdorimi i Primitivave Gjeometrike, vizatimi i pare ne OpenGL

Format themelore si pika,vija,rrethi, etj. jane quajtur primitivat gjeometrike. Per te ndertuar nje pike perdorim funksionin: glVertex{2,3,4} {s,I,d,f} , perdorim rastet 2,3,4 per te treguar sa kordinata do percaktojne kulmin, dhe perdorim s,I,d,f per tipet e numrave perkatesisht short, integer,double dhe floating-point.
Psh: glVertex2f(1.0,2.0) i referohet 1 pike ne sistemin kordinativ ne kordinatat (1.0,2.0).

Per ti treguar OpenGL te gjitha primitivat qe ne do te perdorim gjate ndertimit duhet ti vendosim ato brenda dy komandave glBegin() dhe glEnd(). Parametri qe kalohet brenda glBegin() tregon llojin  e primitives qe do perdorim per vizatim. Per te vizatuar pika perdoret  GL_POINTS. Per te bashkuar cdo dy pika te njepasnjeshme me vija perdoret GL_LINES, per te bashkuar te gjitha pikat ne nje vije te thyer jo te mbyllur perdoret GL_LINE_STRIP, per te bashkuar te gjitha pikat me nje vije te thyer te mbyllur perdoret GL_LINE_LOOP, per te bashkuiar cdo kater pika ne nje katerkendesh perdoret GL_QUADS e keshtu me radhe.
Ushtrim:
Shembulli i meposhtem vizaton 4 pika me ngjyra te ndryshme dhe me distance (10,10) nga cepat e dritares.

#include<Windows.h>
#include<gl\glut.h>
void Display(void)
{
  glClear(GL_COLOR_BUFFER_BIT);
  glBegin(GL_POINTS);
  glColor3f(0.0,0.0,0.0); //percaktojme ngjyren e pikes te jete e zeze
  glVertex2f(10.,10.); //ndertojme piken
  glColor3f(0.0,1.0,0.0); //percaktojme ngjyren e pikes te jete e gjelber
  glVertex2f(10.,110.); //vizatojme piken
  glColor3f(0.0,0.0,1.0);
  glVertex2f(150.,110);
  glColor3f(0.0,1.0,1.0);
  glVertex2f(150.,10);
  glEnd();
  glFlush();

}
void init()
{
  glClearColor(1.0,0.0,0.0,1.0); //percaktojme qe dritarja te jete me ngjyre te kuqe
  glPointSize(5.0); //percaktojme madhesine e pikave 5 pixela
  glViewport(0,0,320,240);
  gluOrtho2D(0.0,160.0,0.0,120.0);
}
int main(int argc, char* argv[])
{
  glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
  glutInitWindowSize(320,240);
  glutCreateWindow("Kater Pika");
  init();
  glutDisplayFunc(Display);
  glutMainLoop();
}
Rezultati i ekzekutimit te shembullit
te mesiperm:

Share:

0 comments:

Post a Comment

Popular Posts

Categories

Tutorials House. Powered by Blogger.

Labels