HLFX.Ru Forum
Показать все 23 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Освещение на карте. (https://hlfx.ru/forum/showthread.php?threadid=628)


Отправлено Troll 05-05-2007 в 19:00:

Освещение на карте.

Никто не знает чем на карте создаётся освещение?
Тоесть необходимо по аналогии StudioEntityLight, для возможности отстройки параметра?


Отправлено XaeroX 05-05-2007 в 19:20:

Во-первых, о каком движке речь, хл1 или хл2?
Во-вторых, какое освещение, статические или динамическое?
В-третьих, о каких параметрах речь?

__________________

xaerox on Vivino


Отправлено Troll 05-05-2007 в 19:38:

Ммм, есть команда r_fullbright. Что происходит когда она выполняется? HL1. Статическое. Параметр - для возможности настройки яркости освещения карты. Если нет параметра, то хотябы функции.


Отправлено XaeroX 05-05-2007 в 20:18:

Цитата:
Troll писал:
Что происходит когда она выполняется?

Отключаются лайтмапы.
Цитата:
Troll писал:
Параметр - для возможности настройки яркости освещения карты. Если нет параметра, то хотябы функции.

Это в компиляторе hlrad смотри. Ну и сила освещения от light - четвертое число в строке Brightness.

__________________

xaerox on Vivino


Отправлено Troll 05-05-2007 в 20:57:

А как можно отключить лайтмапы? Так после компиляции свет уже стабильно установлен, что мне в компиляторе лазить?


Отправлено XaeroX 05-05-2007 в 21:15:

Цитата:
Troll писал:
А как можно отключить лайтмапы?

Командой r_fullbright
или не компилировать освещение вообще.
Цитата:
Troll писал:
Так после компиляции свет уже стабильно установлен, что мне в компиляторе лазить?

Просто перекомпилировать.

__________________

xaerox on Vivino


Отправлено Troll 05-05-2007 в 21:32:

Издеваешься? Я вроде нашёл... directlight_s
Я мапу не компилирую. Хаммер давно стёрт и маппинг забыт.


Отправлено XaeroX 06-05-2007 в 06:31:

Troll тогда я не понимаю, о чем ты говоришь. Это выше моих сил.

__________________

xaerox on Vivino


Отправлено Troll 06-05-2007 в 08:20:

1) Есть мод.
2) Запускаем карту на этом моде.
3) Хотим убирать свет с карты. Из этого следует Вопрос.
Вопрос -> как это сделать?
В СДК нет переменной управления - r_fullbright.
Чёрт, забыл до кучи что это работает на софтваре... Похоже тут не догадатся, как движком работать с освещением..

Только openGl, да curstate.rendermode=kRenderGlow, на всё за исключением игрока. А этот РендерГлов глючит с энтитями мира..


Отправлено XaeroX 06-05-2007 в 08:31:

Вот так:
CVAR_SET_FLOAT("r_fullbright", 0);

__________________

xaerox on Vivino


Отправлено Troll 06-05-2007 в 08:35:

XaeroX, ты за кого меня принимаешь? См пред. пост.


Отправлено XaeroX 06-05-2007 в 10:30:

Troll а, так тебе чит нужен?
Ну что ж:
glActiveTextureARB(GL_TEXTURE1_ARB);
glDisable(GL_TEXTURE_2D);
это отключит 2ю текстуру, лайтмапы.

__________________

xaerox on Vivino


Отправлено Troll 06-05-2007 в 11:10:

Да, но ты до конца меня не понял. А это детский сад. Тогда лучше уж - if(mode != GL_TRIANGLES && mode != GL_TRIANGLE_STRIP && mode != GL_TRIANGLE_FAN && mode != GL_QUADS )
{
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
glDisable(GL_TEXTURE_2D);
}


Отправлено XaeroX 07-05-2007 в 04:12:

Troll если у тебя жыфорс 3 или выше (не радеон), можно еще вот так:

C++ Source Code:
1
glActiveTextureARB( GL_TEXTURE0_ARB );
2
glTexEnvi (GL_TEXTURE_SHADER_NV, GL_SHADER_OPERATION_NV, GL_TEXTURE_2D );
3
glActiveTextureARB( GL_TEXTURE1_ARB );
4
glTexEnvi (GL_TEXTURE_SHADER_NV, GL_SHADER_OPERATION_NV, GL_NONE );
5
glActiveTextureARB( GL_TEXTURE2_ARB );
6
glTexEnvi (GL_TEXTURE_SHADER_NV, GL_SHADER_OPERATION_NV, GL_NONE );
7
glActiveTextureARB( GL_TEXTURE3_ARB );
8
glTexEnvi (GL_TEXTURE_SHADER_NV, GL_SHADER_OPERATION_NV, GL_NONE );
9
glEnable( GL_TEXTURE_SHADER_NV );

Вызвать можно в любом месте один раз - халфа все равно с шейдерами не работает, а на рендеринг моделей и т.п. это не повлияет.

__________________

xaerox on Vivino


Отправлено Ku2zoff 07-05-2007 в 04:53:

Ну вот, опять радеон в пролёте Зачем вообще отключать лайтмапы?


Отправлено XaeroX 07-05-2007 в 06:15:

Ku2zoff радеон не в пролете. Там это можно сделать с помощью GL_ATI_fragment_shader

__________________

xaerox on Vivino


Отправлено Troll 07-05-2007 в 06:31:

Можно и так, но это черезчур жирновато, да и не у всех сработает. Меня интересовал другой вопрос - как снять лайтмапы через движок. Но по всему видимому это либо невозможно, либо возможно только один раз за мапу, тоесть после перезапуска уровня


Отправлено XaeroX 07-05-2007 в 07:05:

Цитата:
Troll писал:
Меня интересовал другой вопрос - как снять лайтмапы через движок

Да очень просто - взять исходники движка, вырезать код, отвечающий за лайтмапы, и собрать движок снова.
Вообще есть куча способов это сделать, я назвал только один из них. Можно и через register combiners, и через мультитекстурирование (TNT combiners), и через фрагментные шейдеры. И все это и есть - "через движок". Что тебя смущает?
Цитата:
Troll писал:
но это черезчур жирновато

С чего ты взял? Там один-единственный дефолтный шейдер GL_TEXTURE_2D, т.е. стандартный конвейер. Абсолютно ничего жирного я тут не вижу.

__________________

xaerox on Vivino


Отправлено Troll 08-05-2007 в 00:25:

Всё это хорошо, но это всё работает только на openGl.
Ну ты даёшь, зачем резать движок? Достаточно похукать.
void (*SetGL_TexSort)( int value );
void (*SetGL_TexSort_Colour)( float red, float green, float blue );
void (*SetGL_TexSort_Scale)( float scale );
Всего три функции. Правда опять не повезло мне.. Только oGl...
Не вкурсе как движок расставляет лайтмапы в софтваре?


Отправлено XaeroX 08-05-2007 в 06:55:

Цитата:
Troll писал:
void (*SetGL_TexSort)( int value );
void (*SetGL_TexSort_Colour)( float red, float green, float blue );
void (*SetGL_TexSort_Scale)( float scale );

А что это такое?
Цитата:
Troll писал:
Не вкурсе как движок расставляет лайтмапы в софтваре?

Подозреваю, что софтварный рендер в хл1 такой же, как в ку1. Так что вперед, в исходники его движка.

__________________

xaerox on Vivino


Отправлено Troll 08-05-2007 в 10:16:

Это несколько функций из cl_enginefuncs_s.


Отправлено XaeroX 08-05-2007 в 10:29:

Troll в СДК хл1 нет таких функций.

__________________

xaerox on Vivino


Отправлено Troll 08-05-2007 в 20:36:

Конечно нету. Это недокументированные функции найденные через отладчик.


Временная зона GMT. Текущее время 23:17.
Показать все 23 сообщений этой темы на одной странице

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