Я думаю, что это очень глупый вопрос, но я новичок в графике и openGL. Нарисов сферу и поставив источник света поблизости, также указав окружающий свет, я начал экспериментировать со светлыми и материальными ценностями и пришел к неожиданному выводу: цвета, которые мы указываем с помощью glColor*
, вообще не имеют значения при включении освещения. Вместо этого эквивалент - это окружающий компонент материала. Правильно ли это заключение? СпасибоОсновная проблема освещения OpenGL
4
A
ответ
5
Если освещение включено, то вместо цвета вершины, материала цвета(ну, цвета - есть несколько из них для разных типов отклика на свет) используется. Цвет материала задается функциями glMaterial*
.
Если вы хотите повторно использовать свой код, вы можете использовать glEnable(GL_COLOR_MATERIAL)
и glColorMaterial(GL_AMBIENT_AND_DIFFUSE)
, чтобы ваши старые звонки glColor*
были отображены в цвет материала автоматически.
(И, пожалуйста, переключитесь на шейдеры так быстро, как это возможно - шейдер подход проще и более мощные)
3
Я полагаю, вы еще не используете фрагментарный шейдер. От glprogramming.com:
vertex color = the material emission at that vertex + the global ambient light scaled by the materials ambient property at that vertex + the ambient, diffuse, and specular contributions from all the light sources, properly attenuated
Так что да, вершина цвет не используется.
Edit: Вы можете также искать для уравнения GL молнии в спецификации GL (у вас есть один ряд, да ^^?)
Смежные вопросы
- 1. Проблема освещения в OpenGL
- 2. OpenGL освещения для равномерного освещения
- 3. OpenGL проблема освещения при повороте камеры
- 4. OpenGL освещения вопрос
- 5. Понимание освещения в OpenGL
- 6. Нормализация вектора освещения OpenGL
- 7. openGL вращающийся с проблемой освещения
- 8. OpenGL - значения и положение освещения
- 9. Основная анимация или opengl?
- 10. Основная трансформация opengl
- 11. Плоское затенение OpenGL - странное поведение освещения
- 12. Странные квадратные артефакты освещения в OpenGL
- 13. Расчет нормалей для освещения в OpenGL
- 14. Цвет OpenGL не работает с использованием освещения
- 15. Opengl: Как указать вектор направленности для освещения в opengl?
- 16. проблема с opengl light
- 17. Основная система тикинга SDL2 (openGL)
- 18. Основная проблема с печеньем
- 19. hoverIntent основная проблема?
- 20. Основная проблема исключения практика
- 21. Основная проблема с HTML
- 22. иностранных Основная проблема
- 23. Основная проблема с данными
- 24. Основная проблема PHP?
- 25. Основная проблема с переменными
- 26. Основная проблема реализации PrefrenceScreen?
- 27. Основная проблема угловой маршрутизации
- 28. Основная проблема многопоточности
- 29. Основная проблема отладки C++
- 30. Основная проблема расчета java
Я так много слышал об этих шейдеров, но я понятия не имею, что они есть. Думаю, мне просто нужно быть терпеливым, пока я не попаду в соответствующие главы Redbook :) Спасибо за ответ –
Redbook так же устарел, как и весь фиксированный рендеринг функций, который мы обсуждаем. Вы можете прочитать его для какой-то теории, и все. Для учебников шейдеров, Google для Lighthouse3D. :) Также взгляните на OpenGL 2.1 или OpenGL 3 справочные документы на opengl.org/documentation/specs/ - они несколько большие, но спуск даст вам представление о том, как работает OGL. – Kos
@Kos: Если redbook устарел, какую книгу вы бы порекомендовали? Документация не является книгой, это хорошо, но новичкам трудно напрямую использовать документацию. –