|
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
|
|
OpenGL: освещение04.06.2010, 16:44. Показов 13604. Ответов 57
Метки нет (Все метки)
Как на OpenGL сделать освещение (в т. ч. и тени)?
Пробовал много способов, в большинстве случаев все объекты становились одного цвета.
1
|
|
| 04.06.2010, 16:44 | |
|
Ответы с готовыми решениями:
57
Освещение в OpenGL, C++ Освещение OpenGL Освещение обьекта в OpenGL |
|
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
|
|
| 22.07.2010, 18:20 [ТС] | |
|
0
|
|
|
|
|
| 22.07.2010, 18:36 | |
|
короче, берёте первые три вершины квадрата(p1, p2,p3)
Вычитаете v1 = p2-p1; v2 = p3-p1; получаются два вектора из одной вершины(p1) далее делаете вектроное произведение этих векторов, нормализуете результат, получаете НОРМАЛЬ для всего квада. Вот и всё. )
1
|
|
|
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
|
|
| 22.07.2010, 19:57 [ТС] | |
|
0
|
|
|
|
|||||||||||
| 22.07.2010, 20:22 | |||||||||||
это векторное произведение между векторами u и v (uxv) Добавлено через 2 минуты Как нормализовать вектор я уже писал выше
1
|
|||||||||||
|
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
|
|
| 22.07.2010, 20:23 [ТС] | |
|
0
|
|
|
|
||
| 22.07.2010, 20:30 | ||
|
1
|
||
|
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
|
|
| 22.07.2010, 20:53 [ТС] | |
|
спасибо
только есть одна проблема: освещаются только большие, наклонённые и расположенные близко квадраты, остальные просто серые (даже тогда, когда они должны быть синими) Добавлено через 2 минуты и только одна сторона
0
|
|
|
|
||
| 22.07.2010, 21:10 | ||
|
Вприципе можно пока не загонятся по этому поводу и просто включить освещение с двух сторон glLightModeli( GL_LIGHT_MODEL_TWO_SIDE, TRUE); первая проблема пока мне непонятна, можете скинуть скриншот?
1
|
||
|
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
|
|
| 22.07.2010, 21:22 [ТС] | |
|
насчёт наклоненных был не прав, наверное, потому что освещается при определённом углу не положения квадрата, а камеры.
Смотрю дальше: функция glLightModeli( GL_LIGHT_MODEL_TWO_SIDE, TRUE) сделала нормальное освещение с одной стороны и такое, как я описал выше - на другой. Скриншоты: одна сторона большого квадрата: та же сторона, только дальше: и другая сторона: любая сторона более маленьких квадратов выглядит так: и при любом расстоянии. Все квадраты должны быть синими
0
|
|
|
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
|
|
| 22.07.2010, 21:28 [ТС] | |
|
с той стороной, с которой всё нормально, тоже не так гладно - при определённых поворотах камеры тоже всё серое. А если наложить один на другой квадрат, то при определённых углах они становятся либо невидимыми, либо чёрными.
Про другую сторону - всё нормально с близкого расстояния. Вот ещё один скриншот (сторона, которая совсем странно работает):
0
|
|
|
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
|
||||||
| 23.07.2010, 10:53 [ТС] | ||||||
0
|
||||||
|
|
||||||
| 23.07.2010, 11:15 | ||||||
|
У вас прожектор.(линия 13, 20, 21)
http://compgraphics.info/OpenG... ources.php Попробуйте просто направленный источник
Добавлено через 2 минуты DIFFUSE - это и есть основной цвет, AMBIENT - этот цвет будет если совсем интенсивность освещения нулевая, то есть полная тень
1
|
||||||
|
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
|
||
| 23.07.2010, 11:26 [ТС] | ||
|
error: ‘GL_DIFFUSE_AND_AMBIENT’ was not declared in this scope
0
|
||
|
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
|
||||||
| 23.07.2010, 12:39 [ТС] | ||||||
|
хм...
Сверху: чем больше квадрат - тем он, почему-то, белее. Тут есть и те, которые слились с самым большим Снизу: может, что-то не так с нормалями?
0
|
||||||
|
|
||||||||
| 23.07.2010, 13:28 | ||||||||
|
нормализуйте вектор сс и должно корректно отображать Добавлено через 1 минуту На сколько знаю можно 1 раз указать нормаль и последующие вершины будут устанавливаться с последней установленой нормалью
1
|
||||||||
|
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
|
|||||||
| 23.07.2010, 13:48 [ТС] | |||||||
0
|
|||||||
|
|
||||||||
| 23.07.2010, 14:02 | ||||||||
|
Цвет нужно устанавливать перед каждым квадом свой если он разный:
0
|
||||||||
|
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
|
|
| 23.07.2010, 14:06 [ТС] | |
|
1
|
|
| 23.07.2010, 14:06 | |
|
OpenGl. (Delphi). Освещение Цвет и освещение в OpenGL Освещение в OpenGL без шейдеров OpenGL. Освещение и GL_TRIANGLE_STRIP режим OpenGL. GL_TRIANGLE_FAN освещение первой вершины Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|