Записки программиста Программирование и не только

20Сен/090

Минимальное OpenGL приложение

По лабораторным в институте должен быть OpenGL. Решил попробовать заранее и был неприятно удивлен отсутсвием полного описания как всё-таки скомпилировать программу (самих исходников вагон и маленькая тележка). Тем более под VS2008.

Трудности разрешил успешно :)

Необходимые библиотеки: gllib.rar

Установка библиотек (компилятор Visual Studio 2008 Express):

Файлы gl.h, glut.h и glu.h положит в папку include/GL компилятора (<папка, куда установлена студия>/VC/include/GL)

Файл glut32.lib – в папку lib (<папка, куда установлена студия>/VC/lib)

Файл glut32.dll – в папку C:/Windows/System

Запуск и настройка проекта:

Запускаем студию. Нажимаем File/New/Project…

Раздел Win32. Тип проекта Win32Project. Пишем имя проекта и нажимаем Ok.

create_project_1

В мастере создания проекта нажимаем Next, выбираем Windows Application и ставим галку на Empty Project.

create_project_2

Кликаем правой кнопкой по разделу Source File -> Add/New Item

cfg_project_1

Выбираем C++ File (.cpp) и называем его main

cfg_project_2

Заходим в свойства проекта – Alt+P P

cfg_project_3

Выбираем Configuration Properties -> Linker -> Input и в поле Additional Dependencies нажимаем троеточие и вписываем glut32.lib и opengl32.lib

cfg_project_4 cfg_project_5

Идем в Configuration Properties -> Linker -> Advanced и в поле Entry Point вписываем main

cfg_project_6

Всё (для компиляции отладочной версии. Опции для компиляции Релиза опишу когда будет что Релизить :) )

Осталось вставить код описаный ниже в файл main.cpp и можно запускать. Должно появиться черное окошко с заголовком Demo.

Исходный код:

#include "gl/glut.h" 	//подключаем библиотеку

void Display()			//функция в которой будем рисовать (писать копанды на отрисовку)
{
	glFlush();			//говорит адаптеру, что пора бы уже вывести то, что нарисовали
}

int main()
{
	glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);	//выставляем режимы отображения информации
							//GLUT_RGB Режим RGB. Используется по умолчанию.
							//GLUT_SINGLE Окно с одиночным буфером.
	glutInitWindowSize(800, 600);			//размер окна (ширина, высота)
	glutInitWindowPosition(0,0);			//координаты верхнего левого угла окна
	glutCreateWindow("Demo");			//создаём окно с заголовком Demo
	glutDisplayFunc(Display);			//определяет функцию, в которой мы и будем рисовать
	glutMainLoop();					//запуск основного цикла программы
	return 0;
}
Комментарии (0) Пинги (0)

Пока нет комментариев.


Leave a comment

Trackbacks are disabled.