日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

OpenGL 面剔除Face culling

發布時間:2024/9/27 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenGL 面剔除Face culling 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

OpenGL面剔除Face culling

  • 面剔除Face culling簡介
  • 環繞順序
  • 面剔除

面剔除Face culling簡介

嘗試在腦子中想象一個3D立方體,數數你從任意方向最多能同時看到幾個面。如果你的想象力不是過于豐富了,你應該能得出最大的面數是3。你可以從任意位置和任意方向看向這個球體,但你永遠不能看到3個以上的面。所以我們為什么要浪費時間繪制我們不能看見的那3個面呢?如果我們能夠以某種方式丟棄這幾個看不見的面,我們能省下超過50%的片段著色器執行數!
這是一個很好的主意,但我們仍有一個問題需要解決:我們如何知道一個物體的某一個面不能從觀察者視角看到呢?
如果我們想象任何一個閉合形狀,它的每一個面都有兩側,每一側要么面向用戶,要么背對用戶。如果我們能夠只繪制面向觀察者的面呢?
這正是面剔除(Face Culling)所做的。OpenGL能夠檢查所有面向(Front Facing)觀察者的面,并渲染它們,而丟棄那些背向(Back Facing)的面,節省我們很多的片段著色器調用(它們的開銷很大!)。但我們仍要告訴OpenGL哪些面是正向面(Front Face),哪些面是背向面(Back Face)。OpenGL使用了一個很聰明的技巧,分析頂點數據的環繞順序(Winding Order)。

環繞順序

當我們定義一組三角形頂點時,我們會以特定的環繞順序來定義它們?

總結

以上是生活随笔為你收集整理的OpenGL 面剔除Face culling的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。