[发明专利]阴影绘制方法及渲染装置有效
申请号: | 200710151686.4 | 申请日: | 2007-09-26 |
公开(公告)号: | CN101136108A | 公开(公告)日: | 2008-03-05 |
发明(设计)人: | 刘皓 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06T15/60 | 分类号: | G06T15/60 |
代理公司: | 北京集佳知识产权代理有限公司 | 代理人: | 逯长明 |
地址: | 518044广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 阴影 绘制 方法 渲染 装置 | ||
1.一种阴影绘制方法,其特征在于,包括:
生成光源空间中的场景深度纹理;
生成场景中成影物体轮廓的模糊化纹理,在该纹理中,成影物体轮廓不同位置的模糊程度与成影物体轮廓相应位置上的像素和光源之间的距离相对应;
对从预置的视点看向场景时的可见像素进行阴影检测;
根据所述成影物体轮廓的模糊化纹理和进行阴影检测所获得的结果,生成具有阴影的场景图像。
2.如权利要求1所述的阴影绘制方法,其特征在于,所述根据所述成影物体轮廓的模糊化纹理和进行阴影检测所获得的结果,生成具有阴影的场景图像具体包括:
从预置的视点看向场景时,若可见像素在阴影中,则将该可见像素的颜色绘制为预定的阴影颜色;若可见像素不在阴影中,则确定在成影物体轮廓的模糊化纹理中与该可见像素的坐标对应的像素,将该可见像素的颜色绘制为该对应像素的颜色。
3.如权利要求2所述的阴影绘制方法,其特征在于,所述生成场景中成影物体轮廓的模糊化纹理通过以下方法实现:
A21、对光源空间中的场景深度纹理进行处理,获得场景的第一纹理,经过所述处理后,在场景深度纹理中深度值越小的像素,在所述第一纹理中该像素的值越大,而在场景深度纹理中深度值越大的像素,在所述第一纹理中该像素的值越小;
A22、根据所述第一纹理,获得成影物体轮廓的纹理;
A23、对成影物体轮廓的纹理进行模糊化处理,获得成影物体轮廓的模糊化纹理。
4.如权利要求3所述的阴影绘制方法,其特征在于,所述A21通过以下方法实现:
对场景深度纹理中的每个像素,执行以下处理:
D1=D-FLOAT_SUB;
D2=POW(D1,FLOAT_POWER);
D3=MAX(1-D2,0);
其中,D为场景深度纹理中当前像素的深度值;
FLOAT_SUB为成影物体上距离光源最近的像素的深度值;
FLOAT_POWER是预置的调整值;
D3为第一纹理中当前像素的值。
5.如权利要求3所述的阴影绘制方法,其特征在于,所述A22通过以下方法实现:
对所述第一纹理进行处理,获得场景的第二纹理,所述第二纹理中各像素的值能够反映本像素周围像素的值的变化激烈程度;
对第二纹理中的每个像素,分别判断其值是否大于预定的阈值,若是,则认为该像素是成影物体的轮廓,确定其值为所述第一纹理中与该像素坐标对应的像素的值;若否,则认为该像素不是成影物体的轮廓,确定其值为预置的非轮廓像素的值。
6.如权利要求5所述的阴影绘制方法,其特征在于,所述对所述第一纹理进行处理,获得场景的第二纹理可以通过以下方法实现:
通过预置的横向过滤器和纵向过滤器分别对第一纹理进行过滤;
根据所述横向过滤器和纵向过滤器进行过滤的结果,对每一像素进行如下计算,获得第二纹理:
edgeSqr=(SobelX*SobelX+SobelY*SobelY)
其中,SobelX表示经横向过滤器过滤后当前像素的值;
SobelY表示经纵向过滤器过滤后当前像素的值;
edgeSqr表示所获得的第二纹理中当前像素的值。
7.如权利要求3所述的阴影绘制方法,其特征在于,所述对成影物体轮廓的纹理进行模糊化处理具体是通过高斯模糊过滤器对成影物体轮廓的纹理进行过滤化处理而实现。
8.如权利要求1至7任一项所述的阴影绘制方法,其特征在于,所述阴影检测可以通过以下方法实现:
对于从预置的视点看向场景时场景中的每个可见像素,分别获得像素相对于光源的深度值,并获得所述场景深度纹理中与该可见像素的坐标对应的像素的深度值;对两个深度值进行比较,若前者大于后者,则所述可见像素在阴影中;否则,不在阴影中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710151686.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:自动立体显示设备及其滤色器
- 下一篇:防水防尘结构