Здравствуйте, Ossto, Вы писали:
O>Всем известно, что в космосе все очень большое (объекты и рассотяния).
Есть немного.
O>Меня интересуют технологии реализации космических простанств.
O>Пока у меня только один вариант — делать все действительно большим.
O>Но возникают проблемы:
O>Глубина буфера не бесконечная,
Большим все должно быть относительно. Скажем, если за единицу расстояния (например, метр) принять 0.001f, то 1.0f будет уже километр. 1000.0f — 1000 км. Никаких проблем с буфером не будет. Если конечно, не собираешься хранить описания всех объектов на многие сотни парсек

. Если есть необходимость отслеживать и реализовывать поведение объектов на расстоянии многие миллионы километров, то уже надо шаманить, тут проблемы будут во всем, т.к. объектов в таком объеме немеряно и никакой и вычислительной мощности не хватит. Так лучше не делать, а рассматривать только ограниченное пространство небольшого размера (опять же относительно).
O>На больших расстояниях проглючивает изображение
Возможности глаза, да и аппаратуры не безграничны, поэтому можно определить некоторую границу и объекты, которые за нее выходят, просто не отображать. Например в современных играх эти объекты скрывают туманом. В космосе тумана нет, но есть звезды, поэтому если изображение объект соизмеримо с размером изображения звезд, то его также можно не рисовать.
O>И как нарисовать звездное небо так, чтобы до него нельзя было долететь,
Рисуется кубиком или шаром с текстурой. Рисуется перед выводом всей остальной графики с отключенным буфером глубины. Причем размеры куба или шара не обязательно должны быть большими. Достаточно взять длину ребра за 1.0f и при отображении неба помещать камеру в центр.
O>и в случае если звездное небо рисовать окружающей фигурой (кубик с текстуркой), то какого она должна быть размера?!!!
Я когда-то делал 128х128 на каждую грань. Имхо, это много. Достаточно 64x64, а то и 32х32. Там по субъективным ощущениям надо смотреть. Основная проблема, которую я не решил, была в том, чтобы не видно было щелей на стыках граней.