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

  • 大小: 2.34MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-11-06
  • 語言: 其他
  • 標簽: opengl??trackball??glm??obj??

資源簡介

使用trackball和glm,可以讀取和顯示obj文件,并進行旋轉與縮放。運行環境:vs2010, 運行后用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?????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

?????文件????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

?????文件??????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

?????文件???????5341??2013-10-13?23:02??OpenGLDemo\OpenGLDemo\OpenGLDemo.cpp

?????文件????????391??2013-10-13?22:44??OpenGLDemo\OpenGLDemo\OpenGLDemo.h

?????文件???????4323??2013-10-13?22:39??OpenGLDemo\OpenGLDemo\OpenGLDemo.vcxproj

?????文件???????1647??2013-10-13?22:39??OpenGLDemo\OpenGLDemo\OpenGLDemo.vcxproj.filters

?????文件???????9106??2013-10-13?22:39??OpenGLDemo\OpenGLDemo\trackball.cpp

?????文件???????3394??2011-03-31?23:07??OpenGLDemo\OpenGLDemo\trackball.h

?????文件????????897??2013-10-03?17:05??OpenGLDemo\OpenGLDemo.sln

?????文件?????160256??2013-08-12?14:26??OpenGLDemo\Release\glut32.dll

?????目錄??????????0??2013-10-03?17:19??OpenGLDemo\OpenGLDemo\include\OpenGL

?????目錄??????????0??2013-10-13?23:14??OpenGLDemo\OpenGLDemo\lib\OpenGL

?????目錄??????????0??2013-10-03?17:17??OpenGLDemo\OpenGLDemo\include

?????目錄??????????0??2013-10-03?17:17??OpenGLDemo\OpenGLDemo\lib

?????目錄??????????0??2013-10-13?23:15??OpenGLDemo\Debug

?????目錄??????????0??2013-10-13?23:12??OpenGLDemo\Model

?????目錄??????????0??2013-10-13?23:15??OpenGLDemo\OpenGLDemo

?????目錄??????????0??2013-10-13?23:16??OpenGLDemo\Release

?????目錄??????????0??2013-10-13?23:15??OpenGLDemo

-----------?---------??----------?-----??----

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

評論

共有 條評論