资源简介
可以完美实现点云数据的读取和显示,通过MFC和OpenGL实现。还要详细点?我想我表达的已经够清楚了吧
代码片段和文件信息
/*
* This Code Was Created By Pet & Commented/Cleaned Up By Jeff Molofee
* If You‘ve Found This Code Useful Please Let Me Know.
* Visit NeHe Productions At http://nehe.gamedev.net
* Conversion to Visual Studio.NET done by GRANT JAMES(ZEUS)
*/
#include // Header File For Windows
#include // Math Library Header File
#include // Header File For Standard Input/Output
#include // Header File For The OpenGL32 Library
#include // Header File For The GLu32 Library
HDC hDC=NULL; // Device Context Handle
HGLRC hRC=NULL; // Rendering Context Handle
HWND hWnd=NULL; // Window Handle
HINSTANCE hInstance; // Instance Handle
bool keys[256]; // Key Array
bool active=TRUE; // Program‘s Active
bool fullscreen=TRUE; // Default Fullscreen To True
GLfloat xrotyrotzrot // X Y & Z Rotation
xspeedyspeedzspeed // X Y & Z Spin Speed
cxcycz=-15; // X Y & Z Position
int key=1; // Used To Make Sure Same Morph Key Is Not Pressed
int step=0steps=200; // Step Counter And Maximum Number Of Steps
bool morph=FALSE; // Default morph To False (Not Morphing)
typedef struct // Structure For 3D Points
{
float x y z; // X Y & Z Points
} VERTEX; // Called VERTEX
typedef struct // Structure For An object
{
int verts; // Number Of Vertices For The object
VERTEX *points; // One Vertice (Vertex xy & z)
} object; // Called object
int maxver; // Will Eventually Hold The Maximum Number Of Vertices
object morph1morph2morph3morph4 // Our 4 Morphable objects (morph123 & 4)
helper*sour*dest; // Helper object Source object Destination object
LRESULT CALLBACK WndProc(HWND UINT WPARAM LPARAM); // Declaration
void objallocate(object *kint n) // Allocate Memory For Each object
{ // And Defines points
k->points=(VERTEX*)malloc(sizeof(VERTEX)*n); // Sets points Equal To VERTEX * Number Of Vertices
} // (3 Points For Each Vertice)
void objfree(object *k) // Frees The object (Releasing The Memory)
{
free(k->points); // Frees Points
}
void readstr(FILE *fchar *string) // Reads A String From File (f)
{
do // Do This
{
fgets(string 255 f); // Gets A String Of 255 Chars Max From f (File)
} while ((string[0] == ‘/‘) || (string[0] == ‘\n‘));// Until End Of Line Is Reached
return; // Return
}
void objload(char *nameobject *k) // Loads object From File (name)
{
int ver; // Will Hold Vertice Count
float rxryrz; // Hold Vertex X Y & Z Position
FILE *filein; // Filename To Open
char oneline[255]; // Holds One Line Of Text (255 Chars Max)
filein = fopen(name
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 13710 2000-08-24 01:02 Data\Sphere.txt
文件 13875 2000-08-24 01:02 Data\Torus.txt
文件 14126 2000-08-24 01:02 Data\Tube.txt
文件 26010 2003-03-17 08:14 Lesson25.cpp
文件 53248 2002-04-23 18:34 Lesson25.exe
文件 134144 2003-03-17 08:14 Lesson25.ncb
文件 916 2003-03-17 08:14 Lesson25.sln
文件 3954 2003-03-17 08:14 Lesson25.vcproj
文件 672 2002-04-23 18:33 NeHe‘s Readme.txt
- 上一篇:CWMPPla
yer4类做的视频播放器 - 下一篇:p2p技术C语言源码
相关资源
- Visual C++ 6.0高级编程技术-OpenGL篇 源代
- OpenGL+MFC+点云
- MFC下配置opengl环境具体步骤
- 一个用opengl实现的带有光照和材质效
- opengl实现双三次Bezier曲面
- VC++和OpenGL实现八叉树分割
- OpenGL3D模型场景漫游
- 用Opengl实现日地月模型
- OpenGL+MFC显示三维点云中每一个点的法
- 用openglMFC实现的魔方
- 计算机图形学,实现茶壶旋转,颜色
- opengl的菜单操作
- MFC+OPENGL实现3D茶壶的旋转、平移
- opengl实现对地球纹理贴图
- 计算机图形学作业原创C/C++ VC++6.0,
- 基于OpenGL的DDA算法画直线段
- 基于OPENGL透视图显示三视图投影变换
- Qt5 C++ GUI Programming Cookbook 电子书和源
- OpenGL绘制三维坐标图
- OpenGL绘制三维地形(MFC)
- Ndt+ICP配准算法亲测可用
- OpenGL_NURBS闭曲线_圆.rar
- 三维激光点云数据,希望能用的着
- OpenGL编程.rar
- opengl 填充图元 扫描线算法
- opengl:基于linux下雷达ppi
- opengl编程开发基础
- OpenGL教室纹理映射贴图
- opengl移动的小车
- opengl人物设计大头儿子
评论
共有 条评论