opengl片段測試之後的邏輯操作

2021-06-18 09:43:40 字數 1637 閱讀 1393

opengl對片段進行裁剪測試,alpha測試,模板測試,深度測試之後,下一步會對片段進行操作處理,通常有混合,抖動和邏輯操作,在這裡我主要說一下片段的邏輯操作,片段的邏輯操作有索引模式和rgba模式兩種,至於顏色索引模式,基本上不在用了,乙個主要的問題是索引模式沒法使用紋理貼圖,這是很要命的一點,所以現在的opengl主要採用的是rgba的模式來進行片段的處理。

片段的邏輯處理通過gl_color_logic_op呼叫glenable和gldisable來啟用和禁用。

通過gllogicop()來控制源片段和目的片段之間的混合方式。gllogiciop主要有如下引數:

gl_clear 使用glclearcolor()的顏色來繪製背景,也就是除了背景什麼都不會顯示,黑漆漆一片

gl_copy  使用源片段來顯示(預設值)

gl_noop 使用目的片段顯示

gl_set     將片段值直接設定為1也就是白色

gl_copy_inverted 將源片段翻轉,例如源片段的顏色是(1.0,0,0)那麼其顯示片段顏色為(0,1.0,1.0)

gl_and_reverse 將目的片段翻轉和源片段與操作

gl_or_reverse 將目的片段翻轉和元片段或操作

gl_and 源片段和目的片段作與操作

gl_or   源片段和目的片段作或操作

gl_nand 這個詞應該分解為(gl_not_and)源片段和目的片段作與操作然後取反

gl_nor 這個詞應該分解為(gl_not_or)源片段和目的片段作或操作然後取反

gl_xor 源片段和目的片段作異或操作

// stencil2.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include #include #include #include #pragma comment(lib, "glew32.lib")

void init()

void display()

glend();

glstencilfunc(gl_notequal,0x1,0x1);

glstencilop(gl_incr,gl_incr,gl_incr);//

glcolor3f(1.0f,0.0f,0.0f);

glrectf(-5,-5,5,5);

glutswapbuffers();

}void reshape(int w, int h)

int _tmain(int argc, _tchar* argv)

將init()函式中的

gllogicop(gl_copy_inverted);
改為gllogicop(gl_copy)為預設的顯示,否則會將顏色反轉為(0,1,1)的顏色
如下對比圖,其中左側的是原圖,右側的是gl_copy_inverted的圖,其他的片段操作大家可以自己嘗試,這裡就不做進一步的演示了。

發版之後的相容測試監控

相容測試 測試項硬體相容 包含廠商 機型 解析度 系統版本等 系統相容 新系統迭代變更的api及許可權管理等 軟體相容 比如系統自帶的相機 鍵盤 輸入法 瀏覽器等,還有其他的跟測試物件同類的競品軟體等 網路相容 wifi 不同運營商的流動網路 2g 3g 4g 5g 資料相容 系統公升級後的賬戶資訊...

實驗二 邏輯門外特性的測試

掌握 ttl 閘電路各引數的意義及測試方法。掌握 cmos 閘電路各引數的意義及測試方法。通過對閘電路外特性的測試,更好地了解 ttl 與 cmos 閘電路的電氣效能和特 點。進一步熟悉示波器的使用方法及分析波形圖的能力。空載導通功耗 pon 空載導通功耗pon是指輸入全部為高電平 輸出為低電平且不...

白盒測試的邏輯覆蓋法

邏輯覆蓋是以程式內部的邏輯結構為基礎的設計測試用例的技術。它屬白盒測試。邏輯覆蓋包括語句覆蓋 判定覆蓋 條件覆蓋 判定 條件覆蓋 條件組合覆蓋和路徑覆蓋。六種覆蓋標準發現錯誤的能力呈由弱到強的變化 1.語句覆蓋 2.判定覆蓋 3.條件覆蓋 4.判定 條件覆蓋 5.條件組合覆蓋 6.路徑覆蓋 對上述6...