CN114596348B - 基于屏幕空间的环境遮挡计算方法、装置及运行器、可读存储介质 - Google Patents

基于屏幕空间的环境遮挡计算方法、装置及运行器、可读存储介质 Download PDF

Info

Publication number
CN114596348B
CN114596348B CN202111487525.9A CN202111487525A CN114596348B CN 114596348 B CN114596348 B CN 114596348B CN 202111487525 A CN202111487525 A CN 202111487525A CN 114596348 B CN114596348 B CN 114596348B
Authority
CN
China
Prior art keywords
pixel point
depth
current pixel
points
surrounding
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.)
Active
Application number
CN202111487525.9A
Other languages
English (en)
Other versions
CN114596348A (zh
Inventor
谢成鸿
王亚伟
胡高
马裕凯
李嵘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Lanya Box Technology Co ltd
Original Assignee
Beijing Lanya Box Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Lanya Box Technology Co ltd filed Critical Beijing Lanya Box Technology Co ltd
Priority to CN202111487525.9A priority Critical patent/CN114596348B/zh
Publication of CN114596348A publication Critical patent/CN114596348A/zh
Application granted granted Critical
Publication of CN114596348B publication Critical patent/CN114596348B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/507Depth or shape recovery from shading
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6653Methods for processing data by generating or executing the game program for rendering three dimensional images for altering the visibility of an object, e.g. preventing the occlusion of an object, partially hiding an object

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)

Abstract

本申请实施例公开了一种基于屏幕空间的环境遮挡计算方法,该方法包括:在屏幕空间中选取一个像素点作为计算环境遮挡的当前像素点,以当前像素点为基点,采样多个周围像素点;根据预先确定的屏幕空间中像素点的深度信息,确定当前像素点与该当前像素点的周围像素点之间的深度关系;根据深度关系对当前像素点赋予相应明暗度。通过该技术方案可以减轻GPU计算压力,提高渲染效率。

Description

基于屏幕空间的环境遮挡计算方法、装置及运行器、可读存储 介质
技术领域
本申请涉及编程技术领域,尤其涉及一种基于屏幕空间的环境遮挡计算方法、装置及运行器、可读存储介质。
背景技术
在游戏等应用场景中,经常会展示大量的图像、动画等画面,为了使展示效果更真实,需要模拟现实光照,画面中的图像因光线照射产生明暗变化,从而近乎现实。由此,在计算机图形学中,全局光照的效果如何便直接影响到画面真实性。在该问题上,传统技术是采用基于物理的光照算法(比如,光线跟踪算法),该算法效果确实不错,但计算复杂,难以进行实时应用。一种更能平衡画面质量和渲染速度的方法是被称为环境遮蔽(AO,AmbientOcclusion,环境遮挡)的技术,它的原理是通过对褶皱、孔洞和相互比较靠近的墙面等进行变暗处理的方式来模拟出间接光照(参见图1所示)。在图中,一些区域被周围的几何体遮蔽,光线难以流入,相对其他区域会更暗。如图中人脸眼窝、鼻孔、坦克炮口等区域。
在进行AO计算时,更进一步的优化做法是基于屏幕空间的环境遮挡计算,它只计算当前屏幕空间的遮挡,提高了效率,这称为SSAO(Screen-Space Ambient Occlusion,基于屏幕空间的环境遮挡)。具体操作时,现有技术对场景中非透明物体的深度信息进行绘制,形成一张深度图,同时对场景中非透明物体的法线信息进行绘制,形成一张基于视图空间的法线图。然后,再对屏幕空间内像素点进行采样,以判断是否被遮挡,如果被遮挡,对该像素点颜色值加深,从而变暗。这种方式需要对场景进行多遍渲染,既要渲染得到深度图,还要渲染得到法线图,而且对采样点的数量要求较多,需要进行复杂的矩阵运算,使得GPU的压力较大。此外,因随机采样,还会导致麻点抖动,效果不均匀。
发明内容
本申请实施例提供一种基于屏幕空间的环境遮挡计算方法、装置以及运行器、可读存储介质,用于解决或改善现有技术在环境遮挡计算中存在的问题。
一方面,本申请实施例提供的基于屏幕空间的环境遮挡计算方法包括:
在屏幕空间中选取一个像素点作为计算环境遮挡的当前像素点,以当前像素点为基点,采样多个周围像素点;
根据预先确定的屏幕空间中像素点的深度信息,确定当前像素点与该当前像素点的周围像素点之间的深度关系;
根据深度关系对当前像素点赋予相应明暗度。
优选地,所述以当前像素点为基点,采样多个周围像素点,具体包括:
以当前像素点为中心,在当前像素点所在的基于屏幕的投影平面内,采样对称的预定数量的像素点为周围像素点。
优选地,所述采样对称的预定数量的像素点为周围像素点,具体包括:以当前像素点为中心,采集该像素点的上下左右对称的预定数量的像素点为周围像素点。
优选地,所述根据预先确定的屏幕空间中像素点的深度信息,确定当前像素点与该当前像素点的周围像素点之间的深度关系,具体包括:
根据预先确定的屏幕空间中像素点的深度信息确定当前像素点的深度信息,以及确定当前像素点的周围像素点的深度信息;
将当前像素点的深度信息与周围像素点深度信息的平均值进行比较;
根据比较结果确定当前像素点与周围像素点之间的深度关系。
优选地,所述根据深度关系对当前像素点赋予相应明暗值,具体包括:
当当前像素点的深度大于周围像素点的深度时,对当前像素点赋予暗于周围像素点的相应明暗值。
优选地,所述当当前像素点的深度大于周围像素点的深度时,对当前像素点赋予暗于周围像素点的相应明暗值,具体包括:
将周围像素点划分为第一组像素点集合、第二组像素点集合、第三组像素点集合、第四组像素点集合,所述第一组像素点集合、第二像素点集合相对于当前像素点在平面投影上的相对位置左右对称,且第二组像素点集合比第一组像素点集合更靠近当前像素点;第三组像素点集合、第四像素点相对于当前像素点在平面投影上的相对位置上下对称,且第四组像素点集合比第三组像素点集合更靠近当前像素点;
当当前像素点的深度大于第一组像素点集合的平均深度或第三组像素点集合的平均深度时,设定第一明暗度影响因子,否则,设定第三明暗度影响因子;当当前像素点的深度大于第二组像素点集合的平均深度或者第四组像素点集合的平均深度时,设定第二明暗度影响因子,否则,设定第三明暗度影响因子;
根据第一明暗度影响因子、第二明暗度影响因子、第三明暗度影响因子之和对当前像素点赋予相应的明暗度值。
另一方面,本申请实施例还提供了一种基于屏幕空间的环境遮挡计算装置,所述装置包括:像素点采样单元,深度关系确定单元和明暗度赋值单元,其中:
所述像素点采样单元,用于在屏幕空间中选取一个像素点作为计算环境遮挡的当前像素点,以当前像素点为基点,采样多个周围像素点;
所述深度关系确定单元,用于根据预先确定的屏幕空间中像素点的深度信息,确定当前像素点与该当前像素点的周围像素点之间的深度关系;
所述明暗度赋值单元,用于根据深度关系对当前像素点赋予相应明暗度。
优选地,所述深度关系确定单元包括深度信息确定子单元,平均值比较子单元和深度关系确定子单元,其中:
所述深度信息确定子单元,用于根据预先确定的屏幕空间中像素点的深度信息确定当前像素点的深度信息,以及确定当前像素点的周围像素点的深度信息;
所述平均值比较子单元,用于将当前像素点的深度信息与周围像素点深度信息的平均值进行比较;
所述深度关系确定子单元,用于根据比较结果确定当前像素点与周围像素点之间的深度关系。
再一方面,本申请实施例提供了一种运行器,该运行器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时,实现如上所述的方法的步骤。
又一方面,本申请实施例提供的计算机可读存储介质,在所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述的方法的步骤。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
由于本申请实施例的方案需要的是基于屏幕的深度图信息,不再需要法线图信息,必然减少渲染的次数和压力,极大提高效率。而法线图的减少,其影响是深远的,法线图虽然被“弃而不用”,但效果上却能追求到更佳的效果。没有“法线图”,虽然不能准确定量地知道某个像素点在场景中的“方向”,但以“凹陷法”进行了代替,从整个场景的角度去寻找凹陷点,已不再需要关注每个用于进行遮挡计算的像素点在方向上的个体差异,同样能够确定场景屏幕中的某个点是该亮,还是该暗,从而实现相同或者更好的技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为场景屏幕中非透明物品的模拟示意图;
图2为现有技术中进行SSAO计算的基本原理示意图;
图3为本申请基于屏幕空间的环境遮挡计算方法实施例的流程图;
图4为本申请实施例的凹陷点判断原理示意图;
图5为本申请实施例的采样点选择示意图;
图6为本申请实施例的采样点位置关系示意图;
图7为本申请基于屏幕空间的环境遮挡计算装置实例结构示意图;
图8为本申请的运行器实施例的结构示意图。
具体实施方式
在前述背景技术介绍中,现有技术在进行SSAO计算中存在较多的缺陷,为了更好的说明现有技术存在问题,以清晰呈现本申请实施例的技术方案,下面结合附图再进行详细说明。参见图2,在现有技术进行图像绘制时,会先对屏幕空间内的每一个像素进行逐点选取,选取当前点后(假设当前像素点为P,如图中的圆心),通过预先在调入内存予以加载时即已确定好的深度图,获取像素点P的位置信息,然后以P点为中心,在预定半径(比如图中的R)的球体空间内,随机产生若干三维采样点,比如,64个像素点,这些像素点可能是被遮盖的(如图中的黑点),也可能是处于表层未被遮盖(如图中的白点)(注意图中是呈现的三位立体的平面透视图,在实际中,具有深度距离)。完成采样后根据预先存储的深度图和法线图(如图中虚线标识的箭头方向,表示该点的法线方向),获取各个采样点的位置信息和法线信息以确定该采样点在三维空间里的实际位置,并将其与P点进行对比,以判断是否遮挡了P点,如果遮挡,则将P点的像素点颜色值加深,实现明暗变化,否则,就不变或者调浅。这种有一定的效果,但同时伴随诸多缺陷,下面列举一些缺陷供理解:
(1)为了得到后续进行AO计算的基础信息,需要将场景进行多遍渲染,取得场景中各个像素点点的深度图和法线图,从而延长了时间,加剧了计算压力;
(2)基于屏幕的AO计算,尽管限制于屏幕范围内,但计算过程中仍需要对全屏幕内的像素点逐一计算,而每个像素点均同时具有深度图和法线图信息,对GPU的屏幕填充率影响较大;
(3)由于需要对屏幕空间内的每个像素点确定位置信息,并以其位置信息为中心进行球体随机采样,且将采样的多个点(比如64个像素点)与当前像素点进行逐一比较,GPU的计算压力也会增大;
(4)在具体计算时,需要采取复杂矩阵运算,需要根据视图空间的位置和视图空间的发现信息判断是否遮挡,该计算量也比较大;
(5)在以P点为中心进行采样时,通常使用随机采样法,每次采样点不同,即便是同一个区域,每次渲染出来的明暗度不同,在快速变化的画面中,将出现“麻点抖动”,屏幕画面效果不均匀。
这些问题阻扰了该技术的扩大应用。为了顺利解决现有技术存在的一个或多个问题,局部或者全面优化技术效果,本申请实施例提供的技术方案如图3所示。该图示出了该方案的流程,主要包括步骤S301:在屏幕空间中选取一个像素点作为计算环境遮挡的当前像素点,以当前像素点为基点,采样多个周围像素点。需要注意的是,在该步骤中选取一个当前的像素点,由于实际上在屏幕空间范围内有很多待处理的像素点,但其处理过程是相同的,包括手续的两个步骤。选取当前像素点后,将以该像素点为中心进行相应的计算,即步骤S302:根据预先确定的屏幕空间中像素点的深度信息,确定当前像素点与该当前像素点的周围像素点之间的深度关系。基于302步骤确定出像素点和周围像素点之间的深度关系后,即可以判明该点的遮挡情况,从而可以实施S303步骤,即根据深度关系对当前像素点赋予相应明暗度。该方案体现的中心思想在于如何想尽办法减少复杂的计算,减轻GPU的计算压力。本实施例的方式是在屏幕展现的场景图中逐像素点寻找像素“洼地”,即像素“凹陷点”,并对像素凹陷点进行更深(更暗)的明暗度赋值。众所周知,在自然光线法则中,凹陷点深处低处,照射其间的自然光线容易被周围的凸点或凸面,或者具有相当高度的其他非透明物体遮挡,因此,在找出基于屏幕的空间像素凹陷点后,将该像素点的明暗度降低,凹陷越深,明暗度降低越多,由此和真实的光照结果一致,使得画面具有较强的真实感。
与现有技术相比,这种技术方案不仅在表面的可视性效果上更胜一筹,实际上在内部也有多种好处。由于本申请实施例的方案需要的是基于屏幕的深度图信息,不再需要法线图信息,必然减少渲染的次数和压力,极大提高效率。而法线图的减少,其影响是深远的,法线图虽然被“弃而不用”,但效果上却能追求到更佳的效果。没有“法线图”,虽然不能准确定量地知道某个像素点在场景中的“方向”,但以“凹陷法”进行了代替,从整个场景的角度去寻找凹陷点,已不再需要关注每个用于进行遮挡计算的像素点在方向上的个体差异,同样能够确定场景屏幕中的某个点是该亮,还是该暗,从而实现相同或者更好的技术效果。
上述内容以听得懂的“自然”语言,描述了本申请实施例技术方案的中心思想。但是,对于处理海量数据的计算机图形处理器(GPU)而言,操作起来并非易事。尽管现有技术在场景中的深度图、法线图绘制完成后,进行SSAO的计算工作量巨大,以致会影响图像真实性的实时展现,但毕竟其原理简单。而本申请实施例的原理要让“计算机”明白,却需费尽周折。下面结合实施例图4进行说明。
图4提供了一种寻找凹陷点的做法。在该示例图中,在选取的一个当前像素点P的周围再采样两个像素点M、N点,然后依据先前建立的场景深度图可以得到这三个点的位置信息,基于这些位置信息进行比较:
(1)如果像素点M与像素点N的平均位置深度小于(高于)当前像素点P,则说明像素点M与像素点N的连线高于像素点P,在按照法线的方向进行光线投射时,当前像素点P的深度比M点、N点连线的中间线低(如图4所示的虚线所示),由此可以判定当前像素点P是相对凹陷点,从而可以给凹陷点P赋予更暗的亮度。为便于理解,这里说明下视角的问题。人们观察事物是从自身眼睛出发,形成一个“眼界”,在屏幕上的像素点处理一样,以人眼为基点,形成一个摄像机视椎,离人眼越近的地方(屏幕中的近处像素点),其深度信息越小(站在被投射的平面的角度,是越高),相反越远的地方(屏幕中的远处像素点),深度信息就越大(越低)。(2)另外一种可能,即像素点M与像素点N的平均位置深度大于(低于)当前像素点P,则说明像素点M与像素点N的连线低于像素点P,则P应当是凸起点,应该具有更亮的亮度。通过这种“比较”,对场景屏幕上的像素点逐一进行上述操作,从而在整个场景中实现了明暗度的绘制。
上述寻找凹陷点的方案是一个初步的方案,基于各种实际情况,可以有多种优化方向,下面将要叙述的一种优化方式将在现实应用中更有价值。如前所述,本申请实施例预先需要将场景中的非透明物体的位置信息等绘制成一张深度图,然后在深度图中寻找凹陷点。为了给计算带来优势,可以将深度图中的数据进行归一化处理,将其线性转换为0-1之间的值(当然,在追求更为精确的描述中,采取非线性可能也是妥当的),记为CurrentDepth。在确定深度图中的一个像素点作为当前点后,不像刚才示例性描述那样,在平面中仅仅取M、N两个点,而是站在立体的角度,取八个点,形成四组数据,如下表以及图5所示所示:
组别 Uv偏移像素 影响因子
第一组 (-2,0),(2,0) 0.1
第二组 (-1,0),(1,0) 0.2
第三组 (0,-2),(0,2) 0.1
第四组 (0,-1),(0,1) 0.2
上面中的偏移像素是以当前像素点为中心建立的坐标系中的相对偏移值,不是像素点在深度图中本身的位置信息,反映的是当前像素点与采样点之间的相对位置关系。尽管原则上在确定的当前像素点P点后,其他采样点可以任意选择,但在本优化的实施例中可以按照一定的规则进行选择,上述八个点、四组数据的选择是依照这样的规则处理的:以P点为中心,在其投射的平面中,对称性地从X轴和Y轴上各选择四个点,四个点对称分布,从而形成“四组八点”。很明显,这不是唯一性的规则,采取其他选择也是可行的。比如,在以当前像素点为坐标系原点的米字型的线上进行采样选点,以包含P点的一定边长为正方形的四个角点作为采样选点等等。
选择好四组数据后,再对这四组数据赋予不同的“影响因子”,可以称其为AO因子。所谓影响因子,是指这些点对判断P点是否为凹陷点以及如果为凹陷点将被赋予明暗程度的影响情况。根据现实经验和试验过程判断,四组数据中,越靠近P点的点,其对P点性质的判断,越准确,也就越具有影响力,因此赋予更高的影响值,相反,则影响值更低。在上述表格中,对第一组数据、第三组数据赋予0.1影响值,对第二组数据、第四组数据则赋予0.2影响值。不可否认,其他数值也是可行的。
在完成前述准备工作后,对每组中的采样点根据场景计算中确定的深度图,获取深度位置信息,然后计算两个采样点的平均值与当前P点的深度值进行比较:
如果(采样点1+采样点2)/2>当前P点深度,则影响因子赋值为0;如果(采样点1+采样点2)/2<当前P点深度,则影响因子赋值为0.1或0.2,属于第一组、第三组采样点,赋值为0.1;属于第二组、第三组采样点,赋值为0.2。按照这样的方式,对当前像素点P的采样点均计算完成后,将四组数据的影响因子累加,从而基于该累加结果判断凹陷点,依据凹陷点进行明暗度赋值。
上述实施例按照规则选择几个有限的、有规律的采样点,既不像现有技术那样在场景屏幕上“随机游走”式胡乱采样,也不像现有技术那样一定得选取至少64个采样点才能满足计算要求,本实施例于当前处理点的左右、上下对称采样,获取当前像素点周围的8个采样点,在满足相同或者更好的技术效果基础上,这种对称采样而非随机,使得每次渲染针对相同的相对点进行的明暗赋值,不会出现视觉“跳跃”,能有效地解决SSAO计算中的麻点抖动问题,而且采样极其有限个的像素点,大大提升了渲染效率。
通过上述优化的实例,实际上更为广泛的“联合”了当前像素点的周边点,因此也能更准确地反映当前像素点周边的实际情况,为准确而真实地为当前像素点赋予明暗度提供了优质的参考。如果细致考虑,上述优化的方案实质上固然可以判断出凹陷点,实现对凹陷点的明暗赋值,但可以采取一种更为开放的态度,即不纠结于某一个像素点的情况,而是平滑地实现整个场景屏幕像素点的过渡,也就是说,不用直接地判明一个当前像素点属于凹陷点,还是非凹陷点,而只需要将其与其他像素点按照累计计算出来的“赋值”比例相对地赋值即可。打个比方:如果60分是分数线,那么大于60分的,认定其为及格,小于60分的认定为不及格,对于及格的给予100元奖励,不及格只能得到20元,这种方式能够最终认定某个个人到底能得到多少钱。但是,现在采取的方式是没有“60”这个分界线,而是按照分值多少来奖励现金,只要它是公平的(线性的)即可,考50分就只有50元(当然100元也行),考80分就80元(或者160元也行),由此类推,在这个方式中,就没有进行60分分界线的划分以及判定是否及格或不及格的必要性,从而减少工作量。类推到本案中,道理相似,不在要求对是否是凹陷点作出结论,而是根据采样点累计得到的影响值赋予相应的明暗度值,这样大大减少的计算机的计算,也使得整个场景屏幕中的像素点在面上是“平滑而均匀的”,而非不连续的“跳点”,图像的光线变化看起来更为柔和。
前述的优化集中在对凹陷点的总体判断思路上,实际上,一些“小修小补”的工作,仍然是对本申请实施例的技术方案进行优化的良好法则,尤其是这些看似不起眼的修改,可能在实际效果上却出人意料。下面示例性的列举一二。
示例性做法之一:在前述以P点为中心进行采样过程中,是将整个三维立体物体投射到平面进行的,也就是说这种方式实际上忽略掉了深度信息在采样点上的影响,显得有些不合理。为此,可以考虑在每组的采样中,如果发现采样像素点与当前像素点的线性深度过大,那么这组数据的影响因素直接强行设置为“0”,而不再对其进行平均计算,实际上将其视为不具有影响。参见图6,在以眼睛为摄像机的视椎中,点B的左右采样点可能是M点、N点,但M点的深度信息与B点的深度信息相差非常大,而N点的深度信息与B点差不多,那么这种情况下,按照前述将两个邻近采样点的计算方式可能需要修正:由于M点与B点在现实场景中可能相差很远,M点对B点的明暗程度几乎无影响,而与B点相邻且深度信息相差不大的,则可能存在遮挡关系,影响到B点的明暗度,由此仅将N点考虑到对B点明暗度的影响之中。
示例性做法之二:即便在前述的处理之后,仍然对图像进行模糊平滑处理,比如3×3规模的,让场景明暗过度更加平滑自然。
上述内容详细介绍了本申请提供的基于屏幕空间的环境遮挡计算方法的各种实施例。与上述内容同样的道理,上述的方法可以虚拟为可视化轴向编辑装置。参见图7,该图即示出了基于屏幕空间的环境遮挡计算装置的一个实施例,该装置包括:像素点采样单元U71,深度关系确定单元U72和明暗度赋值单元U73,其中:
像素点采样单元U71,用于在屏幕空间中选取一个像素点作为计算环境遮挡的当前像素点,以当前像素点为基点,采样多个周围像素点;
深度关系确定单元U72,用于根据预先确定的屏幕空间中像素点的深度信息,确定当前像素点与该当前像素点的周围像素点之间的深度关系;
明暗度赋值单元U73,用于根据深度关系对当前像素点赋予相应明暗度。
上诉装置实施例可以取得与前述方法相同的技术效果,为避免重复,此处不再赘言。该装置实施例可以进一步进行各种优化。比如深度关系确定单元U72,其功能以不同的实现方式,在组成结构上便可能发生相应的变化。一种可行的方式是包括如下子单元:深度信息确定子单元U721,平均值比较子单元U722和深度关系确定子单元U723,其中:
深度信息确定子单元U721,用于根据预先确定的屏幕空间中像素点的深度信息确定当前像素点的深度信息,以及确定当前像素点的周围像素点的深度信息;
平均值比较子单元U722,用于将当前像素点的深度信息与周围像素点深度信息的平均值进行比较;
深度关系确定子单元U723,用于根据比较结果确定当前像素点与周围像素点之间的深度关系。
此外,本申请的实施例还提供一种运行器。参照图8,该图示出了运行器的一个实施例的结构示意图,所述运行器80中包含存储器81、处理器82及存储在所述存储器81上并可在所述处理器82上运行的计算机程序,所述计算机程序被所述处理器82执行时实现上述记载的基于区块链的数据处理方法的步骤。与此道理类似,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (6)

1.一种基于屏幕空间的环境遮挡计算方法,其特征在于,该方法包括:
在屏幕空间中选取一个像素点作为计算环境遮挡的当前像素点,以当前像素点为基点,按照规则采样多个周围像素点;
根据预先确定的屏幕空间中像素点的深度位置信息,确定当前像素点与该当前像素点的周围像素点之间的深度关系;
根据深度关系对当前像素点赋予相应明暗度;
所述以当前像素点为基点,按照规则采样多个周围像素点,具体包括:
以当前像素点为中心,在当前像素点所在的基于屏幕的投影平面内,采样对称的预定数量的像素点为周围像素点;
所述根据预先确定的屏幕空间中像素点的深度位置信息,确定当前像素点与该当前像素点的周围像素点之间的深度关系,具体包括:
根据预先确定的屏幕空间中像素点的深度位置信息确定当前像素点的深度位置信息,以及确定当前像素点的周围像素点的深度位置信息;将当前像素点的深度位置信息与周围像素点深度位置信息的平均值进行比较;根据比较结果确定当前像素点与周围像素点之间的深度关系;
所述根据深度关系对当前像素点赋予相应明暗值,具体包括:
当当前像素点的深度大于周围像素点的深度时,对当前像素点赋予暗于周围像素点的相应明暗值。
2.根据权利要求1所述的方法,其特征在于,所述采样对称的预定数量的像素点为周围像素点,具体包括:以当前像素点为中心,采集该像素点的上下左右对称的预定数量的像素点为周围像素点。
3.根据权利要求1所述的方法,其特征在于,所述当当前像素点的深度大于周围像素点的深度时,对当前像素点赋予暗于周围像素点的相应明暗值,具体包括:
将周围像素点划分为第一组像素点集合、第二组像素点集合、第三组像素点集合、第四组像素点集合,所述第一组像素点集合、第二像素点集合相对于当前像素点在平面投影上的相对位置左右对称,且第二组像素点集合比第一组像素点集合更靠近当前像素点;第三组像素点集合、第四像素点相对于当前像素点在平面投影上的相对位置上下对称,且第四组像素点集合比第三组像素点集合更靠近当前像素点;
当当前像素点的深度大于第一组像素点集合的平均深度或第三组像素点集合的平均深度时,设定第一明暗度影响因子,否则,设定第三明暗度影响因子;当当前像素点的深度大于第二组像素点集合的平均深度或者第四组像素点集合的平均深度时,设定第二明暗度影响因子,否则,设定第三明暗度影响因子;
根据第一明暗度影响因子、第二明暗度影响因子、第三明暗度影响因子之和对当前像素点赋予相应的明暗度值。
4.一种基于屏幕空间的环境遮挡计算装置,其特征在于,所述装置包括:像素点采样单元,深度关系确定单元和明暗度赋值单元,其中:
所述像素点采样单元,用于在屏幕空间中选取一个像素点作为计算环境遮挡的当前像素点,以当前像素点为中心,在当前像素点所在的基于屏幕的投影平面内,采样对称的预定数量的像素点为周围像素点;
所述深度关系确定单元,用于根据预先确定的屏幕空间中像素点的深度位置信息,确定当前像素点与该当前像素点的周围像素点之间的深度关系;所述深度关系确定单元包括深度位置信息确定子单元,平均值比较子单元和深度关系确定子单元,其中:
所述深度位置信息确定子单元,用于根据预先确定的屏幕空间中像素点的深度位置信息确定当前像素点的深度位置信息,以及确定当前像素点的周围像素点的深度位置信息;所述平均值比较子单元,用于将当前像素点的深度位置信息与周围像素点深度位置信息的平均值进行比较;所述深度关系确定子单元,用于根据比较结果确定当前像素点与周围像素点之间的深度关系;
所述明暗度赋值单元,用于根据深度关系对当前像素点赋予相应明暗度,具体包括:当当前像素点的深度大于周围像素点的深度时,对当前像素点赋予暗于周围像素点的相应明暗值。
5.一种运行器,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至3中任一项所述的方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1至3中任一项所述的方法的步骤。
CN202111487525.9A 2021-12-08 2021-12-08 基于屏幕空间的环境遮挡计算方法、装置及运行器、可读存储介质 Active CN114596348B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111487525.9A CN114596348B (zh) 2021-12-08 2021-12-08 基于屏幕空间的环境遮挡计算方法、装置及运行器、可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111487525.9A CN114596348B (zh) 2021-12-08 2021-12-08 基于屏幕空间的环境遮挡计算方法、装置及运行器、可读存储介质

Publications (2)

Publication Number Publication Date
CN114596348A CN114596348A (zh) 2022-06-07
CN114596348B true CN114596348B (zh) 2023-09-01

Family

ID=81804061

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111487525.9A Active CN114596348B (zh) 2021-12-08 2021-12-08 基于屏幕空间的环境遮挡计算方法、装置及运行器、可读存储介质

Country Status (1)

Country Link
CN (1) CN114596348B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116245950B (zh) * 2023-05-11 2023-08-01 合肥高维数据技术有限公司 用于全屏或单角缺失的屏幕角点定位方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8698805B1 (en) * 2009-03-23 2014-04-15 Disney Enterprises, Inc. System and method for modeling ambient occlusion by calculating volumetric obscurance
CN104517313A (zh) * 2014-10-10 2015-04-15 无锡梵天信息技术股份有限公司 基于屏幕空间的环境光遮蔽的方法
CN108805971A (zh) * 2018-05-28 2018-11-13 中北大学 一种环境光遮蔽方法
CN111462339A (zh) * 2020-03-30 2020-07-28 网易(杭州)网络有限公司 增强现实中的显示方法和装置、介质和电子设备
CN113284075A (zh) * 2021-07-19 2021-08-20 贝壳技术有限公司 图像去噪方法、装置以及电子设备、存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8698805B1 (en) * 2009-03-23 2014-04-15 Disney Enterprises, Inc. System and method for modeling ambient occlusion by calculating volumetric obscurance
CN104517313A (zh) * 2014-10-10 2015-04-15 无锡梵天信息技术股份有限公司 基于屏幕空间的环境光遮蔽的方法
CN108805971A (zh) * 2018-05-28 2018-11-13 中北大学 一种环境光遮蔽方法
CN111462339A (zh) * 2020-03-30 2020-07-28 网易(杭州)网络有限公司 增强现实中的显示方法和装置、介质和电子设备
CN113284075A (zh) * 2021-07-19 2021-08-20 贝壳技术有限公司 图像去噪方法、装置以及电子设备、存储介质

Also Published As

Publication number Publication date
CN114596348A (zh) 2022-06-07

Similar Documents

Publication Publication Date Title
Weier et al. Foveated real‐time ray tracing for head‐mounted displays
US8035641B1 (en) Fast depth of field simulation
TWI475513B (zh) 用於即時光度相依細分的方法和裝置
US10970920B2 (en) Systems and methods for ray-traced shadows of transparent objects
JP2010176663A (ja) 変化する視野に基づいてフレーム間の光線追跡のアクセラレーション・データ構造体を更新する方法
JP2010033296A (ja) プログラム、情報記憶媒体及び画像生成システム
CN113658316B (zh) 三维模型的渲染方法和装置、存储介质及计算机设备
US8106906B1 (en) Optical system effects for computer graphics
US10825231B2 (en) Methods of and apparatus for rendering frames for display using ray tracing
US20230230311A1 (en) Rendering Method and Apparatus, and Device
CN104103092A (zh) 一种基于聚光灯实时动态阴影的实现方法
CN114596348B (zh) 基于屏幕空间的环境遮挡计算方法、装置及运行器、可读存储介质
CN111803942A (zh) 一种软阴影生成方法、装置、电子设备和存储介质
CN113546410A (zh) 地形模型渲染方法、装置、电子设备和存储介质
Eicke et al. Stable dynamic webshadows in the X3DOM framework
CN116485987A (zh) 一种基于阴影渲染的真实环境模拟方法及装置
US11436797B2 (en) Image generation system and method
CN112819929B (zh) 渲染水面方法及装置、电子设备、存储介质
WO2008147999A1 (en) Shear displacement depth of field
JP6802129B2 (ja) 情報処理装置、方法及びプログラム
CN114902277A (zh) 用于处理肖像图像帧上的阴影的系统和方法
CN115423917B (zh) 一种全球三维风场实时绘制方法及系统
Do et al. On multi-view texture mapping of indoor environments using Kinect depth sensors
CN115700773A (zh) 一种虚拟模型渲染方法及装置
CN117292032A (zh) 序列帧的生成方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant