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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? opengl.cpp

?? 基于Opencv的人體運(yùn)動(dòng)檢測(cè)系統(tǒng)
?? CPP
字號(hào):

#include "stdafx.h"
#include "OpenGL.h"
//////////////////////////////////////////////////////////////////////
extern HWND	hWnd;

const float pi = 3.1415926f;
GLUquadricObj* quadric=NULL;

//////////////////////////////////////////////////////////////////////
OpenGL::OpenGL()
{
	x_arc = 0;
	y_arc = 0;
	z_arc = 0;

}

OpenGL::~OpenGL()
{	CleanUp();
}

BOOL OpenGL::SetupPixelFormat(HDC hDC0)//檢測(cè)安裝OpenGL
{	int nPixelFormat;					  // 象素點(diǎn)格式
	hDC=hDC0;
	PIXELFORMATDESCRIPTOR pfd = { 
	    sizeof(PIXELFORMATDESCRIPTOR),    // pfd結(jié)構(gòu)的大小 
	    1,                                // 版本號(hào) 
	    PFD_DRAW_TO_WINDOW |              // 支持在窗口中繪圖 
	    PFD_SUPPORT_OPENGL |              // 支持 OpenGL 
	    PFD_DOUBLEBUFFER,                 // 雙緩存模式 
	    PFD_TYPE_RGBA,                    // RGBA 顏色模式 
	    16,                               // 24 位顏色深度 
	    0, 0, 0, 0, 0, 0,                 // 忽略顏色位 
	    0,                                // 沒有非透明度緩存 
	    0,                                // 忽略移位位 
	    0,                                // 無累加緩存 
	    0, 0, 0, 0,                       // 忽略累加位 
	    16,                               // 32 位深度緩存     
	    0,                                // 無模板緩存 
	    0,                                // 無輔助緩存 
	    PFD_MAIN_PLANE,                   // 主層 
	    0,                                // 保留 
	    0, 0, 0                           // 忽略層,可見性和損毀掩模 
	}; 
	if (!(nPixelFormat = ChoosePixelFormat(hDC, &pfd)))
		{ MessageBox(NULL,"沒找到合適的顯示模式","Error",MB_OK|MB_ICONEXCLAMATION);
	      return FALSE;
		}
	SetPixelFormat(hDC,nPixelFormat,&pfd);//設(shè)置當(dāng)前設(shè)備的像素點(diǎn)格式
	hRC = wglCreateContext(hDC);          //獲取渲染描述句柄
	wglMakeCurrent(hDC, hRC);             //激活渲染描述句柄
	return TRUE;
}

void OpenGL::init(int Width, int Height)
{	glViewport(0,0,Width,Height);			// 設(shè)置OpenGL視口大小。	
	glMatrixMode(GL_PROJECTION);			// 設(shè)置當(dāng)前矩陣為投影矩陣。
	glLoadIdentity();						// 重置當(dāng)前指定的矩陣為單位矩陣
	/*
	gluPerspective							// 設(shè)置透視圖
		( 54.0f,							// 透視角設(shè)置為 45 度
		  (GLfloat)Width/(GLfloat)Height,	// 窗口的寬與高比
		  0.1f,								// 視野透視深度:近點(diǎn)1.0f
		  3000.0f							// 視野透視深度:始點(diǎn)0.1f遠(yuǎn)點(diǎn)1000.0f
		);
	*/
	glOrtho(-3.0, 3.0, -3.0, 3.0,-3.0,3.0); 
	// 這和照象機(jī)很類似,第一個(gè)參數(shù)設(shè)置鏡頭廣角度,第二個(gè)參數(shù)是長(zhǎng)寬比,后面是遠(yuǎn)近剪切。
	glMatrixMode(GL_MODELVIEW);				// 設(shè)置當(dāng)前矩陣為模型視圖矩陣
	glLoadIdentity();						// 重置當(dāng)前指定的矩陣為單位矩陣
//====================================================
	GLfloat light_position[] = { 1.0, 1.0, 1.0, 0.0 };
	glLightfv(GL_LIGHT0, GL_POSITION, light_position);
	glEnable(GL_LIGHTING);
	glEnable(GL_LIGHT0);
	glDepthFunc(GL_LESS);
	glEnable(GL_DEPTH_TEST);
	glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE);
	glEnable(GL_COLOR_MATERIAL);

}

void OpenGL::Render()//OpenGL圖形處理
{	
	glClearColor(0.0f, 0.0f, 0.3f, 1.0f);			 // 設(shè)置刷新背景色
	glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);// 刷新背景
	glLoadIdentity();								 // 重置當(dāng)前的模型觀察矩陣
	Vector3f vVector1, vVector2;
	vVector1.x = 200;
	vVector1.y = 200;
	vVector1.z = 200;
	vVector2.x = 0;
	vVector2.y = 0;
	vVector2.z = 0;
	draw2point(vVector1,vVector2);

	vVector2.x = 440;
	vVector2.y = 440;
	vVector2.z = 440;
	draw2point(vVector1,vVector2);

	glFlush();										 // 更新窗口
	SwapBuffers(hDC);								 // 切換緩沖區(qū)
}

void OpenGL::CleanUp()//清除OpenGL
{
	 wglMakeCurrent(hDC, NULL);                       //清除OpenGL
	 wglDeleteContext(hRC);                           //清除OpenGL

}


int OpenGL::Init()
{return 0;}


void OpenGL::display()
{	
	glFlush();
	SwapBuffers(hDC);								 // 切換緩沖區(qū)
}

void OpenGL::draw2point(Vector3f vVector1, Vector3f vVector2)
{

	float Zoom = 100;

	//printf("before unproject: %f,%f,%f \n",vVector1.x,vVector1.y,vVector1.z);
	//printf("before unproject: %f,%f,%f \n",vVector2.x,vVector2.y,vVector2.z);
	//printf("after  unproject: %f,%f,%f \n\n",xx,yy,zz);
	

	//需要考慮float 越界問題
	Vector3f *vt1 = new Vector3f(vVector1.x/Zoom,vVector1.y/Zoom,vVector1.z/Zoom);
	Vector3f *vt2 = new Vector3f(vVector2.x/Zoom,vVector2.y/Zoom,vVector2.z/Zoom);
	Vector3f vt4 = *vt2-*vt1;
	Vector3f *vty = new Vector3f(0,0,1);
	
	double arc12 = AngleBetweenVectors(*vty,vt4);
	double rarc12 = 180 + 180*arc12/pi;
	float len= Distance(*vt1,*vt2);
	Vector3f vt3 = Cross(*vty,vt4);

	glPushMatrix();	
	glTranslatef (vt1->x,vt1->y,vt1->z);
	glColor3f(1.0f,0.5f,0.7f); 
	auxSolidSphere(0.09);
	glTranslatef (vt4.x,vt4.y,vt4.z);
	auxSolidSphere(0.09);	
	glColor3f(1.0f,1.0f,0.7f);
	glRotatef ((float)rarc12,vt3.x,vt3.y,vt3.z);
	gluCylinder(quadric,0.06,0.06,len,35,35);
	glPopMatrix();

	delete vt1;
	delete vt2;
	delete vty;

}

void OpenGL::clear()
{
	glClearColor(0.0f, 0.0f, 0.3f, 1.0f);			 // 設(shè)置刷新背景色
	glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);// 刷新背景
	glLoadIdentity();

	if(!quadric)
	{
		quadric=gluNewQuadric();
		gluQuadricNormals(quadric,GLU_SMOOTH);
		gluQuadricTexture(quadric,GL_TRUE);
	}

	//gluCylinder(quadric,0.06,0.06,0.9,35,35);
	glRotatef (25.0,1.0,1.0,0.0);
	glRotatef ((float)x_arc,1.0,0.0,0.0);
	glRotatef ((float)y_arc,0.0,1.0,0.0);
	glRotatef ((float)z_arc,0.0,0.0,1.0);
	draw_ground();
	


}

//將骨架旋轉(zhuǎn)到y(tǒng)軸上來
int OpenGL::Correct_3D_Layout(Vector3f vVector1, Vector3f vVector2)
{
	Vector3f vt4 = vVector2-vVector1;
	Vector3f *vty = new Vector3f(0,1,0);	
	double arc12 = AngleBetweenVectors(*vty,vt4);
	double rarc12 = 180*arc12/pi;
	Vector3f vt3 = Cross(*vty,vt4);
	glRotatef ((float)rarc12,vt3.x,vt3.y,vt3.z);
	delete vty;
	return 0;
}

void OpenGL::draw_ground()
{
  glPushAttrib(GL_CURRENT_BIT);
  glEnable(GL_BLEND);
  glPushMatrix();
  glColor3f(0.5f, 0.7f, 1.0f);
  glTranslatef(0,0.0f,0);
  float size0=2;
  glBegin(GL_LINES);
	for (float x = -size0; x < size0;x+=0.5f)
		{glVertex3f(x, -1.5, -size0); glVertex3f(x, -1.5,  size0);}
	for (float z = -size0; z < size0;z+=0.3f)
		{glVertex3f(-size0, -1.5, z); glVertex3f( size0, -1.5, z);}
  glEnd();
  glPopMatrix();
  glDisable(GL_BLEND);
  glPopAttrib();

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线视频网址| 欧美午夜一区二区三区免费大片| 亚洲成人自拍网| 一个色妞综合视频在线观看| 国产精品久久久久天堂| 国产精品国产成人国产三级| 国产精品素人视频| 中文字幕在线观看不卡视频| 国产精品女同一区二区三区| 国产精品成人免费在线| 国产精品高潮呻吟| 中文字幕一区二区日韩精品绯色| 中文字幕日韩一区| 亚洲精品一二三| 亚洲成va人在线观看| 日韩高清电影一区| 精品一区二区免费在线观看| 国产成a人亚洲精品| jizzjizzjizz欧美| 精品视频在线看| 日韩午夜在线观看视频| 亚洲精品一区二区三区四区高清| 欧美极品aⅴ影院| 日韩伦理免费电影| 日本视频免费一区| 国产精品88av| 日本久久一区二区三区| 4hu四虎永久在线影院成人| 久久先锋影音av鲁色资源网| 国产精品全国免费观看高清| 亚洲伊人伊色伊影伊综合网| 另类欧美日韩国产在线| 成人黄色一级视频| 在线不卡免费av| 国产视频一区二区在线观看| 亚洲成人av福利| 国产在线日韩欧美| 色噜噜狠狠色综合中国| 久久丝袜美腿综合| 樱花草国产18久久久久| 久久99精品久久久久久久久久久久| 懂色av中文一区二区三区| 在线免费观看一区| 国产亚洲综合性久久久影院| 亚洲一区二区综合| 精品无人码麻豆乱码1区2区 | 欧美日韩另类一区| 精品国产1区二区| 亚洲午夜在线视频| 国产自产2019最新不卡| 欧美在线色视频| 国产免费久久精品| 麻豆精品新av中文字幕| 色香蕉成人二区免费| 久久久久97国产精华液好用吗| 亚洲一区国产视频| 99在线精品观看| 国产日韩欧美不卡在线| 免费成人av在线| 欧美日韩一区二区欧美激情| 中文字幕av不卡| 久久国产剧场电影| 欧美伦理电影网| 亚洲最新视频在线观看| 99综合电影在线视频| 久久影视一区二区| 日本人妖一区二区| 3atv一区二区三区| 香蕉久久夜色精品国产使用方法| 91片黄在线观看| 国产精品福利一区| 国产成a人亚洲精| 国产欧美日韩在线看| 国产一区二区导航在线播放| 精品国产一区久久| 久草中文综合在线| 日韩亚洲欧美一区二区三区| 亚洲一本大道在线| 欧美三级在线播放| 午夜欧美一区二区三区在线播放| 91年精品国产| 亚洲精品自拍动漫在线| 一本色道久久综合亚洲91| 18欧美亚洲精品| 日本道色综合久久| 亚洲一区二区四区蜜桃| 欧美日韩美女一区二区| 污片在线观看一区二区| 日韩女优电影在线观看| 国产精品一区免费在线观看| 国产亚洲综合色| 91丨国产丨九色丨pron| 亚洲综合免费观看高清完整版| 欧美日韩一区二区不卡| 捆绑紧缚一区二区三区视频| 久久影院电视剧免费观看| 成人午夜激情视频| 亚洲激情网站免费观看| 欧美精品九九99久久| 国产精品一区在线观看乱码| 国产精品国产精品国产专区不片 | 一区二区不卡在线视频 午夜欧美不卡在| 91碰在线视频| 三级影片在线观看欧美日韩一区二区| 91精品综合久久久久久| 国产在线视频不卡二| 亚洲精品视频免费看| 91精品国产免费久久综合| 国产成人av电影在线播放| 亚洲综合久久久久| 精品国产伦一区二区三区观看方式| 国产不卡一区视频| 亚洲午夜久久久久| 久久九九国产精品| 在线亚洲免费视频| 韩国成人福利片在线播放| 亚洲码国产岛国毛片在线| 欧美一区二区女人| 99久久精品费精品国产一区二区 | 日韩午夜在线影院| 91年精品国产| 国产乱对白刺激视频不卡| 亚洲影视在线播放| 国产精品少妇自拍| 欧美一卡二卡三卡| 99九九99九九九视频精品| 捆绑调教美女网站视频一区| 亚洲精品高清视频在线观看| 久久久久久一级片| 91精品国产综合久久久久久久久久 | 中文字幕在线一区免费| 日韩一区国产二区欧美三区| 91精品福利视频| 懂色av中文字幕一区二区三区| 日本不卡不码高清免费观看| 亚洲欧美日韩在线| 亚洲国产成人在线| 日韩欧美色电影| 欧美日韩国产高清一区二区三区| 91日韩精品一区| av在线播放不卡| 丁香天五香天堂综合| 韩国中文字幕2020精品| 日韩精品五月天| 三级影片在线观看欧美日韩一区二区| 亚洲欧美另类小说视频| 中文字幕成人网| 国产精品伦一区| 国产女人18水真多18精品一级做 | 国产一区二区久久| 久久99精品久久久| 免费成人美女在线观看| 日韩高清不卡一区| 日韩成人dvd| 人人爽香蕉精品| 日韩高清国产一区在线| 日韩专区在线视频| 蜜臀av一区二区| 美女免费视频一区二区| 久久草av在线| 国产一区二区三区最好精华液| 韩国毛片一区二区三区| 国产一区二区三区| 成人综合婷婷国产精品久久蜜臀| 成人午夜视频在线| 色综合夜色一区| 欧美亚日韩国产aⅴ精品中极品| 欧美在线观看视频在线| 在线免费观看日本欧美| 777xxx欧美| 精品国产污污免费网站入口| 久久精品视频一区二区三区| 国产精品视频第一区| 一区二区三区中文免费| 午夜精品福利一区二区三区av| 日韩成人av影视| 国产精品一区二区免费不卡| 高清av一区二区| 日本伦理一区二区| 日韩限制级电影在线观看| 欧美国产日韩一二三区| 亚洲伦理在线免费看| 日韩高清一级片| 成人午夜电影网站| 91精品1区2区| 欧美精品一区二区久久久 | 色综合久久久久综合| 欧美久久高跟鞋激| 国产无一区二区| 亚洲高清不卡在线| 国产精品一区免费在线观看| 色婷婷综合久久久中文字幕| 日韩视频123| 国产精品久久久久永久免费观看 | 91麻豆精品国产91久久久资源速度| 久久人人爽人人爽| 亚洲va欧美va国产va天堂影院| 国产美女一区二区三区| 91欧美激情一区二区三区成人| 欧美成人r级一区二区三区|