91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

剛剛接觸曲面細分

資源截圖

代碼片段和文件信息

//?Loop.cpp:?implementation?of?the?Loop?class.
//
//////////////////////////////////////////////////////////////////////

#include?“stdafx.h“
#include?“ZfxOpenGlframe.h“
#include?“Loop.h“

#ifdef?_DEBUG
#undef?THIS_FILE
static?char?THIS_FILE[]=__FILE__;
#define?new?DEBUG_NEW
#endif

#define?PI?3.1415926

//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////

//?查找本三角形是否有偶點e1?e2
//?若有?則返回則兩個偶點對應的奇點的下標
//?若無?則返回-2
int?Triangle::FindTwoEven(int?e1?int?e2)
{
int?differ??=?GetEvenSum()-e1-e2;

if(differ?==?even[0])
{
TwoTwoCmp(12)
}
else?if(differ?==?even[1])
{
TwoTwoCmp(02)
}
else?if(differ?==?even[2])
{
TwoTwoCmp(01)
}
else
{
return?-2;
}
}


//?查找三角形中除偶點e1?e2外的另一個偶點(不做這兩個偶點是否在這三角形中的檢查)
int?Triangle::FindOtherEven(int?e1?int?e2)
{
return?GetEvenSum()-e1-e2;
}


//?將細分成的4個三角形插入pArrTriangle中
void?Triangle::Subdivision(CArray?*pArrTriangle)
{
//?為了保證光照效果?三個點的順序必須是同一個方向
pArrTriangle->Add(Triangle(even[0]?odd[1]?odd[2]));
pArrTriangle->Add(Triangle(odd[1]?even[1]?odd[0]));
pArrTriangle->Add(Triangle(odd[2]?odd[0]?even[2]));
pArrTriangle->Add(Triangle(odd[1]?odd[0]?odd[2]));
}

//?返回其偶點的和
int?Triangle::GetEvenSum()
{
return?even[0]+even[1]+even[2];
}


/////////////////////////////////////////////////////////////////////

Loop::Loop()
{
m_pArrTriangle?=?new?CArray();
m_pArrTriangle->RemoveAll();

m_pNewArrTriangle?=?new?CArray();
m_pNewArrTriangle->RemoveAll();

m_pArrPoint?=?new?CArray();
m_pArrPoint->RemoveAll();

m_pNewArrPoint?=?new?CArray();
m_pNewArrPoint->RemoveAll();
}

Loop::~Loop()
{

}

//?將多面體進行一次細分
void?Loop::Subdivision()
{
m_pNewArrTriangle->RemoveAll();
m_pNewArrPoint->RemoveAll();

m_pNewArrPoint->Append(*m_pArrPoint);

//?1.計算所有奇點
for(int?i=0;?iGetSize();?i++)
{
//?計算下標為i的三角形中的三個奇點
EvenToOdd(0?1?i);
EvenToOdd(1?2?i);
EvenToOdd(2?0?i);

//?保存每個三角形細分成的四個小三角形
Triangle?triangle?=?m_pArrTriangle->GetAt(i);
triangle.Subdivision(m_pNewArrTriangle);
}

//?2.計算所有偶點
for(int?j=0;?jGetSize();?j++)
{
//?將下標為pointIndex對應偶點轉化為偶點
EvenToEven(j);
}

//?保存新生成的面
m_pArrTriangle->RemoveAll();
m_pArrTriangle->Append(*m_pNewArrTriangle);

//保存新生成的點
m_pArrPoint->RemoveAll();
m_pArrPoint->Append(*m_pNewArrPoint);
}



//?計算下標為triangleIndex的三角形中的兩個偶點對應的奇點
void?Loop::EvenToOdd(int?evenIndex1?int?evenIndex2?int?triangleIndex)
{
//?先賦兩個無效值
int?triangleIndex1?=?-1;
int?triangleIndex2?=?-1;

Triangle?triangle?=?m_pArrTriangle->GetAt(triangleIndex);

//?獲取以這兩個有點所組成的邊為公共邊的兩個三角形的下標
int?oddIndex?=?FindTwoTriangle(triangle.even[evenIndex1]?
???triangle.even[evenIndex2]
?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????79079??2008-12-22?13:16??ZfxOpenGlLoopSubdivision\Debug\Loop.obj

?????文件??????30657??2008-12-22?13:16??ZfxOpenGlLoopSubdivision\Debug\Loop.sbr

?????文件??????18320??2008-12-23?01:19??ZfxOpenGlLoopSubdivision\Debug\MainFrm.obj

?????文件??????25600??2008-12-23?00:42??ZfxOpenGlLoopSubdivision\Debug\MainFrm.pdb

?????文件???????3238??2008-12-23?01:19??ZfxOpenGlLoopSubdivision\Debug\MainFrm.sbr

?????文件?????107473??2008-12-21?16:33??ZfxOpenGlLoopSubdivision\Debug\StdAfx.obj

?????文件????1400461??2008-12-21?16:33??ZfxOpenGlLoopSubdivision\Debug\StdAfx.sbr

?????文件?????361472??2008-12-23?01:39??ZfxOpenGlLoopSubdivision\Debug\vc60.idb

?????文件?????380928??2008-12-23?01:39??ZfxOpenGlLoopSubdivision\Debug\vc60.pdb

?????文件????3793920??2008-12-22?00:28??ZfxOpenGlLoopSubdivision\Debug\ZfxOpenGlframe.bsc

?????文件????2211986??2008-12-23?01:39??ZfxOpenGlLoopSubdivision\Debug\ZfxOpenGlframe.exe

?????文件????2613600??2008-12-23?01:39??ZfxOpenGlLoopSubdivision\Debug\ZfxOpenGlframe.ilk

?????文件??????22896??2008-12-21?18:56??ZfxOpenGlLoopSubdivision\Debug\ZfxOpenGlframe.obj

?????文件????4260864??2008-12-23?01:39??ZfxOpenGlLoopSubdivision\Debug\ZfxOpenGlframe.pdb

?????文件??????14644??2008-12-21?16:29??ZfxOpenGlLoopSubdivision\Debug\ZfxOpenGlframe.res

?????文件??????????0??2008-12-21?18:56??ZfxOpenGlLoopSubdivision\Debug\ZfxOpenGlframe.sbr

?????文件??????14412??2008-12-21?16:33??ZfxOpenGlLoopSubdivision\Debug\ZfxOpenGlframeDoc.obj

?????文件??????????0??2008-12-21?16:33??ZfxOpenGlLoopSubdivision\Debug\ZfxOpenGlframeDoc.sbr

?????文件??????56779??2008-12-23?01:39??ZfxOpenGlLoopSubdivision\Debug\ZfxOpenGlframeView.obj

?????文件??????28748??2008-12-23?01:39??ZfxOpenGlLoopSubdivision\Debug\ZfxOpenGlframeView.sbr

?????文件???????8011??2008-12-22?13:16??ZfxOpenGlLoopSubdivision\Loop.cpp

?????文件???????2997??2008-12-21?18:56??ZfxOpenGlLoopSubdivision\Loop.h

?????文件???????2678??2008-12-23?01:19??ZfxOpenGlLoopSubdivision\MainFrm.cpp

?????文件???????3413??2008-12-23?00:42??ZfxOpenGlLoopSubdivision\MainFrm.dsp

?????文件????????539??2008-12-23?00:43??ZfxOpenGlLoopSubdivision\MainFrm.dsw

?????文件???????1581??2008-09-10?10:18??ZfxOpenGlLoopSubdivision\MainFrm.h

?????文件??????33792??2008-12-23?00:43??ZfxOpenGlLoopSubdivision\MainFrm.ncb

?????文件??????48640??2008-12-23?00:43??ZfxOpenGlLoopSubdivision\MainFrm.opt

?????文件???????1082??2008-12-23?00:42??ZfxOpenGlLoopSubdivision\MainFrm.plg

?????文件???????4503??2008-09-10?10:18??ZfxOpenGlLoopSubdivision\ReadMe.txt

............此處省略37個文件信息

評論

共有 條評論