CN104240286A - 基于屏幕空间的实时反射方法 - Google Patents
基于屏幕空间的实时反射方法 Download PDFInfo
- Publication number
- CN104240286A CN104240286A CN201410447103.2A CN201410447103A CN104240286A CN 104240286 A CN104240286 A CN 104240286A CN 201410447103 A CN201410447103 A CN 201410447103A CN 104240286 A CN104240286 A CN 104240286A
- Authority
- CN
- China
- Prior art keywords
- pixel
- reflection
- screen space
- value
- pixels
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Image Generation (AREA)
Abstract
本发明公开了一种基于屏幕空间的实时反射方法,包括以下步骤:根据已知屏幕空间的像素位置、法线和相机方向得出像素的反射光线;根据上述得出的像素反射光线的反射方向利用步进深度和每个像素的深度值得到较精确的反射像素;根据反射光线反射到屏幕空间每个像素的U,V纹理坐标,判断哪些像素处于屏幕边缘根据反射面的光滑程度对整体进行模糊处理,得到逼真的反射效果。达到简单快速且能实现逼真的反射效果的目的。
Description
技术领域
本发明涉及计算机图形学领域,具体地,涉及一种基于屏幕空间的实时反射方法。
背景技术
随着计算机图形学发展,可编程技术的推广和普及,人们对物体的可视化程度要求也更高,为了实现虚拟的三维世界向更高端技术画面的发展,要求计算机能完成更高效浮点运算和渲染速度输出到显示器上。在三维物体投射到屏幕过程中,需要用到GPU光栅化,就是把三维场景几何模型和色彩信息转换为计算机上的像素的过程。这种高效的渲染技术目前成为3D及时成像最受青睐的技术。而利用基于平面反射的方式来模拟场景中光线的反射效果差强人意,这种方法存在绘制速度慢,占用内存利用率,效率低的缺陷。
发明内容
本发明的目的在于,针对上述问题,提出一种基于屏幕空间的实时反射方法,以实现简单快速且能实现逼真的反射效果的优点。
为实现上述目的,本发明采用的技术方案是:
一种基于屏幕空间的实时反射方法,包括以下步骤:
步骤101、根据已知屏幕空间的像素位置、法线和相机方向得出像素的反射光线;
步骤102、根据上述得出的像素反射光线的反射方向利用步进深度和每个像素的深度值得到较精确的反射像素;
步骤103、根据反射光线反射到屏幕空间每个像素的U,V纹理坐标,判断哪些像素处于屏幕边缘;
步骤104、根据反射面的光滑程度对整体进行模糊处理,得到逼真的反射效果。
优选的,所述步骤101具体为:所述屏幕空间中的像素位置从渲染目标中得到,相机即观察点,由观察点到反射面的方向,和屏幕空间像素映射到平面的像素位置和法线信息,并根据光的反射定律,得到经过平面反射到目标物体的反射向量。
优选的,所述步骤102具体为:为了提高计算效率,对反射向量限定了一定的长度,已知步进的次数,用下面的公式来表示步进长度:
其中Llim为反射方向的最大的反射长度,N为步进的次数,C为步进长度;
根据反射光线的方向,和上述求得的步进长度获得步进的高度,每一次步进的高度就会与像素的深度值做比较,如果步进高度小于该点像素的深度值,以等步长步进,直到步进到步进高度不小于像素的深度值为止。
优选的,所述步骤103中判断屏幕空间的那些像素处于屏幕边缘具体为:
设定一个表示靠近边缘像素的系数,对U,V坐标的绝对值取最大值得到极值,当取V坐标的极值时,对纵向的纹理坐标进行模糊,当取U坐标的极值时,对横向的纹理进行模糊,模糊的程度取决于U,V坐标的取极值的大小,当取值越大时,越靠近边缘,模糊度力度较大,当取值小时,模糊度力度较小。
优选的,所述步骤104具体为:
预先为所计算的目标像素设置多组像素FLOAT4(浮点数据)的偏移值;
根据屏幕空间的每个像素U,V纹理坐标,得到该像素映射到屏幕空间的位置,每个像素都设定多组偏移像素,根据目标像素在屏幕空间的颜色值和深度信息以及偏移值,得到多组偏移像素中每个偏移像素的颜色值和深度信息,将目标像素的深度值与偏移像素深度值作比较判断偏移像素是否有效;
并设定一个计数器,当判定为有效像素的时候,以公差为1累加的方式计算遍历偏移像素的有效次数;多组偏移像素全部遍历后,得到每个目标像素周围的有效偏移像素,把得到的有效偏移像素和目标像素颜色值累加除以对有效像素的计算次数,从而得到该目标像素的颜色值。
优选的,所述每个像素都设定多组偏移像素中,偏移像素设定为8个。
优选的,所述步骤104中将目标像素的深度值与偏移像素深度值作比较判断偏移像素是否有效判断公式为:
其中,TD为偏移像素深度值,OD为目标像素深度值。
本发明的技术方案具有以下有益效果:
本发明的技术方案,根据“光线跟踪“的思想来实现反射效果,经过优化后,应用场景中能实现逼真的反射效果。这种算法简单快速,可以处理非平面之间的反射效果,并且和延迟渲染有比较好的耦合度。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明实施例所述的基于屏幕空间的实时反射方法的流程图;
图2为本发明实施例所述的三维空间观察点和物体之间的反射示意图;
图3为本发明实施例所述的三维空间中反射光线对应像素的深度的颜色值与像素的高度值所形成的曲线关系的示意图;
图4为本发明实施例所述的屏幕空间中目标像素和偏移像素之间关系的示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
光线跟踪是一种源于几何学的通用技术,通过追踪光学表面发生交互作用的光线,得到光线经过路径的模型,它通常被用于摄像头、显微镜、天文镜等光学***的设计上,在计算机图形学中是一个3D图形的一种特殊算法。而光线跟踪的方法为了两种,正向跟踪和反向跟踪方法;正向跟踪的算法以自然界的太阳光为观察点,有光源发出的光线经过环境物体的多次反射、投射后投射到物体的表面,最终进入人眼,反向追踪算法,从观察者为视点,只追踪所能看见的表面投射光,采用这种算法能够最大限度的节省计算机资源,又能保证很好的画面效果。
本发明使采用“反向跟踪”的思想来阐述计算反射的方法:
在GPU流水线通过顶点处理阶段之后,所有的几何图元将被投射到屏幕空间,在屏幕空间的一个单位就是像素,点、线、通过光栅化转化为像素,光栅化得到的像素一般会携带深度信息,一个RGBA漫反射贴图,一个RGB高光贴图,一个雾化系数和多组的纹理坐标,以上这些都会传给下一个阶段的像素处理,然后写入到渲染目标中。
如图1所示,一种基于屏幕空间的实时反射方法,包括以下步骤:
步骤101、根据已知屏幕空间的像素位置、法线和相机方向得出像素的反射光线;
步骤102、根据上述得出的像素反射光线的反射方向利用步进深度和每个像素的深度值得到较精确的反射像素;
步骤103、根据反射光线反射到屏幕空间每个像素的U,V纹理坐标,判断哪些像素处于屏幕边缘;
步骤104、根据反射面的光滑程度对整体进行模糊处理,得到逼真的反射效果。
优选的,所述步骤101具体为:屏幕空间中的像素位置从渲染目标中得到,根据物理学中光的反射定律:反射光线与入射光线、法线在同一平面上,反射光线和入射光线位于法线两侧,反射角等于入射角。光具有可逆性。在光的反射现象中,光路上是相等的。
已知观察点(相机空间)到反射面的方向,屏幕空间像素映射到平面的像素位置和法线信息,有光的反射定律,可以得到经过平面反射到目标物体的反射向量。
步骤102具体为:经过GPU光栅化后,屏幕空间的像素都有自己的深度信息,这些深度信息是描述了离观察点最近物体交点的深度值,用深度曲线值来描述。为了提高计算效率,对反射向量限定了一定的长度,而不是由无限的反射长度,已知步进的次数,用公式(1)来表示步进长度:
其中Llim为反射方向的最大的反射长度,N为步进的次数,C为步进长度;lim是一个下标,表示了对反射方向的一个长度限制(limit)。
根据反射光线的方向,和上述求得的步进长度获得步进的高度,每一次步进的高度就会与像素的深度值做比较,如果步进高度小于该点像素的深度值,以等步长步进,直到步进到步进高度不小于像素的深度值为止。
如图3所示,对于A点,因步进的高度等于该像素的深度值,则就把A点的颜色值视为发射面O点的反射颜色值,对于步进高度小于或者大于像素的深度值时,改变步长,返回步进,以使更精确的找到与A点最接近的像素。图3中曲线S为每个像素的高度值所形成的曲线图,A点为经过镜面的反射光线和曲线S的交点,B为步进高度与反射光线的交点,且离曲线S最近。
步骤103中判断屏幕空间的那些像素处于屏幕边缘具体为:
由光栅化转化为像素得到的屏幕空间的每个像素的U,V纹理坐标,U,V坐标是定义在(0,1)之间的。通过对每个像素的纹理坐标求极值运算,来判断屏幕空间的那些像素在处于屏幕边缘像素,具体为:
设定一个表示靠近边缘像素的系数,对U,V坐标的绝对值取最大值得到极值,当取V坐标的极值时,对纵向的纹理坐标进行模糊,当取U坐标的极值时,对横向的纹理进行模糊,模糊的程度取决于U,V坐标的取极值的大小,当取值越大时,越靠近边缘,模糊度力度较大,当取值小时,模糊度力度较小。
步骤104具体为:
预先为所计算的目标像素设置多组像素FLOAT4(浮点数据)的偏移值;
根据屏幕空间的每个像素U,V纹理坐标,得到该像素映射到屏幕空间的位置,每个像素都设定多组偏移像素,根据目标像素在屏幕空间的颜色值和深度信息以及偏移值,得到多组偏移像素中每个偏移像素的颜色值和深度信息,将目标像素的深度值与偏移像素深度值作比较判断偏移像素是否有效;
并设定一个计数器,当判定为有效像素的时候,以公差为1累加的方式计算遍历偏移像素的有效次数;多组偏移像素全部遍历后,得到每个目标像素周围的有效偏移像素,把得到的有效偏移像素和目标像素颜色值累加除以对有效像素的计算次数,从而得到该目标像素的颜色值。
将目标像素的深度值与偏移像素深度值作比较判断偏移像素是否有效判断公式为:
其中,TD为偏移像素深度值,OD为目标像素深度值。
在目标像素周围一般取8组偏移UV值即偏移像素,如图3所示,以取两个目标像素周围的任意2组偏移像素进行分析,其他6组的运算过程同理。
根据屏幕空间的每个像素U,V纹理坐标,得到该像素映射到屏幕空间的位置,对每个像素都设定的8组偏移像素,根据目标像素在屏幕空间的颜色值和深度信息以及偏移值,可以得到偏移像素P或者Q的颜色值和深度信息,利用目标像素的深度值和偏移像素深度值作比较判断偏移像素是有效性。
为循环遍历像素的计算设定一个计数器,当判定为有效像素的时候,以公差为1累加的方式计算遍历偏移像素的有效次数。例如:第一次对O点像素和P偏移像素的深度做比较,判断P点的有效性,循环遍历第二次时,将O点目标像素和Q偏移像素做比较,判断Q点的有效性,这样依次遍历其他6组偏移像素,得到每个目标像素周围的有效偏移像素,最后把的到这些像素和目标像素颜色值累加除以对有效像素的计算次数,就可以得到该目标像素的颜色值。
其中O(color)为目标像素的颜色值,S为有效像素的数量,Oc、Pc、Qc等分别为有效像素的颜色值。
从上述的过程可以看出采样目标像素周围的偏移像素并求得目标像素,从而可以得到模糊的效果。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于屏幕空间的实时反射方法,其特征在于,包括以下步骤:
步骤101、根据已知屏幕空间的像素位置、法线和相机方向得出像素的反射光线;
步骤102、根据上述得出的像素反射光线的反射方向利用步进深度和每个像素的深度值得到较精确的反射像素;
步骤103、根据反射光线反射到屏幕空间每个像素的U,V纹理坐标,判断哪些像素处于屏幕边缘;
步骤104、根据反射面的光滑程度对整体进行模糊处理,得到逼真的反射效果。
2.根据权利要求1所述的基于屏幕空间的实时反射方法,其特征在于,所述步骤101具体为:所述屏幕空间中的像素位置从渲染目标中得到,相机即观察点,由观察点到反射面的方向,和屏幕空间像素映射到平面的像素位置和法线信息,并根据光的反射定律,得到经过平面反射到目标物体的反射向量。
3.根据权利要求1或2所述的基于屏幕空间的实时反射方法,其特征在于,所述步骤102具体为:为了提高计算效率,对反射向量限定了一定的长度,已知步进的次数,用下面的公式来表示步进长度:
其中Llim为反射方向的最大的反射长度,N为步进的次数,C为步进长度;
根据反射光线的方向,和上述求得的步进长度获得步进的高度,每一次步进的高度就会与像素的深度值做比较,如果步进高度小于该点像素的深度值,以等步长步进,直到步进到步进高度不小于像素的深度值为止。
4.根据权利要求3所述的基于屏幕空间的实时反射方法,其特征在于,所述步骤103中判断屏幕空间的那些像素处于屏幕边缘具体为:
设定一个表示靠近边缘像素的系数,对U,V坐标的绝对值取最大值得到极值,当取V坐标的极值时,对纵向的纹理坐标进行模糊,当取U坐标的极值时,对横向的纹理进行模糊,模糊的程度取决于U,V坐标的取极值的大小,当取值越大时,越靠近边缘,模糊度力度较大,当取值小时,模糊度力度较小。
5.根据权利要求4所述的基于屏幕空间的实时反射方法,其特征在于,所述步骤104具体为:
预先为所计算的目标像素设置多组像素FLOAT4的偏移值;
根据屏幕空间的每个像素U,V纹理坐标,得到该像素映射到屏幕空间的位置,每个像素都设定多组偏移像素,根据目标像素在屏幕空间的颜色值和深度信息以及偏移值,得到多组偏移像素中每个偏移像素的颜色值和深度信息,将目标像素的深度值与偏移像素深度值作比较判断偏移像素是否有效;
并设定一个计数器,当判定为有效像素的时候,以公差为1累加的方式计算遍历偏移像素的有效次数;多组偏移像素全部遍历后,得到每个目标像素周围的有效偏移像素,把得到的有效偏移像素和目标像素颜色值累加除以对有效像素的计算次数,从而得到该目标像素的颜色值。
6.根据权利要求5所述的基于屏幕空间的实时反射方法,其特征在于,所述每个像素都设定多组偏移像素中,偏移像素设定为8个。
7.根据权利要求6所述的基于屏幕空间的实时反射方法,其特征在于,所述步骤104中将目标像素的深度值与偏移像素深度值作比较判断偏移像素是否有效判断公式为:
其中,TD为偏移像素深度值,OD为目标像素深度值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410447103.2A CN104240286A (zh) | 2014-09-03 | 2014-09-03 | 基于屏幕空间的实时反射方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410447103.2A CN104240286A (zh) | 2014-09-03 | 2014-09-03 | 基于屏幕空间的实时反射方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104240286A true CN104240286A (zh) | 2014-12-24 |
Family
ID=52228288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410447103.2A Pending CN104240286A (zh) | 2014-09-03 | 2014-09-03 | 基于屏幕空间的实时反射方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104240286A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109064533A (zh) * | 2018-07-05 | 2018-12-21 | 深圳奥比中光科技有限公司 | 一种3d漫游方法及*** |
CN109934903A (zh) * | 2017-12-19 | 2019-06-25 | 北大方正集团有限公司 | 高光信息提取方法、***、计算机设备及存储介质 |
CN112233216A (zh) * | 2020-12-18 | 2021-01-15 | 成都完美时空网络技术有限公司 | 游戏图像处理方法、装置及电子设备 |
CN112973121A (zh) * | 2021-04-30 | 2021-06-18 | 成都完美时空网络技术有限公司 | 反射效果生成方法及装置、存储介质、计算机设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110012901A1 (en) * | 2009-06-29 | 2011-01-20 | Anton Kaplanyan | Method, computer graphics image rendering system and computer-readable data storage medium for computing of indirect illumination in a computer graphics image of a scene |
CN103544731A (zh) * | 2013-09-30 | 2014-01-29 | 北京航空航天大学 | 一种基于多相机的快速反射绘制方法 |
-
2014
- 2014-09-03 CN CN201410447103.2A patent/CN104240286A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110012901A1 (en) * | 2009-06-29 | 2011-01-20 | Anton Kaplanyan | Method, computer graphics image rendering system and computer-readable data storage medium for computing of indirect illumination in a computer graphics image of a scene |
CN103544731A (zh) * | 2013-09-30 | 2014-01-29 | 北京航空航天大学 | 一种基于多相机的快速反射绘制方法 |
Non-Patent Citations (10)
Title |
---|
《Secrets of cryengine 3 graphics technology》;Sousa Tiago 等;《ACM SIGGRAPH》;20111231;第39-42页 * |
GUIDO SCHMIDT: "Rendering view dependent reflections using the graphics card", 《UNIVERSITAT KOBLENZ LANDAU FACHBEREICH 4:INFORMATIK》 * |
Rendering view dependent reflections using the graphics card;Guido Schmidt;《Universitat Koblenz Landau Fachbereich 4:Informatik》;20130430;正文第3节、第5.4.1节、图16 * |
Rendering view dependent reflections using the graphics card;Guido Schmidt;《Universitat Koblenz Landau Fachbereich 4:Informatik》;20130430;正文第3节、第5.4节、图16、 * |
SOUSA TIAGO 等: "《Secrets of cryengine 3 graphics technology》", 《ACM SIGGRAPH》 * |
于荣欢 等: "三维标量常并行等值面提取与绘制技术", 《计算机辅助设计与图形学学报》 * |
基于逆向光线跟踪与图像绘制的运动水面反射场景绘制;李纲 等;《计算机科学》;20140630;第41卷(第6A期);第181-183页 * |
朴兴哲 等: "基于深度剥离的屏幕空间环境遮挡算法", 《沈阳工业大学学报》 * |
李纲 等: "基于逆向光线跟踪与图像绘制的运动水面反射场景绘制", 《计算机科学》 * |
石教英 等: "并行多边形绘制技术综述", 《计算机辅助设计与图像学学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109934903A (zh) * | 2017-12-19 | 2019-06-25 | 北大方正集团有限公司 | 高光信息提取方法、***、计算机设备及存储介质 |
CN109934903B (zh) * | 2017-12-19 | 2020-10-16 | 北大方正集团有限公司 | 高光信息提取方法、***、计算机设备及存储介质 |
CN109064533A (zh) * | 2018-07-05 | 2018-12-21 | 深圳奥比中光科技有限公司 | 一种3d漫游方法及*** |
CN109064533B (zh) * | 2018-07-05 | 2023-04-07 | 奥比中光科技集团股份有限公司 | 一种3d漫游方法及*** |
CN112233216A (zh) * | 2020-12-18 | 2021-01-15 | 成都完美时空网络技术有限公司 | 游戏图像处理方法、装置及电子设备 |
CN112233216B (zh) * | 2020-12-18 | 2021-03-02 | 成都完美时空网络技术有限公司 | 游戏图像处理方法、装置及电子设备 |
CN112973121A (zh) * | 2021-04-30 | 2021-06-18 | 成都完美时空网络技术有限公司 | 反射效果生成方法及装置、存储介质、计算机设备 |
CN112973121B (zh) * | 2021-04-30 | 2021-07-20 | 成都完美时空网络技术有限公司 | 反射效果生成方法及装置、存储介质、计算机设备 |
WO2022227553A1 (zh) * | 2021-04-30 | 2022-11-03 | 成都完美时空网络技术有限公司 | 反射效果生成方法及装置、存储介质、计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110827389B (zh) | 严密的光线三角形相交 | |
Krivanek et al. | Practical global illumination with irradiance caching | |
US20080074420A1 (en) | Pixel color accumulation in a ray tracing image processing system | |
CN114820906B (zh) | 图像渲染方法、装置、电子设备及存储介质 | |
CN111127623B (zh) | 模型的渲染方法、装置、存储介质及终端 | |
CN114581589A (zh) | 图像处理方法及相关装置 | |
CN110136082A (zh) | 遮挡剔除方法、装置及计算机设备 | |
CN103700134A (zh) | 基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法 | |
Yao et al. | Multi‐image based photon tracing for interactive global illumination of dynamic scenes | |
CN104240286A (zh) | 基于屏幕空间的实时反射方法 | |
CN104157000B (zh) | 模型表面法线的计算方法 | |
CN116485984B (zh) | 全景影像车辆模型全局光照模拟方法、装置、设备及介质 | |
Ganestam et al. | Real-time multiply recursive reflections and refractions using hybrid rendering | |
CN103544731B (zh) | 一种基于多相机的快速反射绘制方法 | |
Franke | Delta light propagation volumes for mixed reality | |
CN107808388A (zh) | 包含运动目标的图像处理方法、装置及电子设备 | |
CN101882324B (zh) | 基于双向半影图的软阴影实时绘制方法 | |
CN102306401B (zh) | 一种包含模糊反射效果的3d虚拟场景的左右眼立体画面绘制方法 | |
CN111382618A (zh) | 一种人脸图像的光照检测方法、装置、设备和存储介质 | |
US9142055B1 (en) | Refraction determination for animating 3D objects | |
Hu et al. | Interactive approximate rendering of reflections, refractions, and caustics | |
US20240177394A1 (en) | Motion vector optimization for multiple refractive and reflective interfaces | |
WO2024148898A1 (zh) | 图像降噪方法、装置、计算机设备和存储介质 | |
Knecht et al. | Interactive BRDF estimation for mixed-reality applications | |
CN115115747A (zh) | 光照渲染方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141224 |