Seversintabi.com Türkiye'nin En Büyük Forumu Bence Seversin Tabi

Seversintabi.com Türkiye'nin En Büyük Forumu Bence Seversin Tabi (https://seversintabi.com/)
-   Programlama Ve Tasarım (https://seversintabi.com/programlama-ve-tasarim/)
-   -   Visual C++ ile OpenGl kullanarak PolyLine Çizdirme (https://seversintabi.com/programlama-ve-tasarim/6903-visual-c-ile-opengl-kullanarak-polyline-cizdirme.html)

ceyLin 16 November 2008 20:06

Visual C++ ile OpenGl kullanarak PolyLine Çizdirme
 
Visual C++ ile OpenGl kullanarak PolyLine çizdirme Mouse ile hareket ettirerek PolyLine çizdirme#include <GL/glut.h>
GLsizei winWidth=400,winHeight=300;
GLint endPtCtr=0;
class scrPt{
public:
GLint x,y;
};
void init(void){
glClearColor(0.0,0.0,1.0,1.0);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(0.0,200.0,0.0,150.0);
}
void displayFcn(void){
glClear(GL_COLOR_BUFFER_BIT);
}
void winReshapeFcn(GLint newWidth,GLint newHeight){
glViewport(0,0,newWidth,newHeight);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0,GLdouble (newWidth),0.0,GLdouble (newHeight));
winWidth=newWidth;
winHeight=newHeight;
}
void drawLineSegment(scrPt endPt1,scrPt endPt2){
glBegin(GL_LINES);
glVertex2i(endPt1.x,endPt1.y);
glVertex2i(endPt2.x,endPt2.y);
glEnd();
}
void polyline(GLint button,GLint action,GLint xMouse,GLint yMouse){
static scrPt endPt1,endPt2;
if(endPtCtr==0){
if(button==GLUT_LEFT_BUTTON && action==GLUT_DOWN){
endPt1.x=xMouse;
endPt1.y=winHeight-yMouse;

endPtCtr=1;
}
else
if(button==GLUT_RIGHT_BUTTON)
exit(0);
}
else
if(button==GLUT_LEFT_BUTTON && action==GLUT_DOWN){
endPt2.x=xMouse;
endPt2.y=winHeight-yMouse;
drawLineSegment(endPt1,endPt2);
endPt1=endPt2;
}
else
if(button==GLUT_RIGHT_BUTTON)
exit(0);
glutSwapBuffers();
}



int main(int argc, char ** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize(winWidth,winHeight);
glutInitWindowPosition(100, 100);
glutCreateWindow("PolyLine Çiz");
init();
glutDisplayFunc(displayFcn);
glutReshapeFunc(winReshapeFcn);
glutMouseFunc(polyline);
glutMainLoop();
return 0;
}

ALINTIDIR.


Saat: 15:23

Telif Hakları vBulletin® v3.8.9 Copyright ©2000 - 2024, ve
Jelsoft Enterprises Ltd.'e Aittir.


Search Engine Friendly URLs by vBSEO 3.6.0 PL2