Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2003.07.24;
Скачать: [xml.tar.bz2];

Вниз

Динамическое освещение в ОпенГЛ   Найти похожие ветки 

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

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


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

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

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


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

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


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

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

glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_modulate);

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


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

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


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

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


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

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


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

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

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


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

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


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

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

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


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

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


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

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

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


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

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


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

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

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


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

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

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


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

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


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

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


 
BANick   (2003-02-02 20:57) [17]

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



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2003.07.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.007 c
1-77890
stimm
2003-07-13 21:00
2003.07.24
Размер файла в байтах без FileSize


3-77740
me2
2003-07-01 11:55
2003.07.24
Фильтрация набора данных


11-77817
asp
2002-11-21 21:08
2003.07.24
основная


7-78159
Still Swamp
2003-05-12 20:36
2003.07.24
Проблема с RS232


9-77704
Antichacker
2003-01-31 10:21
2003.07.24
Существует ли какая-либо документация по GLScene?(Eng)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский