Fixed Anim
This commit is contained in:
parent
aafbfa01f3
commit
bfa54b9ccd
|
@ -111,6 +111,8 @@ namespace Oyster
|
||||||
|
|
||||||
void API::Clean()
|
void API::Clean()
|
||||||
{
|
{
|
||||||
|
DeleteModel(Render::Rendering::Basic::cube);
|
||||||
|
DeleteModel(Render::Rendering::Basic::cube2);
|
||||||
SAFE_DELETE(Core::viewPort);
|
SAFE_DELETE(Core::viewPort);
|
||||||
Core::loader.Clean();
|
Core::loader.Clean();
|
||||||
Oyster::Graphics::Core::PipelineManager::Clean();
|
Oyster::Graphics::Core::PipelineManager::Clean();
|
||||||
|
|
|
@ -135,7 +135,6 @@ void Oyster::Graphics::Loading::UnloadDAN(void* data)
|
||||||
if(info->Animated)
|
if(info->Animated)
|
||||||
{
|
{
|
||||||
//clean animation
|
//clean animation
|
||||||
delete[] info->bones;
|
|
||||||
for(int a = 0; a < info->AnimationCount; ++a)
|
for(int a = 0; a < info->AnimationCount; ++a)
|
||||||
{
|
{
|
||||||
for(int x = 0; x < info->Animations[a].Bones; ++x)
|
for(int x = 0; x < info->Animations[a].Bones; ++x)
|
||||||
|
@ -151,6 +150,8 @@ void Oyster::Graphics::Loading::UnloadDAN(void* data)
|
||||||
{
|
{
|
||||||
Core::loader.ReleaseResource(info->Material[i]);
|
Core::loader.ReleaseResource(info->Material[i]);
|
||||||
}
|
}
|
||||||
|
if(info->BoneCount>0)
|
||||||
|
delete[] info->bones;
|
||||||
delete info;
|
delete info;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -179,6 +180,7 @@ void* Oyster::Graphics::Loading::LoadDAN(const wchar_t filename[])
|
||||||
Oyster::Graphics::Model::ModelInfo* modelInfo = new Oyster::Graphics::Model::ModelInfo();
|
Oyster::Graphics::Model::ModelInfo* modelInfo = new Oyster::Graphics::Model::ModelInfo();
|
||||||
modelInfo->Indexed = false;
|
modelInfo->Indexed = false;
|
||||||
modelInfo->Animated = false;
|
modelInfo->Animated = false;
|
||||||
|
modelInfo->BoneCount = 0;
|
||||||
// Open file in binary mode
|
// Open file in binary mode
|
||||||
std::ifstream danFile;
|
std::ifstream danFile;
|
||||||
danFile.open(filename, std::ios::binary);
|
danFile.open(filename, std::ios::binary);
|
||||||
|
|
|
@ -14,7 +14,7 @@ VertexOut main( VertexIn input )
|
||||||
AnimatedData[input.boneIndex.z]*input.boneWeight.z +
|
AnimatedData[input.boneIndex.z]*input.boneWeight.z +
|
||||||
AnimatedData[input.boneIndex.w]*input.boneWeight.w;
|
AnimatedData[input.boneIndex.w]*input.boneWeight.w;
|
||||||
|
|
||||||
input.pos = mul(boneTrans,input.pos) * Animated + input.pos * int(1-Animated);
|
input.pos = mul(boneTrans,float4(input.pos,1)) * Animated + input.pos * int(1-Animated);
|
||||||
|
|
||||||
input.normal = mul(boneTrans,input.normal) * Animated + input.normal * int(1-Animated);
|
input.normal = mul(boneTrans,input.normal) * Animated + input.normal * int(1-Animated);
|
||||||
/*input.pos =
|
/*input.pos =
|
||||||
|
|
|
@ -162,7 +162,7 @@ HRESULT InitDirect3D()
|
||||||
}
|
}
|
||||||
|
|
||||||
m = Oyster::Graphics::API::CreateModel(L"untitled.dan");
|
m = Oyster::Graphics::API::CreateModel(L"untitled.dan");
|
||||||
m2 = Oyster::Graphics::API::CreateModel(L"rigidbind_animtest_arms_bindpose (1).dan");
|
m2 = Oyster::Graphics::API::CreateModel(L"still.dan");
|
||||||
m2->WorldMatrix = Oyster::Math3D::OrientationMatrix(Oyster::Math::Float3::null,Oyster::Math::Float3(0,0,0),Oyster::Math::Float3::null);
|
m2->WorldMatrix = Oyster::Math3D::OrientationMatrix(Oyster::Math::Float3::null,Oyster::Math::Float3(0,0,0),Oyster::Math::Float3::null);
|
||||||
m2->AnimationPlaying = 0;
|
m2->AnimationPlaying = 0;
|
||||||
m2->AnimationTime = 0.0f;
|
m2->AnimationTime = 0.0f;
|
||||||
|
@ -200,7 +200,7 @@ HRESULT Update(float deltaTime)
|
||||||
//ma *= 50;
|
//ma *= 50;
|
||||||
//ma.m44 = 1;
|
//ma.m44 = 1;
|
||||||
//m2->WorldMatrix = m2->WorldMatrix * ma;
|
//m2->WorldMatrix = m2->WorldMatrix * ma;
|
||||||
//m2->AnimationTime += deltaTime * 0.5f;
|
m2->AnimationTime += deltaTime;// * 0.5f;
|
||||||
//m3->WorldMatrix = Oyster::Math3D::OrientationMatrix(Oyster::Math::Float3(1,0,0)*-0,Oyster::Math::Float3(3,4,-1*angle),Oyster::Math::Float3::null);
|
//m3->WorldMatrix = Oyster::Math3D::OrientationMatrix(Oyster::Math::Float3(1,0,0)*-0,Oyster::Math::Float3(3,4,-1*angle),Oyster::Math::Float3::null);
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue