HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Страницы (240): « Первая ... « 31 32 33 34 [35] 36 37 38 39 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 XaeroX
Crystice Softworks

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

Рейтинг



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


Дядя Миша
Эй, это же ку3дм1 из волатилы!

__________________

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

Старое сообщение 08-11-2019 18:15
-
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
XaeroX писал:
Эй, это же ку3дм1 из волатилы!

Yesлибы!

Добавлено 08-11-2019 в 21:33:

Вообщем ладно, бордюр я конечно оставлю, но эксперимент по прежнему считаю неудовлетворительным. К тому же этот фильтр жрёт фпс довольно сильно.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

Старое сообщение 08-11-2019 18:33
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12893
Возраст: 32

Рейтинг



Бордюр наверное должен браться с прилегающих поверхностей

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

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

Старое сообщение 08-11-2019 19:41
- За что?
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 4136

Рейтинг



Дядя Миша
Ты ж писал, что будет одна динамика, и вдруг лайтмапы.

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

Старое сообщение 08-11-2019 19:45
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



nemyax ну выбросите лайтмапы, будет одна динамика

Добавлено 09-11-2019 в 00:21:

До сих пор разгребаю последствия полетевшего винта. Тут внезапно выяснилось, что все бэкапы паранои - тоже того, уже не являются архивами.
Ну есть конечно финальные актуальные сорцы. Но промежуточные все утеряны. Месяца за 4-5.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

Старое сообщение 08-11-2019 21:21
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 33

Рейтинг



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

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

Старое сообщение 08-11-2019 22:32
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
ncuxonaT писал:
Теоретически я могу сделать, чтобы моя убиралка швов делала это с учетом бикубика

основная проблема в том, что лайтмапа это набор несвязанных кусочков. Вот и вылазит.

Добавлено 09-11-2019 в 11:34:

Заглянул в скрипты Wolf2009. По организации скриптов там смесь изд3-шных материалов и попыток сделать систему более гибкой.
Вот например так выглядит тепичный материал
Цитата:

textures/decals/pebbles_01
{
EditorImage textures/decals/pebbles_01_d
Image DiffuseMap textures/decals/pebbles_01_d
Image NormalMap textures/decals/pebbles_01_local
Image SpecularMap textures/decals/pebbles_01_s
Vector Specular 16 0 1 0
AlphaTest .1
noOverlays
VertexColor
PolygonOffset 1 1
NoTFix
Contents Nonsolid
NoShadows
nofragment
Vector DetailNormalControls 3 3 2 0
}

В ку3 было достаточно написать "map". Здесь еще требуется связать имя юнита в шейдере. Ну как бы уже не слишком наглядно.

А вот техника
Цитата:

Technique "AmbientDecalAdd"
{
Sort Depth
Pass
{
VertexShader "StandardDrawTexture"
{
Uniform vColorModulate Material::ColorModulate
Uniform vColorAdd Material::ColorAdd
Uniform vHPosBias BackEnd::HPosBias
}
FragmentShader "StandardDrawTexture"
{
Sampler ColorMap
{
Texture Material::ColorMap { _default }
MinFilter Linear
MipFilter Linear
MagFilter Linear
}
}
Blend Enable
BlendFunc One One
AlphaWrite Disable
DepthWrite Disable
}
}

Но как я понял, набор параметров везде свой. Тоже, как у меня доступ к общим переменным через :: Вообщем я видимо самостоятельно нащупал какую-то вполне общепринятую концепцию.

Добавлено 09-11-2019 в 11:37:

Для сравнения вот моя техника
C++ Source Code:
1
technique "studioSolidLightmapPass"
2
{
3
  vertShader( "glsl/forward/scene_studio_vp.glsl" );
4
  fragShader( "glsl/forward/scene_studio_fp.glsl" );
5
 
6
  image u_LightMap = "entity->$LightmapTexture";
7
  image u_DeluxeMap = "entity->$DeluxemapTexture";
8
  float u_LightStyleValues[64] = "globals->lightStyles";
9
  float u_AmbientFactor = "globals->ambientFactor";
10
  vec3 u_LightDiffuse = "lightProbe->color";
11
  vec3 u_LightDir = "lightProbe->direction";
12
  vec2 u_LightShade = "lightProbe->shadeAmbient";
13
  vec3 u_AmbientCube[6] = "lightProbe->ambientCube";
14
 
15
#if MODEL_HAS_LIGHTMAP
16
#define SURFACE_LIGHTING
17
#endif
18
 
19
#if MODEL_HAS_VERTEXLIGHT
20
#define VERTEX_LIGHTING
21
#endif
22
 
23
  // NOTE: TBN should be computed even bump texture is missed
24
#if MODEL_HAS_DELUXMAP
25
#define HAS_DELUXEMAP
26
#endif
27
 
28
#if r_fullbright
29
#define LIGHTING_FULLBRIGHT
30
#endif
31
 
32
#if r_lightmap == 1
33
#define LIGHTMAP_DEBUG
34
#endif
35
 
36
#if r_lightmap == 2 && MODEL_HAS_DELUXMAP
37
#define LIGHTVEC_DEBUG
38
#endif
39
#define NORMAL_RG_PARABOLOID
40
  depthMask( GL_TRUE );
41
}

Правда она более широкого употребления - это шаблон для всех солидных студиомоделей. А вот шейдеробъект
C++ Source Code:
1
shaderObject "StudioModel"
2
{
3
  setTechniquePass( "solid", studioSolidLightmapPass );
4
  //	setTechniquePass( "spot", studioSolidSpotLightPass );
5
  //	setTechniquePass( "omni", studioSolidOmniLightPass );
6
  //	setTechniquePass( "proj", studioSolidProjLightPass );
7
 
8
  // declare common uniforms
9
  image u_ColorMap = "globals->$WhiteTexture";	// fallback texture
10
  image u_DetailMap = "materials.def->detailMap";
11
  image u_NormalMap = "textures/<modelname>/<texname>_norm";
12
  image u_GlossMap = "textures/<modelname>/<texname>_gloss";
13
  //	image u_GlowMap = "textures/<texname>_luma";
14
 
15
  vec4 u_BonesArray[384] = "entity->bonesMatrix";
16
  vec4 u_BoneQuaternion[128] = "entity->bonesQuaternion";
17
  vec3 u_BonePosition[128] = "entity->bonesPosition";
18
  vec2 u_DetailScale = "materials.def->detailScale";
19
  vec2 u_TexOffset = "entity->conveyorMovement";
20
  float u_Smoothness = "materials.def->smoothness";
21
  vec4 u_RenderColor = "entity->renderColor";
22
  mat4 u_ModelMatrix = "entity->transform";
23
  vec3 u_ViewOrigin = "render->viewOrigin";
24
 
25
  addImageLocation( u_ColorMap, "*<texname>" ); // embedded model texture
26
  addImageLocation( u_ColorMap, "textures/<modelname>/<texname>" );
27
 
28
  // add image extra info to help engine
29
  setImageHint( u_ColorMap, "Albedo" );
30
  setImageHint( u_NormalMap, "Normal" );
31
 
32
  // add flags for image loader
33
  addImageFlags( u_ColorMap, TF_SILENT_LOADING|TF_KEEP_SRC_IF_ALPHA );
34
  addImageFlags( u_NormalMap, TF_SILENT_LOADING|TF_NORMALMAP );
35
 
36
  // FIXME
37
#if MODEL_NUM_BONES == 1
38
  //		#define MAXSTUDIOBONES	1
39
#endif
40
 
41
#if MODEL_HAS_BONEWEIGHTS
42
#define APPLY_BONE_WEIGHTING
43
#endif
44
 
45
#if r_physic_based_shading
46
#define APPLY_PBS
47
#endif
48
 
49
#if r_detailtextures && u_DetailMap
50
#define HAS_DETAIL
51
#endif
52
 
53
#if r_normal_mapping && u_NormalMap
54
#define HAS_NORMALMAP
55
#define COMPUTE_TBN
56
#endif
57
 
58
#if r_specular && u_GlossMap && u_Smoothness > 0
59
#define HAS_GLOSSMAP
60
#endif
61
 
62
#if u_GlowMap
63
#define HAS_LUMA
64
#endif
65
 
66
#if WORLD_HAS_GLOBALFOG
67
#define APPLY_FOG_EXP
68
#endif
69
 
70
#usage	mod_studio
71
}

всё ли понятно по синтаксису?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

Старое сообщение 09-11-2019 08:37
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4420
Возраст: 34

Рейтинг



ncuxonaT перенести бикубическую фильтрацию в лайтмаппер, перед дядьмишиной затиралкой швов попяченой с хл2

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

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

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

Рейтинг



Цитата:
Crystallize писал:
перед дядьмишиной затиралкой швов попяченой с хл2

В хл2 нет никакой затиралки швов.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

Старое сообщение 09-11-2019 11:43
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4420
Возраст: 34

Рейтинг



ну в сорсовском лайтмаппере тогда.

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

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

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

Рейтинг



ну нету в сорсе никакой затиралки швов нигде. Включи mat_showlightmaps или как оно там называется и убедись сам.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

Старое сообщение 09-11-2019 12:30
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 33

Рейтинг



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

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

Старое сообщение 09-11-2019 13:20
- За что?
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 560

Рейтинг



А по поводу размерностей в UI есть какие-то идеи для движка?
Я ковырялся с этой проблемой, в итоге решил что со всем многообразием дисплеев с разными разрешениями, размерами и DPI, проще просто добавить в настройки параметр для скейла всего UI целиком. Не получилось у меня найти какого-то универсального решения.

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

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

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

Рейтинг



Цитата:
ncuxonaT писал:
Можно переделать для бикубика

и на билинейке швы полезут?

Добавлено 09-11-2019 в 17:42:

Цитата:
SNMetamorph писал:
Не получилось у меня найти какого-то универсального решения.

а для UI и не существует такого решения. Скейлить нельзя, всё должно попадать пиксель в пиксель для каждого разрешения.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

Старое сообщение 09-11-2019 14:42
-
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 560

Рейтинг



Цитата:
Дядя Миша писал:
всё должно попадать пиксель в пиксель для каждого разрешения

А ещё и это ко всему прочему. Вообще жуть какая то.

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

Старое сообщение 09-11-2019 15:01
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 04:18. Новая тема    Ответить
Страницы (240): « Первая ... « 31 32 33 34 [35] 36 37 38 39 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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