Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <GL/gl.h>
- #include <GL/glut.h>
- void display(void)
- {
- /* clear all pixels */
- glClear (GL_COLOR_BUFFER_BIT);
- /* draw white polygon (rectangle) with corners at
- * (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0)
- */
- // Lab3 Task: Draw a line with edndpoints (100, 130) and (355, 450)
- glColor3f (1.0, 0.25, 1.0);
- int x1=100, y1=130, x2=355, y2=450;
- float dy,dx,step,x,y,k,Xin,Yin;
- dx=x2-x1;
- dy=y2-y1;
- if(abs(dx)> abs(dy))
- {
- step = abs(dx);
- }
- else
- step = abs(dy);
- Xin = dx/step;
- Yin = dy/step;
- x= x1;
- y=y1;
- glBegin(GL_POINTS);
- glVertex2i(x,y);
- glEnd();
- for (k=1 ;k<=step;k++)
- {
- x= x + Xin;
- y= y + Yin;
- glBegin(GL_POINTS);
- glVertex2i(x,y);
- glEnd();
- }
- /* don't wait!
- * start processing buffered OpenGL routines
- */
- glFlush ();
- }
- void init (void)
- {
- /* select clearing (background) color */
- glClearColor (0.0, 0.0, 0.0, 0.0);
- /* initialize viewing values */
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- // glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
- gluOrtho2D(0,600,0,600); //fix the windows size
- }
- /*
- * Declare initial window size, position, and display mode
- * (single buffer and RGBA). Open window with "hello"
- * in its title bar. Call initialization routines.
- * Register callback function to display graphics.
- * Enter main loop and process events.
- */
- int main(int argc, char** argv)
- {
- glutInit(&argc, argv);
- glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
- glutInitWindowSize (1000, 1000);
- glutInitWindowPosition (50, 50);
- glutCreateWindow ("172-15-9804");
- init ();
- glutDisplayFunc(display);
- glutMainLoop();
- return 0; /* ISO C requires main to return int. */
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement