Soft4Pc
Пятница, 10.05.2024, 21:06
Приветствую Вас Гость | RSS

Меню сайта


Adobe Photoshop [9]
Delphi [10]
Cisco [1]
Иностранные языки [1]
C# / C++ [0]

Интересные Ссылки

Последние статьи

Нестыковки "идеальной" игры
(Комментариев:0)


Критическая уязвимость в Adobe Reader
(Комментариев:5)


Советы по оптимизации Windows Vista
(Комментариев:2)


Десять причин, по которым Linux суждено одержать победу над Windows [Jack Wallen]
(Комментариев:0)


Десять непреложных законов безопасности
(Комментариев:0)


Два Windows на одном компьютере
(Комментариев:0)


Уменьшение времени загрузки программ в Windows
(Комментариев:0)


Наш опрос
Оцените мой сайт
Всего ответов: 25

FAQ (вопрос/ответ)
Как качать с Ifolder.Ru
Как качать с Letitbit
Как качать с UPLOADBOX.COM
Как качать с uploadbox.ru
Как качать с Rapidshare.com

Праздники сегодня
Праздники сегодня

Главная » Статьи » Обучение » Delphi

Урок 4. Типы OpenGL [Фрукт]
Библиотека OpenGL является переносимой по отношению к платформам, операционным системам и средам программирования.
Для обеспечения этой независимости в ней, в частности, определены собственные типы. Их префикс — "GL", например, GLint.
В каждой среде программирования в заголовочных файлах эти типы переопределяются согласно собственным типам среды. Разберем, как это делается в Delphi.

Заголовочный файл Delphi opengl.pas начинается с определения знакомого нам типа HGLRC:

type
HGLRC = THandle;

Далее следует описание всех остальных типов OpenGL, например, наиболее "ходовой" тип GLf loat соответствует типу single:

GLfloat = Single;

Но нe все из типов OpenGL удается точно перевести Например, GLclampf — вещественное число в пределах от нуля до единицы — в Delphi определен просто как single. Поэтому обычно в программах устанавливают "ручную" проверку на вхождение величины такого типа в требуемый диапазон.

Будьте внимательны с целыми числами: помимо типа GLint имеется тип GLuint — целое без знака, соответствующее типу cardinal.
В ряду типов OpenGL особо надо сказать о типе

GLboolean = BYTEBOOL;

Соответственно, определены две константы:
GL_FALSE  = 0; GLJTRUE  = 1;

Константы эти имеют непосредственное отношение к типу GLboolean, однако их значения не соответствуют типу BYTEBOOL. Из-за ошибки в описании типа (или определении констант) не удастся использовать стандартный для OpenGL код, поэтому вместо констант GL_FALSE и GLJTRUE будем использовать False и True, соответственно.
Конечно, можно самому скорректировать описание типа, например, так:

GLboolean =  0. .1;

После этой корректировки не придется отходить от стандарта кода графической библиотеки, но модифицировать стандартные модули Delphi нежелательно, иначе ваши проекты будут успешно компилироваться только на вашем рабочем месте.
Помимо основных типов, стандартных для OpenGL и вводимых в любой среде программирования, в заголовочном файле введены также типы, специфические только для Delphi, например, для наиболее часто употребляемых в OpenGL массивов введены специальные типы:

TGLArrayf4 = array [0..3] of GLFloat;
TGLArrayfS = array [0..2] of GLFloat;
TGLArrayi4 = array [0..3] of GLint;

Разработчикам также пришлось ввести специальные типы для указателей, например:

PGLfloat =    ^GLFloat;

Такого типа нет в стандартном наборе типов OpenGL: библиотека изначально создавалась на языке С, синтаксис которого хорошо приспособлен к использованию указателей, поэтому во введении особого типа для них просто не было необходимости.
Вообще, должен сказать, что OpenGL наиболее приспособлен для программирования на С, поэтому некоторые моменты будут вызывать некоторые неудобства при использовании Delphi
Категория: Delphi | Добавил: LimansK (09.09.2009)
Просмотров: 634 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Логин:
Пароль:

Реклама
Заработок на сайте uCoz

Web-IP.ru - Система Активной Рекламы

Контекстная Реклама на Link.ru

WMmail.ru - сервис почтовых рассылок



Graffiti Decorations(R) Studio (TM) Site Promoter

Первая бесплатная система раскрутки сайта

Последние файлы

Hamachi 2.0.1.66
(Комментариев:48)
(Загрузок:358)


Генератор Календарей 2.27
(Комментариев:3)
(Загрузок:289)


Desktop Icon Toy 4.0
(Комментариев:1)
(Загрузок:289)


Vista Codec Package 5.4.6
(Комментариев:1)
(Загрузок:261)


SnagIt_9.0.1.122_Rus
(Комментариев:1)
(Загрузок:351)


CleanCenter v.2.4.1.1
(Комментариев:1)
(Загрузок:1)


Arachnophilia 5.4.2382
(Комментариев:0)
(Загрузок:271)


GameGain 2 2.10
(Комментариев:0)
(Загрузок:282)


CDBurnerXP 4.2.6
(Комментариев:1)
(Загрузок:353)


EVEREST Ultimate Edition 5.30 Build 1900
(Комментариев:1)
(Загрузок:292)


Поиск по Сайту

Друзья сайта
  • Destination.ucoz.net

  • N.S.P. WMmail.ru - сервис почтовых рассылок
    hackersoft - ჰაკერული პროგრამები Этот сайт защищен «Site Guard»
         Обмен Ссылками

    Статистика
    Rambler's Top100
    CY and PR
    webgari.com Рейтинг сайтов
    Besucherzahler russian mail order brides
    счетчик посещений

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    Зарег. на сайте
    Всего: 25126
    Новых за месяц: 7
    Новых за неделю: 1
    Новых вчера: 0
    Новых сегодня: 0
    Из них
    Администраторов: 1
    Модераторов: 2
    Проверенных: 1
    Обычных юзеров: 25122

    Сегодня нас посетили :

    Soft4PC.3dn.ru © 2024
                                                     Все материалы размещенные на сайте пренадлежат их владельцам и предоставляются исключительно в ознакомительных целях. 
                                                    Администрация этого сайта не несет ответственность за использование материалов,ссылок и информации находящихся на этом сайте. 
                                                           !!! Все авторские права принадлежат только настоящим владельцам всех файлов которые публикуются на этом сайте!!!