HLFX.Ru Forum Страницы (7): « Первая ... « 2 3 4 5 [6] 7 »
Показать все 99 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Xash3D (https://hlfx.ru/forum/forumdisplay.php?forumid=14)
-- Xash Studiomdl.exe (https://hlfx.ru/forum/showthread.php?threadid=2615)


Отправлено tolerance 02-08-2013 в 12:39:

Дядя Миша, можешь выложить все параметры для "studiomdl.exe"?


Отправлено Дядя Миша 02-08-2013 в 15:39:

C++ Source Code:
1
usage: studiomdl <flags>
2
[-t texture]
3
-r(tag reversed)
4
-n(tag bad normals)
5
-f(flip all triangles)
6
[-a normal_blend_angle]
7
-h(dump hboxes)
8
-i(ignore warnings)
9
[-g max_sequencegroup_size(K)]
10
file.qc

__________________
My Projects: download page

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

Цитата:

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


Отправлено Nicksven 21-12-2013 в 10:34:

Цитата:
Дядя Миша писал:Цитата:
Qwertyus писал:
Вопрос такой, а насколько принципиально для компилятора халфовских моделек ограничение на количество поликов

ну там типа статичный массив с ограниченным размером. В движке-то.
Да и медленно оно рисуется через глбегин.
__________________



вот щас пытаюсь скомпилить . выходит ограничение на кол-во полигонов осталось стандартное? а можно как-то скомбинировать разрезав модель и тут-же вставить бодигруппы с другими моделями .


Отправлено -=DrTressi=- 21-12-2013 в 16:25:

Nicksven Не можно а нужно. Дели модель на бодигруппы, чтобы в каждой было 1.5-2 к поликов. Затем в QC прописывай. Там есть строка описывающая бодигруппу1. Ну вот впиши такую же для бодигруппы 2 и скомпилируй.

__________________
How interesting, just look at that!
© Scientist


Отправлено Flash 21-12-2013 в 18:21:

Вот софт бы кстати не помешал, по резанию исходного формата на куски с последующей компиляцией.
Муторно когда надо массово сконвертить модельки, среди которых очень часто попадаются высокополигональные.
ЗЫ. Предел до 2к, причём по вертексам надо смотреть, а не полигонам.

__________________
Tiger! Tiger! burning bright
In the forests of the night,
What immortal hand or eye
Could frame thy fearful symmetry?


Отправлено Дядя Миша 03-01-2014 в 09:56:

Внимание! Экспериментальная версия studiomdl!
Понадобилось мне полезть в сорцы компилятора и я заметил одну любопытную вещь:

C++ Source Code:
1
for( i = 0; i < pmesh->numtris; i++ )
2
{
3
  for( j = 0; j < 3; j++ )
4
  {
5
    // FIXME losing texture coord resultion!
6
    pmesh->triangle[i][j].s = pmesh->triangle[i][j].u * (ptexture->srcwidth-1);
7
    pmesh->triangle[i][j].t = pmesh->triangle[i][j].v * (ptexture->srcheight-1);
8
  }
9
}

Видите минус еденичку? А цымес в том, что + 1 нигде не прибавляется. Ни в рендерере, ни в декомпиляторе. Вот официальный код от вальвы (сорцы модельвьювера)
C++ Source Code:
s = 1.0/(float)ptexture[pskinref[pmesh->skinref]].width;
t = 1.0/(float)ptexture[pskinref[pmesh->skinref]].height;

С учётом масштаба текстуры порядок ошибки крайне невелик. Однако после нескольких перекопмпиляций он имеет тенденцию накапливаться.
Конечно размер текстуры не меняется, но при декомпиляции u v распаковываются без учёта этой еденички. Таким образом после пяти-шести декомпиляций текстура съезжает к такой-то матери.
На данный момент это просто смелое предположение. Прошу протестировать и сообщить о результатах.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 03-01-2014 в 10:01:

Я могу сделать смелое предположение, что единичка убавляется для того, чтобы диапазон координат не выходил за пределы размеров текстуры и (в особенности) не был равен им. Это, скорее всего, критично для софтварного рендера, где координаты текстуры - суть индексы в массивы.

__________________

xaerox on Vivino


Отправлено Дядя Миша 03-01-2014 в 10:11:

XaeroX для самих координат там далее следующие действия:

C++ Source Code:
1
ptexture->max_s = ptexture->srcwidth-1;
2
ptexture->min_s = 0;
3
ptexture->max_t = ptexture->srcheight-1;
4
ptexture->min_t = 0;

и уже рассчёте размеров скина
C++ Source Code:
1
ptexture->skintop = ptexture->min_t;
2
ptexture->skinleft = ptexture->min_s;
3
ptexture->skinwidth = (int)((ptexture->max_s - ptexture->min_s) + 1 + 3) & ~3;
4
ptexture->skinheight = (int)(ptexture->max_t - ptexture->min_t) + 1;

Т.е. размер остаётся прежним. А в координатах немного теряется.

__________________
My Projects: download page

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

Цитата:

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


Отправлено nemyax 03-01-2014 в 10:31:

Это тот самый stupid bug с разъезжающимися текстурами?


Отправлено GioHAUS0n 03-01-2014 в 11:09:

Она еще съезжает(

До


Отправлено GioHAUS0n 03-01-2014 в 11:09:

После


Отправлено Дядя Миша 03-01-2014 в 12:18:

Цитата:
nemyax писал:
Это тот самый stupid bug с разъезжающимися текстурами?

Да, он самый. Подобные вещи крайне тяжело забарывать с наскоку.
Тут надо хотя бы полдня посидеть-подумать.
Цитата:
GioHAUS0n писал:
Она еще съезжает(

Сравни с компилятором в первом посте темы. И приложи скриншот, стало ли лучше, стало ли хуже, осталось без изменений.

Добавлено 03-01-2014 в 16:18:

А, кстати, мне пришла в голову забавная мысль. Раз уж точность наложения координат впрямую зависит от размеров текстуры, то надо взять текстуру донышка побольше.
Приведу пример.
Допустим у нас текстура дна банки 16х16 пикселей.
И координаты u v равны 0.01.
0.01 * 16 = 0.16 = (int)1 или (Q_rint)0

а теперь допустим у нас текстура 256х256
0.01 * 256 = 2.56 = (int)3 или (Q_rint)3

т.е. во втором случае точность страдает значительно меньше.
Я могу добавить специальный текстурный флаг, который будет умножать флоаты на фиксированное число, ну например на 32768 и тогда сдвиг координатов станет невидимым глазу. Но это потом как-нибудь.

__________________
My Projects: download page

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

Цитата:

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


Отправлено GioHAUS0n 03-01-2014 в 12:28:

С первого поста:


Отправлено Дядя Миша 03-01-2014 в 14:46:

Мдя, гадость как была, так и осталась. Ну ладно.

__________________
My Projects: download page

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

Цитата:

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


Отправлено csdod 07-06-2014 в 12:43:

запрос или заказ

меня зовут Хорхе... в свободное время я посвящаю modifcar hl модели, но я всегда был ограничен текстуры очень chicas.hace, что мало я узнал этот красивый графический движок и ваше сообщество... По словам лей xash3d двигатель поддерживает текстуры, 4096 x 4096..., но только studiomdl.exe я видел только поддерживает до 1024 x 1023 (не поддерживает 1024 x 1024)... кого-то есть что studiomdl.exe поддержки, хотя это 2048 x 2048... из уже большое спасибо.

ТОЛЬКО ГОВОРИТ ПО-ИСПАНСКИ

__________________
CsDoD


Временная зона GMT. Текущее время 02:55. Страницы (7): « Первая ... « 2 3 4 5 [6] 7 »
Показать все 99 сообщений этой темы на одной странице

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