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

  • 大小: 10.05MB
    文件類型: .zip
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2023-10-14
  • 語言: 其他
  • 標簽: Loop細分??

資源簡介

基于OpenGL的Loop網(wǎng)格細分,有算法實現(xiàn)源碼和試例obj文件

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?“l(fā)oop.h“

#define?ALPHA_MAX?20
#define?ALPHA_LIMIT?0.469?/*?converges?to?~?0.469?*/

GLfloat?ALPHA[]?=?{1.13333?-0.358974?-0.333333?0.129032?0.945783?2.0
?3.19889?4.47885?5.79946?7.13634?8.47535?9.80865
?11.1322?12.4441?13.7439?15.0317?16.3082?17.574
?18.83?20.0769};

#define?BETA_MAX?20
#define?BETA_LIMIT?0.469?/*?converges?to?~?0.469?*/

GLfloat?BETA[]?=?{0.46875?1.21875?1.125?0.96875?0.840932?0.75?0.686349
0.641085?0.60813?0.583555?0.564816?0.55024?0.5387
0.529419?0.52185?0.515601?0.510385?0.505987?0.502247?0.49904?};

#define?NEWVERTEX?123.0

GLfloat?alpha(GLuint?n);
GLfloat?beta(GLuint?n);

long?writeOBJ(WingedEdge*?we?char*?filename)?{
FILE*?file;
Face*?face;
Vertex*?vertex;
GLfloat?counter;
long?lines?=?0;

file?=?fopen(filename?“w“);
if?(!file)?{
fprintf(stderr?“writeOBJ()?failed:?can‘t?open?data?file?\“%s\“.\n“
filename);
//?Modified?by?owada
return?0;
}
counter?=?1.0;
vertex?=?we->vertices;
while?(vertex)?{
fprintf(file?“v?%f?%f?%f\n“?vertex->x?vertex->y?vertex->z);
lines++;

vertex->averaged?=?new?Vertex?;
vertex->averaged->x?=?counter;
counter?+=?1.0;
vertex?=?vertex->next;
}
face?=?we->faces;
while?(face)?{
fprintf(file?“f?%d?%d?%d\n“
(int)(face->edge->head->averaged->x)
(int)(face->edge->prev->head->averaged->x)
(int)(face->edge->prev->prev->head->averaged->x));
lines++;
face?=?face->next;
}
fclose(file);
return?lines;
}

WingedEdge*?readOBJ(char*?filename)?{
FILE*?file;
Model*?model;
WingedEdge*?we;

/*?open?the?file?*/
file?=?fopen(filename?“r“);
if?(!file)?{
fprintf(stderr?“readOBJ()?failed:?can‘t?open?data?file?\“%s\“.\n“
filename);
exit(1);
}
????
/*?allocate?a?new?model?*/
model?=?new?Model?;
model->position?=?new?Vertex?;
model->position->x?=?0.0;
model->position->y?=?0.0;
model->position->z?=?0.0;

firstPass(model?file);

rewind(file);

we?=?secondPass(model?file);

return?we;
}

GLvoid?firstPass(Model*?model?FILE*?file)?{
GLuint?numVertices;
GLuint?numFaces;
char?buf[128];

numVertices?=?numFaces?=?0;

while?(fscanf(file?“%s“?buf)?!=?EOF)?{
switch?(buf[0])?{
case?‘#‘:?/*?comments*/
/*?eat?up?the?rest?of?the?line?*/
fgets(buf?sizeof(buf)?file);
break;
case?‘v‘:?/*?a?vertex!?*/
/*?ignore?all?but?the?simple?case?*/
numVertices++;
fgets(buf?sizeof(buf)?file);
break;
case?‘f‘:?/*?a?face!?*/
numFaces++;
fgets(buf?sizeof(buf)?file);
break;
default:?/*?I?don‘t?care?about?the?other?cases!?*/
fgets(buf?sizeof(buf)?file);
break;
}
}

model->numFaces?=?numFaces;
model->numVertices?=?numVertices;
/*?Our?work?here?is?done.?*/
}

WingedEdge*?secondPass(Model*

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-05-16?12:13??Loop2\
?????目錄???????????0??2018-05-08?09:12??Loop2\.vs\
?????目錄???????????0??2018-05-08?09:12??Loop2\.vs\Loop2\
?????目錄???????????0??2018-05-08?09:12??Loop2\.vs\Loop2\v15\
?????文件???????35840??2018-05-08?09:13??Loop2\.vs\Loop2\v15\.suo
?????目錄???????????0??2018-04-10?19:43??Loop2\Debug\
?????文件???????68096??2018-04-16?17:55??Loop2\Debug\Loop2.exe
?????文件??????392736??2018-04-16?17:55??Loop2\Debug\Loop2.ilk
?????文件??????708608??2018-04-16?17:55??Loop2\Debug\Loop2.pdb
?????文件?????1386496??1997-11-25?17:11??Loop2\Debug\glaux.dll
?????文件??????121856??2008-04-14?12:00??Loop2\Debug\glu32.dll
?????文件??????169984??1998-08-18?16:25??Loop2\Debug\glut.dll
?????文件??????169984??1998-08-18?16:25??Loop2\Debug\glut32.dll
?????文件??????713728??2008-04-14?12:00??Loop2\Debug\opengl32.dll
?????目錄???????????0??2014-12-01?21:59??Loop2\Loop2\
?????目錄???????????0??2018-04-16?17:55??Loop2\Loop2\Debug\
?????文件?????????932??2018-04-10?19:43??Loop2\Loop2\Debug\Loop2.Build.CppClean.log
?????文件??????????83??2014-12-01?21:59??Loop2\Loop2\Debug\Loop2.lastbuildstate
?????文件????????2623??2018-04-16?17:55??Loop2\Loop2\Debug\Loop2.log
?????目錄???????????0??2018-04-16?17:55??Loop2\Loop2\Debug\Loop2.tlog\
?????文件????????6854??2018-04-16?17:55??Loop2\Loop2\Debug\Loop2.tlog\CL.read.1.tlog
?????文件????????1784??2018-04-16?17:55??Loop2\Loop2\Debug\Loop2.tlog\CL.write.1.tlog
?????文件?????????170??2018-04-16?17:55??Loop2\Loop2\Debug\Loop2.tlog\Loop2.lastbuildstate
?????文件????????1862??2018-04-16?17:55??Loop2\Loop2\Debug\Loop2.tlog\cl.command.1.tlog
?????文件????????1582??2018-04-16?17:55??Loop2\Loop2\Debug\Loop2.tlog\link.command.1.tlog
?????文件????????3250??2018-04-16?17:55??Loop2\Loop2\Debug\Loop2.tlog\link.read.1.tlog
?????文件?????????684??2018-04-16?17:55??Loop2\Loop2\Debug\Loop2.tlog\link.write.1.tlog
?????文件???????68432??2018-04-10?19:43??Loop2\Loop2\Debug\loop.obj
?????文件???????30998??2018-04-16?17:55??Loop2\Loop2\Debug\object.obj
?????文件????????7400??2018-04-10?19:43??Loop2\Loop2\Debug\print.obj
?????文件???????84992??2018-04-16?17:55??Loop2\Loop2\Debug\vc120.idb
............此處省略34個文件信息

評論

共有 條評論

相關(guān)資源