2013-05-14 43 views
3

我想知道如何使用OpenGL實現「景深/混淆圈」效果?如何使用OpenGL獲得景深效果?

是否有任何內置方法或庫支持它?

+0

這是[*很多紋理查找](http://www.ati.com/developer/shaderx/ShaderX2_Real-TimeDepthOfFieldSimulation.pdf)。 – genpfault 2013-05-14 14:25:04

回答

3

你不會找到任何「內置」到OpenGL的東西,它會給你你正在尋找的東西。你將不得不通過着色器來實現這個效果,這非常簡單。

就如何實現這一效果的物品是免費提供的位置:

Nvidia article on depth of field techniques

0

OpenGL是在GPU上做圖形只有低水平的API。你可以渲染三角形,線條,使用離屏渲染,緩衝區,着色器......但是做效果實際上是你的角色 - 它是更高的級別。

如果你想快速擁有景深,可以嘗試使用一些渲染/遊戲引擎?

2

你可以計算不同的自由度近似。對於一個簡單的近似,您可以嘗試將近物體轉化爲紋理,將遠物體轉化爲其他紋理。在另一個通道中,您可以模糊保持遠處物體圖像的紋理,然後將兩個紋理合併到一個紋理中並將其包裹在屏幕空間矩形上。這與實際的DOF沒有任何關係,但是在實時圖形中常常使用一些小技巧 - 但視覺效果必須令人信服。