亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? glmdiview.h

?? 詳細介紹c++編程
?? H
字號:
#if !defined(AFX_GLENABLEDVIEW_H__59CED13F_E584_11D1_ACB3_E52ED8AC9002__INCLUDED_)
#define AFX_GLENABLEDVIEW_H__59CED13F_E584_11D1_ACB3_E52ED8AC9002__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
/////////////////////////////////////////////////////////////////////////////
// CGlmdiView.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// Global type definitions
	enum InfoField {VENDOR,RENDERER,VERSION,ACCELERATION,EXTENSIONS};
	enum ColorsNumber{INDEXED,THOUSANDS,MILLIONS,MILLIONS_WITH_TRANSPARENCY};
	enum ZAccuracy{NORMAL,ACCURATE};

/////////////////////////////////////////////////////////////////////////////
// CGlmdiView view
#include <gl/gl.h>
#include <gl/glu.h>
#include <gl/glaux.h>

class CGlmdiView : public CView
{
protected:
	CGlmdiView();// protected constructor used by dynamic creation
	DECLARE_DYNCREATE(CGlmdiView)
/** CGLDispList
DESC:-this is an helper class which let you create "display list objects",
       use these objects to define the key elements in your scene (a disp.
	   list is faster than the corresponding GL commands).
      -Through the class members functions you have total control on a
       single display list.
      -An isolated display list save OGL parameters before execution
	   (so it's not affected by preceding transformations or settings).
*******/
	class CGLDispList
	{
	friend class CGlmdiView;
	private:
		BOOL m_bIsolated;
		int m_glListId;
	public:
		CGLDispList();  // constructor
		~CGLDispList(); // destructor
		void StartDef(BOOL bImmediateExec=FALSE);// enclose a disp.list def.
		void EndDef();
		void Draw();// execute disp list GL commands 
		void SetIsolation(BOOL bValue) {m_bIsolated=bValue;}; // set isolation property
	};

/** CGLTesselator
DESC:-this is a wrapper class which let you create "tesselator objects",
      use these objects to create concave or self intersecting polygons.
     -OGL tessellation objects converts a vertices list describing a convex
	  or self-intersecting polygon in one or more GL primitives.Read the
	  docs to understand the callbacks mechanism.
	 -The callbacks have been defined as a simple and direct mapping to
	  corresponding GL primitive (no per vertex color or texture information).
	 -The callbacks have to be global functions.
	 -A very simple garbage collection list has been implemented to manage new
	  vertices create by combine callback.
	 -Elaboration and drawing occur after EndDef().
*******/
	class CGLTesselator
	{
	public:
		CGLTesselator();  // constructor
		~CGLTesselator(); // destructor
// properties functions
		void SetFilling(BOOL bFill=TRUE);
		BOOL GetFilling();
		void SetWindingRule(GLdouble which);
		GLdouble GetWindingRule();
// definition functions
		void StartDef();
		void AddVertexArray(GLdouble arr[][3],int size);
		void AddVertex(GLdouble vertData[3]);
		void ContourSeparator();
		void EndDef();// here occur drawing

	private:
		GLUtesselator* m_tessObj;
	};

/** CGLQuadric
DESC:-This is a wrapper class which let you create "quadric objects",
      use these objects to create spheres, disks and cylinders.
	 -All GL commands related to quadrics have been wrapped hiding the
	  quadric object parameter.
*******/
	class CGLQuadric
	{
	public:
		CGLQuadric(GLenum drwStyle=GLU_FILL,  // constructor
				   GLenum normals=GLU_FLAT, 
				   GLenum side=GLU_OUTSIDE,
				   BOOL bGenerateTxtrCoords=FALSE);
		~CGLQuadric();  // destructor
// properties functions
		void SetDrawStyle(GLenum style);
		void SetOrientation(GLenum type);
		void SetTextureCoordsGen(BOOL flag);
		void SetNormals(GLenum type);
// drawing functions
		void DrawPartialDisk(GLdouble innerRadius,GLdouble outerRadius,int slices,int loops,GLdouble startAngle,GLdouble sweepAngle);
		void DrawDisk(GLdouble innerRadius,GLdouble outerRadius,int slices,int loops);
		void DrawCylinder(GLdouble baseRadius,GLdouble topRadius,GLdouble height,int slices,int stacks);
		void DrawSphere(GLdouble radius,int longitudeSubdiv,int latitudeSubdiv);

	private:
		GLUquadricObj* m_quadrObj;
	};
// Attributes
public:

// Operations
public:
/* Stock Display lists functions
DESC.: these display lists are internally organized in a vector (20 max),
       you have control on definition and redrawing only. 
       use them for background elements which are to be drawn everytime
       all together.
NOTE: between BeginStockDispList and EndStockDispList should be present OpenGL calls only (see documentation for which are allowed and how are them treated)
*/
	void StartStockDListDef();	// allocates a new stock display list entry and opens a display list definition
	void EndStockListDef();		// closes a stock display list definition
	void DrawStockDispLists();	// executes all the stock display lists
	void ClearStockDispLists(); // deletes all the stock display lists
// Information retrieval function
	const CString GetInformation(InfoField type);
// Mouse cursor function
	void SetMouseCursor(HCURSOR mcursor=NULL);
// Attribute retrieval function
	double GetAspectRatio() {return m_dAspectRatio;};
// Rendering Context switching
	void BeginGLCommands();// use to issue GL commands outside Overridables
	void EndGLCommands();// i.e: in menu event handlers, button events handler etc.
// Overridables
	virtual void OnCreateGL(); // override to set bg color, activate z-buffer, and other global settings
	virtual void OnSizeGL(int cx, int cy); // override to adapt the viewport to the window
	virtual void OnDrawGL(); // override to issue drawing functions
	virtual void VideoMode(ColorsNumber &c,ZAccuracy &z,BOOL &dbuf); // override to specify some video mode parameters

// Overrides
// NOTE: these have been declared private because they shouldn't be
//		 overridden, use the provided virtual functions instead.
private:
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CGlmdiView)
	public:
	virtual void OnDraw(CDC* pDC);      // overridden to draw this view
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	protected:
	//}}AFX_VIRTUAL

// Implementation
protected:
	virtual ~CGlmdiView();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

// Generated message map functions
// NOTE: these have been declared private because they shouldn't be
//		 overridden, use the provided virtual functions instead.
private:
	//{{AFX_MSG(CGlmdiView)
		afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
		afx_msg void OnDestroy();
		afx_msg BOOL OnEraseBkgnd(CDC* pDC);
		afx_msg void OnSize(UINT nType, int cx, int cy);
		afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

// member variables
private:
	CDC* m_pCDC;	// WinGDI Device Context
	HGLRC m_hRC;	// OpenGL Rendering Context
	HCURSOR m_hMouseCursor;	// mouse cursor handle for the view
	CPalette m_CurrentPalette; // palettes
	CPalette* m_pOldPalette;
	CRect m_ClientRect;    // client area size
	double m_dAspectRatio;    // aspect
	int m_DispListVector[20];	// Internal stock display list vector
	BOOL m_bInsideDispList;	// Disp List definition semaphore
	BOOL m_bExternGLCall;
	BOOL m_bExternDispListCall;
// initialization helper functions
	unsigned char ComponentFromIndex(int i, UINT nbits, UINT shift);
	void CreateRGBPalette();
	BOOL bSetupPixelFormat();
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_GLENABLEDVIEW_H__59CED13F_E584_11D1_ACB3_E52ED8AC9002__INCLUDED_)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久7777按摩| 丁香婷婷综合激情五月色| 精品免费99久久| 日韩欧美中文一区二区| 在线播放日韩导航| 9191精品国产综合久久久久久| 91在线你懂得| 日本久久电影网| 欧洲国内综合视频| 欧美另类变人与禽xxxxx| 欧美高清视频一二三区| 欧美一二三四区在线| 欧美电影免费观看完整版| 精品日韩成人av| www激情久久| 国产精品久久久久一区二区三区| 中文字幕乱码日本亚洲一区二区 | 午夜婷婷国产麻豆精品| 一区二区三区不卡视频| 婷婷开心激情综合| 精彩视频一区二区| 丁香亚洲综合激情啪啪综合| 99久久亚洲一区二区三区青草| 色婷婷av一区二区三区软件| 欧美日韩一区二区三区免费看| 欧美老肥妇做.爰bbww| 欧美大片拔萝卜| 欧美激情一区不卡| 午夜视频在线观看一区二区三区| 精品一区二区三区欧美| www.一区二区| 91精品国产高清一区二区三区 | 成人av电影免费观看| 色噜噜狠狠色综合中国| 日韩一级片在线播放| 国产精品美女久久福利网站| 一区二区久久久久久| 久久国产人妖系列| 91在线精品一区二区| 日韩午夜激情电影| 亚洲美腿欧美偷拍| 久久精品国产久精国产| 91麻豆福利精品推荐| 欧美成人精品二区三区99精品| 国产精品国产三级国产普通话蜜臀 | 精品一区二区影视| 日本精品视频一区二区| 久久欧美中文字幕| 亚洲不卡在线观看| 成人av网址在线| 日韩小视频在线观看专区| 亚洲欧美视频在线观看| 韩国在线一区二区| 欧美日韩二区三区| 亚洲欧洲日韩女同| 精品一区二区在线免费观看| 色婷婷久久久亚洲一区二区三区| 欧美mv日韩mv| 石原莉奈一区二区三区在线观看| 成人一区在线观看| 2023国产精品视频| 美女视频一区二区| 欧美人妖巨大在线| 亚洲在线中文字幕| av成人动漫在线观看| 久久久久九九视频| 久久av中文字幕片| 欧美一区二区私人影院日本| 一区二区三区精密机械公司| 成人精品在线视频观看| 久久精品网站免费观看| 久久国产精品99精品国产| 欧美精品第1页| 亚洲18色成人| 欧美日韩在线免费视频| 亚洲一区在线电影| 欧美性猛片aaaaaaa做受| 亚洲激情一二三区| 欧亚一区二区三区| 婷婷国产在线综合| 日韩欧美久久久| 精品中文av资源站在线观看| www国产亚洲精品久久麻豆| 黄页视频在线91| 久久精品视频一区二区三区| 国产曰批免费观看久久久| 2欧美一区二区三区在线观看视频| 免费成人性网站| 日韩亚洲欧美在线观看| 日本视频一区二区三区| 日韩小视频在线观看专区| 精品一区二区在线观看| 国产精品美女视频| 在线观看精品一区| 免费黄网站欧美| 国产亚洲欧美激情| 91在线观看免费视频| 亚洲国产日韩a在线播放| 欧美高清精品3d| 国产乱理伦片在线观看夜一区| 国产欧美一二三区| 欧美亚洲国产一区二区三区va | 成人午夜短视频| 亚洲欧美日韩一区二区三区在线观看| 色婷婷久久久亚洲一区二区三区 | 国产精品久久久久久久久晋中 | 欧美老人xxxx18| 国产在线精品一区二区不卡了| 国产婷婷精品av在线| 在线日韩国产精品| 麻豆精品视频在线| 亚洲同性同志一二三专区| 欧美精品在线观看播放| 国产精品综合久久| 亚洲福利电影网| 中文字幕+乱码+中文字幕一区| 欧美日韩一区二区三区四区| 国产精品一区二区91| 香蕉加勒比综合久久| 国产喂奶挤奶一区二区三区| 一本一道波多野结衣一区二区| 麻豆精品一区二区| 亚洲精品国产品国语在线app| 欧美一区二区在线免费观看| 91免费精品国自产拍在线不卡| 蜜乳av一区二区| 亚洲精品免费视频| 久久久99精品久久| 欧美一区二区日韩一区二区| 色素色在线综合| 豆国产96在线|亚洲| 另类专区欧美蜜桃臀第一页| 亚洲一区二区三区自拍| 国产女人18水真多18精品一级做| 在线不卡中文字幕| 在线看国产一区二区| 成人av小说网| 成人免费福利片| 国产精品一级黄| 黄色日韩网站视频| 精品在线你懂的| 男女性色大片免费观看一区二区 | 精品在线一区二区| 日韩av一区二区三区四区| 亚洲伦在线观看| 中文字幕一区二区在线播放| 久久久久青草大香线综合精品| 日韩一区二区在线观看视频播放| 欧美亚洲禁片免费| 欧美日韩一区视频| 欧美午夜影院一区| 精品视频在线免费看| 在线观看日韩一区| 欧洲在线/亚洲| 欧美三级日韩三级国产三级| 欧美亚洲一区二区三区四区| 欧美亚一区二区| 欧美三级在线视频| 欧美日韩不卡一区| 69精品人人人人| 精品国产伦一区二区三区观看方式| 91精品国产美女浴室洗澡无遮挡| 欧美日韩精品一区二区三区四区| 欧美午夜视频网站| 欧美老肥妇做.爰bbww视频| 日韩欧美亚洲另类制服综合在线| 日韩在线a电影| 麻豆成人av在线| 精品一区二区在线观看| 丁香亚洲综合激情啪啪综合| 99久久综合99久久综合网站| 91社区在线播放| 欧美日韩国产美| 精品国产麻豆免费人成网站| 亚洲精品一线二线三线| 欧美韩国日本不卡| 一区二区三区日韩欧美| 国产一区二区福利视频| 亚洲第一激情av| 精品一区二区三区蜜桃| 风间由美性色一区二区三区| 在线免费不卡视频| 欧美一区二区三区人| 国产网站一区二区三区| 亚洲主播在线播放| 国产精品2024| 欧美午夜精品久久久久久孕妇| 日韩欧美一区电影| 中文字幕在线播放不卡一区| 日韩黄色在线观看| 成人性生交大片免费看在线播放 | 三级欧美韩日大片在线看| 日韩国产欧美在线视频| 国产精品资源网站| 在线看日本不卡| 国产女同性恋一区二区| 亚洲3atv精品一区二区三区| 国产ts人妖一区二区| 日韩亚洲欧美中文三级| 亚洲色欲色欲www|