400-650-7353
您所在的位置:首頁(yè) > IT干貨資料 > unity > 【Unity基礎(chǔ)知識(shí)】OpenGL圖形學(xué)創(chuàng)建窗口(二)

【Unity基礎(chǔ)知識(shí)】OpenGL圖形學(xué)創(chuàng)建窗口(二)

  • 來(lái)源:Unity干貨資料
  • 2020-07-01 18:55:20
  • 閱讀()
  • 分享
  • 手機(jī)端入口

當(dāng)然我們還要獲取當(dāng)前屏幕的分辨率大小以用來(lái)設(shè)置窗口的大小和位置:

//獲取客戶區(qū)屏幕大小

GLint ScreenWidth = glutGet(GLUT_SCREEN_WIDTH);

GLint ScreenHeight = glutGet(GLUT_SCREEN_HEIGHT);

// 窗口設(shè)置

glutInitWindowSize(WIN_WIDTH, WIN_HEIGHT); // 窗口尺寸

glutInitWindowPosition((ScreenWidth - WIN_WIDTH) / 2, (ScreenHeight - WIN_HEIGHT) / 2 - 50); // 窗口位置

glutCreateWindow("第1個(gè)OpenGL窗口"); // 窗口標(biāo)題

還記得剛才寫的渲染回調(diào)函數(shù)嗎?我們現(xiàn)在就來(lái)指定它:

glutDisplayFunc(RenderSceneCB);//指定OpenGL程序的渲染函數(shù)

來(lái)指定一下擦除屏幕所用的顏色值吧,這個(gè)顏色值會(huì)當(dāng)窗口什么都不繪制時(shí)填滿整個(gè)窗口:

glClearColor(0.0f, 0.0f, 0.0f, 0.0f);// 緩存清空后的顏色值

【Unity基礎(chǔ)知識(shí)】OpenGL圖形學(xué)創(chuàng)建窗口(二)

接下來(lái)初始化另外一個(gè)庫(kù),就是glew了:

GLenum res = glewInit();

if (res != GLEW_OK) {

fprintf(stderr, "Error: '%s'\n", glewGetErrorString(res));

return 1;

}

最后一步!!!!!!

我們通知這個(gè)C++窗口程序可以開(kāi)始OpenGL主循環(huán)了:

glutMainLoop();// 通知開(kāi)始GLUT的內(nèi)部循環(huán)

這個(gè)函數(shù)調(diào)用傳遞指令給GLUT現(xiàn)在開(kāi)始它的內(nèi)部循環(huán)。在這個(gè)循環(huán)中它監(jiān)聽(tīng)窗口系統(tǒng)中的事件并通過(guò)我們配置的回調(diào)傳遞出去。在我們這個(gè)例子中,GLUT將只會(huì)調(diào)用我們注冊(cè)的那個(gè)display回調(diào)(RenderScenceCB),在這個(gè)回調(diào)函數(shù)中(RenderScenceCB)我們可以自定義代碼來(lái)渲染這一幀的圖像。

好了,一切都告一段落了,我們現(xiàn)在可以按下Ctrl+F5鍵來(lái)運(yùn)行我們的第1個(gè)OpenGL窗口程序了,運(yùn)行正確的話就會(huì)出現(xiàn)上面課件中所列舉的畫面。。

文章“【Unity基礎(chǔ)知識(shí)】OpenGL圖形學(xué)創(chuàng)建窗口(二)”已幫助

>>本文地址:http://nfbqydst.cn/zhuanye/2020/49137.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

獲取測(cè)試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營(yíng)銷互聯(lián)網(wǎng)營(yíng)銷
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營(yíng)全域電商運(yùn)營(yíng)
  • 軟件測(cè)試軟件測(cè)試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁(yè)設(shè)計(jì)網(wǎng)頁(yè)設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開(kāi)發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營(yíng)新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開(kāi)發(fā)智能機(jī)器人
 

快速通道fast track

近期開(kāi)班時(shí)間TIME