Получение "зеркальных, металических" бликов путём включения режима генерации текстур "сферическое наложение". По мотиваи уроков NeHe.
Этот топик читают: Гость
Ответов: 1304
Рейтинг: 405
|
|||
карма: 3 |
| ||
файлы: 1 | opengl_texgeni.rar [37.5KB] [276] | ||
Голосовали: | Эдик, LainX, Administrator, filyaxxxcom, kamakama, nesco, Леонид, flud, Assasin, sla8a, EcsTasY |
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Супер!
|
|||
карма: 6 |
|
Ответов: 2058
Рейтинг: 28
|
|||
MAV, круто, продолжай в том же духе.
|
|||
карма: 1 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
MAV, а откуда информация об ошибке в описании заголовка функции(исправил на SVN сразу)? Кстате может быть сдеалать серию компонент для повторения таких эффектов без IC?
------------ Дoбавленo в 23.39: есть у меня пример с генерацией волн на поверхности воды - сейчас глянул, так там тоже текстура сделана с помощью glTexGeni() |
|||
карма: 27 |
|
Ответов: 8926
Рейтинг: 823
|
|||
Dilma, заменять opengl.pas приложенным файлом, или в следующих версиях "исправлено" будет?
|
|||
карма: 19 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
в аттаче пример с водой на тех же самых функциях (на всякий случай повторюсь - не я делал, это всего лишь порт под HiAsm, плюсовать не надо)
------------ Дoбавленo в 00.02: Леонид писал(а): заменять opengl.pas приложенным файлом, или в следующих версиях "исправлено" будет?ну если он на SVN, то видимо будет... |
|||
карма: 27 |
| ||
файлы: 1 | wave.rar [99.2KB] [244] |
Ответов: 1304
Рейтинг: 405
|
|||
Dilma, попытался найти ссылку на форум, но увы не сохранил. Там приводилась информация о наличии ошибки в заголовочном файле Delphi 4-5 версий, в 6-той уже исправили. Компонент TexGeni, сделать можно, а куда запихнуть glEnable(GL_TEXTURE_GEN_S), glEnable(GL_TEXTURE_GEN_T).
ps: посмотрел пример, слов нет одни восторги и это при загрузке Cel 1.7 на 30%, но увы в нашем opengl.pas нет glBindTexture(очень часто используется в примерах, как более быстрый) |
|||
карма: 3 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
на самом деле все это должно быть представлено примерно в таком виде:
1) в случае металла в палитру добавляем элемент GL_MetalTexture, у которого указывается собственно текстура и некие дополнительные параметры, а пользователь в схеме только задает к каким плоскостям или фигурам применить текстуру 2) с водой тоже самое - делаем элемет GL_Wave с параметром текстуры+параметрами волн, а пользователь только задает плоскость на которой строится волна и координаты падения "капель", от которых волна расходится. Вот тогда это уже будет интересно |
|||
карма: 27 |
|
Ответов: 1304
Рейтинг: 405
|
|||
Dilma писал(а): 1) в случае металла в палитру добавляем элемент GL_MetalTexture, у которого указывается собственно текстура и некие дополнительные параметры, а пользователь в схеме только задает к каким плоскостям или фигурам применить текстуруС GL_MetalTexture более менее понятно, плохо что хвостик придётся добавлять в виде компонента "Отключить генерацию координат текстуры"glDisable(GL_TEXTURE_GEN_S); glDisable(GL_TEXTURE_GEN_T); |
|||
карма: 3 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
такой компонент уже есть называется GL_Options
|
|||
карма: 27 |
|
Ответов: 1304
Рейтинг: 405
|
|||
Разбираясь с функционалом Dglut обнаружил что там завалялся чайник, что очень удобно для опытов текстурой. Пример, "стеклянный чайник".
ps: жалко что "glutSolidTeapot" имеет видимый артефакт. |
|||
карма: 3 |
| ||
файлы: 1 | opengl_texgeni_2.rar [39KB] [175] | ||
Голосовали: | EcsTasY |
Ответов: 1321
Рейтинг: 37
|
|||
Задам тот-же тупой вапрос почему не компилирует и Delphi и FPC
|
|||
карма: 0 |
|
Ответов: 1304
Рейтинг: 405
|
|||
Roma, в данном случае( opengl_texgeni_2), скачай пример opengl_texgeni.rar, возьми из него opengl.pas и замени оригинальный в папке HiAsmElementsDelphicode.
|
|||
карма: 3 |
| ||
Голосовали: | Roma |
Ответов: 1321
Рейтинг: 37
|
|||
Roma, в данном случае( opengl_texgeni_2), скачай пример opengl_texgeni.rar, возьми из него opengl.pas и замени оригинальный в папке HiAsmElementsDelphicode.
Теперь всё окей |
|||
карма: 0 |
|
14