資源簡介
可以完美實現點云數據的讀取和顯示,通過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語言源碼
評論
共有 條評論