Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Динамическое освещение в ОпенГЛ [Delphi, Windows]


Хранитель_7К ©   (2003-01-15 17:13:00) 

Хотелось бы услышать мнение знатоков OpenGL по теме реализация динамического освещения поверхности покрытой тесктурой.
Возможно ли это как то иначе чем через блендинг текстуры с цветом грани под ней.
Это единственный способ который я знаю, он предполагает также дублирование выводв объекта в кадре, один раз без текстуры но с освещением и свойсвами материала, а другой раз с текстурой.


BANick   (2003-02-02 20:57:00) [1]

А тогда вот еще такой вопрос, ПОЧЕМУ при замене glTexImage2D на gluBuild2DMimMaps в процедуре инициализации текстуры мои честно заработанные 94 fps падают до каких то жалких 16-12.
Я тоже сталкивался с этой проблемой. я ее решил так заменил все glcalllist на glbindtexture


MRB_SPB   (2003-01-24 11:31:00) [2]

Уточни размер текстуры, уровень mitmapinga и видеокарточку


Хранитель_7К   (2003-01-24 09:19:00) [3]

А тогда вот еще такой вопрос, ПОЧЕМУ при замене glTexImage2D на gluBuild2DMimMaps в процедуре инициализации текстуры мои честно заработанные 94 fps падают до каких то жалких 16-12.
Понимаю что вопрос не совсем в тему топика, но все же.


Baradoo2   (2003-01-20 13:27:00) [4]

>однако rotate и компания может воздействовать на любую активную матрицу

Здесь я с тобой полностью согласен! Эти команды перемножают матрицу поворота или переноса на данную матрицу (моделирования, проекции или текстуры)!! Точно также может и воздействовать команда GLULookat (вот обломчик)!!! Вообще GluLookat немногим отличается от GLUPerspective и GLFrustrum. Эти все команды воздействуют на матрицу, которая включена в данный момент!!
(точнее сказать, они воздействуют только на матрицу проекций, но они не пашут, когда включена матрица моделирования или текстуры :))). Вообщем можно вообще ими не пользоваться!
glMULTMatrix тоже прокатит!


Ketmar   (2003-01-20 12:21:00) [5]

>MRB_SPB © (20.01.03 11:58)
будете громко смеяться, но исходники GLUT есть в сети. это раз.
может быть, gluLookAt и работает только с матрицей просмотра (что мне сейчас лень проверять, но помнится, что вовсе и не так дело обстоит. впрочем - не помню. пусть я тут облажался), однако rotate и компания может воздействовать на любую активную матрицу. хоть просмотра, хоть модели, хоть проекции, хоть текстуры.

Satanas Nobiscum! 20-Jan-XXXVIII A.S.


MRB_SPB   (2003-01-20 11:58:00) [6]

Кetmar>
glMatrixMode мне говорит о многом :)) видимо вы сами писали библиотеку GLUT или имеете её исходнички в затаённых уголках своего винчестера т.к. у вас на мой взгляд не мение эксклюзивная по этому вопросу информация. Повторюсь что расмотренная выше команда не производит трансформаций над матрицами обьектов а влияет только на просмотровую матрицу. За совет спасибо только что обарачивался на 180 к книжной полке чтоб это уточнить.


Ketmar   (2003-01-20 11:22:00) [7]

>MRB_SPB © (20.01.03 10:30)
как интересно, однако. и откуда столь эксклюзивная информация? разворот на 180 градусов и вперед читать книжки и статьи.
для хинта: слово glMatrixMode вам ни о чем не говорит?

Satanas Nobiscum! 20-Jan-XXXVIII A.S.


MRB_SPB   (2003-01-20 10:30:00) [8]

LookAt воздействует на матрицу проекций а ротаты и транслейты воздействуют на матрицу моделей


Ketmar   (2003-01-18 15:43:00) [9]

>Denton © (18.01.03 15:23)
лично я хочу сказать только то, что gluLookAt - оберточка для стандартных матричных операций. не более.

Satanas Nobiscum! 18-Jan-XXXVIII A.S.


Denton   (2003-01-18 15:23:00) [10]

>[Baradoo]&Ketmar
Вы хотите сказать что rotate, translate, lookat действуют на всю сцену, но не действуют на координаты источника света?


Ketmar   (2003-01-18 14:55:00) [11]

>[Baradoo] (18.01.03 10:02)
плохо быть неученым. объясни-ка мне, что делает GLULookAt, и чем оно кардинально отличается от ручных rotate и translate?

Satanas Nobiscum! 18-Jan-XXXVIII A.S.


[Baradoo]   (2003-01-18 10:02:00) [12]

Denton, это ты типа так вектор нормали рассчитал (хоть что такое вектор нормали ты должен знать)! Может быть и другой прогон, это если ты передвигаешься по своей зоне с помощью glrotate и gltranslate! При таком прогоне поворачивается не точка зрения, а
весь объект! Поэтому используй GLULookat!


Denton   (2003-01-17 21:35:00) [13]

Извените за ламский вопрос, только начал OpenGL юзать.При включеном освещении если камеру направить перпендикулярно к прскости, то все ОК, но если паралельно - она затеняется,
как ето устранить?


[Baradoo]   (2003-01-17 20:24:00) [14]

не слуши откликов!


[Baradoo]   (2003-01-15 20:17:00) [15]

Нет ты не прав! можно и правда и спользовать GL_Modulate.
В самом начале, когда устанавливаешь влияние текушего цвета на образ текстуры (gltexenv) в качестве последнего аргумента используешь не gl_decal и не gl_blend, а gl_modulate. При установлении этого режима текстуру будут влиять данные свойства материала и освещение (то что тебе и нужно). Существует большое кол-во разных вариаций команды gltexenvi, но я задаю так:

glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_modulate);

ps
Я встретился с такой же проблемой, когда начал изучать ОпенГЛ. Странно, что в книге М. Краснова про это ничего не указано!


MRB_SPB   (2003-01-15 17:38:00) [16]

А текстура созданая с опцией GL_Modulate не прокатит


Ketmar   (2003-01-15 17:30:00) [17]

через динамические лайтмапы. почти то же самое, правда, но не юзается освещение OpenGL.

Satanas Nobiscum! 15-Jan-XXXVIII A.S.


Наверх

Титульная страница Поиск, карта сайта Написать письмо