MFCOPENGL設定與步驟

2021-04-12 14:57:51 字數 3476 閱讀 9204

#include

//#include

//#include

#pragma comment (lib, "opengl32.lib")

#pragma comment (lib, "glaux.lib")

//opengl32.lib glu32.lib glaux.lib odbc32.lib odbccp32.lib

//實現步驟

void copenglexpview::ondestroy()

void copenglexpview::onsize(uint ntype, int cx, int cy)

void copenglexpview::init()

bool copenglexpview::bsetuppixelformat()

;int pixelformat;

//選擇畫素格式

if ( (pixelformat = choosepixelformat(m_pdc->getsafehdc(), &pfd)) == 0 )

//設定畫素格式

if (setpixelformat(m_pdc->getsafehdc(), pixelformat, &pfd) == false)

return true;

} void copenglexpview::drawscene(void)

void copenglexpview::onupdatestop(ccmdui *pcmdui)

/void copenglview::ondraw(cdc* pdc)

void copenglview::init()

;glfloat mat_shininess = ;

glfloat light_position = ;

glclearcolor (0.0, 1.0, 1.0, 0.0);

glshademodel (gl_**ooth);

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 copenglview::bsetuppixelformat()

;int pixelformat;

if ( (pixelformat = choosepixelformat(m_pdc->getsafehdc(), &pfd)) == 0 )

if (setpixelformat(m_pdc->getsafehdc(), pixelformat, &pfd) == false)

return true;

} void copenglview::drawscene(void)

int copenglview::oncreate(lpcreatestruct lpcreatestruct)

void copenglview::ondestroy()

void copenglview::onlight1()

else

invalidate();

} void copenglview::onupdatelight1(ccmdui *pcmdui)

void copenglview::onlight2()

else

invalidate();

} void copenglview::onupdatelight2(ccmdui *pcmdui)

void copenglview::start()

;//設定畫素格式

cclientdc clientdc(this);

int pixelformat = choosepixelformat(clientdc.m_hdc,&pfd);

bool success=setpixelformat(clientdc.m_hdc,pixelformat,&pfd);

//建立和設定著色描述表

m_hrc=wglcreatecontext(clientdc.m_hdc);

wglmakecurrent(this->getdc()->getsafehdc(), m_hrc);

//清除深度快取的值

glcleardepth(1.0);

glenable(gl_depth_test);

//指明模型取景矩陣

glmatrixmode(gl_modelview);

//初始化取景矩陣

glloadidentity();

} void copenglview::end()

void copenglview::eyepointchange()

void copenglview::addlight()

;glfloat mat_specular[4]=;

glfloat mat_shininess[1]=;

//光源1

if(m_blight1==true);

glmaterialfv(gl_front,gl_diffuse,mat_diffuse);

glmaterialfv(gl_front,gl_specular,mat_specular);

glmaterialfv(gl_front,gl_shininess,mat_shininess);

gllightfv(gl_light0,gl_position,light_position0);

glenable(gl_light0);

}else

//光源2

if(m_blight2==true);

glfloat mat_diffuse1[4]=;

gllightfv(gl_light1,gl_diffuse,mat_diffuse1);

gllightfv(gl_light1,gl_specular,mat_specular);

gllightfv(gl_light1,gl_shininess,mat_shininess);

gllightfv(gl_light1,gl_position,light_position1);

glenable(gl_light1);

}else

glenable(gl_lighting);

//設定光照效果

gllightmodeli(gl_light_model_two_side,gl_true);

//設定深度快取的參照值

gldepthfunc(gl_less);

//設定光源的其他性質

glenable(gl_depth_test);

glenable(gl_auto_normal);

glenable(gl_normalize);}

cutpFTP設定步驟

平常時為了方便兩台電腦之間傳送資料,我們可以使用cutpftp 這個工具實現,而且 cutpftp 還具有定時傳送的功能,非常方便使用。以下是使用該工具的 同步資料夾 功能同步兩台電腦間的資料。1.啟動cutpftp 首先我們要輸入要連線的遠端電腦的登陸密碼。輸入完成後點選連線按鈕。連線成功後會顯示...

linux 設定ip步驟

1 進入目錄 etc sysconfig network 2 eth alias.sh 檢視網絡卡情況 3 more ifcfg bond1 檢視bond1繫結,根據位置判斷是否繫結fabraic網絡卡 4 vi ifcfg bond1 修改 ipaddr ip位址 netmask 閘道器 儲存退出...

oracle許可權設定步驟

dba使用者 授予zhangsan使用者建立session的許可權,即登陸許可權 grant create session to zhangsan 授予zhangsan使用者使用表空間的許可權 grant unlimited tablespace to zhangsan 授予建立表的許可權 gran...