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

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

?? opengl.cpp

?? 基于Opencv的人體運動檢測系統
?? CPP
字號:

#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)//檢測安裝OpenGL
{	int nPixelFormat;					  // 象素點格式
	hDC=hDC0;
	PIXELFORMATDESCRIPTOR pfd = { 
	    sizeof(PIXELFORMATDESCRIPTOR),    // pfd結構的大小 
	    1,                                // 版本號 
	    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);//設置當前設備的像素點格式
	hRC = wglCreateContext(hDC);          //獲取渲染描述句柄
	wglMakeCurrent(hDC, hRC);             //激活渲染描述句柄
	return TRUE;
}

void OpenGL::init(int Width, int Height)
{	glViewport(0,0,Width,Height);			// 設置OpenGL視口大小。	
	glMatrixMode(GL_PROJECTION);			// 設置當前矩陣為投影矩陣。
	glLoadIdentity();						// 重置當前指定的矩陣為單位矩陣
	/*
	gluPerspective							// 設置透視圖
		( 54.0f,							// 透視角設置為 45 度
		  (GLfloat)Width/(GLfloat)Height,	// 窗口的寬與高比
		  0.1f,								// 視野透視深度:近點1.0f
		  3000.0f							// 視野透視深度:始點0.1f遠點1000.0f
		);
	*/
	glOrtho(-3.0, 3.0, -3.0, 3.0,-3.0,3.0); 
	// 這和照象機很類似,第一個參數設置鏡頭廣角度,第二個參數是長寬比,后面是遠近剪切。
	glMatrixMode(GL_MODELVIEW);				// 設置當前矩陣為模型視圖矩陣
	glLoadIdentity();						// 重置當前指定的矩陣為單位矩陣
//====================================================
	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);			 // 設置刷新背景色
	glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);// 刷新背景
	glLoadIdentity();								 // 重置當前的模型觀察矩陣
	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);								 // 切換緩沖區
}

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

}


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


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

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);			 // 設置刷新背景色
	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();
	


}

//將骨架旋轉到y軸上來
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();

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲黄色小视频| 久久久久免费观看| 欧美三级中文字| 一本色道久久综合狠狠躁的推荐| 成人黄色小视频| 成人av电影在线| 99精品视频一区二区三区| 91免费观看视频| 一本大道av一区二区在线播放| 91看片淫黄大片一级| 91视频com| 欧美精品久久久久久久久老牛影院| 欧美日韩精品一区二区三区四区| 91精品国产91久久久久久最新毛片 | 亚洲成人在线免费| 亚洲电影激情视频网站| 麻豆成人免费电影| 国产精品亚洲人在线观看| 北条麻妃一区二区三区| 欧美性色黄大片| 精品视频999| 精品88久久久久88久久久| 国产精品色婷婷久久58| 尤物在线观看一区| 蜜桃视频一区二区三区| 国产aⅴ综合色| 欧美日韩国产在线播放网站| 久久午夜电影网| 亚洲国产你懂的| 国产高清久久久久| 在线成人小视频| 国产精品国产自产拍在线| 婷婷夜色潮精品综合在线| 国产成人啪免费观看软件| 欧美三级日韩三级| 国产欧美精品一区| 日本不卡一区二区三区高清视频| 粉嫩蜜臀av国产精品网站| 欧美日韩的一区二区| 亚洲欧洲日本在线| 国产自产高清不卡| 91精品国产综合久久福利| 欧美激情在线一区二区三区| 日韩中文欧美在线| 91久久线看在观草草青青| 欧美极品aⅴ影院| 韩国女主播一区| 欧美精品1区2区| 亚洲综合在线视频| 波多野结衣欧美| 久久久亚洲欧洲日产国码αv| 图片区小说区国产精品视频| 91色视频在线| 国产精品女同互慰在线看| 国内成人免费视频| 欧美老女人第四色| 一区二区三区高清不卡| 成人精品国产免费网站| 久久久亚洲午夜电影| 精东粉嫩av免费一区二区三区| 欧美综合亚洲图片综合区| 综合av第一页| 99久久er热在这里只有精品66| 国产视频在线观看一区二区三区| 久久国产精品无码网站| 91精品中文字幕一区二区三区| 亚洲精品一二三| 日本久久电影网| 亚洲一区二区av电影| 欧美性videosxxxxx| 亚洲成人免费av| 欧美人妇做爰xxxⅹ性高电影| 亚洲va欧美va人人爽午夜| 欧美人动与zoxxxx乱| 日韩一区精品视频| 精品三级av在线| 精品一区二区三区视频在线观看| 欧美一卡二卡三卡| 九色综合狠狠综合久久| 精品动漫一区二区三区在线观看| 麻豆免费精品视频| 久久午夜色播影院免费高清| 国产福利精品导航| 国产精品成人一区二区艾草| 日本精品免费观看高清观看| 亚洲成人在线观看视频| 欧美成人三级电影在线| 国产伦精一区二区三区| 国产精品免费网站在线观看| 99re8在线精品视频免费播放| 亚洲最色的网站| 日韩欧美黄色影院| 成人丝袜18视频在线观看| 一区二区三区四区不卡视频| 91精品国产综合久久久久| 国产精品夜夜嗨| 亚洲午夜精品17c| 精品国产精品网麻豆系列| 99久久精品99国产精品| 视频一区在线播放| 国产日产精品1区| 欧美日韩一区二区三区四区五区| 久久精品国产**网站演员| 欧美国产日本视频| 欧美日韩久久久| 成人久久久精品乱码一区二区三区| 亚洲五月六月丁香激情| 久久久久久麻豆| 精品视频在线看| 波多野结衣中文一区| 日韩电影免费一区| 亚洲欧美日韩一区| 久久丝袜美腿综合| 欧美日本一区二区三区四区| 丁香婷婷深情五月亚洲| 日本成人中文字幕| 一区二区在线观看不卡| 久久亚洲精精品中文字幕早川悠里| 99精品桃花视频在线观看| 国产综合久久久久久久久久久久| 亚洲一区二区三区国产| 国产精品视频在线看| 日韩欧美亚洲国产另类| 欧美色图第一页| 色婷婷狠狠综合| 成人美女在线视频| 国产一区二区三区| 久久不见久久见免费视频1| 亚洲国产视频在线| 亚洲欧洲精品一区二区三区| 久久精品男人的天堂| 欧美电视剧在线观看完整版| 欧美日韩一区三区四区| 日本精品一级二级| 99久久精品国产毛片| 成人91在线观看| 不卡区在线中文字幕| 国产盗摄一区二区| 国产馆精品极品| 国产福利不卡视频| 国产真实乱子伦精品视频| 久久99精品国产麻豆婷婷洗澡| 婷婷综合在线观看| 亚洲va欧美va国产va天堂影院| 亚洲精品高清视频在线观看| 国产精品美女久久久久久久久久久| 久久免费精品国产久精品久久久久| 精品久久久久香蕉网| 日韩亚洲欧美一区二区三区| 日韩一区二区免费在线观看| 日韩一区二区在线观看| 日韩亚洲欧美综合| 精品国产一区二区三区四区四| 日韩女优av电影在线观看| 欧美大尺度电影在线| 欧美mv日韩mv国产| 久久天堂av综合合色蜜桃网| 亚洲国产精品精华液ab| 一色屋精品亚洲香蕉网站| 中文字幕日韩av资源站| 一区二区三区四区高清精品免费观看 | 99视频热这里只有精品免费| 国产成人高清在线| jlzzjlzz欧美大全| 91视频xxxx| 在线综合视频播放| 日韩三级中文字幕| 久久久久久一二三区| 亚洲欧美一区二区不卡| 亚洲成人精品在线观看| 另类小说视频一区二区| 成人高清av在线| 欧美麻豆精品久久久久久| 精品88久久久久88久久久| 国产欧美日韩不卡免费| 亚洲午夜久久久久久久久久久| 免费看欧美女人艹b| 成人免费福利片| 欧美精品一二三区| 国产精品美女久久久久高潮| 亚洲一区二区三区激情| 国产在线视频不卡二| 在线观看视频一区二区欧美日韩| 日韩欧美国产小视频| 中文字幕五月欧美| 日本成人在线看| 色综合天天视频在线观看 | 成人午夜av电影| 欧美日韩二区三区| 国产精品成人午夜| 免费成人av资源网| 色婷婷久久久综合中文字幕| 精品国产乱码久久久久久图片 | 人人狠狠综合久久亚洲| av电影天堂一区二区在线观看| 69av一区二区三区| 亚洲色图一区二区三区| 国产精品一区二区你懂的| 欧美性色aⅴ视频一区日韩精品| 久久久国产精品午夜一区ai换脸|