Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом приложении перечислены различия между OpenGL и IRIS GL. Для каждой разницы задан термин, за которым следует описание.
Срок | Описание |
---|---|
упаковка с накоплением | Операция буфера накопления OpenGL не определена, если значения компонентов превышают 1.0 или удаляются ниже 1.0. |
антиалиасированные линии | Степбли OpenGL антиализированные линии. IRIS GL не. |
дуга | OpenGL поддерживает дуги в своей служебной библиотеке. |
Списки атрибутов | Атрибуты, отправленные pushattributes IRIS GL, отличаются от любого из наборов атрибутов, отправленных OpenGL glPushAttrib. Так как все состояния OpenGL можно считывать обратно, однако вы можете реализовать любую нужную семантику push/pop с помощью OpenGL. |
автоматическое масштабирование текстур | Интерфейс текстур OpenGL не поддерживает автоматическое масштабирование изображений до двух измерений. Однако GLU поддерживает масштабирование изображений. |
bbox | OpenGL не поддерживает условное выполнение списков отображения. |
callfunc | OpenGL не поддерживает обратный вызов из списков отображения. Обратите внимание, что IRIS GL не поддерживает эту функцию, если клиент и сервер находятся на разных платформах. |
круг | OpenGL поддерживает круги с помощью GLU. В OpenGL как круги, так и дуги (диски и частичные диски) могут иметь отверстия. Кроме того, можно изменить подразделение примитивов в OpenGL, обычные поверхности которых доступны для освещения. |
Параметры очистки | OpenGL фактически очищает буферы. Он не применяет в настоящее время указанные операции пикселей, такие как смешивание и логика независимо от их режимов. Чтобы очистить такие функции, необходимо отобразить многоугольник размером окна. |
закрытые линии | OpenGL отрисовывает все псевдонимы одной ширины, так что привязочные линии не используют пиксели. Это означает, что последний пиксель независимой линии не рисуется. |
цвет/обычный флаг | Освещение OpenGL явно включено или отключено. Если он включен, он действует независимо от порядка, в котором указаны цвета и обычные значения. Невозможно включить или отключить освещение между командами OpenGL glBegin и glEnd. Чтобы отключить освещение между glBegin и glEnd, укажите нулевой внешний, диффузный и зрительный материал отражения, а затем задайте для материала нужный цвет. |
вогнутые многоугольники | Основной API OpenGL не обрабатывает вогнутые многоугольники, но GLU поддерживает разложение согнутых контуров, не пересекающихся в треугольники. Эти треугольники можно нарисовать немедленно или вернуть. |
текущий вычисляемый цвет | OpenGL не имеет эквивалента текущему вычисляемого цвета. Если вы используете OpenGL в качестве подсистемы освещения, вы можете использовать обратную связь для получения цветов, создаваемых вычислениями освещения. |
текущая позиция графики | OpenGL не поддерживает текущую позицию графики. Команды IRIS GL, зависящие от текущей графической позиции, например относительных линий и многоугольников, не включены в OpenGL. |
Кривые | OpenGL не поддерживает кривые IRIS GL. Рекомендуется использовать кривые NURBS. |
defs/binds | OpenGL не имеет понятия о материалах, световых или текстурных объектах; только свойства материала, света и текстуры. Вы можете использовать списки отображения для создания собственных объектов, однако. |
depthcue | OpenGL не поддерживает прямую поддержку подсказки глубины, но его поддержка тумана является более общей возможностью, которую можно легко использовать для эмуляции функции глубины IRIS GL. |
редактирование списка отображения | Списки отображения OpenGL не могут быть изменены и уничтожены. Так как можно указать имена отображаемых списков, однако можно переопределить отдельные списки отображения в иерархии. Списки отображения OpenGL предназначены для кэширования данных, а не для управления базами данных. Они гарантированно хранятся на сервере в клиентских или серверных средах, поэтому они не ограничиваются пропускной способностью сети во время выполнения. Списки отображения OpenGL можно вызывать между командами glBegin и glEnd, поэтому иерархию списков отображения можно сделать достаточно хорошо, чтобы ее можно было изменить. |
проверка ошибок | OpenGL проверяет наличие ошибок более тщательно, чем IRIS GL. Например, все функции OpenGL, которые не принимаются между glBegin и glEnd, обнаруживаются как ошибки и не имеют другого эффекта. |
значения возвращаемых ошибок | Когда команда OpenGL, возвращающая значение, обнаруживает ошибку, она всегда возвращает ноль. Команды OpenGL, возвращающие данные через переданные указатели, не изменяют содержимое массива, если обнаружена ошибка. |
побочные эффекты ошибок | Если команда OpenGL приводит к ошибке, его единственным побочным эффектом является обновление флага ошибки до соответствующего значения. Другие изменения состояния не вносятся. (Исключение — это ошибка OUT_OF_MEMORY, которая является неустранимой.) |
обратная связь | Обратная связь стандартизована в OpenGL, поэтому она не изменяется с компьютера на компьютер. |
шрифты и строки | OpenGL требует обработки глифов символов в виде отдельных списков отображения. Он предоставляет функцию вызова списка отображения, которая принимает список отображаемых имен списков, каждое имя, представленное как 1, 2 или 4 байта. Функция glCallLists добавляет отдельно указанное смещение к каждому отображаемого имени списка перед вызовом, что позволяет спискам отображаемых имен списков рассматриваться как строки. Этот механизм обеспечивает все функциональные возможности шрифтов IRIS GL и значительно больше. Например, символы, состоящие из треугольников, можно легко манипулировать. |
frontbuffer | IRIS GL имеет сложные правила для отрисовки в переднем буфере в одном режиме буфера. OpenGL обрабатывает отрисовку в передний буфер простым способом. |
полые многоугольники | Можно использовать емкость набора элементов OpenGL для отрисовки полых многоугольников. OpenGL не поддерживает другие средства для создания пустых многоугольников. |
Зацепирование индекса | По возможности OpenGL обрабатывает индексы цветов и элементов в виде битовых полей, а не чисел. Таким образом индексы маскируются, а не зажаты в поддерживаемый диапазон фреймбуфера. |
Целые цвета | Подписанные целочисленные компоненты цвета (красный, зеленый, синий или альфа)сопоставляются линейно с плавающей запятой, чтобы наиболее отрицательные целые числа сопоставлялись с 1,0 и наиболее положительным целым числом сопоставляется с 1,0. Это сопоставление возникает при указании цвета, прежде чем OpenGL заменяет текущий цвет. Неподписанные целочисленные компоненты цвета сопоставляются линейно с плавающей запятой, чтобы 0 сопоставлялось с 0,0 и самым большим целым числом сопоставляется с 1,0. Это сопоставление возникает при указании цвета, прежде чем OpenGL заменяет текущий цвет. |
целочисленные нормализации | Целые обычные компоненты сопоставляются так же, как и подписанные цветные компоненты. Самое отрицательное целое число сопоставляется с 1.0 и наиболее положительным целым числом сопоставляется с 1,0. фрагменты пикселей. Пиксели, рисуемые glDrawPixels или glCopyPixels, всегда растеризованы и преобразуются в фрагменты. Полученные фрагменты текстурируются, туманные, буферные глубины, смешанные и т. д., как если бы они были созданы из геометрических точек. Данные фрагмента, которые не предоставляются исходными пикселями, дополняются из текущей позиции растра. Например, пиксели RGBA принимают координаты растровой позиции Z и текстуры. Пиксели глубины принимают цвет положения растра и координаты текстуры. |
инвариантность | OpenGL гарантирует определенную согласованность, которую не поддерживает IRIS GL. Например, OpenGL гарантирует, что идентичные последовательности кода, отправленные в ту же систему, отличающиеся только в указанной функции смешивания, будут создавать те же фрагменты пикселей. (Однако фрагменты отличаются, если смешивание включено, а затем отключено.) |
уравнение освещения | Уравнение освещения OpenGL отличается немного от уравнения IRIS GL. OpenGL поддерживает отдельные аттенуации для каждого источника света, а не для всех источников света, таких как IRIS GL. OpenGL корректирует уравнение таким образом, чтобы внешний, диффузный и спектрулярный вклад освещения были все отметены. Кроме того, OpenGL позволяет указать отдельные цвета для окружающей среды, диффузной и спектрулярной интенсивности источников света, а также для внешнего, диффузного и зеркального отражения материалов. Все цвета света OpenGL и материала включают альфа- Установка зрительного экспонента к нулю не побеждает зрительного освещения в OpenGL. |
mapw | Служебные программы OpenGL поддерживают сопоставление координат объектов и окон. |
режим матрицы | Где функции орте IRIS GL, орт2, перспективы и окна работают на определенной матрице, все операции матрицы OpenGL работают с текущей матрицей. Все операции матрицы OpenGL, кроме glLoadIdentity и glLoadMatrix, умножают текущую матрицу, а не заменяют ее (как и орто, орт2, перспектива и окно в IRIS GL). |
mipmaps, автоматическое создание | Интерфейс текстур OpenGL не поддерживает автоматическое создание изображений mipmap. Однако GLU поддерживает автоматическое создание изображений MIP для текстур 1-D и 2-D. |
move/draw/pmove/pdraw/pclos | OpenGL поддерживает только графику стилей Begin/End, так как она не поддерживает текущую позицию графики. Спецификация скалярного параметра старых команд перемещения и рисования принимается OpenGL для всех связанных с вершинами команд, однако. |
Режим mprojection | IRIS GL не преобразует геометрию матрицы представления моделей в режиме матрицы проекции. OpenGL всегда преобразуется в представление модели и матрицу проекции независимо от режима матрицы. |
Рисование с несколькими буферами | OpenGL отрисовывает каждый буфер цвета по отдельности, а не вычисляет одно, новое, цветовое значение на основе содержимого одного буфера цвета и записывает его во все включенные буферы цветов, так как IRIS GL делает. |
NURBS | OpenGL поддерживает NURBS с сочетанием основных возможностей (оценщиков) и поддержки GLU. Поддерживаются все возможности IRIS GL NURBS. |
старый режим многоугольника | Псевдонимы многоугольников OpenGL всегда представляют собой примеры точек. Режим совместимости многоугольников IRIS GL, где пиксели за пределами периметра многоугольника включены в его растеризацию, не поддерживаются. Если код использует этот режим многоугольника, вероятно, он предназначен для прямоугольников. Старые прямоугольники режима многоугольника отображаются на один пиксель шире и выше. |
форматы упакованных цветов | OpenGL принимает цвета как 8-разрядные компоненты, но эти компоненты рассматриваются как массив байтов, а не как байты, упакованные в большие слова. Поощряя индексирование массивов, а не переключение, OpenGL способствует программированию endian-invariant. Так же, как IRIS GL принимает упакованные цвета для геометрической и пиксельной отрисовки, OpenGL принимает массивы компонентов цвета для геометрической и пиксельной отрисовки. |
Патчи | OpenGL не поддерживает исправления IRIS GL. |
цветовая маска записи для каждого бита | Наборы записей OpenGL для компонентов цвета позволяют или отключают изменения всего компонента (красный, зеленый, синий или альфа-формат), а не отдельные биты компонентов. Обратите внимание, что для индексов цветов и индексов элементов для каждого битового буфера записи поддерживаются как для индексов цветов, так и для индексов элементов. |
Маска записи для каждой битовой глубины | Пакеты записи OpenGL для компонентов глубины позволяют или отключают изменения всего компонента, а не отдельные биты компонента глубины. |
выбирать | Библиотека служебной программы OpenGL включает поддержку создания матрицы выбора. |
координаты пикселей | В OpenGL и IRIS GL источник системы координат окна находится в левом нижнем углу. OpenGL помещает источник в левый нижний угол этого пикселя, однако, в то время как IRIS GL помещает его в центр нижнего левого пикселя. |
масштабирование пикселей | Отрицательные коэффициенты масштабирования OpenGL отражают текущую позицию графики. IRIS GL не определяет операцию отрицательных факторов масштабирования, а вместо этого предоставляет RIGHT_TO_LEFT и TOP_TO_BOTTOM отражения pixmodes. Эти режимы отражения отражаются на месте, а не о текущей позиции растра. OpenGL не определяет режимы отражения. |
pixmode | Передача пикселей OpenGL работает с отдельными компонентами цвета, а не на упакованных группах четырех 8-разрядных компонентов, как и IRIS GL. Хотя OpenGL предоставляет значительно больше возможностей пикселей, чем IRIS GL, он не поддерживает упакованные конструкции цветов, и он не позволяет переназначать (красные на зеленые, красные и т. д.) во время операций копирования пикселей. |
polf/poly | OpenGL не обеспечивает прямую поддержку списков вершин, отличных от отображаемых списков. Однако функции, такие как polf и poly, можно легко реализовать с помощью API OpenGL. |
многоугольник спровоцирование вершин | Плоские теневые многоугольники IRIS GL принимают цвет последней вершины, в то время как многоугольники OpenGL принимают цвет первой вершины, указанной. |
многоугольник сиппли | При использовании IRIS GL шаблон многоугольника относительно экрана. При использовании OpenGL он относится к окну. |
количество вершин многоугольника | Нет ограничения на количество вершин между glBegin и glEnd с OpenGL, даже для glBegin(POLYGON). С IRIS GL многоугольники ограничены не более чем 255 вершинами. |
readdisplay | Чтение пикселей вне границ окна является правильной возможностью системы окна, а не возможностями отрисовки. Используйте функции Windows для замены команды IRIS GL readdisplay. |
относительный перемещение/рисование/pmove/pdraw/pclos | OpenGL не поддерживает текущую позицию графики, поэтому не поддерживает относительные операции вершин. |
RGBA logicop() | OpenGL не поддерживает логические операции в буферах RGBA. |
sbox() | sbox — это примитив прямоугольника IRIS GL, который хорошо определен только при преобразовании без поворота. Он предназначен для отрисовки быстрее стандартных прямоугольников. Хотя OpenGL не поддерживает такой примитив, его можно настроить для отрисовки прямоугольников очень быстро, когда матрицы и другие режимы находятся в состояниях, упрощающих вычисления. |
скалярные аргументы | Все команды OpenGL, принятые между glBegin и glEnd, имеют точки входа, принимаюющие скалярные аргументы. Например, glColor4f (красный, зеленый, синий, альфа- ). |
резать ножницами | Функция OpenGL glScisor не отслеживает окно просмотра. Команда окна просмотра IRIS GL автоматически обновляет scrmask. |
scrbox() | OpenGL не поддерживает ограничивающие вычисления прямоугольник. |
scrsubdivide() | OpenGL не поддерживает деление экрана. |
режим одной матрицы | OpenGL всегда поддерживает две матрицы: ModelView и Проекция. Хотя реализация OpenGL может объединить их в одну матрицу по соображениям производительности, она всегда должна представлять двух матричную модель программисту. |
Режим подпикселя | Все отрисовки OpenGL — это режим подпикселя, расположенный в режиме subpixel, всегда включен. |
swaptmesh() | OpenGL не поддерживает функцию swaptmesh. Он предлагает два типа треугольников сетки, однако: один, соответствующий по умолчанию "полоса" поведения IRIS GL, а другой , соответствующий вызову swaptmesh до третьего и всех последующих вершин при использовании IRIS GL. |
векторные аргументы | Все команды OpenGL, принятые между glBegin и glEnd, имеют точки входа, принимаюющие аргументы вектора. Например, glColor4fv. |
Управление окнами | OpenGL не содержит команд системы окон. Она всегда поддерживается как расширение для окна или операционной системы, которая включает возможности для управления устройствами и окнами. Каждое расширение предоставляет определенный системой механизм создания, уничтожения и управления контекстами отрисовки OpenGL. Например, расширение OpenGL в системе окон X (GLX) включает примерно 10 команд для этой цели. Команды IRIS GL, такие как gconfig и drawmode, не реализуются OpenGL. |
смещение окна | IRIS GL возвращает представление и позиции символов на экране, а не окно, координаты. OpenGL всегда использует координаты окна. |
отрисовка z | OpenGL не поддерживает цвета отрисовки в буфер глубины. Он позволяет использовать дополнительные буферы цвета, которые можно реализовать с помощью той же памяти, которая используется для буферов глубины в других конфигурациях окон. Но эти дополнительные буферы цветов не могут совместно использовать память с буфером глубины в любой отдельной конфигурации. |