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

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

?? sphereview.cpp

?? 繪制光源照射的球體
?? CPP
字號:
// SphereView.cpp : implementation of the CSphereView class
//

#include "stdafx.h"
#include "Sphere.h"

#include "SphereDoc.h"
#include "SphereView.h"

//add down
#include "gl\gl.h"
#include "gl\glu.h"
#include "gl\glaux.h"

#include <stdlib.h>
//add up

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

/////////////////////////////////////////////////////////////////////////////
// CSphereView

IMPLEMENT_DYNCREATE(CSphereView, CView)

BEGIN_MESSAGE_MAP(CSphereView, CView)
	//{{AFX_MSG_MAP(CSphereView)
	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()

/////////////////////////////////////////////////////////////////////////////
// CSphereView construction/destruction

CSphereView::CSphereView()
{
	//add down
	m_pDC = NULL;
	//add up
}

CSphereView::~CSphereView()
{
}

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

	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CSphereView drawing

void CSphereView::OnDraw(CDC* pDC)
{
	CSphereDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);

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

/////////////////////////////////////////////////////////////////////////////
// CSphereView printing

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

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

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

/////////////////////////////////////////////////////////////////////////////
// CSphereView diagnostics

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

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

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

/////////////////////////////////////////////////////////////////////////////
// CSphereView message handlers

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

void CSphereView::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 CSphereView::OnEraseBkgnd(CDC* pDC) 
{
	return TRUE;
}

void CSphereView::OnSize(UINT nType, int cx, int cy) 
{
	CView::OnSize(nType, cx, cy);
	
   glViewport (0, 0, (GLsizei) cx, (GLsizei) cy);
   glMatrixMode (GL_PROJECTION);
   glLoadIdentity();
   if (cx <= cy)
      glOrtho (-1.5, 1.5, -1.5*(GLfloat)cy/(GLfloat)cx,
         1.5*(GLfloat)cy/(GLfloat)cx, -10.0, 10.0);
   else
      glOrtho (-1.5*(GLfloat)cx/(GLfloat)cy,
         1.5*(GLfloat)cx/(GLfloat)cy, -1.5, 1.5, -10.0, 10.0);
   glMatrixMode(GL_MODELVIEW);
   glLoadIdentity();
}

//add down
void CSphereView::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);

   GLfloat mat_colormap[] = { 16.0, 47.0, 3682.0 };
   GLfloat mat_shininess[] = { 50.0 };
   GLfloat light_position[] = { 10.0, 4.0, 1.0, -3.0 };
   
   glClearColor (0.0, 1.0, 1.0, 0.0);
   glShadeModel (GL_SMOOTH);

   glMaterialfv(GL_FRONT, GL_SPECULAR, mat_colormap);
   glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess);
   glLightfv(GL_LIGHT0, GL_POSITION, light_position);

   glEnable(GL_LIGHTING);
   glEnable(GL_LIGHT0);
   glEnable(GL_DEPTH_TEST);
}

BOOL CSphereView::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 CSphereView::DrawScene(void)
{
	//清除顏色緩沖區和深度緩沖區
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

   auxSolidSphere (1.0);

	glFinish();
	SwapBuffers(wglGetCurrentDC());
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲6080在线| 国产精品一区二区三区乱码| 日韩经典一区二区| 99久久久久免费精品国产 | 国产一区91精品张津瑜| 色婷婷综合久久久久中文一区二区 | 成人教育av在线| 日韩情涩欧美日韩视频| 亚洲欧美日韩小说| 国产成人av电影在线播放| 欧美另类变人与禽xxxxx| 中文字幕亚洲一区二区av在线 | 亚洲欧美区自拍先锋| 国产一区二区三区四区五区入口| 色国产综合视频| 中文字幕国产精品一区二区| 久久国产免费看| 日韩欧美美女一区二区三区| 亚洲国产精品麻豆| 一道本成人在线| 亚洲日本va午夜在线影院| 成人av在线看| 国产精品美女www爽爽爽| 国产乱码精品一区二区三区av| 欧美一区二区观看视频| 日韩精品1区2区3区| 欧美日韩精品电影| 香蕉加勒比综合久久| 欧美日韩卡一卡二| 亚洲图片欧美色图| 欧美亚洲高清一区二区三区不卡| 亚洲天堂成人网| 在线免费视频一区二区| 亚洲一区二区三区影院| 欧美欧美欧美欧美首页| 免费黄网站欧美| 精品久久久久久久久久久院品网 | 亚洲欧洲日韩在线| 91丨porny丨首页| 一区二区三区欧美日韩| 色呦呦一区二区三区| 亚洲精品大片www| 欧美日韩视频不卡| 蜜臀91精品一区二区三区| 日韩午夜在线观看视频| 国产一区二区三区黄视频| 欧美国产国产综合| 91尤物视频在线观看| 亚洲一二三区在线观看| 日韩一区二区三区在线| 国产精品亚洲第一 | 国产午夜亚洲精品羞羞网站| 国产成人免费视频精品含羞草妖精 | 欧美日韩激情一区二区三区| 日本欧美一区二区在线观看| 精品国产髙清在线看国产毛片| 国产一区二区成人久久免费影院 | 日韩精品一区二区三区在线观看 | 精品电影一区二区三区| 高清视频一区二区| **欧美大码日韩| 欧美日韩电影在线播放| 激情综合五月天| 日韩毛片高清在线播放| 91精品国产美女浴室洗澡无遮挡| 国产精品一区2区| 亚洲国产成人av| 国产午夜一区二区三区| 欧美日韩五月天| 成人h精品动漫一区二区三区| 亚洲一区在线视频观看| 日韩精品一区二区三区蜜臀| 99久久99久久精品免费观看| 日韩电影免费在线观看网站| 一区在线中文字幕| 日韩欧美在线123| 91视频在线观看| 国产一区二区三区免费看| 亚洲成人动漫av| 亚洲素人一区二区| 精品国一区二区三区| 在线观看亚洲精品| 成人h动漫精品| 国产乱码精品一区二区三区忘忧草 | 在线观看日韩国产| 高清在线成人网| 精品一区二区三区影院在线午夜| 亚洲黄色免费网站| 国产丝袜欧美中文另类| 在线播放国产精品二区一二区四区| 国产一区二区女| 卡一卡二国产精品| 五月激情综合网| 亚洲丝袜美腿综合| 久久久久久久久久久久电影| 91麻豆精品国产| 欧美亚洲综合色| 成人国产精品免费观看动漫| 国内成人精品2018免费看| 亚洲国产日韩一区二区| 亚洲丝袜自拍清纯另类| 国产精品视频在线看| 久久久国产精品午夜一区ai换脸| 91精品国产高清一区二区三区蜜臀 | 久久99精品久久只有精品| 午夜久久久影院| 一区二区三区日本| 亚洲在线观看免费视频| 亚洲欧美国产三级| 亚洲精品你懂的| 一区二区三区欧美亚洲| 一区二区三区在线影院| 亚洲免费观看高清完整版在线| 中文字幕精品综合| 国产精品九色蝌蚪自拍| 1区2区3区欧美| 一区二区三区在线看| 亚洲卡通动漫在线| 亚洲图片欧美一区| 日韩电影在线免费看| 免费精品视频最新在线| 黄色精品一二区| 国产精品一线二线三线精华| 国产麻豆视频一区二区| 粉嫩绯色av一区二区在线观看| 国产精品资源站在线| 成人开心网精品视频| 一本到高清视频免费精品| 欧美伊人久久久久久久久影院| 9191国产精品| 国产色产综合产在线视频| 国产精品网站在线观看| 一区二区三区精品久久久| 午夜精品久久久久久久久久 | 一区二区三区日本| 日韩电影在线一区二区| 国产一区二区看久久| 97精品久久久午夜一区二区三区 | 555夜色666亚洲国产免| 久久天天做天天爱综合色| 国产精品蜜臀在线观看| 亚洲一区中文在线| 国产在线精品一区二区夜色 | 欧美猛男男办公室激情| 精品国产免费久久| 日韩码欧中文字| 秋霞成人午夜伦在线观看| 国产在线播放一区| 色婷婷国产精品| 日韩欧美一级精品久久| 国产精品成人在线观看| 日韩不卡一区二区| 国产不卡在线播放| 欧美一区午夜精品| 亚洲视频每日更新| 国内外精品视频| 色噜噜偷拍精品综合在线| 日韩女优视频免费观看| 亚洲精选视频在线| 福利一区二区在线观看| 欧美二区乱c少妇| 亚洲欧洲www| 国产一区二区三区在线看麻豆| 在线观看一区二区视频| 国产日韩亚洲欧美综合| 亚洲成人动漫在线观看| 91丨国产丨九色丨pron| 久久免费电影网| 偷窥少妇高潮呻吟av久久免费| 白白色 亚洲乱淫| 日韩欧美一级片| 午夜一区二区三区视频| 91美女在线视频| 国产欧美日本一区二区三区| 日韩电影在线一区二区三区| 99久精品国产| 中文av一区特黄| 国产精品白丝av| 日韩免费观看2025年上映的电影| 亚洲午夜视频在线观看| 91在线观看一区二区| 欧美韩国日本不卡| 国内成人精品2018免费看| 日韩免费在线观看| 免费看日韩a级影片| 91精品国产综合久久久蜜臀粉嫩| 一区二区三区四区五区视频在线观看| 成人小视频在线| 日本一区二区三区国色天香| 激情综合色播五月| 日韩三级.com| 麻豆91小视频| 日韩欧美aaaaaa| 美美哒免费高清在线观看视频一区二区| 欧美三级在线视频| 亚洲第一综合色| 91精品国产一区二区三区蜜臀| 午夜精品一区在线观看| 欧美日韩不卡视频| 青椒成人免费视频|