二、OpenGL小案例-控制小正方形在區(qū)域內(nèi)移動(dòng)

重要函數(shù)了解(main.cpp中)


邏輯教育-重要的函數(shù)

1、main函數(shù):程序入口。OpenGL是面向過程編程,所以利用OpenGL處理圖形/圖像都是鏈?zhǔn)叫问?,封裝的圖像處理框架也是鏈?zhǔn)骄幊獭?/p>

2、setupRC函數(shù):自定義的函數(shù)。設(shè)置渲染的圖形相關(guān)的頂點(diǎn)數(shù)據(jù)/顏色數(shù)據(jù)等裝備工作

3、RenderScene函數(shù):自定義函數(shù)。在main函數(shù)中通過glutDisplayFunc(RenderScene);注冊(cè)為顯示渲染函數(shù)。

調(diào)用條件:當(dāng)屏幕發(fā)生變化/開發(fā)者主動(dòng)渲染會(huì)調(diào)用該函數(shù),用來實(shí)現(xiàn)數(shù)據(jù)->渲染過程.

4、changeSize函數(shù):自定義函數(shù)。在main函數(shù)中通過glutReshapeFunc(changeSize);注冊(cè)為重塑函數(shù)。

調(diào)用條件:當(dāng)屏幕大小發(fā)生變化/第一次創(chuàng)建窗口時(shí)會(huì)調(diào)用該函數(shù),用來調(diào)整窗口大小/視圖大小。

一、案例流程

1、導(dǎo)入工具類

#include "GLShaderManager.h"【著色器管理類】

#include "GLTools.h"【使用freeglut的靜態(tài)庫需要添加】

#include <GLUT/GLUT.h>【類似c語言的獨(dú)立函數(shù)】

2、定義著色器和容器類

//定義一個(gè),著色管理器

GLShaderManager shaderManager;

//簡(jiǎn)單的批次容器,是GLTools的一個(gè)簡(jiǎn)單的容器類。

GLBatch triangleBatch;

3、main函數(shù)中定義準(zhǔn)備代碼


準(zhǔn)備代碼

4、案例代碼-普通偏移算法

指定頂點(diǎn)坐標(biāo)


邏輯教育-特殊鍵位響應(yīng)函數(shù)

5、其他問題(邊界問題)


邊界問題

6、其他問題(數(shù)據(jù)量問題:如果有100個(gè)頂點(diǎn)數(shù)怎么辦->平移矩陣)


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容