У меня есть небольшой блок-движок, похожий на очень раннюю версию Minecraft с использованием LWJGL. Теперь я хочу реализовать освещение. Я понимаю , как работает. Я просто смущен тем, как я должен делать освещение. Я должен изменить «яркость» текстуры, чтобы имитировать яркую местность? Я спрашиваю, как на самом деле изменить световое значение квадроцикла, может быть, есть некоторые уроки? Я хочу, чтобы он был блочным, без плавного освещения. Я понял, что блоки должны иметь световое значение, а для каждого блока рядом с ним вы уменьшаете значение этого света немного до его «черного».Рендеринг освещения
ответ
(по крайней мере) два варианта, при условии фиксированной функции визуализации:
Использование одной текстуры (. Ваши основные текстуры атлас, с присвоенным
GL_MODULATE
texenv в) и установить за вершину серо- чтобы затемнить текстуру пропорционально уровню освещенности. СGL_MODULATE
текстуры RGB-каналов умножаются на RGB-каналы с вершинами цвета. Таким образом, полный цвет RGB (255,255,255) будет полностью освещен, RGB (0,0,0) будет чистым, а RGB (128,128,128) будет где-то посередине.Используйте две текстуры (внешний атлас и атлас световой карты) и мультитекстуры. Уровень освещенности задается для заданного лица, поставляя текстурные координаты, которые выбирают соответствующий квадрат световой карты. Если вы анимируете световую карту, вы можете получить дневной/ночной цикл «бесплатно» без необходимости перебирать весь том, фиксируя вершинные цвета, например, в # 1.
Извините, что забыл упомянуть, что на самом деле я не использую текстуры. Я просто использую VBO, и я раскрашивал лица другим цветным массивом VBO. Есть ли способ изменить яркость цвета? –
Просто умножьте цветные триплеты RGB на скаляр, аналогичный # 1. Например, RGB (255,0,0) * 0,5 = RGB (128,0,0), примерно в два раза ярче. – genpfault
Это все, что я должен сделать? Почему люди говорят, что освещение смехотворно жестко? Я думаю, есть ли еще более «профессиональные» способы сделать это? –
- 1. OpenGL освещения для равномерного освещения
- 2. Понимание освещения в OpenGL
- 3. Проблема освещения в OpenGL
- 4. Расширенные системы освещения LWJGL
- 5. Нормализация вектора освещения OpenGL
- 6. GLSL Ротация зеркального освещения
- 7. Архитектура системы освещения игр
- 8. Нормализация освещения в OpenCV
- 9. Arduino Uno - переключатель освещения
- 10. Правильный способ расчета освещения
- 11. Raytracing - уравнения освещения
- 12. 2D объемные методы освещения?
- 13. OpenGL освещения вопрос
- 14. Управление шейдером для освещения?
- 15. Основная проблема освещения OpenGL
- 16. Добавление освещения Pygame
- 17. Импорт модулей рабочего освещения
- 18. рендеринг трубопровод и преобразование
- 19. Создание системы освещения, например, Terraria?
- 20. Codeception дистанционного освещения не сливалось
- 21. Модель равномерного освещения в Three.js
- 22. Почему мои вычисления освещения ошибочны?
- 23. GL_TEXTURE_2D создает проблемы для освещения?
- 24. openGL вращающийся с проблемой освещения
- 25. VHDL Задержка перед включением освещения
- 26. Весна АОП вокруг остаточного освещения
- 27. Место установки фиксированного освещения HLSL
- 28. Выключить автозаполнение в таблице освещения
- 29. OpenGL - значения и положение освещения
- 30. Java LibGDX Box2D ошибка освещения
До или после [Бета 1.8] (http://www.minecraftwiki.net/wiki/Light#Beta_1.8_-_1.3.2) освещения? – genpfault
pre предпочтительно. В любом случае это хорошо, но –