• 大小: 5.48MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-23
  • 语言: 其他
  • 标签: OpenGL  虚拟现实  

资源简介

移动机械臂位姿状态虚拟现实 其中用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个文件信息

评论

共有 条评论