xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 902KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-25
  • 語(yǔ)言: 其他
  • 標(biāo)簽: opengl??demo??

資源簡(jiǎn)介

通過(guò)鼠標(biāo)坐標(biāo)的改變控制攝像頭視角的變化 , 從而得到不同角度的畫面(支持不透明度的改變 光照)

資源截圖

代碼片段和文件信息

#include?“StdAfx.h“
#pragma?comment(lib“opengl32.lib“)
#pragma?comment(lib“glu32.lib“)
#pragma?comment(lib“glaux.lib“)

#define?GLUT_DISABLE_ATEXIT_HACK?

#include?
#include?
#include
#include

#define?WIDTH?400??
#define?HEIGHT?400??

struct?Point??????????????????????/*用于記錄鼠標(biāo)位置*/
{
int?x;
int?y;
};
Point?oldpt?=?{?-1?-1?}; /*記錄鼠標(biāo)的前一個(gè)位置*/

bool?l_button_down?=?FALSE; /*記錄鼠標(biāo)左鍵按下的狀態(tài)*/
bool?m_button_down?=?FALSE; /*記錄鼠標(biāo)中鍵按下的狀態(tài)*/
bool?r_button_down?=?FALSE; /*記錄鼠標(biāo)右鍵按下的狀態(tài)*/

static?GLfloat?angle?=?0.0f;
static?GLfloat?angle1?=?45.0f;
static?GLfloat?distance?=?3.0f;
static?GLfloat?alpha?=?0.5f;

/*將球坐標(biāo)轉(zhuǎn)化為直角坐標(biāo),并設(shè)定為攝像機(jī)的位置*/
void?SetCamera(GLfloat?x?GLfloat?y)?????????/*x,y?是水平方向和豎直方向的改變量*/
{

if?((angle1?+?y?/?100)>5.0f?&&?(angle1?+?y?/?100)<175.0f)
{?????/*定義豎直偏角只能在5°到175°之間*/
angle?+=?x?/?100;??????????????????/*根據(jù)鼠標(biāo)移動(dòng)的方向設(shè)置新的球坐標(biāo)*/
angle1?+=?y?/?100;

if?(angle>360.0f)?angle?-=?360.0f;
if?(angle<0.0f)?angle?+=?360.0f;??????/*將水平偏角鎖定在0°到360°之間*/

//Display(); /*每次改變相機(jī)位置時(shí)重繪*/
/*當(dāng)然,我畫的是靜態(tài)的,若景物是動(dòng)態(tài)的,你必須將重繪放在空閑回調(diào)函數(shù)中*/
}
}

void?myDisplay()
{
glClear(GL_COLOR_BUFFER_BIT?|?GL_DEPTH_BUFFER_BIT);

//創(chuàng)建透視效果視圖??
glMatrixMode(GL_PROJECTION);//操作投影矩陣??
glLoadIdentity();//當(dāng)前矩陣設(shè)置為單位矩陣??
gluPerspective(60.0f?1.0f?1.0f?100.0f);??//得到透視效果??(視角度數(shù),x/y,)
glMatrixMode(GL_MODELVIEW);?//操作“模型視圖”矩陣??
glLoadIdentity();//當(dāng)前矩陣設(shè)置為單位矩陣?

gluLookAt(distance*cos(angle)*sin(angle1)?distance*cos(angle1)?distance*sin(angle)*sin(angle1)?0.0?0.0?0.0?0.0?1.0?0.0); //攝像機(jī)位置?視角?前三個(gè)?眼睛的坐標(biāo),中間三個(gè)?拍照的物體的中心位置,后三個(gè)參數(shù)表示頭頂?shù)某?br/> // ???只能在視線垂直的平面轉(zhuǎn)動(dòng)
//定義太陽(yáng)光源,它是一種白色光源??
{
GLfloat?sun_light_position[]?=?{?2.0f?2.0f?2.0f?1.0f?};?? //設(shè)置光源??位置(X?Y?Z?W)?(X/W?Y/W?Z/W)表示了光源的位置
GLfloat?sun_light_ambient[]?=?{?0.0f?0.0f?0.0f?1.0f?};?? //環(huán)境光源 經(jīng)過(guò)非常多次的反射后,最終遺留在整個(gè)光照環(huán)境中的強(qiáng)度(顏色)
GLfloat?sun_light_diffuse[]?=?{?1.0f?1.0f?1.0f?1.0f?};?? //漫反射光??照射到粗糙表面時(shí)經(jīng)過(guò)漫反射,所得到的光的強(qiáng)度 (顏色)
GLfloat?sun_light_specular[]?=?{?1.0f?1.0f?1.0f?1.0f?}; //鏡面射光??照射到光滑表面時(shí)經(jīng)過(guò)鏡面反射,所得到的光的強(qiáng)度 (顏色)

glLightfv(GL_LIGHT0?GL_POSITION?sun_light_position);??//賦值光源
glLightfv(GL_LIGHT0?GL_AMBIENT?sun_light_ambient); //賦值光源
glLightfv(GL_LIGHT0?GL_DIFFUSE?sun_light_diffuse); //賦值光源
glLightfv(GL_LIGHT0?GL_SPECULAR?sun_light_specular); //賦值光源??

glEnable(GL_LIGHT0); //開(kāi)啟光源
glEnable(GL_LIGHTING);?? //開(kāi)啟光源
glEnable(GL_DEPTH_TEST);?? //開(kāi)啟光源
}

//定義太陽(yáng)的材質(zhì)并繪制太陽(yáng)??
{
//☆☆☆☆☆保存當(dāng)前矩陣☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
glPushMatrix();


GLfloat?sun_mat_ambient[]?=?{?0.0f?0.0f?0.0f?1.0f?};??//設(shè)置光線照射到該材質(zhì)上,經(jīng)過(guò)很多次反射后最終遺留在環(huán)境中的光線強(qiáng)度(顏色)
GLfloat?sun_mat_diffuse[]?=?{?1.0f?1.0f?1.0f?1.0f?};??//設(shè)置光線照射到該材質(zhì)上,經(jīng)過(guò)漫反射后形成的光線強(qiáng)度(顏色)
GLfloat?sun_mat_specular[]?=?{?1.0f?1.0f?1.0f?1.0f?};?//設(shè)置光線照射到該材質(zhì)上,經(jīng)過(guò)鏡面反射后形成的光線強(qiáng)度(顏色)
GLfloat?sun_mat_emission[]?=?{?1.0f?1.0f?1.0f?1.0f?};?//OpenGL認(rèn)為該材質(zhì)本身就微微的向外發(fā)射光線,以至于眼睛感覺(jué)到它有這樣的顏色,但這光線又比較微弱,以至于不會(huì)

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????10553??2016-03-09?23:29??cvgl.cpp
?????目錄???????????0??2016-01-08?22:51??Debug\
?????文件???????46592??2016-01-07?23:04??Debug\cvgl.exe
?????文件??????327256??2016-01-07?23:04??Debug\cvgl.ilk
?????文件??????683008??2016-01-07?23:04??Debug\cvgl.pdb
?????文件?????1386496??2011-11-13?16:06??Debug\glaux.dll
?????文件??????130048??2009-07-14?09:15??Debug\glu32.dll
?????文件??????169984??1998-08-18?16:25??Debug\glut.dll
?????文件??????237568??2001-11-08?02:27??Debug\glut32?(2).dll
?????文件??????169984??1998-08-18?16:25??Debug\glut32.dll
?????文件??????791552??2009-07-14?09:16??Debug\opengl32.dll

評(píng)論

共有 條評(píng)論