當前位置:成語大全網 - 英語詞典 - buffer size是什麽意思

buffer size是什麽意思

Frame Buffer Size: (幀緩沖區大小) 存儲空間,通常大於壹個單獨的信息區.

緩沖區都是離散的內存塊。

由其空間分辨率(n x m)和深度(或精度,每個像素的位數)k確定。

各種緩沖區的空間分辨率壹樣,但深度值(即表示壹個像素信息的字長)可以不壹樣.

通常我們只是集中在壹個幀緩沖區組成部分中的壹個緩沖區,因此有時就直接簡稱為緩沖區。

顏色緩沖區:內容要被輸出到顯示設備上的緩沖區,用於顯示前、後、輔助、重疊(overlay)。

在雙緩存中,顏色緩沖區由兩個緩沖區組成,分別用於讀與寫,稱為前緩沖區與後緩沖區。

如果要生成立體圖像,需要提供左、右緩沖區、深度緩沖區、累加緩沖區、高分辨率緩沖區、模板緩沖區、保存掩碼(masks)。

顏色緩沖區k確定可以表示的顏色多少。

通常在RGB模式中為24位,在RGBA模式中為32位。

深度緩沖區的k值確定深度的分辨率。

通常是32位,這樣與浮點數或整數的精度匹配。

把緩沖區k個n x m平面中的任壹個稱為位平面(bitplane), 空間中特定位置處的k個元素構成壹個像素(pixel)。

因此壹個像素既可以是壹個字節,也可以是壹個整數,甚至是壹個浮點數,具體與所用的緩沖區以及信息的存放格式有關。

應用程序通常並不知道在幀緩沖區中各種信息的存放方式。

幀緩沖區是在API的內部實現的,對用戶而言它是壹個黑盒子。

應用程序是通過API向幀緩沖區發送(寫入)/接受(讀出)信息。

此時在通常的內存與實現的緩沖區間傳送的數據需要經過壹定的格式轉化。

這時需要仔細考慮數據傳送的時間效率。

向緩沖區中寫入內容。

在現代的計算機圖形系統中,用戶程序既可以向緩沖區中寫入內容,也可以從中讀出內容

下述因素使得這種操作與通常的讀寫內存操作不同。

很少情形下只想讀寫壹個像素,而是讀寫壹個矩形的像素塊(位塊,bit blocks)。

位塊操作:

1)在填充多邊形時每次光柵化壹條掃描線。

2)當顯示光柵字符時寫壹小塊像素。

3)當進行清除操作時,改變緩沖區中所有像素的值。

4)需要在硬件和軟件方面提供對位塊進行盡可能有效操作的功能。

?稱為位塊傳送(bit-block transfer, bitblt)操作,也稱為光柵操作(raster operations, raster-ops)。

位塊復制:

假設要把源緩沖區中的壹塊n×m像素復制到目標緩沖區中,那麽進行這種操作的位塊傳送函數應當具有形式:write_block(source, n, m, x, y, destination, u, v);

OpenGL實現了單獨的像素流水線。

提供了壹組緩沖區:

1)數據可以在這些緩沖區之間傳送,也可以在緩沖區與處理器內存間傳送。

2)根據所用緩沖區的不同,可以在其中存儲顏色索引、顏色分量和深度值等。

3)只有顏色緩沖區的內容可以顯示在屏幕上。

光柵位置:

OpenGL維持了壹個當前光柵位置,它是狀態的壹部分。

1)可看作在屏幕坐標系中定義的內部光標,指示光柵化像素寫入的位置。

由glRasterPos*()設置:glRasterPos3f(x,y,z);

三個浮點數定義了壹個光柵位置,在變換為屏幕坐標前要經過模型-視圖變換和投影變換

光柵位置的屬性。

它是壹個幾何實體,存儲為四維齊次坐標要經過幾何流水線的處理最終產生屏幕坐標上的壹個二維位置,對像素或位的寫入采用光柵單位(整數),像素中心位於兩個整數的中間值

在幀緩沖區中這個位置就是接下來光柵化像素被繪制的地方。

如果光柵位置不在視景體內,就不進行像素寫入操作,整個位圖或像素矩形會被裁剪掉。

緩沖區的選擇:

1)OpenGL可以向任何緩沖區中寫入內容,或者從中讀取內容。

2)默認的是後緩沖區。

3)可以用glDrawBuffer和glReadBuffer改變當前的讀寫緩沖區。

4)註意在幀緩沖區中像素的格式與它在處理器的內存中的格式是不同的。

流水線解釋:

1)解包(unpack)是把像素從用戶程序的格式轉化為OpenGL內部所用的格式。

2)這些新像素可以通過用戶定義的查找表映射到新值。

3)所得結果經過壹系列測試後確定是否有必要把像素寫到幀緩沖區中;如果可以寫入,那麽寫入的方式是什麽。例如,可以劃出壹塊區域,裏面不繪制任何內容;或者利用邏輯操作確定如何把像素與幀緩沖區中已有數據組合在壹起。

4)從幀緩沖區中把信息讀取到處理器內存,需要進行打包(pack):即從OpenGL內部格式轉化為程序可用的格式。