forked from metin2/client
convert comments in cpp files to utf8
This commit is contained in:
@ -282,8 +282,8 @@ void CGrannyLODController::AddModel(CGraphicThing * pThing, int iSrcModel, CGran
|
||||
}
|
||||
else
|
||||
{
|
||||
// FIXME : CModelInstance::m_pgrnWorldPose<EFBFBD><EFBFBD> Update<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴµ<CFB4>,
|
||||
// Deform<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NULL <20>Դϴ<D4B4>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ٲ<EFBFBD><D9B2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.. - [levites]
|
||||
// FIXME : CModelInstance::m_pgrnWorldPose를 Update에서 사용하는데,
|
||||
// Deform을 하지 않으면 NULL 입니다. 구조가 조금 바뀌어야 할지도.. - [levites]
|
||||
pModelInstance->DeformNoSkin(&ms_matIdentity);
|
||||
}
|
||||
|
||||
@ -460,10 +460,10 @@ void CGrannyLODController::UpdateLODLevel(float fDistanceFromCenter, float fDist
|
||||
assert(m_pCurrentModelInstance != NULL);
|
||||
|
||||
|
||||
if (fDistanceFromCenter > LOD_APPLY_MIN) // <EFBFBD>߽<EFBFBD> LOD <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
if (fDistanceFromCenter > LOD_APPLY_MIN) // 중심 LOD 예외 취소
|
||||
{
|
||||
// ī<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>־<EFBFBD><D6BE><EFBFBD> <20><><EFBFBD><EFBFBD> fLODRate<74><65> <20>۾<EFBFBD><DBBE><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 3<EFBFBD><EFBFBD> LOD<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.. <20><><EFBFBD><EFBFBD> <20>հ<EFBFBD> 0, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ڰ<EFBFBD> Ŀ<><C4BF><EFBFBD><EFBFBD>
|
||||
// 카메라부터 멀어질 수록 fLODRate가 작아진다
|
||||
// 3개 LOD가 있을때.. 가장 먼게 0, 가까울 수록 숫자가 커진다
|
||||
|
||||
// 100fps 50fps 33fps 25fps 20fps
|
||||
// 10ms 20ms 30ms 40ms 50ms
|
||||
|
@ -238,7 +238,7 @@ bool CGrannyMaterial::CreateFromGrannyMaterialPointer(granny_material * pgrnMate
|
||||
pgrnOpacityTexture = GrannyGetMaterialTextureByType(m_pgrnMaterial, GrannyOpacityTexture);
|
||||
}
|
||||
|
||||
// Two-Side <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD> <20><> <20>˻<EFBFBD>
|
||||
// Two-Side 렌더링이 필요한 지 검사
|
||||
{
|
||||
granny_int32 twoSided = 0;
|
||||
granny_data_type_definition TwoSidedFieldType[] =
|
||||
@ -262,7 +262,7 @@ bool CGrannyMaterial::CreateFromGrannyMaterialPointer(granny_material * pgrnMate
|
||||
if (pgrnOpacityTexture)
|
||||
m_roImage[1].SetPointer(__GetImagePointer(pgrnOpacityTexture->FromFileName));
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD>۽<EFBFBD>Ƽ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD>
|
||||
// 오퍼시티가 있으면 블렌딩 메쉬
|
||||
if (!m_roImage[1].IsNull())
|
||||
m_eType = TYPE_BLEND_PNT;
|
||||
else
|
||||
@ -285,7 +285,7 @@ void CGrannyMaterial::__ApplyDiffuseRenderState()
|
||||
|
||||
if (m_bTwoSideRender)
|
||||
{
|
||||
// -_-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>μ<EFBFBD><CEBC><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>... Save & Restore <20>ϸ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>δ<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Save & Restore <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>.
|
||||
// -_-렌더링 프로세스가 좀 구려서... Save & Restore 하면 순서때문에 좀 꼬인다. 귀찮으니 Save & Restore 대신 따로 저장해 둠.
|
||||
m_dwLastCullRenderStateForTwoSideRendering = STATEMANAGER.GetRenderState(D3DRS_CULLMODE);
|
||||
STATEMANAGER.SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
|
||||
}
|
||||
@ -511,7 +511,7 @@ DWORD CGrannyMaterialPalette::GetMaterialCount() const
|
||||
/*
|
||||
void CActorInstance::BeginSpecularRender()
|
||||
{
|
||||
// NOTE - Blending<EFBFBD>ؼ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>κ<EFBFBD><CEBA><EFBFBD> Specular<61><72> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű<EFBFBD><C5B0> <20>ʴ´<CAB4> - [levites]
|
||||
// NOTE - Blending해서 찍는 부분은 Specular를 적용시키지 않는다 - [levites]
|
||||
STATEMANAGER.SaveRenderState(D3DRS_ALPHABLENDENABLE, FALSE);
|
||||
|
||||
STATEMANAGER.SetRenderState(D3DRS_TEXTUREFACTOR, D3DXCOLOR(1.0f, 1.0f, 1.0f, m_AddColor.r));
|
||||
|
@ -159,7 +159,7 @@ bool CGrannyMesh::LoadTriGroupNodeList(CGrannyMaterialPalette& rkMtrlPal)
|
||||
assert(m_triGroupNodes == NULL);
|
||||
|
||||
int mtrlCount = m_pgrnMesh->MaterialBindingCount;
|
||||
if (mtrlCount <= 0) // õ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 2<><32> ũ<><C5A9><EFBFBD><EFBFBD> <20><EFBFBD>
|
||||
if (mtrlCount <= 0) // 천의 동굴 2층 크래쉬 발생
|
||||
return true;
|
||||
|
||||
int GroupNodeCount = GrannyGetMeshTriangleGroupCount(m_pgrnMesh);
|
||||
|
@ -155,7 +155,7 @@ bool CGrannyModel::LoadMeshs()
|
||||
assert(m_meshs == NULL);
|
||||
assert(m_pgrnModel != NULL);
|
||||
|
||||
if (m_pgrnModel->MeshBindingCount <= 0) // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
if (m_pgrnModel->MeshBindingCount <= 0) // 메쉬가 없는 모델
|
||||
return true;
|
||||
|
||||
granny_skeleton * pgrnSkeleton = m_pgrnModel->Skeleton;
|
||||
|
@ -239,7 +239,7 @@ void CGraphicThingInstance::DrawBoundBox()
|
||||
D3DXVECTOR3 vtMax;
|
||||
|
||||
SetDiffuseColor(0.0f, 1.0f, 0.0f);
|
||||
// ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٿ<EFBFBD><D9BF><EFBFBD> <20>ڽ<EFBFBD>
|
||||
// 캐릭터 꽉차는 바운딩 박스
|
||||
//GetBoundBox(&vtMin, &vtMax);
|
||||
//DrawLineCube(vtMin.x, vtMin.y, vtMin.z, vtMax.x, vtMax.y, vtMax.z);
|
||||
//const CThing::TMeshVector& rmeshVector=mc_pModel->meshVector;
|
||||
|
@ -161,7 +161,7 @@ void CGrannyModelInstance::__CreateMeshMatrices()
|
||||
{
|
||||
assert(m_pModel != NULL);
|
||||
|
||||
if (m_pModel->GetMeshCount() <= 0) // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (ī<><EFBFBD> <20><><EFBFBD><EFBFBD>) <20><EFBFBD> <20><>Ȥ <20>ִ<EFBFBD>..
|
||||
if (m_pModel->GetMeshCount() <= 0) // 메쉬가 없는 (카메라 같은) 모델도 간혹 있다..
|
||||
return;
|
||||
|
||||
int meshCount = m_pModel->GetMeshCount();
|
||||
@ -274,8 +274,8 @@ const float * CGrannyModelInstance::GetBoneMatrixPointer(int iBone) const
|
||||
|
||||
const float * CGrannyModelInstance::GetCompositeBoneMatrixPointer(int iBone) const
|
||||
{
|
||||
// NOTE : GrannyGetWorldPose4x4<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߸<EFBFBD><DFB8><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>.. <20><EFBFBD><D7B7>ϰ<EFBFBD> <20>ӵ<EFBFBD><D3B5><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
// GrannyGetWorldPose4x4<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> matrix <EFBFBD><EFBFBD><EFBFBD>Ҹ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
// NOTE : GrannyGetWorldPose4x4는 스케일 값등이 잘못나올 수 있음.. 그래니가 속도를 위해
|
||||
// GrannyGetWorldPose4x4에 모든 matrix 원소를 제 값으로 넣지 않음
|
||||
return GrannyGetWorldPoseComposite4x4(__GetWorldPosePtr(), iBone);
|
||||
}
|
||||
|
||||
|
@ -112,7 +112,7 @@ void CGrannyModelInstance::ChangeMotionPointer(const CGrannyMotion* pMotion, int
|
||||
if (!pgrnModelInstance)
|
||||
return;
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ǵ<EFBFBD> <20>պκ<D5BA><CEBA><EFBFBD> <20><>ŵ <20>ϱ<EFBFBD> <20><><EFBFBD><EFBFBD> LocalTime <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. - [levites]
|
||||
// 보간 되는 앞부분을 스킵 하기 위해 LocalTime 을 어느 정도 무시한다. - [levites]
|
||||
float fSkipTime = 0.3f;
|
||||
float localTime = GetLocalTime() - fSkipTime;
|
||||
|
||||
|
@ -47,7 +47,7 @@ void CGrannyModelInstance::DeformNoSkin(const D3DXMATRIX * c_pWorldMatrix)
|
||||
// With One Texture
|
||||
void CGrannyModelInstance::RenderWithOneTexture()
|
||||
{
|
||||
// FIXME : Deform, Render, BlendRender<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ɷ<EFBFBD><C9B7>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><> - [levites]
|
||||
// FIXME : Deform, Render, BlendRender를 묶어 상위에서 걸러주는 것이 더 나을 듯 - [levites]
|
||||
if (IsEmpty())
|
||||
return;
|
||||
|
||||
@ -99,7 +99,7 @@ void CGrannyModelInstance::BlendRenderWithOneTexture()
|
||||
// With Two Texture
|
||||
void CGrannyModelInstance::RenderWithTwoTexture()
|
||||
{
|
||||
// FIXME : Deform, Render, BlendRender<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ɷ<EFBFBD><C9B7>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><> - [levites]
|
||||
// FIXME : Deform, Render, BlendRender를 묶어 상위에서 걸러주는 것이 더 나을 듯 - [levites]
|
||||
if (IsEmpty())
|
||||
return;
|
||||
|
||||
|
@ -342,8 +342,8 @@ bool CGraphicThingInstance::GetBonePosition(int iModelIndex, int iBoneIndex, flo
|
||||
*pfz = pfMatrix[14];
|
||||
return true;
|
||||
}
|
||||
//iSkelInstance <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⺻ <20><><EFBFBD><EFBFBD> Link(<28><><EFBFBD><EFBFBD> <20>ٴ°<D9B4>)<29><>Ű<EFBFBD><C5B0>,
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⺻ <20><><EFBFBD><EFBFBD> attach(<28><>ǥ<EFBFBD><C7A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>°<EFBFBD>) <20>˴ϴ<CBB4>.
|
||||
//iSkelInstance 가 있으면 기본 본에 Link(본이 붙는것)시키고,
|
||||
//없으면 기본 본에 attach(좌표만 가져다 쓰는것) 됩니다.
|
||||
bool CGraphicThingInstance::SetModelInstance(int iDstModelInstance, int iSrcModelThing, int iSrcModel,int iSkelInstance)
|
||||
{
|
||||
if (!CheckModelInstanceIndex(iDstModelInstance))
|
||||
@ -735,7 +735,7 @@ void CGraphicThingInstance::UpdateLODLevel()
|
||||
const D3DXVECTOR3 & c_rv3CameraPosition = pcurCamera->GetEye();
|
||||
const D3DXVECTOR3 & c_v3Position = GetPosition();
|
||||
|
||||
// NOTE : <EFBFBD>߽<EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ÿ<EFBFBD> <20><><EFBFBD>꿡 z<><7A> <20><><EFBFBD>̴<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ´<CAB4>. - [levites]
|
||||
// NOTE : 중심으로부터의 거리 계산에 z값 차이는 사용하지 않는다. - [levites]
|
||||
CGrannyLODController::FUpdateLODLevel update;
|
||||
update.fDistanceFromCenter = sqrtf((c_rv3TargetPosition.x - c_v3Position.x) * (c_rv3TargetPosition.x - c_v3Position.x) +
|
||||
(c_rv3TargetPosition.y - c_v3Position.y) * (c_rv3TargetPosition.y - c_v3Position.y));
|
||||
|
Reference in New Issue
Block a user