OpenGL學習二 狀態管理和繪製幾何物體

2021-09-01 21:55:12 字數 1729 閱讀 6557

清除視窗

clearcolor(r,g,b,a);//1

clear(gl_color_buffer_bit) //2

gl_color_buffer_bit  //顏色緩衝區

gl_depth_buffer_bit  //深度緩衝區

gl_accum_buffer_bit  //累計緩衝區

gl_stencil_buffer_bit //模板緩衝區

2處清除視窗並且以1處的顏色進行填充

glcolor

指定顏色

glflush

強制執行opengl指令,相當於refresh

glfinish

強制執行opengl指令,相當於update

圖元繪製

glbegin(mode)

***x

glend()

gl_point

gl_line

gl_line_strip  多點連成的線

gl_line_loop   多點連成的線並形成了迴路

gl_********s

gl_********s_strip 繪製連續三角形

gl_********s_fan  gl_********s_strip相同,只是點的順序不同

gl_quads

gl_quad_strip 繪製連續四邊形

gl_polygon 繪製多邊形

glbegin與glend之間的合法函式

glvertex*()

glcolor*()

glindex*() //顏色索引

glsecondarycolor*()//紋理應用後的輔助顏色

glnormal*()//法線

glmaterial*()//材質

glfogcoord*()//霧座標

gltexcoord*()//紋理座標

glmultitexcoord*()//多重紋理座標

glvertexattrib*()//通用頂點屬性

gledgeflag*()//控制邊界繪製

glarratelement()//地區頂點陣列資料

glevalcoord*()//生成座標

glcalllist()//執行顯示列表

基本狀態管理

glenable

gldisable

glisenabled

法線的說明

如果模型只是旋轉或者移動,那麼法線不會有變化,如果是縮放或者乘以了剪下矩陣,法線就需要重新計算,採用歸一化的辦法可以便面此問題glenable(gl_normalize) 但是啟用規範化會消耗一部分效能,對於縮放的變化 可採用glenable(gl_rescale_normal)可減低效能的消耗

glpointsize

設定渲染點大小

gllinewidth

設定線寬度

gllinestipple

建立點劃線

glpolygonmode

多邊形填充形式

gl_front

gl_back

gl_fill

gl_line

glpolygonstipple

設定多邊形點劃線

gledgeflag*()

表示乙個頂點是否該被認為是多邊形的一條邊界的起點

OpenGL學習二 狀態管理和繪製幾何物體

清除視窗 clearcolor r,g,b,a 1 clear gl color buffer bit 2 gl color buffer bit 顏色緩衝區 gl depth buffer bit 深度緩衝區 gl accum buffer bit 累計緩衝區 gl stencil buffer ...

OpenGL 學習2 OpenGL 狀態機

1 狀態變數型別是一些c資料型別的 typedef,有 glfloat,glboolean,glint,gluint 等等。2 狀態變數 狀態變數 讀取設定 兩種狀態變數 glisenabled gldisable 其他狀態變數 glget 大部分函式 3gl fill faceglpushattr...

OpenGL學習筆記 OpenGL的變換和矩陣

opengl的變換和矩陣 1 指定矩陣型別 opengl中使用glmatrixmode指定當前要設定的矩陣型別,常用的引數是gl projection和gl modelview,還有gl texture。opengl將視點變換 即攝像機變換 和模型變換 即物體變換和世界變換 合二為一了。glmatr...