OpenGL學習十一 抗鋸齒

2021-06-20 06:49:44 字數 1809 閱讀 5616

啟用抗鋸齒

還是以glenable來啟用抗鋸齒,可以根據不同圖形進行處理

1. gl_point_smooth 點

2. gl_line_smooth 線

3. gl_polygon_smooth 多邊形

抗鋸齒質量

效果越好,那麼計算機速度就越慢

glhint用於對點,線,多邊形的抗鋸齒程度進行設定

1. gl_dont_care 放棄,應該是系統預設吧

2. gl_fastest 速度優先

3. gl_nicest 圖形顯示質量優先

點抗鋸齒(rgba模式)

glpointsize(10);

glenable (gl_point_smooth);//啟動點抗鋸齒

glhint (gl_point_smooth, gl_nicest); //影象渲染質量

左圖1:不啟動抗鋸齒

右圖2:啟動抗鋸齒

線抗鋸齒

glenable (gl_blend);

glblendfunc (gl_src_alpha, gl_one_minus_src_alpha);

glenable (gl_line_smooth);

glhint (gl_line_smooth, gl_nicest);

gllinewidth (10);

右圖1:不啟動抗鋸齒

右圖2:啟動抗鋸齒,不啟用混合

右圖2:啟動抗鋸齒,啟用混合

多重取樣

多重取樣的技巧使用額外的顏色,深度和模板資訊,對opengl圖元進行抗鋸齒處理

1.建立乙個多重取樣的視窗

glutinitdisplaymode (glut_double | glut_rgb |

glut_multisample

);2.查詢狀態變數gl_sample_buffers

glgetintegerv (gl_sample_buffers, buf);

3.查詢狀態變數gl_sample

glgetintegerv (gl_samples, sbuf);

如果buf=1 sbuf>1 就可以使用多重取樣

4.啟動多重取樣

glenable(glut_multisample)

說明:多邊形抗鋸齒做好採用多重取樣進行抗鋸齒

#include "header.h"

static float rotangle = 0.;

void init(void)

void display(void)

void reshape(int w, int h)

void keyboard(unsigned char key, int x, int y)

}int main(int argc, char** argv)

opengl中的抗鋸齒

opengl的抗鋸齒 1.對直線和點主要用函式gl enable gl line smooth 或gl enable gl point smooth 2.對rgba模式需要啟動混合功能,最常用的混合模式為gl src alpha和gl one minus src alpha 用gl blend開啟混...

openGL中的抗鋸齒實現

圖形繪製到螢幕時,光柵化影象通過離散的畫素點來表示,因此所繪製的圖元 比如直線 會產生鋸齒,這種鋸齒也稱作走樣。消除鋸齒的技術稱為反走樣,也叫做抗鋸齒,通過這種處理可在一定程度上消除鋸齒的影響,增強顯示效果。在opengl中,可通過函式glhint 來對影象質量和繪製速度之間的權衡作一些控制,其函式...

抗鋸齒渲染

乙個圖形的大小總與其數學模型相對應.又稱為反鋸齒或者反走樣,就是對影象的邊緣進行平滑處理,使其看起來更加柔和流暢的一種技術.qpainter進行繪製時可以使用qpainter renderhint渲染提示來指定是否要使用抗鋸齒功能,渲染提示的取值如下.qpainter的渲染提示常量 描述qpaint...