OpenGL 高階資料

2021-10-09 07:36:43 字數 402 閱讀 7409

glbuffersubdata(gl_array_buffer, 24, sizeof(data), &data); // 範圍: [24, 24 + sizeof(data)]
通過offset和size填充一段資料緩衝,而不是全部

glmapbuffer
繫結乙個指標到資料緩衝,然後直接對資料操作。glunmapbuffer解綁指標

void glcopybuffersubdata(glenum readtarget, glenum writetarget, glintptr readoffset, glintptr writeoffset, glsizeiptr size);
從read複製一段緩衝到write

OpenGL紋理高階

矩形紋理 對於二維紋理來說,除了gl texture 2d之外,使用gl texture rectangle就可以使用矩形紋理。矩形紋理幾大特點 不能mip,只能載入glteximage2d的level 0 紋理座標非標準化 不支援壓縮紋理 這種方式通常用於處理和提交影象資料的應用,比起通常的2d紋...

OpenGL高階光照 1

一 簡介 現實世界的光照是極其複雜的,而且會受到諸多因素的影響,這是我們有限的計算能力所無法模擬的。因此opengl的光照使用的是簡化的模型,對現實的情況進行近似,這樣處理起來會更容易一些,而且看起來也差不多一樣。這些光照模型都是基於我們對光的物理特性的理解。其中乙個模型被稱為馮氏光照模型 phon...

OpenGL高階之深度測試

深度緩衝就像顏色緩衝一樣,在每個片段中儲存了資訊,並且和顏色緩衝有著一樣的寬度和高度。深度緩衝是由視窗系統自動建立的,它會以16 24或32位float的形式儲存它的深度值。在大部分的系統中,深度緩衝的精度都是24位的。當深度測試被啟用的時候,opengl會將乙個片段的的深度值與深度緩衝的內容進行對...