|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Porting Lighting and Materials Functions
OpenGL functions for lighting and materials differ substantially from the IRIS GL functions. Unlike IRIS GL, OpenGL has separate functions for setting lights, light models and materials.
Keep the following points in mind when porting lighting and materials functions:
· OpenGL has no table of stored definitions. You can use display lists to mimic the IRIS GL def/bind mechanism. For more information on defs and binds, see "Porting Defs, Binds, and Sets." · With OpenGL attenuation is associated with each light source, rather than the overall lighting model. · Diffuse and specular components are separated in OpenGL light sources. · OpenGL light sources have an alpha component. When porting your IRIS GL code set this alpha component to 1.0, indicating 100% opaque. The alpha values are then determined by the alpha component of your materials only, so the objects in your scene will look the same as they did in IRIS GL.
The following table lists IRIS GL lighting and materials functions and their OpenGL equivalents.
IRIS GL Function OpenGL Function Meaning Imdef(DEFLIGHT, ...) glLight Define a light source. Imdef(DEFMODEL, ...) glLightModel Define a lighting model. Imbind glEnable(GL_LIGHTi) Enable light i. Imbind glEnable(GL_LIGHTING) Enable lighting. Imdef(DEFMATERIAL, ...) glMaterial Define a material. Imcolor glColorMaterial Change the effect of color commands while lighting is active. -- glGetMaterial Get material parameters.
The following table lists various IRIS GL material parameters and their OpenGL equivalents.
Imdef index glMaterial parameter Default Meaning ALPHA GL_DIFFUSE -- The fourth value in the GL_DIFFUSE parameter specifies the alpha value. AMBIENT GL_AMBIENT (0.2, 0.2, 0.2, 1.0) Ambient color DIFFUSE GL_DIFFUSE (0.8, 0.8, 0.8, 1.0) Diffuse color SPECULAR GL_SPECULAR (0.0, 0.0, 0.0, 1.0) Emissive color SHININESS GL_SHININESSGL_AMBIENT_ AND_DIFFUSE 0.0 Specular exponentEquivalent to calling glMaterial twice with the same values. COLORINDEXES GL_COLOR_ INDEXES -- Color indices for ambient, diffuse, and specular lighting.
When the first parameter of Imdef is DEFLMODEL, the equivalent OpenGL translation is the function glLightModel. The exception is when the parameter following DEFMODEL is ATTENUATION: then the equivalent OpenGL function is glLight. The following table lists the equivalent lighting model parameters for IRIS GL and OpenGL.
Imdef Index glLightModel parameter Default Meaning AMBIENT GL_LIGHT_ MODEL_AMBIENT (0.2, 0.2, 0.2, 1.0) Ambient color of scene. ATTENUATION See glLight. LOCALVIEWER GL_LIGHT_MODEL_ LOCAL_VIEWER GL_FALSE Viewer local (TRUE) or infinite (FALSE). TWOSIDE GL_LIGHTMODEL_ TWO_SIDE GL_FALSE Use two-sided lighting when TRUE.
When the first parameter of Imdef is DEFLIGHT, the equivalent OpenGL translation is the function glLight. The following table lists the equivalent light parameters for IRIS GL and OpenGL.
Imdef Index glLight Parameter Default Meaning AMBIENT GL_AMBIENTGL_DIFFUSEGL_SPECULAR (0.0, 0.0, 0.0, 1.0)(1.0, 1.0, 1.0, 1.0)(1.0, 1.0, 1.0, 1.0) Ambient intensity.Diffuse intensity.Specular intensity. LCOLOR No equivalent. -- -- POSITION GL_POSITION (0.0, 0.0, 1.0, 0.0) Position of light. SPOTDIRECTION GL_SPOT_ DIRECTION (0, 0, -1) Direction of spotlight. SPOTLIGHT GL_SPOT_EXPONENTGL_SPOT_CUTOFF 0180 Intensity distribution.Maximum spread angle of light source. DEFLMODE, ATTENUATION GL_CONSTANT_ ATTENUATIONGL_LINEAR_ ATTENUATIONGL_QUADRATIC_ ATTENUATION (1, 0, 0) Attenuation factors.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Перенесение Осветительные и Функции Материалов
OpenGL ФУНКЦИОНИРУЕТ для освещения и материалы отличаются в значительной степени от функций ИРИСА GL. В отличие от IRIS GL, OpenGL имеет отдельные функции для установки освещения, светлых моделей и материалов.
Держите следующее точек в уме при перенесении осветительные и функции материалов:
OpenGL НЕ имеет стол сохраненных определений. Вы можете использовать дисплейные списки, чтобы имитировать ИРИС GL определенный/связывать механизм. Более подробно на определенных и связывается, смотри "Перенесение Определенное, Связывает, и Устанавливается." С ослаблением OpenGL связан каждым светлым источником, а не комбенизоном, зажигающими модель. Рассеянные и specular компоненты разделены в светлых источниках OpenGL. СВЕТЛЫЕ источники OpenGL имеют буквенный компонент. При перенесении вашего кода IRIS GL установивший этот буквенный компонент на 1.0, указывая 100% непрозрачным. Буквенные величины - затем определенное буквенным компонентом ваших материалов только, так что объекты на вашей сцене будут выглядеть такими же как и они сделайте в IRIS GL.
Следующий стол включает IRIS GL осветительные и функции материалов и их эквивалентов OpenGL.
ИРИС GL Функциональной Функции OpenGL, означающий Imdef(DEFLIGHT,...) glLight Определяет светлый источник. Imdef(DEFMODEL,...) glLightModel ОПРЕДЕЛЯЕТ освещение модели. Imbind glEnable Приспосабливать(GL_LIGHTi) Допустимый свет i. Imbind glEnable освещения(GL_LIGHTING). Imdef(DEFMATERIAL,...) glMaterial Определяет материал. Imcolor glColorMaterial Изменяет эффект цветных команд пока освещение активно. -- glGetMaterial ПОЛУЧАЕТ материальные параметры.
Следующий стол включает различные материальные параметры IRIS GL и их эквиваленты OpenGL.
Imdef Индексного Невыполнения параметра glMaterial, означающего, что ALPHA GL_DIFFUSE -- четвертая величина в параметре GL_DIFFUSE определяет буквенную величину. ОКРУЖАЮЩАЯ среда GL_AMBIENT Окружающей среды (0.2, 0.2, 0.2, 1.0) цветной РАССЕЯННЫЙ GL_DIFFUSE (0.8, 0.8, 0.8, 1.0) Рассеянный цвет SPECULAR GL_SPECULAR (0.0, 0.0, 0.0, 1.0) цвет Emissive SHININESS GL_SHININESSGL_AMBIENT_ AND_DIFFUSE 0.0 Specular exponentEquivalent на вызов glMaterial дважды с теми же величинами. COLORINDEXES GL_COLOR_ ИНДЕКСЫ -- индексы Цвета для окружающего, рассеянного, и specular освещение.
Когда первый параметр Imdef - DEFLMODEL, эквиалентный перевод OpenGL является функцией glLightModel. Исключение - когда параметр, следующий за DEFMODEL - ОСЛАБЛЕНИЕ:, тогда эквиалентная функция OpenGL - glLight. Следующий стол включает эквивалент, зажигающий параметры модели для IRIS GL и OpenGL.
Imdef Индексного Невыполнения параметра glLightModel, означающего AMBIENT GL_LIGHT_ MODEL_AMBIENT Окружающей среды (0.2, 0.2, 0.2, 1.0) цвет сцены. ОСЛАБЛЕНИЕ Видит glLight. LOCALVIEWER GL_LIGHT_MODEL_ Зритель LOCAL_VIEWER GL_FALSE локальный (ИСТИНА) или бесконечный (ЛОЖЬ). TWOSIDE GL_LIGHTMODEL_ двустороннее освещение Использования TWO_SIDE GL_FALSE когда ИСТИНА.
Когда первый параметр Imdef - DEFLIGHT, эквиалентный перевод OpenGL является функцией glLight. Следующий стол включает эквиалентные светлые параметры для IRIS GL и OpenGL.
Imdef Индексного Встроенного Значения Параметра glLight ОКРУЖАЮЩАЯ среда GL_AMBIENTGL_DIFFUSEGL_SPECULAR Окружающей среды (0.0, 0.0, 0.0, 1.0) интенсивность(1.0, 1.0, 1.0, 1.0)(1.0, 1.0, 1.0, 1.0).Рассеянная интенсивность.Интенсивность Specular. LCOLOR No equivalent. -- -- СПОЗИЦИОНИРУЙТЕ GL_POSITION Позиции (0.0, 0.0, 1.0, 0.0) света. НАПРАВЛЕНИЕ SPOTDIRECTION GL_SPOT_ Направления (0, 0, -1) прожектора. РАСПРЕДЕЛЕНИЕ Интенсивности ПРОЖЕКТОРА GL_SPOT_EXPONENTGL_SPOT_CUTOFF 0180.Максимальный распростертый угол светлого источника. DEFLMODE, ОСЛАБЛЕНИЕ ATTENUATION GL_CONSTANT_ ATTENUATIONGL_LINEAR_ ATTENUATIONGL_QUADRATIC_ Ослабления (1, 0, 0) показатели.
| |
|
|
| |