[發明專利]一種基于OpenGL實現景深效果的方法有效
| 申請號: | 201110370718.6 | 申請日: | 2011-11-21 |
| 公開(公告)號: | CN102750726B | 公開(公告)日: | 2017-09-19 |
| 發明(設計)人: | 黃裔 | 申請(專利權)人: | 新奧特(北京)視頻技術有限公司 |
| 主分類號: | G06T15/04 | 分類號: | G06T15/04;G06T15/00 |
| 代理公司: | 北京挺立專利事務所(普通合伙)11265 | 代理人: | 葉樹明 |
| 地址: | 100195 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 opengl 實現 景深 效果 方法 | ||
1.一種基于OpenGL實現景深效果的方法,其特征在于,包括以下步驟:
獲取圖像的原始色彩緩存信息,所述原始色彩緩存信息包括深度緩存信息和色彩緩存信息;
根據所述深度緩存信息和所述色彩緩存信息計算新的色彩緩存信息;包括以下步驟:
A、根據所述深度緩存信息和所述色彩緩存信息計算焦距深度:
B、用所述焦距深度替換所述原始色彩緩存信息中alpha通道的值,得到運算色彩緩存信息;
C、將所述運算色彩緩存信息綁定到指定的紋理中,生成所述新的色彩緩存信息;
所述根據所述深度緩存信息和所述色彩緩存信息計算焦距深度,具體包括:
計算像素點與虛擬視點的距離:
distance=farPlane*nearPlane/((1-depth)*farPlane+depth*nearPlane)
其中,distance為像素點與虛擬視點的距離,farPlane為攝像機的遠平面,nearPlane為所述攝像機的近平面,depth為像素深度;
計算焦距深度:
d=distance-focalPlaneDistance
如果d<0,focalDepth=d/(focalPlaneDistance-nearBlurDistance)
如果d>0或者d=0,focalDepth=d/(farBlurDistance-focalPlaneDistance)
其中,d為像素點平面與焦距平面的距離,focalPlaneDistance為焦距平面距離,focalDepth為焦距深度,nearBlurDistance為最近模糊平面距離,farBlurDistance為最遠模糊平面距離;
計算所述圖像的像素點的泊松分布圓直徑,根據所述像素點的泊松分布圓直徑計算圖像層級信息;
根據所述原始色彩緩存信息、所述新的色彩緩存信息、所述像素點的泊松分布圓直徑和所述圖像層級信息計算最終的色彩緩存信息;
根據所述最終的色彩緩存信息對所述圖像進行渲染,實現景深效果。
2.如權利要求1所述一種基于OpenGL實現景深效果的方法,其特征在于,所述獲取圖像的原始色彩緩存信息前,包括:
判斷圖像處理設備是否開啟深度緩存且攝像機為渲染模式。
3.如權利要求2所述一種基于OpenGL實現景深效果的方法,其特征在于,所述獲取圖像的原始色彩緩存信息,包括:
若開啟了深度緩存且攝像機為渲染模式,獲取所述深度緩存信息和所述色彩緩存信息;
將所述深度緩存信息和所述色彩緩存信息綁定到指定的紋理中。
4.如權利要求1所述一種基于OpenGL實現景深效果的方法,其特征在于,所述計算所述圖像的像素點的泊松分布圓直徑,根據所述像素點的泊松分布圓直徑計算圖像層級信息,包括:
計算泊松分布圓直徑:
discDiameter=abs(focalDepth*2-1)*maxCoC
其中,discDiameter為像素點級泊松分布圓直徑,maxCoC為最大泊松分布圓直徑;
計算層級信息:
lod=log2(discDiameter)
其中lod為層級信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于新奧特(北京)視頻技術有限公司,未經新奧特(北京)視頻技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110370718.6/1.html,轉載請聲明來源鉆瓜專利網。





