簡體   English   中英

使用GL_TRIANGLE_FAN進行抗鋸齒

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM