-
大小: 8.93MB文件類型: .rar金幣: 2下載: 0 次發布日期: 2023-11-10
- 語言: 其他
- 標簽: OpenGl;obj??
資源簡介
可以通過OPENGL打開obj格式的文件,運行之后按“o”或者“O”選擇相應的obj文件,按小鍵盤的“+”和“-”放大縮小圖像

代碼片段和文件信息
/*????
?*??GLM?library.??Wavefront?.obj?file?format?reader/writer/manipulator.
?*
?*??Written?by?Nate?Robins?1997.
?*??email:?ndr@pobox.com
?*??www:?http://www.pobox.com/~ndr
?*/
/*?includes?*/
#include?
using?namespace?std;
#include?
#include?
#include?
#include?
#include?“glm.h“
/*?Some??files?do?not?define?M_PI...?*/
#ifndef?M_PI
#define?M_PI?3.14159265358979323846
#endif
/*?defines?*/
#define?T(x)?model->triangles[(x)]
/*?enums?*/
enum?{?X?Y?Z?W?};??????/*?elements?of?a?vertex?*/
/*?global?variables?*/
/*
GLubyte?*_teximage_new;
static?int?_teximageWidth_new?=?1?_teximageHeight_new?=?1;
*/
#define?MAX_TEXTURES?100
static?GLuint?textureArray[MAX_TEXTURES]?=?{0};
/*?typedefs?*/
/*?_GLMnode:?general?purpose?node
?*/
typedef?struct?_GLMnode?{
??GLuint???????????index;
??GLboolean????????averaged;
??struct?_GLMnode*?next;
}?GLMnode;
/*?strdup?is?actually?not?a?standard?ANSI?C?or?POSIX?routine
???so?implement?a?private?one.??OpenVMS?does?not?have?a?strdup;?Linux‘s
???standard?libc?doesn‘t?declare?strdup?by?default?(unless?BSD?or?SVID
???interfaces?are?requested).?*/
??static?char?*
stralloc(const?char?*string)
{
??char?*copy;
??copy?=?(char*)?malloc(strlen(string)?+?1);
??if?(copy?==?NULL)
????return?NULL;
??strcpy(copy?string);
??return?copy;
}
/*?private?functions?*/
/*?_glmMax:?returns?the?maximum?of?two?floats?*/
??static?GLfloat
_glmMax(GLfloat?a?GLfloat?b)?
{
??if?(a?>?b)
????return?a;
??return?b;
}
/*?_glmAbs:?returns?the?absolute?value?of?a?float?*/
??static?GLfloat
_glmAbs(GLfloat?f)
{
??if?(f?0)
????return?-f;
??return?f;
}
/*?_glmDot:?compute?the?dot?product?of?two?vectors
?*
?*?u?-?array?of?3?GLfloats?(GLfloat?u[3])
?*?v?-?array?of?3?GLfloats?(GLfloat?v[3])
?*/
??static?GLfloat
_glmDot(GLfloat*?u?GLfloat*?v)
{
??assert(u);
??assert(v);
??/*?compute?the?dot?product?*/
??return?u[X]?*?v[X]?+?u[Y]?*?v[Y]?+?u[Z]?*?v[Z];
}
/*?_glmCross:?compute?the?cross?product?of?two?vectors
?*
?*?u?-?array?of?3?GLfloats?(GLfloat?u[3])
?*?v?-?array?of?3?GLfloats?(GLfloat?v[3])
?*?n?-?array?of?3?GLfloats?(GLfloat?n[3])?to?return?the?cross?product?in
?*/
??static?GLvoid
_glmCross(GLfloat*?u?GLfloat*?v?GLfloat*?n)
{
??assert(u);
??assert(v);
??assert(n);
??/*?compute?the?cross?product?(u?x?v?for?right-handed?[ccw])?*/
??n[X]?=?u[Y]?*?v[Z]?-?u[Z]?*?v[Y];
??n[Y]?=?u[Z]?*?v[X]?-?u[X]?*?v[Z];
??n[Z]?=?u[X]?*?v[Y]?-?u[Y]?*?v[X];
}
/*?_glmNormalize:?normalize?a?vector
?*
?*?n?-?array?of?3?GLfloats?(GLfloat?n[3])?to?be?normalized
?*/
??static?GLvoid
_glmNormalize(GLfloat*?n)
{
??GLfloat?l;
??assert(n);
??/*?normalize?*/
??l?=?(GLfloat)sqrt(n[X]?*?n[X]?+?n[Y]?*?n[Y]?+?n[Z]?*?n[Z]);
??n[0]?/=?l;
??n[1]?/=?l;
??n[2]?/=?l;
}
/*?_glmEqual:?compares?two?vectors?and?returns?GL_TRUE?if?they?are
?*?equal?(within?a?certain?threshold)?or?GL_FALSE?if?not.?A
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????160256??2013-08-12?14:26??OpenGLDemo\Debug\glut32.dll
?????文件??????89088??2016-06-02?18:00??OpenGLDemo\Debug\OpenGLDemo.exe
?????文件?????464564??2016-06-02?18:00??OpenGLDemo\Debug\OpenGLDemo.ilk
?????文件?????724992??2016-06-02?18:00??OpenGLDemo\Debug\OpenGLDemo.pdb
?????文件????2646136??2006-03-12?08:47??OpenGLDemo\Model\bunny.obj
?????文件?????200151??2006-03-12?08:47??OpenGLDemo\Model\cow.obj
?????文件????3506958??2006-03-12?08:47??OpenGLDemo\Model\dinosaur.obj
?????文件?????919720??2016-06-02?16:44??OpenGLDemo\Model\Hand2.obj
?????文件?????109386??2016-06-02?18:00??OpenGLDemo\OpenGLDemo\Debug\glm.obj
?????文件??????31017??2016-06-02?18:00??OpenGLDemo\OpenGLDemo\Debug\LoadFileDlg.obj
?????文件???????1506??2016-06-02?18:00??OpenGLDemo\OpenGLDemo\Debug\OpenGLDemo.log
?????文件??????49419??2016-06-02?18:00??OpenGLDemo\OpenGLDemo\Debug\OpenGLDemo.obj
?????文件???????2598??2016-06-02?18:00??OpenGLDemo\OpenGLDemo\Debug\OpenGLDemo.tlog\cl.command.1.tlog
?????文件??????42446??2016-06-02?18:00??OpenGLDemo\OpenGLDemo\Debug\OpenGLDemo.tlog\CL.read.1.tlog
?????文件???????2220??2016-06-02?18:00??OpenGLDemo\OpenGLDemo\Debug\OpenGLDemo.tlog\CL.write.1.tlog
?????文件???????1486??2016-06-02?18:00??OpenGLDemo\OpenGLDemo\Debug\OpenGLDemo.tlog\li
?????文件???????2894??2016-06-02?18:00??OpenGLDemo\OpenGLDemo\Debug\OpenGLDemo.tlog\li
?????文件????????856??2016-06-02?18:00??OpenGLDemo\OpenGLDemo\Debug\OpenGLDemo.tlog\li
?????文件????????167??2016-06-02?18:00??OpenGLDemo\OpenGLDemo\Debug\OpenGLDemo.tlog\OpenGLDemo.lastbuildstate
?????文件??????28757??2016-06-02?18:00??OpenGLDemo\OpenGLDemo\Debug\trackball.obj
?????文件?????691200??2016-06-02?18:00??OpenGLDemo\OpenGLDemo\Debug\vc120.idb
?????文件?????176128??2016-06-02?18:00??OpenGLDemo\OpenGLDemo\Debug\vc120.pdb
?????文件??????65180??2013-10-12?17:30??OpenGLDemo\OpenGLDemo\glm.cpp
?????文件???????8982??2013-10-12?17:29??OpenGLDemo\OpenGLDemo\glm.h
?????文件?????531058??2013-06-06?22:00??OpenGLDemo\OpenGLDemo\include\OpenGL\glew.h
?????文件??????27670??2013-06-06?22:00??OpenGLDemo\OpenGLDemo\include\OpenGL\glut.h
?????文件??????42822??2013-06-06?22:00??OpenGLDemo\OpenGLDemo\include\OpenGL\wglew.h
?????文件??????28728??2013-06-06?22:00??OpenGLDemo\OpenGLDemo\lib\OpenGL\glut32.lib
?????文件???????1426??2013-10-12?17:14??OpenGLDemo\OpenGLDemo\LoadFileDlg.cpp
?????文件????????267??2013-09-24?21:38??OpenGLDemo\OpenGLDemo\LoadFileDlg.h
............此處省略24個文件信息
評論
共有 條評論