myopengl.h

来自「本站以C语言和Java语言、嵌入式开发、算法实现为主」· C头文件 代码 · 共 62 行

H
62
字号
// MyOpenGL.h: interface for the CMyOpenGL class.
//
//////////////////////////////////////////////////////////////////////
#include <vp.h>
#include <vpKernel.h>
#include <vpWindow.h>
#include <vpObject.h>
#include "vpWindow.h"
#include "math.h"
#include <iostream>
#include "vpChannel.h"
#include "vuAllocArray.h"
#include "vuImageFactory.h"
#include "vuTime.h"
#include "vrGeometry.h"
#include "vrMode.h"
#include "vrTextureFactory.h"
#include "vsgs.h"
#include <GL/glu.h>
#include "vpObserver.h"
#include "vrString.h"


#if !defined(AFX_MYOPENGL_H__4FD313B4_A869_4C06_B398_03DD80107915__INCLUDED_)
#define AFX_MYOPENGL_H__4FD313B4_A869_4C06_B398_03DD80107915__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

struct FONTS														// 保存中文轮廓字体
{
	DWORD val;														// 保存显示表的值(用来比较)
	GLuint listName;												// 保存显示表的名称
	GLYPHMETRICSFLOAT gmf;											// 保存字体的详细信息
	FONTS *next;													// 下一个轮廓字体的指针
};

class CMyOpenGL : public vpChannel::Subscriber  
{
public:
	void mydraw();
	CMyOpenGL();
	virtual ~CMyOpenGL();
	int configure();
	//void makeOrthographic(vuMatrix<float> &m, float l, float r, float b, float t,
    //float n, float f);
	/*virtual void notify(vsChannel::Event, const vsChannel *,
		vsTraversalCull *);*/
    virtual void notify(vsChannel::Event, const vsChannel *channel,
 		vrDrawContext *context); 
	GLvoid BuildFont(GLvoid);
	GLvoid glPrint(const char *fmt, ...);	
    FONTS* AddFont(DWORD dwChar);
public:
    HFONT oldFont;														// 用以保存原字体对象
    HFONT newFont;
	GLfloat aspect;
};

#endif // !defined(AFX_MYOPENGL_H__4FD313B4_A869_4C06_B398_03DD80107915__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?