Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторная работа №2 / Lab2 / OGLSHVW
.H// oglshvw.h : interface of the COglshapeView class
//
/////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////
///////////////////////////////////////
// START CUSTOM CODE
///////////////////////////////////////
///////////////////////////////////////
#include <gl\gl.h>
#include "ScissorSqr.h"
#include "ScissorDlg.h"
#include "AlphaDlg.h"
typedef enum Figure
{Points,
Lines,
LineStrip,
LineLoop,
Polygons,
Nonconvex,
Triangles,
TriangleStrip,
TriangleFan,
Quads,
QuadStrip
} tFigure;
typedef enum Test
{
Scissor,
Blend,
Alpha
} tTest;
///////////////////////////////////////
///////////////////////////////////////
// END CUSTOM CODE
///////////////////////////////////////
///////////////////////////////////////
class COglshapeView : public CView
{
protected: // create from serialization only
COglshapeView();
DECLARE_DYNCREATE(COglshapeView)
// Attributes
public:
COglshapeDoc* GetDocument();
///////////////////////////////////////
///////////////////////////////////////
// START CUSTOM CODE
///////////////////////////////////////
///////////////////////////////////////
protected:
HGLRC m_hRC;
tFigure m_shape;
bool m_Scissored;
tScissorSqr* m_SqrS;
GLenum m_Alpha_func;
GLclampf m_Alpha_ref;
GLenum m_BlendSFactor;
GLenum m_BlendDFactor;
GLfloat m_Blend_Alpha;
///////////////////////////////////////
///////////////////////////////////////
// END CUSTOM CODE
///////////////////////////////////////
///////////////////////////////////////
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(COglshapeView)
public:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
protected:
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~COglshapeView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
///////////////////////////////////////
///////////////////////////////////////
// START CUSTOM CODE
///////////////////////////////////////
///////////////////////////////////////
void DrawWithOpenGL();
void DrawPoints();
void DrawLines();
void DrawLineStrip();
void DrawLineLoop();
void DrawPolygons();
void DrawNonconvex();
void DrawTriangles();
void DrawTriangleStrip();
void DrawTriangleFan();
void DrawQuads();
void DrawQuadStrip();
///////////////////////////////////////
///////////////////////////////////////
// END CUSTOM CODE
///////////////////////////////////////
///////////////////////////////////////
// Generated message map functions
protected:
//{{AFX_MSG(COglshapeView)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnDestroy();
afx_msg void OnDrawLineloop();
afx_msg void OnUpdateDrawLineloop(CCmdUI* pCmdUI);
afx_msg void OnDrawLines();
afx_msg void OnUpdateDrawLines(CCmdUI* pCmdUI);
afx_msg void OnDrawLinestrip();
afx_msg void OnUpdateDrawLinestrip(CCmdUI* pCmdUI);
afx_msg void OnDrawNonconvex();
afx_msg void OnUpdateDrawNonconvex(CCmdUI* pCmdUI);
afx_msg void OnDrawPoints();
afx_msg void OnUpdateDrawPoints(CCmdUI* pCmdUI);
afx_msg void OnDrawPolygons();
afx_msg void OnUpdateDrawPolygons(CCmdUI* pCmdUI);
afx_msg void OnDrawQuadrilaterals();
afx_msg void OnUpdateDrawQuadrilaterals(CCmdUI* pCmdUI);
afx_msg void OnDrawQuadstrip();
afx_msg void OnUpdateDrawQuadstrip(CCmdUI* pCmdUI);
afx_msg void OnDrawTrianglefan();
afx_msg void OnUpdateDrawTrianglefan(CCmdUI* pCmdUI);
afx_msg void OnDrawTriangles();
afx_msg void OnUpdateDrawTriangles(CCmdUI* pCmdUI);
afx_msg void OnDrawTrianglestrip();
afx_msg void OnUpdateDrawTrianglestrip(CCmdUI* pCmdUI);
afx_msg void OnTestScissorBegin();
afx_msg void OnUpdateTestScissorBegin(CCmdUI* pCmdUI);
afx_msg void OnTestScissorCreate();
afx_msg void OnUpdateTestScissorCreate(CCmdUI* pCmdUI);
afx_msg void OnTestScissorEnd();
afx_msg void OnUpdateTestScissorEnd(CCmdUI* pCmdUI);
afx_msg void OnTestAlphaGlnever();
afx_msg void OnUpdateTestAlphaGlnever(CCmdUI* pCmdUI);
afx_msg void OnTestAlphaGlless();
afx_msg void OnUpdateTestAlphaGlless(CCmdUI* pCmdUI);
afx_msg void OnTestAlphaGlequal();
afx_msg void OnUpdateTestAlphaGlequal(CCmdUI* pCmdUI);
afx_msg void OnTestAlphaGllequal();
afx_msg void OnUpdateTestAlphaGllequal(CCmdUI* pCmdUI);
afx_msg void OnTestAlphaGlgreater();
afx_msg void OnUpdateTestAlphaGlgreater(CCmdUI* pCmdUI);
afx_msg void OnTestAlphaGlnotequal();
afx_msg void OnUpdateTestAlphaGlnotequal(CCmdUI* pCmdUI);
afx_msg void OnTestAlphaGlgequal();
afx_msg void OnUpdateTestAlphaGlgequal(CCmdUI* pCmdUI);
afx_msg void OnTestAlphaGlalways();
afx_msg void OnUpdateTestAlphaGlalways(CCmdUI* pCmdUI);
afx_msg void OnTestAlphaStart();
afx_msg void OnTestBlendSfactorGlzero();
afx_msg void OnUpdateTestBlendSfactorGlzero(CCmdUI* pCmdUI);
afx_msg void OnTestBlendSfactorGlsrcalphasaturate();
afx_msg void OnUpdateTestBlendSfactorGlsrcalphasaturate(CCmdUI* pCmdUI);
afx_msg void OnTestBlendSfactorGlsrcalpha();
afx_msg void OnUpdateTestBlendSfactorGlsrcalpha(CCmdUI* pCmdUI);
afx_msg void OnTestBlendSfactorGloneminussrcalpha();
afx_msg void OnUpdateTestBlendSfactorGloneminussrcalpha(CCmdUI* pCmdUI);
afx_msg void OnTestBlendSfactorGloneminusdstcolor();
afx_msg void OnUpdateTestBlendSfactorGloneminusdstcolor(CCmdUI* pCmdUI);
afx_msg void OnTestBlendSfactorGloneminusdstalpha();
afx_msg void OnUpdateTestBlendSfactorGloneminusdstalpha(CCmdUI* pCmdUI);
afx_msg void OnTestBlendSfactorGlone();
afx_msg void OnUpdateTestBlendSfactorGlone(CCmdUI* pCmdUI);
afx_msg void OnTestBlendSfactorGldstcolor();
afx_msg void OnUpdateTestBlendSfactorGldstcolor(CCmdUI* pCmdUI);
afx_msg void OnTestBlendSfactorGldstalpha();
afx_msg void OnUpdateTestBlendSfactorGldstalpha(CCmdUI* pCmdUI);
afx_msg void OnTestBlendDfactorGlzero();
afx_msg void OnUpdateTestBlendDfactorGlzero(CCmdUI* pCmdUI);
afx_msg void OnTestBlendDfactorGlsrccolor();
afx_msg void OnUpdateTestBlendDfactorGlsrccolor(CCmdUI* pCmdUI);
afx_msg void OnTestBlendDfactorGlsrcalpha();
afx_msg void OnUpdateTestBlendDfactorGlsrcalpha(CCmdUI* pCmdUI);
afx_msg void OnTestBlendDfactorGloneminussrccolor();
afx_msg void OnUpdateTestBlendDfactorGloneminussrccolor(CCmdUI* pCmdUI);
afx_msg void OnTestBlendDfactorGloneminussrcalpha();
afx_msg void OnUpdateTestBlendDfactorGloneminussrcalpha(CCmdUI* pCmdUI);
afx_msg void OnTestBlendDfactorGloneminusdstalpha();
afx_msg void OnUpdateTestBlendDfactorGloneminusdstalpha(CCmdUI* pCmdUI);
afx_msg void OnTestBlendDfactorGlone();
afx_msg void OnUpdateTestBlendDfactorGlone(CCmdUI* pCmdUI);
afx_msg void OnTestBlendDfactorGldstalpha();
afx_msg void OnUpdateTestBlendDfactorGldstalpha(CCmdUI* pCmdUI);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
#ifndef _DEBUG // debug version in oglshvw.cpp
inline COglshapeDoc* COglshapeView::GetDocument()
{ return (COglshapeDoc*)m_pDocument; }
#endif
/////////////////////////////////////////////////////////////////////////////
Соседние файлы в папке Lab2