Перейти к контенту

KD87

Рекомендуемые сообщения

Вопрос по скиннингу. У нас есть несколько типов скиннинга. В первом скиннинге в вершине хранится индекс кости. Во втором скиннинге хранится два индекса с указанием некой тяжести, которая потом используется при лепре итоговой матрицы. (третий и четвертый в расчет не берем) Что это за тяжесть? Это тот коэффициент, который настраивается при мягкой привязки на вертекс? Или что-то другое?

Изменено пользователем SkyLoader

Поделиться этим сообщением


Ссылка на сообщение
Вес, про который ты спрашиваешь - как раз интерполятор между двумя костями.

А, спасибо, значит как и думал.

 

 

 

Может, в ЧН или ЗП есть варианты и с большим числом костей на вершину (в современных играх и 4 кости может влиять), но точно сказать не могу, нет под рукой ресурсов ЗП.

Да, так и есть, добавили еще два скиннинга. Для трех и четырех костей на вершину. Самое интересное, что вроде бы кол-во байтов у вершины должно быть больше с увеличением кол-ва данных (индексов костей и интерполяторов), но как во втором скиннинге, так и в третьем и четвертом размер один - 28 байтов. Текстурные координаты заносятся в шорт в четвертом скиннинге вообще :) Четветвертый скинниг редко я встречал, зачем надо было так компоновать?

struct  v_model_skinned_2 // 28 bytes
{
float4  P : POSITION; // (float,float,float,1) - quantized // short4
float4  N : NORMAL; // (nx,ny,nz,weight) // DWORD
float3 T : TANGENT; // tangent // DWORD
float3 B : BINORMAL; // binormal // DWORD
int4  tc : TEXCOORD0; // (u,v, w=m-index0, z=m-index1)   // short4
};


struct  v_model_skinned_3 // 28 bytes
{
float4  P : POSITION; // (float,float,float,1) - quantized // short4
float4  N : NORMAL; // (nx,ny,nz,weight0) // DWORD
float4 T : TANGENT; // (tx,ty,tz,weight1) // DWORD
float4 B : BINORMAL; // (bx,by,bz,m-index2) // DWORD
int4  tc : TEXCOORD0; // (u,v, w=m-index0, z=m-index1)   // short4
};


struct  v_model_skinned_4 // 28 bytes
{
float4  P : POSITION; // (float,float,float,1) - quantized // short4
float4  N : NORMAL; // (nx,ny,nz,weight0) // DWORD
float4 T : TANGENT; // (tx,ty,tz,weight1) // DWORD
float4 B : BINORMAL; // (bx,by,bz,weight2) // DWORD
int2  tc : TEXCOORD0; // (u,v)   // short2
float4  ind: TEXCOORD1; // (x=m-index0, y=m-index1, z=m-index2, w=m-index3)   // DWORD
};
Изменено пользователем SkyLoader

Поделиться этим сообщением


Ссылка на сообщение

 

 

Благодаря Macron-у удалось пофиксить древний баг ТЧ с чернеющими на дистанции стеклами и порталами. А возможно-ли провернуть подобную штуку с ogf модельками?

Подождите LA DC, возьмете шейдеры оттуда. Я это фиксил.

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...