Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Тихомиров Ю. Программирование трёхмерной графики / Files / PixFrmtCheck / OpenGL
.h#if !defined(AFX_OPENGL_H__732F7144_0FFE_11D1_AAFE_000000000000__INCLUDED_)
#define AFX_OPENGL_H__732F7144_0FFE_11D1_AAFE_000000000000__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// OpenGL.h : заголовочный файл
//
/////////////////////////////////////////////////////////////////////////////
// COpenGL - абстрактный класс трехмерной графики
#ifndef __CGL_H__
#define __CGL_H__
class COpenGL {
public:
// Конструктор
COpenGL();
// Деструктор
virtual ~COpenGL();
// Создание
BOOL Create(CWnd* pWnd,
int iPixelType = PFD_TYPE_RGBA,
DWORD dwFlags = PFD_DOUBLEBUFFER | // Двойная буферизация
PFD_SUPPORT_OPENGL | // Использование OpenGL
PFD_DRAW_TO_WINDOW ); // Формат пикселей для окна
void Destroy();
BOOL Init();
BOOL Resize(int cx, int cy);
BOOL Render();
// Атрибуты
// Операции
void MakeCurrent();
protected:
// Перегруженные функции
virtual BOOL OnCreate(CWnd* pWnd, PIXELFORMATDESCRIPTOR* pfd)
{return FALSE;}
virtual BOOL OnResize(int cx, int cy) = 0;
virtual BOOL OnInit() = 0;
virtual BOOL OnRender() = 0;
private:
// Реализация функций
public:
// Реализация данных
HGLRC m_hrc; // Контекст воспроизведения OpenGL
CDC* m_pdc; // Контекст устройства
BOOL m_bDoubleBuffer; // Для контроля вызова SwapBuffers
};
#endif
/////////////////////////////////////////////////////////////////////////////
// COpenGLView - абстрактный класс представления
class COpenGLView : public CView
{
protected:
COpenGLView(); // защищенный конструктор
//DECLARE_DYNCREATE(COpenGLView)
// Атрибуты
public:
protected:
virtual COpenGL* GetOpenGL() = 0 ;
COpenGL* m_pGL ;
// Операции
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(COpenGLView)
public:
virtual void OnInitialUpdate();
virtual void OnDraw(CDC* pDC); // overridden to draw this view
protected:
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
//}}AFX_VIRTUAL
// Реализация
public:
virtual ~COpenGLView();
// Generated message map functions
protected:
//{{AFX_MSG(COpenGLView)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnDestroy();
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg BOOL OnNcCreate(LPCREATESTRUCT lpCreateStruct);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_OPENGL_H__732F7144_0FFE_11D1_AAFE_000000000000__INCLUDED_)
Соседние файлы в папке PixFrmtCheck