HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > проблема с туманом
Страницы (4): « 1 2 3 [4]   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Тренсфер
Житель форума

Дата регистрации: Mar 2007
Проживает: (void)
Сообщений: 327

Рейтинг



NorthWanderer вот лови ссылку на тутор о тумане:
http://www.trensf.narod.ru/Fog.htm
Багов конечно полно, но зато работает

__________________
Хотелось бы, чтобы не только хотелось...

Сообщить модератору | | IP: Записан
Сообщение: 21718

Старое сообщение 26-10-2007 16:17
- За что?
NorthWanderer
Странник по коду

Дата регистрации: Jun 2007
Проживает: Развалины City 17
Сообщений: 30
Возраст: 35

Рейтинг



Спосибо Огромное

Сообщить модератору | | IP: Записан
Сообщение: 21722

Старое сообщение 26-10-2007 19:48
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32308
Нанёс повреждений: 392 ед.

Рейтинг



XaeroX да именно это.

Добавлено 27-10-2007 в 00:30:

Тренсфер у меня тут к тебе несколько вопросов по тутору:

Цитата:
Начну с клиента. В cbase.h в самый конец вставим объявление класса тумана:

Это как понимать
Пойдем далее - ты объявляешь параметры тумана как float, однако парсишь значения с карты как int (atoi).
И наконец передаешь первый байт каждого float
Оно вообще работает? тут по идее надо roundup сделать + умножение на 255 перед отправкой и деление на клиенте.
Это если учесть, что диапазон значений не выходит за рамки 0-1.0, как того требует OpenGL.
Далее если бы ты использовал стандартные переменные, тебе бы не пришлось юзать кастомную мессагу из 7 байт, а достаточно было бы записать энтиндекс и по нему отловить нужную энтить. Это гораздо проще и удобнее.
Место для вызова тумана - крайне неудачное к сожалению.
вот как сделано в xash
code:
//========================== // V_CalcGlobalFog //========================== void V_CalcGlobalFog( struct ref_params_s *pparams ) { float g_fFogColor[4] = { FogColor.x, FogColor.y, FogColor.z, 1.0 }; bool bFog = pparams->waterlevel < 2 && g_fStartDist > 0 && g_fEndDist > 0; if (!bFog) return; //rendering global fog glEnable(GL_FOG); glFogf(GL_FOG_DENSITY, 0.0025); glFogi(GL_FOG_MODE, GL_LINEAR); glFogfv(GL_FOG_COLOR, g_fFogColor); glFogf(GL_FOG_START, g_fStartDist); glFogf(GL_FOG_END, g_fEndDist); glHint(GL_FOG_HINT, GL_NICEST); }

Тип тумана можешь выбросить, GL_EXP и GL_EXP2 дают отвратительные результаты.
Вызывать нужно перед V_CalcRefDef, но после завершения всех проходов (камер, мониторов итд).
Я возможно тряхну стариной и таки напишу тутор по табличному туману из Lazarus (был такой аналог спирита под Q2, тоже с мовевитчем, зеркалами и прочей бедой).
Там кстати говоря учтена видимость монстров в тумане - для этого мы просто в функции CanSee находим энтить env_fog, берем текущую плотность тумана и делим её на дистанцию по хитрой формуле. И туман начинает оказывать на монстров воздействие.
лоакльный туман немного сложнее, но в принципе реализуется подобным образом.

Сообщить модератору | | IP: Записан
Сообщение: 21725

Старое сообщение 26-10-2007 20:30
-
Troll
Частый гость

Дата регистрации: May 2007
Проживает: (void)
Сообщений: 40

Рейтинг



Да, кстати, как пофиксить скай с туманом?
А то приходится его отключать.. Я пару вариантов пробовал, у меня либо просто не рисуется туман(на скае), либо небо начинает косячить(glclear мутил по всякому, ничего не вышло)
Может есть какие зарисовочки по этой теме?

Сообщить модератору | | IP: Записан
Сообщение: 21728

Старое сообщение 27-10-2007 00:05
- За что?
Тренсфер
Житель форума

Дата регистрации: Mar 2007
Проживает: (void)
Сообщений: 327

Рейтинг



Дядя Миша это меня вчера заглючило Я даже тутор не проверил Исправлю, всё исправлю и переменные и прочее. Вызов для тумана я взял из того французкого тутора.
А вот тип GL_EXP хоть убейте- мне понравился.
Этот тутор живёт только один день и в нём полно глюков.

__________________
Хотелось бы, чтобы не только хотелось...

Сообщить модератору | | IP: Записан
Сообщение: 21739

Старое сообщение 27-10-2007 07:34
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32308
Нанёс повреждений: 392 ед.

Рейтинг



Troll никак не пофиксить, увы.
Ты имеешь в виду 3d sky ?

Сообщить модератору | | IP: Записан
Сообщение: 21745

Старое сообщение 27-10-2007 09:52
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



очень обидно что туман работает только в комнатке где находится энтитя енв_скай, а в других частях карты, где небо из НУЛЛа не работает

Сообщить модератору | | IP: Записан
Сообщение: 21751

Старое сообщение 27-10-2007 11:12
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32308
Нанёс повреждений: 392 ед.

Рейтинг



Ku2zoff можно сделать наоборот. если хочется.

Сообщить модератору | | IP: Записан
Сообщение: 21752

Старое сообщение 27-10-2007 11:25
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Дядя Миша вот мне как-то больше нравится наоборот. А вот чтобы и там и там работало, как я понял нельзя, либо придётся извращаться, мутить кучу разных функций...

Сообщить модератору | | IP: Записан
Сообщение: 21755

Старое сообщение 27-10-2007 13:06
- За что?
Troll
Частый гость

Дата регистрации: May 2007
Проживает: (void)
Сообщений: 40

Рейтинг



Да, 3d sky.. Посмотрел - через TriApi валвовцы тоже отключают небо... Так что приходится таким методом действовать..

Сообщить модератору | | IP: Записан
Сообщение: 21777

Старое сообщение 27-10-2007 22:14
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34576
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Troll на стадартном-то небе туман прекрасно работает...

__________________

Сообщить модератору | | IP: Записан
Сообщение: 21782

Старое сообщение 28-10-2007 06:19
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32308
Нанёс повреждений: 392 ед.

Рейтинг



Обычный линейный туман не умеет работать в несколько проходов, к сожалению.
Я видел какую-то замуту с glDrawPixels но по-моему она тормозная.

Сообщить модератору | | IP: Записан
Сообщение: 21784

Старое сообщение 28-10-2007 07:20
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 04:01. Новая тема    Ответить
Страницы (4): « 1 2 3 [4]   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > проблема с туманом
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024