Форум: "Игры";
Текущий архив: 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