資源簡介
移動機械臂位姿狀態虛擬現實 其中用OpenGL繪制機器人模型 鍵盤消息操控位姿變化 加以修改即可作為用運動控制卡驅動的實體機器人控制軟件也可作為移動機械臂仿真平臺使用。

代碼片段和文件信息
//?OpenGL.cpp?:?implementation?file
//
#include?“stdafx.h“
#include?“基于對話框的OpenGL.h“
#include?“OpenGL.h“
#include?
#include?
//#include?
#include?
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#undef?THIS_FILE
static?char?THIS_FILE[]?=?__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//?OpenGL
OpenGL::OpenGL():m_bInit(FALSE)m_bFullScreen(FALSE)
m_hDC(NULL)m_hRC(NULL)m_parent(NULL)
{
}
OpenGL::~OpenGL()
{
KillGLWindow();?//?Shutdown
}
BEGIN_MESSAGE_MAP(OpenGL?CWnd)
//{{AFX_MSG_MAP(OpenGL)
ON_WM_CREATE()
????ON_WM_PAINT()
????ON_WM_SIZE()
????ON_WM_KEYDOWN()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//?OpenGL?message?handlers
void?OpenGL::Create(CRect?rect?CWnd?*parent)
{
????if?(m_bInit)?return;
????ASSERT(rect);
????ASSERT(parent);
????m_rect?=?rect;
????m_parent?=?parent;
????CString?className?=?AfxRegisterWndClass(
????CS_HREDRAW?|?CS_VREDRAW?|?CS_OWNDCNULL(HBRUSH)GetStockobject(BLACK_BRUSH)NULL);
????CreateEx(0className“OpenGL“WS_CHILD?|?WS_VISIBLE?|?WS_CLIPSIBLINGS?|?WS_CLIPCHILDRENrectparent0);
}
int?OpenGL::OnCreate(LPCREATESTRUCT?lpCreateStruct)?
????{
????if?(CWnd::OnCreate(lpCreateStruct)?==?-1)
????????return?-1;
????//?TODO:?Add?your?specialized?creation?code?here
????EnumDisplaySettings(NULL?ENUM_CURRENT_SETTINGS?&m_DMsaved);
????GLuint?PixelFormat;?//?Holds?The?Results?After?Searching?For?A?Match
????static?PIXELFORMATDEscriptOR?pfd=?//?pfd?Tells?Windows?How?We?Want?Things?To?Be
????{?
????????sizeof(PIXELFORMATDEscriptOR)?//?Size?Of?This?Pixel?Format?Descriptor
????????1?//?Version?Number
????????PFD_DRAW_TO_WINDOW?|?//?Format?Must?Support?Window
????????PFD_SUPPORT_OPENGL?|?//?Format?Must?Support?OpenGL
????????PFD_DOUBLEBUFFER?//?Must?Support?Double?Buffering
????????PFD_TYPE_RGBA?//?Request?An?RGBA?Format
????????m_DMsaved.dmBitsPerPel?//?Select?Our?Color?Depth
????????0?0?0?0?0?0?//?Color?Bits?Ignored
????????0?//?No?Alpha?Buffer
????????0?//?Shift?Bit?Ignored
????????0?//?No?Accumulation?Buffer
????????0?0?0?0?//?Accumulation?Bits?Ignored
????????16?//?16Bit?Z-Buffer?(Depth?Buffer)?
????????0?//?No?Stencil?Buffer
????????0?//?No?Auxiliary?Buffer
????????PFD_MAIN_PLANE?//?Main?Drawing?layer
????????0?//?Reserved
????????0?0?0?//?layer?Masks?Ignored
????};?
????if?(?!(?m_hDC?=?::GetDC?(?m_hWnd?)?)?)?{?//?Did?We?Get?A?Device?Context??
????????KillGLWindow?();?//?Reset?The?Display
????????TRACE?(?“Can‘t?Create?A?GL?Device?Context.“?);
????????return?FALSE;?
????}
????if?(?!(?PixelFormat?=?ChoosePixelFormat?(?m_hDC?&pfd?)?)?)?{?//?Did?Windows?Find?A?Matching?Pixel?Format??
????????KillGLWindow?();?//?Reset?The?Display
????????TRACE?(?“Can‘t?Find?A?Suitable?PixelFormat.“?);
????????return?FALSE;?
????}
????if?(?!SetPixelForma
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2011-11-05?11:58??exp?for?exa基于對話框的OpenGL\
?????目錄???????????0??2011-11-05?10:25??exp?for?exa基于對話框的OpenGL\Debug\
?????文件???????53248??2008-07-23?09:28??exp?for?exa基于對話框的OpenGL\Debug\Dmc4200.dll
?????文件????????2616??2008-07-23?09:28??exp?for?exa基于對話框的OpenGL\Debug\Dmc4200.h
?????文件????????9340??2008-07-23?09:28??exp?for?exa基于對話框的OpenGL\Debug\Dmc4200.lib
?????文件???????32768??2008-07-23?09:28??exp?for?exa基于對話框的OpenGL\Debug\dmcbus.dll
?????文件???????39756??2011-11-05?10:25??exp?for?exa基于對話框的OpenGL\Debug\OpenGL.obj
?????文件???????????0??2011-11-05?10:25??exp?for?exa基于對話框的OpenGL\Debug\OpenGL.sbr
?????文件??????105631??2011-05-17?16:26??exp?for?exa基于對話框的OpenGL\Debug\StdAfx.obj
?????文件?????1374968??2011-05-17?16:26??exp?for?exa基于對話框的OpenGL\Debug\StdAfx.sbr
?????文件??????230400??2011-11-05?10:46??exp?for?exa基于對話框的OpenGL\Debug\vc60.idb
?????文件??????380928??2011-11-05?10:25??exp?for?exa基于對話框的OpenGL\Debug\vc60.pdb
?????文件????????4596??2008-07-23?09:28??exp?for?exa基于對話框的OpenGL\Debug\WinIo.sys
?????文件?????5571584??2011-11-05?10:25??exp?for?exa基于對話框的OpenGL\Debug\基于對話框的OpenGL.bsc
?????文件??????127072??2011-11-05?10:25??exp?for?exa基于對話框的OpenGL\Debug\基于對話框的OpenGL.exe
?????文件??????889244??2011-11-05?10:25??exp?for?exa基于對話框的OpenGL\Debug\基于對話框的OpenGL.ilk
?????文件???????13899??2011-05-30?16:09??exp?for?exa基于對話框的OpenGL\Debug\基于對話框的OpenGL.obj
?????文件?????7104376??2011-05-17?16:26??exp?for?exa基于對話框的OpenGL\Debug\基于對話框的OpenGL.pch
?????文件??????435200??2011-11-05?10:25??exp?for?exa基于對話框的OpenGL\Debug\基于對話框的OpenGL.pdb
?????文件????????3184??2011-10-11?16:20??exp?for?exa基于對話框的OpenGL\Debug\基于對話框的OpenGL.res
?????文件???????????0??2011-05-30?16:09??exp?for?exa基于對話框的OpenGL\Debug\基于對話框的OpenGL.sbr
?????文件???????35564??2011-10-11?21:12??exp?for?exa基于對話框的OpenGL\Debug\基于對話框的OpenGLDlg.obj
?????文件???????????0??2011-10-11?21:12??exp?for?exa基于對話框的OpenGL\Debug\基于對話框的OpenGLDlg.sbr
?????文件???????53248??2008-07-23?09:28??exp?for?exa基于對話框的OpenGL\Dmc4200.dll
?????文件????????2616??2008-07-23?09:28??exp?for?exa基于對話框的OpenGL\Dmc4200.h
?????文件????????9340??2008-07-23?09:28??exp?for?exa基于對話框的OpenGL\Dmc4200.lib
?????文件???????32768??2008-07-23?09:28??exp?for?exa基于對話框的OpenGL\dmcbus.dll
?????文件???????17791??2011-11-05?10:25??exp?for?exa基于對話框的OpenGL\OpenGL.cpp
?????文件????????1592??2011-10-11?16:24??exp?for?exa基于對話框的OpenGL\OpenGL.h
?????文件????????3759??2011-05-17?10:39??exp?for?exa基于對話框的OpenGL\ReadMe.txt
?????目錄???????????0??2011-11-05?09:53??exp?for?exa基于對話框的OpenGL\res\
............此處省略18個文件信息
評論
共有 條評論