Нашел решение проблемы в пункте номер 5.(Возможно ваша видеокарта не поддерживает OpenGL v3.3.)
Несколько обидно, имея карту с OpenGL v3.2 не видеть красоты.
В коде некоторых frag.shader есть куски кода которые по непонятным причинам не проходят компиляцию в процессе запуска сима.
Скажу сразу - светофоры останутся черны
и лампочки на локе светить не будут.
Какие-то проблемы с координатами светильников.(сами они светят, но откуда-то не от туда)
Но в кабине свет будет.
Солнце с тенями тоже будет работать.
Туман - песня.
Во общем то красота будет (по крайней мере у меня так)
несмотря на кажущуюся маленькую разницу между версиями OpenGL 3.2 и 3.3
в языке на котором написан shader выглядит так
Код:
GLSL версия---OpenGL версия
1.10-------2.0
1.20-------2.1
1.30-------3.0
1.40-------3.1
1.50-------3.2
3.30-------3.3
4.00-------4.0
4.10-------4.1
4.20-------4.2
4.30-------4.3
4.50-------4.5
не малый шаг между версиями языка 1.50 это 3.2 и 3.30 это 3.3.
Код:
//Fragment in light semi-space, in radius
switch(LightType){
case 1: //Cone
if(!(LightPos.z>0.0 && LightPos.z<=LightInt[i].Size[2]))
continue;
d = sqrt(LightPos.x*LightPos.x/LightInt[i].Size[0]+LightPos.y*LightPos.y/LightInt[i].Size[1])/LightPos.z;
Добавлено через 19 минут
глюк сидит тут в секции switch по типам светильников где есть continue;
вот это continue; вызывает ошибку компиляции
Он там не один.
если их заремить или заменить на break;
начинает работать.
алогичные куски есть в других frag.shader которые тоже надо исправлять
в спецификации GLSLangSpec.3.30 и GLSLangSpec.1.50 написано одинаково The
continue jump is used only in loops.
но в старых картах живет глюк.