资源简介
这个一个用OPENGL做的程序的例子,会跳舞的骷髅!
代码片段和文件信息
#ifdef __BORLANDC__
// Borland stuff.
#include
#include
#pragma hdrstop
#endif
//*************************************************************************************
//
// This is intended to demonstrate bone-based mesh deformation (Forward Kinematics).
// Right now I only have ‘tentacle‘-style bones in and working. I‘ll add the ‘human
// finger with knuckles‘ in the next release. Note the math is sort of ‘cheatish‘
// in this version (approximating with quadratics).
//
// Issues:
// - Not managing RAM very well not freeing on exit (it‘s just a beta RIGHT?!).
// - No decent error handling on file-loader boky.
// - HORRIBLY INSANELY inefficient vectors of classes shit in the display loop.
// - The bone ops are done with f00-ishly calculated icky quadratics this creates
// C2 discontinuities and such need to rewrite to use BSplines instead.
// - Nothing is commented the way it should be (especially that math stuff).
// - The linkInfo and related classes are still just hacked in ... not pretty.
// - No class structure support for virtual linkInfo-type shit.
//
//*************************************************************************************
#if __BORLANDC__ >= 0x0530
// Here‘s some stuff my compiler wants. Ignore it and you will still be okay. ;-)
// Just make sure you build with all the sources....
// This pragma eliminates the compiler-restart due to the asm block below.
#pragma inline
USELIB(“glut32.lib“);
USEUNIT(“f00TargaLoader.cpp“);
USEUNIT(“f00Textureobject.cpp“);
USEUNIT(“f00ImageLoader.cpp“);
USEUNIT(“f00FileLoader.cpp“);
USEUNIT(“f00RGBA.cpp“);
USEUNIT(“f00Timebase.cpp“);
USEUNIT(“f00Quatobject.cpp“);
USEUNIT(“f00Quat.cpp“);
USEUNIT(“f00QuatCamera.cpp“);
USEUNIT(“f00Point3D.cpp“);
USEUNIT(“f00BoneSystem.cpp“);
USEUNIT(“f00Tentacle.cpp“);
//---------------------------------------------------------------------------
#endif
#ifdef _MSC_VER
// MS compiler stuff here.
#include
#endif
// System includes.
#include
#include
#include
#include
// Local includes.
#include “f00PI.h“
#include “f00TargaLoader.h“
#include “f00Textureobject.h“
#include “f00Timebase.h“
#include “f00QuatCamera.h“
#include “f00BoneSystem.h“
#include “f00Tentacle.h“
#include “f00Textureobject.h“
#include “f00TargaLoader.h“
// Yup more globals....
f00QuatCamera d_camera;
int d_mainWindowID = 0;
f00Timebase d_timebase( 1000 ); // 1.0 second ‘time-frame‘.
f00Textureobject* d_pTexture;
f00Tentacle* d_pTentacle1 = 0;
f00Tentacle* d_pTentacle2 = 0;
f00Tentacle* d_pTentacle3 = 0;
f00Tentacle* d_pTentacle4 = 0;
f00Tentacle* d_pTentacle5 = 0;
f00BoneSystem* d_pBoneSystem = 0;
bool d_autoRotate = true;
GLfloat d_viewAngle = 0.0;
GLfloat d_autoViewAngle = 0.0;
// LlamaPrototypes....
void
uninit();
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 18471 2000-05-23 03:03 f00Tentacle.cpp
文件 4675 2000-05-19 15:33 Bones.bpr
文件 14087 2000-05-23 02:51 Bones.cpp
文件 2387 2000-05-23 02:42 f00BoneSystem.cpp
文件 1277 2000-05-23 02:54 f00FileLoader.cpp
文件 1217 2000-05-23 02:39 f00ImageLoader.cpp
文件 3615 2000-05-23 02:49 f00Point3D.cpp
文件 7767 2000-05-23 02:50 f00Quat.cpp
文件 500 2000-03-12 18:14 f00QuatCamera.cpp
文件 3846 2000-05-22 17:51 f00Quatob
文件 4641 2000-05-23 02:32 f00RGBA.cpp
文件 3477 2000-05-23 02:42 f00TargaLoader.cpp
文件 188928 2000-05-23 03:17 Bones.exe
文件 7385 2000-05-23 02:30 f00Textureob
文件 2602 2000-05-23 02:29 f00Timeba
文件 2468 2000-05-23 01:56 f00BoneSystem.h
文件 416 2000-05-23 02:55 f00FileLoader.h
文件 811 2000-05-23 02:42 f00ImageLoader.h
文件 361 2000-05-22 17:47 f00PI.h
文件 2749 2000-05-23 02:48 f00Point3D.h
文件 1851 2000-05-22 17:53 f00Quat.h
文件 733 2000-05-22 17:54 f00QuatCamera.h
文件 3354 2000-05-22 17:54 f00Quatob
文件 3402 2000-05-22 17:52 f00RGBA.h
文件 585 2000-05-23 02:42 f00TargaLoader.h
文件 1483 2000-05-23 01:59 f00Tentacle.h
文件 4311 2000-05-22 00:35 f00Textureob
文件 1473 2000-05-22 17:54 f00Timeba
文件 196626 2000-05-21 15:45 tentacle.tga
评论
共有 条评论