Файл: графическая библиотека opengl.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.06.2020

Просмотров: 1698

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 96

 

Эти

 

команды

 

строят

 

икосаэдр

 

или

 

его

 

каркас

радиус

 

описанной

 

вокруг

 

него

 

сферы

 

равен

 1. 

Для

 

корректного

 

построения

 

перечисленных

 

примитивов

 

необходимо

 

удалять

 

невидимые

 

линии

 

и

 

поверхности

для

 

чего

 

надо

 

включить

 

соответствующий

 

режим

 

вызовом

 

команды

 

glEnable

(GL_DEPTH_TEST)

.   

 


background image

 97

Приложение

 C.  

 

Настройка

 

приложений

 OpenGL 

C.1. 

Создание

 

приложения

 

в

 

среде

 Borland C++ 

5.02 

Вначале

   

необходимо

 

обеспечить

 

наличие

 

файлов

 glut.h, glut32.lib, 

glut32.dll 

в

 

каталогах

 BorlandC\Include\Gl, BorlandC\Lib, 

Windows\System 

соответственно

Также

 

в

 

этих

 

каталогах

 

надо

 

проверить

 

наличие

 

файлов

 gl.h, glu.h, opengl32.lib, glu32.lib, opengl32.dll, 

glu32.dll, 

которые

 

обычно

 

входят

 

в

 

состав

 BorlandC++ 

и

 Windows. 

При

 

этом

 

надо

 

учитывать

что

 

версии

 Microsoft 

файлов

 opengl32.lib, 

glu32.lib, glut32.lib 

для

 Borland C++ 

не

 

подходят

и

 

следует

 

использовать

 

только

 

совместимые

 

версии

Чтобы

 

создать

 

такие

 

версии

надо

 

использовать

 

стандартную

 

программу

 ‘implib’, 

которая

 

находится

 

в

 

каталоге

 BorlandC\Bin. 

Для

 

этого

 

надо

 

выполнить

 

команды

 

вида

 

implib  BorlandC\Lib\filename.lib  filename.dll 
 

для

 

перечисленных

 

файлов

которые

 

создают

 

нужный

 *.lib 

файл

 

из

 

соответствующего

 *.dll 

файла

Кроме

 

того

надо

 

отметить

что

 

компилятор

 BorlandC 

не

 

может

 

по

 

неизвестным

 

причинам

 

использовать

 

файл

 glaux.lib, 

входящий

 

в

 

состав

 BorlandC++5.02, 

при

 

компиляции

 

приложения

использующего

 

библиотеку

 GLAUX, 

поэтому

 

возможно

 

от

 

этой

 

библиотеки

 

придется

 

отказаться

Для

 

создания

 

приложения

 

надо

 

выполнить

 

следующие

 

действия

 

Создание

 

проекта

для

 

этого

 

надо

 

выбрать

 

Project

New Project

 

и

 

заполнить

 

поля

 

в

 

окне

 

Target Expert

 

следующим

 

образом

в

 

поле

 

Platform

 

выбрать

 Win32, 

в

 

поле

 

Taget Model

 

выбрать

 

С

onsole

нажать

 

Advanced

 

и

 

отменить

 

выбор

 

пунктов

 ‘ *.rc ‘  

и

 ‘ *.def ‘. 

 

Подключить

 

к

 

проекту

 

библиотеки

 OpenGL. 

Для

 

этого

 

надо

 

выбрать

 

в

 

окне

 

проекта

 

название

 

исполняемого

 

файла

 

проекта

 

(*.exe)  

и

нажав

 

правую

 

кнопку

 

мыши

выбрать

 

в

 

контекстном

 

меню

 

пункт

 

Add node

Затем

   

надо

 

определить

 

положение

 

файлов

 

opengl32.lib, glu32.lib, glut32.lib. 


background image

 98

 

Для

 

компиляции

 

выбрать

 

Project

Build All

для

 

выполнения

 – 

Debug

Run

.  

C.2. 

Создание

 

приложения

 

в

 

среде

 MS Visual C++ 

6.0 

Перед

 

началом

 

работы

 

необходимо

 

скопировать

 

файлы

 glut.h, 

glut32.lib glut32.dll 

в

 

каталоги

 MSVC\Include\Gl, MSVC\Lib, 

Windows\System 

соответственно

Также

 

в

 

этих

 

каталогах

 

надо

 

проверить

 

наличие

 

файлов

 gl.h, glu.h, opengl32.lib, glu32.lib, opengl32.dll, 

glu32.dll, 

которые

 

обычно

 

входят

 

в

 

состав

 Visual C++ 

и

 Windows. 

При

 

использовании

 

команд

 

из

 

библиотеки

 GLAUX 

к

   

перечисленным

 

файлам

 

надо

 

добавить

 glaux.h, glaux.lib.  

Для

 

создания

 

приложения

 

надо

 

выполнить

 

следующие

 

действия

 

Создание

 

проекта

для

 

этого

 

надо

 

выбрать

 

File

New

Projects

Win32 Console Application

набрать

 

имя

 

проекта

,  OK. 

 

В

 

появившемся

 

окне

 

выбрать

 ‘

An empty project

’, Finish,OK. 

 

Текст

 

программы

 

можно

 

либо

 

разместить

 

в

 

созданном

 

текстовом

 

файле

       (

выбрав

 

File

New

Files

Text File

), 

либо

 

добавиьб

 

файл

 

с

 

расширением

 *.c 

или

 *.cpp 

в

 

проект

  (

выбрав

 

Project

Add To 

Project

Files

). 

 

Подключить

 

к

 

проекту

 

библиотеки

 OpenGL. 

Для

 

этого

 

надо

 

выбрать

 

Project

Settings

Link

 

и

 

в

 

поле

 

Object/library modules

 

набрать

 

названия

 

нужных

 

библиотек

: opengl32.lib, glu32.lib, 

glut32.lib 

и

если

 

надо

, glaux.lib. 

 

Для

 

компиляции

 

выбрать

 

Build

Build program.exe

для

 

выполнения

 

– 

Build

Execute program.exe

 

Чтобы

 

при

 

запуске

 

не

 

появлялось

 

текстовое

 

окно

надо

 

выбрать

 

Project

Settings

Link

 

и

 

в

 

поле

 

Project Options

 

вместо

 

‘subsystem:console’ 

набрать

 ‘subsystem:windows’,  

и

 

набрать

 

там

 

же

 

строку

 ‘/entry:mainCRTStartup’ 

 

Когда

 

программа

 

готова

рекомендуется

 

перекомпилировать

 

ее

 

в

 

режиме

 ‘Release’ 

для

 

оптимизации

 

по

 

быстродействию

 

и

 

объему

Для

 

этого

 

сначала

 

надо

 

выбрать

 

Build

Set Active Configuration…

 

и

 

отметить

 ‘…-Win32 Release’, 

а

 

затем

 

заново

 

подключить

 

необходимые

 

библиотеки

.

 


background image

 99

C.3. 

Создание

 

приложения

 

в

 

среде

 Borland C++ 

Builder 6. 

Перед

 

началом

 

работы

 

необходимо

 

скопировать

 

файлы

 glut.h, 

glut32.lib glut32.dll 

в

 

каталоги

 CBuilder6\Include\Gl, CBuilder6\Lib, 

Windows\System 

соответственно

Также

 

в

 

этих

 

каталогах

 

надо

 

проверить

 

наличие

 

файлов

 gl.h, glu.h, opengl32.lib, glu32.lib, opengl32.dll, 

glu32.dll, 

которые

 

обычно

 

входят

 

в

 

состав

 Borland C++ 

и

 Windows.  

При

 

этом

 

надо

 

учитывать

что

 

версии

 Microsoft 

файла

 glut32.lib 

для

 

Borland C++ Builder 6 

не

 

подходят

и

 

следует

 

использовать

 

только

 

совместимую

 

версию

Чтобы

 

создать

 

такую

 

версию

надо

 

использовать

 

стандартную

 

программу

 ‘implib’, 

которая

 

находится

 

в

 

каталоге

 

С

Builder6\Bin. 

Для

 

этого

 

надо

 

выполнить

 

команду

 

implib  glut32.lib  glut32.dll 
 

которая

 

создает

 

нужный

 lib-

файл

 

из

 

соответствующего

 dll-

файла

Для

 

создания

 

приложения

 

надо

 

выполнить

 

следующие

 

действия

 

Создание

 

проекта

для

 

этого

 

надо

 

выбрать

 

File

New

Other

Console Wizard

, OK. 

 

В

 

появившемся

 

окне

 

выбрать

 Source Type – 

С

++, Console 

Application, 

сбросить

 

опции

 ‘Use VCL’, ‘Use CLX’, ‘Multi Threaded’. 

Нажать

 

ОК

 

Текст

 

программы

 

можно

 

либо

 

разместить

 

в

 

созданном

 

текстовом

 

файле

либо

 

удалить

 

его

 

из

 

проекта

 (

Project

Remove From Project

и

 

добавить

 

файл

 

с

 

расширением

 *.c 

или

 *.cpp 

в

 

проект

  (

выбрав

 

Project

Add To Project

). 

 

Сохраните

 

созданный

 

проект

 

в

 

желаемом

 

каталоге

  (

выбрав

 

File

Save All

). 

 

Подключить

 

к

 

проекту

 

библиотеку

 GLUT. 

Для

 

этого

 

надо

 

выбрать

 

Project

Add To Project 

 

и

 

добавить

 

файл

 glut32.lib 

 

Для

 

компиляции

 

выбрать

 

Project

Build …

для

 

выполнения

 – 

Run

Run

 

Когда

 

программа

 

готова

рекомендуется

 

перекомпилировать

 

ее

 

в

 

режиме

 ‘Release’ 

для

 

оптимизации

 

по

 

быстродействию

 

и

 

объему

Для

 

этого

 

сначала

 

надо

 

выбрать

 

Project

Options

Compiler 

 

и

 

нажать

 

кнопку

 ‘Release’.

 


background image

 100

Приложение

 D.  

 

Демонстрационные

 

программы

 

 

D.1. 

Пример

 1: 

Простое

 GLUT-

приложение

 

Этот

 

простой

 

пример

 

предназначен

 

для

 

демонстрации

 

структуры

 

GLUT-

приложения

 

и

 

простейших

 

основ

 OpenGL. 

Результатом

 

работы

 

программы

 

является

 

случайный

 

набор

 

цветных

 

прямоугольников

который

 

меняется

 

при

 

нажатии

 

левой

 

кнопки

 

мыши

С

 

помощью

 

правой

 

кнопки

 

мыши

 

можно

 

менять

 

режим

 

заливки

 

прямоугольников

 
#include <stdlib.h> 
#include <gl/glut.h> 
 
#ifdef random 
#undef random 
#endif 
 
#define random(m) (float)rand()*m/RAND_MAX 
 
/* 

ширина

 

и

 

высота

 

окна

 */ 

GLint Width = 512, Height = 512; 
/* 

число

 

прямоугольников

 

в

 

окне

 */ 

int   Times = 100; 

/* 

с

 

заполнением

 ?*/ 

int   FillFlag  = 1; 
 
long  Seed = 0; 
 
/* 

функция

 

отображает

 

прямоугольник

 */ 

void 
DrawRect( float x1, float y1, float x2, float y2, 
          int FillFlag ) 

  glBegin(FillFlag ? GL_QUADS : GL_LINE_LOOP); 
  glVertex2f(x1, y1); 
  glVertex2f(x2, y1);