МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра  ЗІ
Звіт до лабораторної роботи № 2
Примітиви OPENGL, основні прийоми побудови двовимірних об'єктів.
З дисципліни
“Програмування комп’ютерної графіки”
	Виконав ст. гр. УІ - 31
 
Перевірив:
 
Львів – 2011
Порядок виконання роботи
Мета роботи. 
Знайомство з примітивами OPENGL, призначеними для виведення крапок, ліній і багатокутників. Визначення кольору об'єктів. Різні способи замальовування об'єктів.
Завдання.
	 ( Варіант 3,рис. 2 )
Використовуючи примітиви бібліотек  намалювати фігуру, намальовану на 
рис.1.
 Для створення даного малюнку використаємо примітив для виведення ламаної лінії.
Текст програми
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Tao.OpenGl;
using Tao.FreeGlut;
using Tao.Platform.Windows;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            AnT.InitializeContexts();
                    }
        private void Form1_Load(object sender, EventArgs e)
        {
            Glut.glutInit();
            Glut.glutInitDisplayMode(Glut.GLUT_RGB | Glut.GLUT_DOUBLE | Glut.GLUT_DEPTH);
            Gl.glClearColor(255, 255, 255, 1);
            Gl.glViewport(0, 0, AnT.Width, AnT.Height);
            Gl.glMatrixMode(Gl.GL_PROJECTION);
            Gl.glLoadIdentity();
            if ((float)AnT.Width <= (float)AnT.Height)
            {
                Glu.gluOrtho2D(0.0, 25.0 * (float)AnT.Height / (float)AnT.Width, 0.0, 25.0);
            }
            else
            {
                Glu.gluOrtho2D(0.0, 20.0 * (float)AnT.Width / (float)AnT.Height, 0.0, 20.0);
            }
            Gl.glMatrixMode(Gl.GL_MODELVIEW);
            Gl.glLoadIdentity();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            Gl.glClear(Gl.GL_COLOR_BUFFER_BIT);
            Gl.glLoadIdentity();
            Gl.glColor3f(255, 0, 255);
            Gl.glBegin(Gl.GL_LINE_STRIP);
            Gl.glEnd();
            Gl.glFlush();
            AnT.Invalidate();
            Gl.glBegin(Gl.GL_LINE_STRIP);
            Gl.glEnd();
            Gl.glEnable(Gl.GL_LINE_SMOOTH);
            Gl.glBegin(Gl.GL_LINE_STRIP);
            Gl.glVertex2d(6, 12);
            Gl.glVertex2d(10, 19);
            Gl.glVertex2d(11, 2);
            Gl.glVertex2d(11, 14);
            Gl.glVertex2d(16, 14);
            Gl.glVertex2d(16, 19);
            Gl.glVertex2d(24, 5);
            Gl.glEnd();
            Gl.glDisable(Gl.GL_LINE_SMOOTH);
        }
        private void button3_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
        private void button2_Click(object sender, EventArgs e)
        {
        }
       
    }
}
Результат виконання програми
Натиснувши на кнопку “Візуалізувати” побудується малюнок.
Натиснувши на кнопку “Очистити” побудується малюнок зітреться. 
Натиснувши на кнопку “Вихід” Виконання програми завершиться.
Висновок
 На даній лабораторні роботі я ознайомився з примітивами OPENGL, призна-ченими для виведення крапок, ліній і багатокутників.