发明名称 一种屏幕空间镜头水珠实时渲染方法
摘要 本发明公开了一种计算机视觉特效,具体涉及一种屏幕空间镜头水珠实时渲染方法,导入场景纹理、随机数噪声纹理Texture_RandomNoise和噪声纹理Texture_SimplexNoise,获取水珠可以在屏幕上出现的多个随机位置,再计算光线折射的偏移量,对水珠曲面进行光纤折射渲染出水珠。简化了水珠曲面生成算法,利用Simplex噪声实时生成随机水珠边缘曲线,能够在屏幕空间实时渲染出视觉效果好的屏幕水珠特效,而不需要高度的水珠纹理,因此渲染效果不受高度纹理分辨率的限制,即便是在普通配置的计算机上也能渲染出高质量的屏幕水珠。
申请公布号 CN102930588B 申请公布日期 2015.05.20
申请号 CN201210350426.0 申请日期 2012.09.20
申请人 四川川大智胜软件股份有限公司;四川大学 发明人 叶万方;邵鑫;陈楷民;张赐;唐传奇
分类号 G06T15/00(2011.01)I;G06T15/06(2011.01)I 主分类号 G06T15/00(2011.01)I
代理机构 成都信博专利代理有限责任公司 51200 代理人 卓仲阳
主权项 一种屏幕空间镜头水珠实时渲染方法,其特征在于包括以下步骤:用着色语言渲染到场景纹理Texture_Scene,将Texture_Scene传入屏幕水珠渲染PASS_WaterDropRender;向Pass_WaterDropRender导入一张随机数噪声纹理Texture_RandomNoise和一张Simplex噪声纹理Texture_SimplexNoise;通过对随机噪声纹理Texture_RandomNoise的噪音值采样计算,获取水珠可以在屏幕上出现的多个随机位置;每个随机位置的坐标作为水珠的屏幕中心点O,生成水珠在屏幕上的随机边界曲线;简化水珠曲面;计算光线折射的偏移量,对水珠曲面进行光线折射,通过与屏幕坐标相对应的背景纹理颜色值渲染出水珠内的颜色值;所述生成水珠在屏幕上的随机边界曲线,是利用Simplex噪声纹理的Texture_SimplexNoise来生成,在屏幕空间中设定遍历到一个UiVj像素点B,屏幕中心点O与UiVj像素点B的线段为UiVj像素段OB,则UiVj像素段OB经过边界曲线的点为边界曲线点P,边界曲线点P到屏幕中心点O的长度OP通过以下方法得到:设一基准点A,其与屏幕中心点O的线段OA平行于Y轴,且方向指向Y轴正方向,从线段OA开始,将水珠边界曲线等分为N份,通过UiVj像素段OB和基准点A到屏幕中心点O的线段OA,利用夹角公式<img file="FDA0000669946840000011.GIF" wi="442" he="141" />来计算UiVj像素段OB属于哪个等分区,采用<img file="FDA0000669946840000012.GIF" wi="404" he="134" />计算分区索引Index,其中Δβ表示每个等分区的夹角,即<img file="FDA0000669946840000013.GIF" wi="200" he="132" />得到Index的情况下,将Simplex噪声纹理Texture_SimplexNoise中像素位置颜色的红色分量的值Texel_Red取出,将Texel_Red乘以一个缩放因子θ得出边界曲线点P到屏幕中心点O的长度OP;依次取N为不同份时,算出不同边界曲线点P到屏幕中心点O的长度OP并通过Simplex噪声纹理将具有不同长度OP的边界曲线点P连续起来得出水珠的随机边界曲线。
地址 610045 四川省成都市武侯区武科东一路七号
您可能感兴趣的专利