[英]Anti-aliasing with GL_TRIANGLE_FAN
使用帶有以下代碼的繪圖GL_TRIANGLE_FAN時,我沒有得到任何抗鋸齒功能:
glDisable(GL_DEPTH_TEST);
// Blended points, lines, and polygons.
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glHint(GL_POINT_SMOOTH_HINT, GL_NICEST);
glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);
glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST);
glEnable(GL_POINT_SMOOTH);
glEnable(GL_LINE_SMOOTH);
glEnable(GL_POLYGON_SMOOTH);
我究竟做錯了什么?
邊緣抗鋸齒始終是一個提示,根據規范,實現(您無需指定哪個)可以隨意忽略它。 由於各種原因(例如,無法處理相交的多邊形,與幀緩沖區混合的不良交互),這種抗鋸齒功能已不受歡迎,並被在幀緩沖區級別工作的基於多樣本的算法所取代。 有一個ARB多樣本擴展來控制此操作(實際上,我認為它是該規范的最新版本中的默認設置)。 或者通常,驅動程序有辦法在不修改源代碼的情況下全局啟用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.