![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Небо, Opengl
Qwertyk © (2005-05-08 22:29:00)Каким образом можно сделать сабж?
MsShtaer (2005-05-15 09:57:00) [1]Ну, это зависит от спецефики игры. Значил в ХЛ2 не надо было. Да и небо там мыленое...(правда видно при разрешении 1920x1200)
XProger (2005-05-14 21:59:00) [2]MsShtaer, в ХЛ 2 вполне обошлись скайбоксами... ;) И не 1024 а гораздо меньше...
MsShtaer (2005-05-14 21:06:00) [3]panov > Просто переставил систему а пароль забыл... сори...
Да не объёмная, а кубическая - это 1024х1024х6х4 - 24Мб. В Директе есть DXT1 - сжимает...
Sapersky (2005-05-14 14:01:00) [4]Есть ведь и кубические (специально для SkyBox)
Хм. Они же вроде работают только с автоматическим расчётом текстурных координат, при environment mapping и т.п.
А относительно объёмных - 1024 * 1024 * 1024 = 1 GB памяти :) Или они сжимаются как-то? Опять же, страшно подумать, какая карта им нужна...
panov (2005-05-14 10:12:00) [5]>MsShtaer_
Не надо разные ники использовать.
MsShtaer_ (2005-05-14 09:59:00) [6]Я имею в виду Atmosphere scatering. Эта довольна сложная вигня обеспечивает просчёт атмосферы, а также затуманивания земли по начальным параметрам. Направление на солнце, длинны волн света в нанометрах, плотность атмосферы и т.д. Реализовать на GLSL можно. Да и про "дохренища полигонов", то ну 200 полигонов. Так это с возможностью анимирования каждого облака отдельно. А вот насчёт 256, так это полный бред. Меньше чем 1024 вообще нельзя (смотри FarCry). Да и что вы вообще не про какие технологии не слышали... Кроме 2D текстур и фиксированного воспроизведения. Есть ведь и кубические (специально для SkyBox), и объёмные. Да и шейдера есть...
XProger (2005-05-13 02:28:00) [7]Кефир87, тащи текстуры из ХЛ для начала, а затем критикуй... От размера самого скайбокса мало что зависит. Он ведь куб, все грани равны что 100х100х100 что 10х10х10 - результат один и тот же... Что касается размеров текстур - 512х512 или же 256х256 вполне достаточно.
MsShtaer_, 6 смен текстуры за раз - это тормозно? Для кого?
А теперь давай расчитаем: 12 полигонов + 6 текстур ПРОТИВ твоих дохренища полигонов на спрайты + текстуры...
А под атмосферой ты наверное туман имеешь ввиду? ;)
Кефир87 (2005-05-13 00:21:00) [8]
> зделать через атмосферу
Что это значит? Сфера?
MsShtaer_ (2005-05-12 23:45:00) [9]Шесть текстурок - тормозно, лучше одну кубическую. Да и небо делать скайбоксом ресурсоёмко. Лучше зделать через атмосферу+спрайтовые облака. У меня небо хавает 2кб+4Мб спрайты облаков.
Кефир87 (2005-05-12 23:14:00) [10]Непонимаю... Скайбокс - это что? просто текстурированный куб? Но ведь это-же отвратительно выглядит! Или я просто отвратительную текстуру нарисовал... Или куб слишком маленький...
XProger (2005-05-12 22:02:00) [11]Qwertyk, В CS и HL было реализованно SkyBox'ами.
Плюсы метода:
+ Всего 12 полигонов (треугольников)
+ Исчезает необходимость чистить буфер цвета перед отрисовкой, что повышает ФПС
+ При помощи анимированных текстур можно сделать динамическое небо :) Хоть я это за извращение считаю ;)
Как делается:
Имеем 6 текстурок. Взять для начала можно из той же HL
Отрубаем тест буфера глубины.
Поворачиваем камеру (внимание! не смещаем!)
Затем рисуем куб с наложеными текстурками.
Усё...
Qwertyk (2005-05-09 22:30:00) [12]Здравствуйте!
Значит делаю я небо так: вставляю в центр большую сферу и натягивая на нее текстуру и перемещаю сферу вместе с камерой.
Все работало нормально. Дальше попытался вставить модель GMS, вставляет, но перестает рисоваться сфера. Почему так?
Вот код собственно:
glPopMatrix;
Angle := 0.03;
glRotatef (Angle, 0.0, 0.0, 1.0);
glFogCoordfEXT(KFog);
glBindTexture(gl_texture_2d,Textures[texcount+1]);
glEnable (GL_BLEND);
glCallList(Inside);
glDisable (GL_BLEND);
glPushMatrix;
//После вставки нижестоящего кода появился такой баг
glPopMatrix;
MyMesh.Draw;
glPushMatrix;
MsShtaer (2005-05-09 13:59:00) [13]Да и в игру тоже, только надо постараться. Я тут видел хорошее решение так ни чем не хуже чем в роликах...
П7 (2005-05-09 12:31:00) [14]
> MsShtaer © (09.05.05 09:37) [4]
В игре, ясно дело. В ролик-то можно было какое угодно навороченное небо запихать...
Qwertyk (2005-05-09 12:07:00) [15]Может у кого есть линки на документацию. Сейчас искал, ничего толком найти немогу
Qwertyk (2005-05-09 12:03:00) [16]Ну к примеру в Counter-Strike /Half-Life каким образом небо отрисовывается?
MsShtaer (2005-05-09 09:37:00) [17]В ролике или в игре? Есть один способ - небо далается через Atmosphere Scatering (правильно ли написал?). А облака объектами...
П7 (2005-05-09 01:55:00) [18]Офигенно небо в World of Warcraft. Нужно будет покопаться на предмет того, как оно сделано... (:
XProger (2005-05-09 01:21:00) [19]Шумы перлина
Сферическое
Скайбоксы ;)
Кефир87 (2005-05-08 23:43:00) [20]Да. Мне тоже интересно. А то огромный текстурированный куб выглядит отвратительно!