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

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

?? primitiveview.cpp

?? C:Documents and SettingsAdministrator桌面VC++多媒體特效制作百例CHAR08Primitive
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// PrimitiveView.cpp : implementation of the CPrimitiveView class
//

#include "stdafx.h"
#include "Primitive.h"

#include "PrimitiveDoc.h"
#include "PrimitiveView.h"

//add down
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define PIXEL_CENTER(x) ((long)(x) + 0.5)

#define GAP 10
#define ROWS 3
#define COLS 4

#define OPENGL_WIDTH 48
#define OPENGL_HEIGHT 13
//add up

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CPrimitiveView

IMPLEMENT_DYNCREATE(CPrimitiveView, CView)

BEGIN_MESSAGE_MAP(CPrimitiveView, CView)
	//{{AFX_MSG_MAP(CPrimitiveView)
	ON_WM_CREATE()
	ON_WM_DESTROY()
	ON_WM_ERASEBKGND()
	ON_WM_SIZE()
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPrimitiveView construction/destruction

CPrimitiveView::CPrimitiveView()
{
	//add down
	m_pDC = NULL;

    mode1 = GL_TRUE;
    mode2 = GL_TRUE;
	windW = 600;
	windH = 300;
	GLubyte OpenGL_bits[] = {
	   0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 
	   0x7f, 0xfb, 0xff, 0xff, 0xff, 0x01,
	   0x7f, 0xfb, 0xff, 0xff, 0xff, 0x01, 
	   0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
	   0x3e, 0x8f, 0xb7, 0xf9, 0xfc, 0x01, 
	   0x63, 0xdb, 0xb0, 0x8d, 0x0d, 0x00,
	   0x63, 0xdb, 0xb7, 0x8d, 0x0d, 0x00, 
	   0x63, 0xdb, 0xb6, 0x8d, 0x0d, 0x00,
	   0x63, 0x8f, 0xf3, 0xcc, 0x0d, 0x00, 
	   0x63, 0x00, 0x00, 0x0c, 0x4c, 0x0a,
	   0x63, 0x00, 0x00, 0x0c, 0x4c, 0x0e, 
	   0x63, 0x00, 0x00, 0x8c, 0xed, 0x0e,
	   0x3e, 0x00, 0x00, 0xf8, 0x0c, 0x00, 
	};
	//add up
}

CPrimitiveView::~CPrimitiveView()
{
}

BOOL CPrimitiveView::PreCreateWindow(CREATESTRUCT& cs)
{
	//add down
	cs.style |= WS_CLIPSIBLINGS | WS_CLIPCHILDREN;
	//add up

	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CPrimitiveView drawing

void CPrimitiveView::OnDraw(CDC* pDC)
{
	CPrimitiveDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);

	//add down
	DrawScene();
	//add up
}

/////////////////////////////////////////////////////////////////////////////
// CPrimitiveView printing

BOOL CPrimitiveView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CPrimitiveView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CPrimitiveView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

/////////////////////////////////////////////////////////////////////////////
// CPrimitiveView diagnostics

#ifdef _DEBUG
void CPrimitiveView::AssertValid() const
{
	CView::AssertValid();
}

void CPrimitiveView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}

CPrimitiveDoc* CPrimitiveView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CPrimitiveDoc)));
	return (CPrimitiveDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CPrimitiveView message handlers

int CPrimitiveView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CView::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	//add down
	Init(); //初始化OpenGL
	//add up
	
	return 0;
}

void CPrimitiveView::OnDestroy() 
{
	//add down
	HGLRC   hrc;

	hrc = ::wglGetCurrentContext();

	::wglMakeCurrent(NULL,  NULL);

	if (hrc)
		::wglDeleteContext(hrc);

	if (m_pDC)
		delete m_pDC;
	//add up

	CView::OnDestroy();
}

BOOL CPrimitiveView::OnEraseBkgnd(CDC* pDC) 
{
	return TRUE;
}

void CPrimitiveView::OnSize(UINT nType, int cx, int cy) 
{
	CView::OnSize(nType, cx, cy);
	
    windW = cx;
    windH = cy;
	
}

//add down
void CPrimitiveView::Init()
{
	PIXELFORMATDESCRIPTOR pfd;
	int         n;
	HGLRC       hrc;

	m_pDC = new CClientDC(this);

	ASSERT(m_pDC != NULL);

	if (!bSetupPixelFormat())
		return;

	n = ::GetPixelFormat(m_pDC->GetSafeHdc());
	::DescribePixelFormat(m_pDC->GetSafeHdc(), n, sizeof(pfd), &pfd);

	hrc = wglCreateContext(m_pDC->GetSafeHdc());
	wglMakeCurrent(m_pDC->GetSafeHdc(), hrc);

}

BOOL CPrimitiveView::bSetupPixelFormat()
{
	static PIXELFORMATDESCRIPTOR pfd =
	{
		sizeof(PIXELFORMATDESCRIPTOR),  // size of this pfd
		1,                              // version number
		PFD_DRAW_TO_WINDOW |            // support window
		  PFD_SUPPORT_OPENGL |          // support OpenGL
		  PFD_DOUBLEBUFFER,             // double buffered
		PFD_TYPE_RGBA,                  // RGBA type
		24,                             // 24-bit 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,                     // accum bits ignored
		32,                             // 32-bit z-buffer
		0,                              // no stencil buffer
		0,                              // no auxiliary buffer
		PFD_MAIN_PLANE,                 // main layer
		0,                              // reserved
		0, 0, 0                         // layer masks ignored
	};
	int pixelformat;

	if ( (pixelformat = ChoosePixelFormat(m_pDC->GetSafeHdc(), &pfd)) == 0 )
	{
		MessageBox("ChoosePixelFormat failed");
		return FALSE;
	}

	if (SetPixelFormat(m_pDC->GetSafeHdc(), pixelformat, &pfd) == FALSE)
	{
		MessageBox("SetPixelFormat failed");
		return FALSE;
	}

	return TRUE;
}

void CPrimitiveView::DrawScene(void)
{
    glViewport(0, 0, windW, windH);
    glDisable(GL_SCISSOR_TEST);

    glPushAttrib(GL_COLOR_BUFFER_BIT);

    glColorMask(1, 1, 1, 1);
    glIndexMask(~0);

    glClearColor(1.0, 1.0, 1.0, 0.0);
    glClear(GL_COLOR_BUFFER_BIT);

    glPopAttrib();

    if (mode1) {
	glShadeModel(GL_SMOOTH);
    } else {
	glShadeModel(GL_FLAT);
    }

    if (mode2) {
	glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
    } else {
	glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
    }

    Viewport(0, 0); Point();
    Viewport(0, 1); Lines();
    Viewport(0, 2); LineStrip();
    Viewport(0, 3); LineLoop();

    Viewport(1, 0); Bitmap();

    Viewport(1, 1); TriangleFan();
    Viewport(1, 2); Triangles();
    Viewport(1, 3); TriangleStrip();

    Viewport(2, 0); Rect();
    Viewport(2, 1); Polygons();
    Viewport(2, 2); Quads();
    Viewport(2, 3); QuadStrip();
 
	glFinish();
	SwapBuffers(wglGetCurrentDC());
}

void CPrimitiveView::RotateColorMask(void)
{
    static GLint rotation = 0;
    
    rotation = (rotation + 1) & 0x3;
    switch (rotation) {
      case 0:
	glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
	glIndexMask(0xff);
	break;
      case 1:
	glColorMask(GL_FALSE, GL_TRUE, GL_TRUE, GL_TRUE);
	glIndexMask(0xFE);
	break;
      case 2:
	glColorMask(GL_TRUE, GL_FALSE, GL_TRUE, GL_TRUE);
	glIndexMask(0xFD);
	break;
      case 3:
	glColorMask(GL_TRUE, GL_TRUE, GL_FALSE, GL_TRUE);
	glIndexMask(0xFB);
	break;
    }
}

void CPrimitiveView::SetColor(int index)
{

    if (rgb) {
	switch (index) {
	  case 0:
	    glColor3f(0.0, 0.0, 0.0);
	    break;
	  case 1:
	    glColor3f(1.0, 0.0, 0.0);
	    break;
	  case 2:
	    glColor3f(0.0, 1.0, 0.0);
	    break;
	  case 3:
	    glColor3f(1.0, 1.0, 0.0);
	    break;
	  case 4:
	    glColor3f(0.0, 0.0, 1.0);
	    break;
	  case 5:
	    glColor3f(1.0, 0.0, 1.0);
	    break;
	  case 6:
	    glColor3f(0.0, 1.0, 1.0);
	    break;
	  case 7:
	    glColor3f(1.0, 1.0, 1.0);
	    break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费在线观看精品| 国产精品自拍av| 国产日产欧美一区| 欧美系列亚洲系列| 国产成a人亚洲| www.激情成人| 精品国产免费人成在线观看| 色噜噜狠狠色综合欧洲selulu| 成人亚洲精品久久久久软件| 国产a精品视频| 欧美一区二区三区免费在线看| 色8久久精品久久久久久蜜| 2023国产精华国产精品| ww亚洲ww在线观看国产| 一区二区三区欧美亚洲| 亚洲免费av网站| 亚洲精品视频免费看| 亚洲午夜精品网| 一区二区三区美女视频| 国产精品一级在线| 欧美xxxx在线观看| 久久久精品日韩欧美| 国产精品传媒入口麻豆| 亚洲天堂久久久久久久| 天堂久久一区二区三区| 美女视频黄免费的久久 | 日韩av电影一区| 裸体歌舞表演一区二区| 国产曰批免费观看久久久| 国产福利一区二区三区视频在线| 成人教育av在线| 欧美图片一区二区三区| 亚洲精品中文在线观看| 99精品视频免费在线观看| 在线不卡免费av| 久久久久国产精品厨房| 久久99久久99| 在线视频综合导航| 欧美精品一区二区久久久| 秋霞成人午夜伦在线观看| 69久久夜色精品国产69蝌蚪网| 国产三级三级三级精品8ⅰ区| 亚洲永久精品大片| 麻豆久久久久久| 精品国一区二区三区| 国产又粗又猛又爽又黄91精品| 日韩女优av电影| 亚洲国产精品久久一线不卡| 欧美日本在线看| 国产肉丝袜一区二区| 国产91精品一区二区麻豆亚洲| 国产女主播在线一区二区| 成人国产精品免费观看视频| 中文字幕一区二区三区蜜月| 捆绑变态av一区二区三区| 精品国产乱码久久久久久浪潮| 精品一区二区三区香蕉蜜桃 | 91成人在线免费观看| 午夜亚洲福利老司机| 99久久久免费精品国产一区二区| 成人免费视频在线观看| 欧美久久久一区| 国产精品一二二区| 亚洲一区二区偷拍精品| 精品日韩成人av| 91丝袜国产在线播放| 国产精品麻豆一区二区| 久久se这里有精品| 国产精品久久久久影院老司| 欧美亚男人的天堂| 国产乱码精品一区二区三| 亚洲欧洲国产日本综合| 91麻豆精品国产91久久久久久久久| 激情都市一区二区| 日韩欧美一区在线观看| 香蕉成人啪国产精品视频综合网 | 蜜桃久久av一区| 国产精品拍天天在线| 欧美三电影在线| 亚洲综合精品自拍| 久久久不卡网国产精品一区| 欧美网站大全在线观看| 成人免费视频播放| 奇米亚洲午夜久久精品| 一区视频在线播放| 精品日韩一区二区| 欧美日本在线播放| 成人av手机在线观看| 久久疯狂做爰流白浆xx| 一区二区理论电影在线观看| 欧美极品美女视频| zzijzzij亚洲日本少妇熟睡| 麻豆视频一区二区| 亚洲国产精品久久一线不卡| 中文字幕在线不卡视频| 欧美精品一区二区在线观看| 欧美午夜电影网| 91在线免费视频观看| 国产成a人亚洲精品| 精品在线观看视频| 免费高清在线一区| 日韩精品欧美精品| 午夜精品一区在线观看| 亚洲品质自拍视频| 国产精品福利影院| 中文字幕乱码久久午夜不卡| 精品成人免费观看| 日韩一区二区麻豆国产| 欧美色图激情小说| 欧美最猛性xxxxx直播| 色综合视频在线观看| 日韩经典中文字幕一区| 亚洲午夜激情av| 亚洲午夜视频在线| 夜夜揉揉日日人人青青一国产精品 | 亚洲午夜一区二区| 亚洲尤物在线视频观看| 亚洲三级视频在线观看| 亚洲蜜桃精久久久久久久| 亚洲视频一二三区| 亚洲欧美激情在线| 亚洲一区在线观看免费观看电影高清| 中文字幕中文字幕一区二区| 国产精品麻豆久久久| 国产精品成人一区二区艾草 | 3751色影院一区二区三区| 在线电影院国产精品| 69p69国产精品| 精品入口麻豆88视频| 久久久亚洲精品石原莉奈| 国产欧美日韩在线看| 亚洲欧洲成人精品av97| 亚洲黄网站在线观看| 亚洲va天堂va国产va久| 麻豆中文一区二区| 国产91精品入口| 欧美在线不卡视频| 日韩丝袜美女视频| 国产视频不卡一区| 一区二区三区四区国产精品| 午夜精品成人在线视频| 精品亚洲成a人在线观看| 成人丝袜18视频在线观看| 色国产精品一区在线观看| 欧美久久一二区| 国产欧美日韩另类一区| 一级中文字幕一区二区| 久久99精品久久久久久动态图| 国产iv一区二区三区| 欧美日韩精品三区| 久久女同性恋中文字幕| 亚洲精品你懂的| 麻豆91小视频| 色偷偷久久人人79超碰人人澡| 欧美人伦禁忌dvd放荡欲情| 中文字幕一区不卡| 日韩激情视频在线观看| 大美女一区二区三区| 欧美精品一二三| 欧美—级在线免费片| 日本一区中文字幕| 99re8在线精品视频免费播放| 欧美精品一二三区| 欧美性色欧美a在线播放| 18欧美亚洲精品| 亚洲成在线观看| 国产91富婆露脸刺激对白| 欧美视频自拍偷拍| 中文字幕成人av| 日本欧洲一区二区| 91黄色免费观看| 久久久久久久久久久电影| 亚洲国产精品欧美一二99| 成人免费毛片高清视频| 欧美肥胖老妇做爰| 亚洲另类中文字| 成人永久看片免费视频天堂| 欧美精品 日韩| 亚洲欧美激情小说另类| 国产精品18久久久久久久网站| 欧美日韩在线免费视频| 国产精品成人免费精品自在线观看| 免费在线观看成人| 3751色影院一区二区三区| 亚洲精品成人精品456| 成人91在线观看| 久久久久国产精品免费免费搜索| 美女免费视频一区| 欧美美女视频在线观看| 亚洲在线免费播放| 色哟哟亚洲精品| 亚洲人成人一区二区在线观看| 国产成人精品免费视频网站| 精品国产电影一区二区| 久久66热偷产精品| 精品美女在线观看| 久99久精品视频免费观看| 日韩精品专区在线影院观看| 久久国产尿小便嘘嘘尿| 日韩欧美国产三级|