Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ІКТА
Кафедра Захист інформації
З В І Т
До лабораторної роботи №1
з курсу:
„ Програмування комп’ютерної графіки ”
на тему:
„ Створення проекту і підключення бібліотеки Tao OPENGL в С# ”
Львів – 2012
Мета роботи : створення програми-заготовки для роботи з бібліотекою openGL.
Завдання:
Програма, яка буде створена в результаті виконання даної лабораторної роботи, повинна здійснювати наступні дії: створювати порожнє вікно для графічного виводу засобами openGL; встановлювати всі необхідні параметри графічного виводу; реагувати на натиснення клавіші <ESC> для закриття вікна і завершення роботи. Для демонстрації графічного виводу в кінці лабораторної роботи у вікні буде побудовано деяке зображення.
Текст програми:
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 button1_Click(object sender, EventArgs e)
{
Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT);
Gl.glLoadIdentity();
Gl.glColor3f(0, 1.0f, 0);
Gl.glPushMatrix();
Gl.glTranslated(0, 0, -6);
Gl.glRotated(45, 1, 1, 0);
// будуємо ромбододекаедр с допомогою бібліотеки FreeGLUT
Glut.glutWireRhombicDodecahedron();
Gl.glPopMatrix();
Gl.glFlush();
AnT.Invalidate();
}
private void button3_Click(object sender, EventArgs e)
{
Application.Exit();
}
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();
Glu.gluPerspective(45, (float)AnT.Width / (float)AnT.Height, 0.1, 200);
Gl.glMatrixMode(Gl.GL_MODELVIEW);
Gl.glLoadIdentity();
// настройка параметрів візуалізації
Gl.glEnable(Gl.GL_DEPTH_TEST);
}
private void button2_Click(object sender, EventArgs e)
{
Gl.glClear(Gl.GL_COLOR_BUFFER_BIT);
Gl.glLoadIdentity();
Gl.glColor3f(1.0f, 1.0f, 1.0f);
Glut.glutWireRhombicDodecahedron();
Gl.glPopMatrix();
Gl.glFlush();
AnT.Invalidate();
}
}
}
Результат виконання програми
Коли натиснемо на кнопку “Візуалізація” отримаємо зображення:
/
Натиснувши на кнопку ”Очистити”
/
Натиснувши на кнопку “Вийти”, виконання програми завершиться.
Висновок:
На цій лабораторній роботі я навчився використовувати елементи бібліотеки OpenGl для побудови зображення.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!