Razum писал(а):
Только я бы сделал либо туман погуще, либо дальность отрисовки побольше, а то напрягает, когда ландшафт из неоткуда возникает.
Сконцентрируемся пока исключительно на солнце. Всему своё время, такскать.
Razum писал(а):
Кстати, небо - трехмерный объект, который перемещается вслед за камерой?
Не совсем. При отрисовке неба, облаков и т.п. окружения, я временно толкаю наблюдателя в центр системы координат сохраняя его ориентацию:
...
//Save current matrix 'cos observer will be moved to world' center temporarily
glPushMatrix();
//Get current modelview matrix
float M[16]={0}; glGetFloatv(GL_MODELVIEW_MATRIX,M);
//Translate matrix to world center and go here temporarily
M[12]=0; M[13]=0; M[14]=0; glLoadMatrixf(M);
...
Дальше - небо рисуется на расстоянии 1 от центра мира (вокруг наблюдателя), солнце - конус, обволакивающий наблюдателя, с вершиной также отдалённой на 1, а образующие наклонены на 45 градусов. Конус из двух слоёв - центральный, непрозрачный, солнечный диск, а краевое кольцо - Halo, с плавно снисходящей текстурой прозрачности. Кстати, всё окружение рисуется без просчёта света, чтобы формы всех этих липовых объектов не были видны.
Razum писал(а):
Кстати, как отсекаются далеки полигоны? Он реально не рисуются, или их просто чем-то маскирует и не видно?
Рисуется (передаются данные) только часть карты, т.е. квадрат с заданным радиусом от наблюдателя. Плюс ещё плоскость отсечения, чтобы краевые артефакты скрыть.
Krogoth писал(а):
И, как мы видим, характерная окраска почти всего неба.
Небо потом, пока только солнце.
Krogoth писал(а):
Напрямую - много, как-то искоса - меньше, через щель какую-то - мало, ну и т.д. Т.е. нужно просчитывать траекторию лучей или что-то такое.
Так и делаю. Смотрю, какое расстояние в атмосфере проходят лучи солнца, попадя в глаз наблюдателя. Чем больше расстояние (у горизонта максимум, в зените когда-минимум), тем больше у цвета солнца отнимается голубой и зелёной составляющей. Я там с геометрией поиграл, так что всё точно. Я рассматривал атмосферу как однородный слой вокруг земли.
Так что цвет солнца зависит лишь от 3-х коэффициентов поглощения, которые я введу. Может, сделать ползунки на окошке, чтоб Вы сами настроили?
PA3UJIb писал(а):
В небе солнце действительно реальное, а вот у горизонта сильно резкий переход и четко очерченный край солнечного диска. Выглядит как-будто на глаза светофильтры надвинули.
Это потому, что я эмпирическим путём играю с прозрачностью и границами ореола. Это засветка, оптический эффект, зависящий от интенсивности света солнца, так что врядли это можно рассчитать явно...

Так что буду ПЫТАТЬСЯ изобразить реальный эффект.
Добавлено спустя 1 час 10 минут 18 секунд:
Сделал ползунки - игрйтесь:
http://www.mediafire.com/?dozozziz1om
Кстати, добавил горячих кнопок: на P - ускорение времени (чтобы "проматывать" неинтересующую нас часть дня), на T - остановка времени (чтобы словить и зафиксировать солнце в нужном положении, настраивая коэффициенты поглощения). Эффект от изменения коэффициентов виден сразу.
Насчёт ореола поступил так: резкого края солнца не будет, а размер ореола максимален при свете равном максимально возможному, и минимален у гризонта. В общем, пропорционален суммарной интенсивности света.
Добавлено спустя 1 минуту:
Жду наилучших, по Вашему мнению, настроек.
