OpenGL 反鋸齒的一些措施

2021-05-28 16:38:31 字數 977 閱讀 5000

1.       使用顏色混合來消除一些鋸齒, 主要針對點和線以及不相互重疊的多邊形的反鋸齒。

反鋸齒設定**如下:

glblendfunc(gl_src_alpha, gl_one_minus_src_alpha);

glenable(gl_blend);

glenable(gl_point_smooth);

glhint(gl_point_smooth_hint, gl_nicest);

glenable(gl_line_smooth);

glhint(gl_line_smooth_hint, gl_nicest);

glenable(gl_polygon_smooth);

glhint(gl_polygon_smooth_hint, gl_nicest);

取消反鋸齒**如下:

gldisable(gl_blend);

gldisable(gl_line_smooth);

gldisable(gl_point_smooth);

gldisable(gl_polygon_smooth);

2.       多重取樣(multisample)

並不是所有的平台都支援通過顏色混合來消除多邊形鋸齒,此外,多邊形混合還有順序的問題,使用起來不方便。opengl引入了多重取樣來解決多邊形鋸齒的問題,並增加了乙個包含顏色、深度以及模組快取值的幀快取。開啟多重取樣功能的**如下:

//申請乙個採用了雙重快取,包含顏色,深度的幀快取和多重取樣。

glutinitdisplaymode(glut_double | glut_rgb | glut_depth | glut_multisample);

glenable(gl_multisample);//開啟多重快取

gldisable(gl_multisample);//關閉多重快取

注: 多重取樣和混合不能同時開啟, 這兩種方法只能互斥使用。即使用任何乙個方法前需要禁用另乙個方法。

CUDA 優化的一些措施

一 在儲存器方面的優化 1.主機的記憶體分配 為了防止程式中分配的記憶體為分頁記憶體,有被置換出記憶體條的可能,可以呼叫cudaallochost函式來建立主機記憶體為非分頁記憶體。這樣在從主機至裝置,裝置至主機的記憶體複製操作時,可以大幅減小操作耗時,但是有個劣勢是非分頁記憶體始終佔據記憶體條空間...

OpenGL的一些基礎概念

一 什麼是opengl opengl是乙個圖形api,包含了一系列的可以操作圖形 影象的函式。它並不是乙個獨立的平台,需要使用乙個程式語言來工作,最常見的就是使用c 然而,更嚴格的定義來講,opengl應該是指一套規範。二 opengl的一些基礎概念 1 核心模式與立即渲染模式 早期的opengl使...

openGL一些概念01

頂點資料 頂點資料是一系列頂點的集合。乙個頂點 vertex 是乙個3d座標的資料的集合。而頂點資料是用頂點屬性 vertex attribute 表示的,它可以包含任何我們想用的資料。但是簡單起見,我們還是假定每個頂點只有乙個3d位置和一些顏色值組成的。圖元 為了讓opengl知道我們的座標和顏色...