CN105913481A - 阴影渲染装置及其控制方法 - Google Patents

阴影渲染装置及其控制方法 Download PDF

Info

Publication number
CN105913481A
CN105913481A CN201610104054.1A CN201610104054A CN105913481A CN 105913481 A CN105913481 A CN 105913481A CN 201610104054 A CN201610104054 A CN 201610104054A CN 105913481 A CN105913481 A CN 105913481A
Authority
CN
China
Prior art keywords
region
penumbra
shadow
shading
rendering
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.)
Granted
Application number
CN201610104054.1A
Other languages
English (en)
Other versions
CN105913481B (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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
Priority claimed from KR1020160015059A external-priority patent/KR102174264B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN105913481A publication Critical patent/CN105913481A/zh
Application granted granted Critical
Publication of CN105913481B publication Critical patent/CN105913481B/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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/55Radiosity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/12Shadow map, environment map

Abstract

提供了一种阴影渲染方法。所述阴影渲染方法包括:发射放射光到对象以使得通过三维建模生成的对象的阴影区域被投影;确定部分阴影区域为对象的半影区域;以及渲染对象的半影为半影区域。

Description

阴影渲染装置及其控制方法
相关申请的交叉引用
本申请要求在2015年2月25日在美国专利商标局提交的62/120550号美国临时申请以及在2016年2月5日在韩国知识产权局提交的10-2016-0015059号韩国专利申请的优先权的权益,其整个公开通过引用的方式全部并入此处。
技术领域
与本公开一致的装置和方法涉及阴影渲染装置及其控制方法,并且更具体来说,涉及渲染三维对象的阴影的阴影渲染装置及其控制方法。
背景技术
由三维建模生成的对象表示的阴影对于大体上可视化屏幕以及检测对象之间的相对关系是非常重要的。在实时渲染中,主要使用用于使用阴影映射(shadow mapping)生成阴影的方法。用这样的方法,在通过从光源的视点渲染z缓冲器生成阴影图(shadow map)之后,对光源的屏蔽通过在稍后的描影过程中的附加深度测试确定并且描影过程的亮度由将渲染的屏幕确定。
因为阴影图被简单地生成并且对于屏幕的像素是否有阴影确定不受场景复杂性的影响,所以阴影映射方法是有效的,并且因为可以使用硬件执行加速,所以在实时渲染中经常使用阴影映射方法。但是,在从光源的视点看一个像素占用若干像素的区域的情况下,阴影映射方法有在阴影分界面处出现格子形状的走样的问题。
通常,为了解决以上所述问题,使用百分比渐近过滤(percentage closerfiltering,PCF)方法、百分比渐近柔影(percentage closer soft shadow,PCSS)方法等等,其中在百分比渐近过滤中阴影的边缘区域通过集中过滤阴影的边缘部分而被柔和地修改,在百分比渐近柔影方法中通过在阴影区域中生成多个虚拟射线计算阴影区域。但是,PCF方法有这样的问题:因为边缘区域被过滤为统一大小,所以不可能近似阴影的扩散效应,并且需要对于过滤边缘区域的额外计算量。另外,在PCSS方法中,因为必须通过对虚拟射线抽样计算遮蔽程度以便计算所有表面上阴影的遮蔽程度,所以存在对于每帧的阴影渲染而需要大量计算的问题。
发明内容
本公开的示范性实施例克服上述不利以及上面没有描述的其它不利。同时,不要求本公开克服上面描述的不利,并且本公开的示范性实施例可以不克服上面描述的任何问题。
本公开提供一种能够实时渲染柔影效果同时减小阴影渲染需要的计算量的阴影渲染装置及其控制方法。
根据本公开的一方面,一种阴影渲染方法包括:发射放射光到对象以使得通过三维建模生成的对象的阴影区域被投影;确定部分阴影区域为对象的半影区域;以及渲染对象的半影为半影区域。
所述阴影区域可以是放射光被对象阻挡并且未到达的区域。
在确定部分阴影区域为对象的半影区域中,可以相对于发射放射光的光源计算对象的深度信息,并且可以基于根据深度信息生成的第一深度图确定对象的半影区域。
在确定部分阴影区域为对象的半影区域中,可以相对于发射非放射光的其它光源计算对象的深度信息,可以基于根据深度信息生成的第二深度图确定对象的本影区域,并且阴影区域当中除本影区域之外的剩余区域可以确定为半影区域。
在渲染对象的半影为半影区域中,可以基于用于所确定的半影区域的第一深度图与第二深度图之间的深度值差确定半影区域的描影值,并且可以根据所确定的描影值将对象的半影渲染为半影区域。
在渲染对象的半影为半影区域中,可以通过将对象变换为灰度生成阴影对象,并且可以通过以阴影对象为单位合成阴影对象到阴影区域中来渲染对象的半影。
在渲染对象的半影为半影区域中,可以通过合成阴影对象到阴影区域中同时以阴影对象为单位将阴影对象顺序地移动预设间隔来渲染对象的半影。
根据本公开的另一方面,一种阴影渲染装置包括:光发生器,被配置为发射放射光到对象以使得通过三维建模生成的对象的阴影区域被投影;确定器,被配置为确定一部分阴影区域为对象的半影区域;以及渲染器,被配置为渲染对象的半影为半影区域。
所述阴影区域可以是放射光被对象阻挡并且未到达的区域。
所述半影区域确定器可以相对于发射放射光的光源计算对象的深度信息,并且基于根据深度信息生成的第一深度图确定对象的半影区域。
所述半影区域确定器可以相对于发射非放射光的其它光源计算对象的深度信息,并且基于根据深度信息生成的第二深度图确定对象的本影区域,并且确定阴影区域当中除本影区域外的剩余区域为半影区域。
所述渲染器可以基于用于所确定的半影区域的第一深度图与第二深度图之间的深度值差确定半影区域的描影值,并且根据所确定的描影值将对象的半影渲染为半影区域。
所述渲染器可以通过将对象变换为灰度生成阴影对象,并且通过以阴影对象为单位合成阴影对象到阴影区域中来渲染对象的半影。
所述渲染器可以通过合成阴影对象到阴影区域中同时以阴影对象为单位将阴影对象顺序地移动预设间隔来渲染对象的半影。
根据本公开的各种示范性实施例,在受限的计算环境中可以提高实时渲染逼真的阴影的性能。
附图说明
本公开的上述和/或其它方面将通过参考附图描述本公开的特定示范性实施例而变得更加明显,附图中:
图1是简要地示出根据本公开的示范性实施例的阴影渲染装置的结构的框图;
图2是示出根据本公开的示范性实施例的、通过另外设置光源计算半影区域的方法的图;
图3和图4是示出根据本公开的示范性实施例的、以对象为单位渲染半影的方法的图;
图5是具体地示出根据本公开的另一示范性实施例的阴影渲染装置的结构的框图;和
图6是示出根据本公开的示范性实施例的阴影渲染方法的流程图。
具体实施方式
在具体地描述本公开之前,将描述说明本说明书和附图的方法。
首先,作为在本说明书和权利要求中所使用的术语,已经考虑在本公开的种种示范性实施例中的功能选择了一般术语。但是,这样的术语可以根据本领域技术人员的意图、法律或技术解释、新技术的出现等等而变化。而且,一些术语可能是申请人任意选择的术语。这样的术语可以看作是本说明书中定义的含义,并且除非术语没有被具体定义,否则也可以基于本说明书的一般内容和本领域的传统技术构思解释。
而且,本说明书的附图中描述的相同参考标记或符号表示大体上执行相同功能的部分或元件。为了说明和理解的方便起见,在不同的示范性实施例中将使用相同的参考标记或符号提供描述。也就是说,虽然多个附图示出具有相同参考标记的所有组件,但是多个附图并非意指一个示范性实施例。
另外,为了区别组件,包括诸如“第一”、“第二”等等之类的序数的术语可以在本说明书和权利要求中使用。序数用于将相同或者类似的组件相互区分,并且术语的含义不应当被看作是由于以上所述序数的使用而受限。举例来说,联系到序数的组件不应该被看作是使用次序、布局次序等等受序号限制的类似情况。必要时各个序数可交换地使用。
在本说明书中,单数表达包括复数表达,除非上下文清楚地指示不是这样。在本申请中,术语“包括”和“由...组成”指示存在写入本说明书中的特征、数目、步骤、操作、组件、元件、或者其组合,应当理解它们不排除存在或者可能添加一个或多个其它特征、数目、步骤、操作、组件、元件或者其组合。
术语“模块”、“单元”、“部分”等等,在本公开的示范性实施例中,是用于引用执行至少一个功能或操作的组件的术语,并且这样的组件也可以用硬件或者软件或者硬件和软件的组合实现。另外,多个“模块”、“单元”、“部分”等等可以集中到至少一个模块或者芯片中并且可以在至少一个处理器中实现(未示出),除了它们需要各自在独立的特定硬件中实现的情况之外。
另外,在本公开的示范性实施例中,将理解的是,当一个元件或层被称作“连接到”另一个元件时,它可以直接连接到其它元件或者可以存在居间的其它元件。另外,除非明确地描述不是这样,否则“包括”任一组件将被理解为暗示包含其它组件而非排除任一其它组件。
本公开的示范性实施例可以被不同地修改。因此,在附图中示出特定示范性实施例并且在具体实施例中详细进行描述。但是,将理解的是,本公开不局限于特定示范性实施例,而是包括所有修改、等效和置换而不脱离本公开的范围和精神。而且,众所周知的功能或者构造由于它们将以不必要的细节模糊本公开而没有详细描述。
在下文中,将参照附图详细描述本公开。
根据现有技术的阴影映射方法,当使用阴影图(在阴影图中以图的形式存储在光源的方向上的对象的深度信息)来渲染阴影时,通过将与每个像素相应的对象的一个点的深度值与存储在深度图中的值进行比较确定是否存在阴影。
如果对于一个点的存储在阴影图中的深度值小于当前在该点处测量的深度值,则可以确定该点位于阴影区域中,阴影区域是光源被对象阻挡的区域。
另外,如果对于该点的存储在阴影图中的深度值大于当前在该点处测量的深度值,则可以确定该点位于光源未被对象阻挡的区域中,即,在阴影区域外。
但是,根据传统的阴影映射方法,如上所述,在接近视点的点处画阴影图像素的情况下,存在由于阴影图像素的扩展而造成发生走样的问题,并且存在需要超出需求的高分辨率的阴影图以便消除走样的问题。另外,存在不可能使用一般阴影映射方法生成对象的半影的问题。
作为解决以上所述问题的方法,已经通常使用百分比渐近过滤(PCF)方法,其中阴影的边缘区域通过集中过滤阴影的边缘部分而被柔和地修改。但是,PCF方法有这样的问题:因为它不计算对象有多接近阴影,所以不可能由面光源准确地近似阴影的扩散效应,并且需要对于过滤边缘区域的额外计算量。作为稍晚的方法,存在百分比渐近柔影(PCSS)方法。
现有技术的PCSS方法是用于通过利用阴影映射确定本影区域并且在半影区域中生成虚拟射线以计算阴影区域来表示更本质的阴影的方法。根据现有技术的PCSS方法,为了检测阴影区域的位置和遮蔽程度,生成从虚拟平面上各个点到光源的虚拟射线,并且阻挡测试被执行达与生成的虚拟射线一样多的次数。具体地说,根据PCSS方法,生成多个虚拟射线样本,并且执行计算哪些光线被对象阻挡和哪些射线到达光源的阻挡测试,由此使得可能计算生成半影的区域。
当阻挡测试值被加总时,可以通过计算对象的阴影区域和遮蔽程度并且以像素为单位将阴影的色值加总到所计算的区域来表示阴影。因此,半影区域的半影浓度,也就是说,半影特征可以被表示为:当半影接近本影时半影是暗的,而且当半影远离本影时半影是亮的。
但是,上面描述的PCSS方法存在计算抽样区域所需的额外计算量的问题,并且即使存在预存储的查找表以用于避免以上所述问题,也存在增加使用内存量的问题。另外,PCSS方法也存在需要为所计算的阴影区域加总测试值的计算量的问题,并且不可能将PCSS方法应用于不支持像素渲染的2D框架,等等。
图1是简要地示出根据本公开的示范性实施例的阴影渲染装置的结构的框图。
根据本公开的阴影渲染装置100可以在各种种类的可以处理图像的电子设备中实现,诸如电视、智能电话、便携式终端、计算机、笔记本计算机、平板计算机等等。
参照图1,根据本公开的示范性实施例的阴影渲染装置100包括光发生器110、半影区域确定器120和渲染器130。
为了表示在图形上三维建模的对象,三维对象可以以三角形多边形的集合形成。使用这些多边形的信息实现3D图形。这里,作为存储三维对象的信息的结构,可以使用顶点和纹理。
光发生器110是发射放射光到对象以使得通过三维建模生成的对象的阴影区域被投影的结构。这里,阴影区域指的是放射光被对象阻挡并且未到达的区域,并且可以包括本影区域和半影区域。
如图2中所示,光发生器110是实现照射勒克斯射线到对象22的光源的结构。这里,光源可以以物理尺寸忽略不计的点光源形式实现,或者可以以面光源形式实现。也就是说,光发生器110可以形成通过照射从光源发射到对象22的射线来允许形成对象22的阴影的环境。由光发生器110生成的光源需要与对象22间隔开的距离在本说明书中没有具体限定,但是可以考虑光源的亮度与空间距离的平方成反比的物理原理来灵活地设置。
除了用于生成对象22的本影的第一光源41之外,光发生器110可以另外生成独立于第一光源41的、用于生成对象22的半影的第二光源42。这里,另外生成的第二光源42可以以面光源或者点光源中的至少一个来实现,其射线以辐射式传播,并且其位置还可以不同地调整。例如,如果第一光源41与对象22之间的距离减小,则第二光源42的位置可以上升,并且如果第一光源41与对象22之间的距离增加,则第二光源42的位置可以下降。但是,优选的是,第二光源42存在于第一光源41与对象22之间。
具体来说,第二光源42可以通过调整辐射角以使得整个对象22被包括在放射出的光中来放射光。也就是说,光发生器110可以通过另外设置可以投影较宽的区域的第二光源42通过第一光源41和第二光源42独立地计算阴影区域。
半影区域确定器120是确定一部分阴影区域作为对象22的半影区域24的结构。具体地说,半影区域确定器120可以相对于发射放射光的光源42计算关于对象22的深度信息,并且可以基于根据深度信息生成的第一深度图确定对象22的半影区域24。
也就是说,除了第一光源41的关于对象22的深度图之外,半影区域确定器120可以另外生成第二光源42的关于对象22的深度图。在下文中,第一光源41的关于对象22的深度图称为第一深度图,第二光源42的关于对象22的深度图称为第二深度图。
半影区域确定器120可以基于关于第一深度图和第二深度图的信息,分别确定第一光源41放射的光被阻挡的阴影区域和第二光源42放射的光被阻挡的阴影区域。半影区域确定器120可以通过对各个光源生成的阴影区域进行分类来确定本影区域23,并且可以确定阴影区域当中除了本影区域23之外的剩余区域作为半影区域24。因此,因为可以仅仅通过测试两个深度图计算阴影区域,计算的次数可以显著降低。
同时,为了计算第二光源42的阴影区域,需要修改现有投影矩阵的计算。因为该计算是包括在基本图形渲染管道中的计算,所以它具有比其它计算更高的计算性能。因此,与取样方法相比较,可以以非常高的效率计算阴影区域。
渲染器130是渲染对象22的半影为所确定的半影区域24的结构。具体地说,执行对于从第一光源41和第二光源42投影出的阴影的渲染过程的渲染器130,用来执行对于投影到虚拟平面上的阴影图形化以及将投影的阴影实现为阴影图像。
渲染器130可以确定基于第一深度图与第二深度图之间的深度值差确定的半影区域14的描影值,并且可以根据所确定的描影值渲染对象22的半影为半影区域24。也就是说,渲染器130可以在渲染过程中,允许根据投影到虚拟平面上的阴影的密度实现的阴影图像的暗度程度是不同的。由此,可以实现阴影图像具有极好的纹理。这里,如图2中所示,半影的描影的暗度会随着半影接近本影23——如线25的斜率那样——而增加,并且会随着半影远离本影23而线性地减小。
图3和图4是示出根据本公开的示范性实施例的、以对象为单位渲染半影的方法的图。
如图3所示,通常,如果计算了半影区域24,则通过将以像素为单位的对象22的色值加总到半影区域24来渲染暗度程度。也就是说,传统的PCSS通过分别将用户的视线所观察到的所有像素渲染为与本影区域23和半影区域24相应的色值来表示半影的亮度根据半影区域24的位置互不相同。
但是,因为用于加总如上所述的阴影区域51的的每一像素的色值的方法需要执行与像素的数目一样多的次数的颜色加总计算,所以存在需要大量计算的问题。
图4示出根据本公开的示范性实施例的、以对象为单位渲染半影的方法,而非根据现有技术的以像素为单位渲染半影的方法。如图4所示,渲染器130可以通过将对象22变换为灰度生成阴影对象61,并且可以通过以阴影对象61为单位合成阴影对象61到所计算的阴影区域51来渲染对象22的半影。这里,渲染器130可以通过将对象22变换为灰度并且执行模糊滤波器来生成阴影对象61。
具体地说,渲染器130可以通过合成阴影对象61来用阴影对象61的2D投影渲染半影同时以阴影对象61为单位将阴影对象61顺序地移动预设间隔。这里,如果第二光源42的位置被顺序地移动预设间隔,则阴影对象61与阴影区域51重叠,由此使得快速地渲染阴影区域51成为可能。
另外,根据按照本公开基于对象渲染阴影的方法,可以通过2D对象渲染计算生成阴影,即使在现有的不支持像素渲染的2D框架中也是如此。具体地说,因为一般UI框架支持基本基元(primitive)的层渲染,所以可以通过利用以上所述计算而不利用3D图形库来渲染阴影效果。基于对象的阴影渲染计算可以在UI框架支持的文本和基元的阴影渲染方面具有较高效率。
图5是具体地示出根据本公开的另一示范性实施例的阴影渲染装置的结构的框图。如图5中所示,按照本公开的另一示范性实施例的阴影渲染装置100’包括光发生器110、半影区域确定器120、渲染器130、显示器140、储存器150、音频处理器160、声频输出170、视频处理器180和用户界面190。在下文中,将省略与图1中的描述重叠的部分的描述。
半影区域确定器120使用存储在储存器150中的各种程序控制阴影渲染装置100’的整体操作。
半影区域确定器120包括只读存储器(ROM)121、随机存取存储器(RAM)122、图形处理器123、中央处理单元(CPU)124、第一到第n接口125-1到125-n和总线126,如图5中所示。这里,ROM 121、RAM 122、图形处理器123、CPU 124、第一到第n接口125-1到125-n等等可以经由总线126彼此连接。但是,半影区域确定器120的结构不限制于此,并且半影区域确定器120可以由能够执行与ROM 121、RAM 122、图形处理器123和CPU 124相同功能或类似功能的各种装置组成。
ROM 121存储用于启动系统等等之类的指令集。CPU 124将存储在储存器150中的各种应用程序复制到RAM 122中并且运行复制到RAM 122中的应用程序以执行各种操作。
图形处理器123使用计算机(未示出)和渲染器(未示出)生成包括诸如图标、图像和文本等等的各种对象的屏幕。计算机计算诸如坐标值、形状、大小、颜色等等之类的属性值,其中各个对象将根据屏幕的布局来显示。渲染器基于计算机计算的属性值生成包括对象的各种布局的屏幕。
CPU 120访问储存器150并且使用存储在储存器150中的操作系统(O/S)执行启动。另外,CPU 120使用存储在储存器150中的各种程序、内容和数据等等执行各种操作。
第一到第n接口125-1到125-n连接到如上所述的各种元件。所述接口中的一个可以是通过网络连接到外部设备的网络接口。
显示器140可以提供各种内容屏幕。这里,内容屏幕可以包括诸如图像、运动图像、游戏、文本等等之类的各种内容、包括各种内容、图形用户界面(GUI)屏幕等等的应用运行屏幕。显示器140的实现方案不限制于此。例如,显示器140可以以诸如液晶显示器(LCD)、有机发光二极管(OLED)显示器、有源矩阵有机发光二极管(AM-OLED)、等离子体显示板(PDP)等等之类的各种形式的显示器实现。
储存器150是存储用于驱动阴影渲染装置100’的各种模块的结构。具体来说,储存器150存储各种数据,诸如用于驱动阴影渲染装置100’的操作系统(O/S)软件模块和各种多媒体内容。
具体地说,储存器150可以存储从在阴影渲染装置100’、管理数据库(DB)或者寄存器的存储模块、用于生成屏幕布局的图形处理模块、安全模块等等中所包括的各个硬件发送的基本模块处理信号。具体来说,根据本公开的示范性实施例,储存器150可以存储诸如用于生成虚拟光源的光生成模块、用于渲染阴影的阴影渲染模块等等的程序。
音频处理器160是对于音频数据执行处理的组件。音频处理器160可以对于音频数据执行各种处理,诸如解码、放大、噪声过滤等等。
声频输出170是用于输出音频的结构,可以实现为扬声器等等。
视频处理器180可以对内容执行各种图像处理,诸如解码、缩放、噪声过滤、帧速率变换、分辨率变换等等。
用户界面190是用于感测控制阴影渲染装置100’的整体操作的用户交互的结构。具体来说,用户界面190可以包括诸如麦克风(未示出)、红外信号接收器(未示出)等等之类的各种交互感测装置。
图6是示出根据本公开的示范性实施例的阴影渲染方法的流程图。
首先,发射放射光到对象以使得通过三维建模生成的对象的阴影区域被投影(S810)。这里,阴影区域指的是放射光被对象阻挡并且未到达的区域。
这里,将一部分阴影区域确定为对象的半影区域(S820)。这里,可以相对于发射放射光的光源计算关于对象的深度信息,并且可以基于根据深度信息生成的第一深度图确定对象的半影区域。另外,可以相对于发射非放射光的其它光源计算关于对象的深度信息,可以基于根据深度信息生成的第二深度图确定对象的本影区域,并且可以将阴影区域当中除本影区域之外的剩余区域确定为半影区域。
此后,将对象的半影渲染为半影区域(S830)。这里,可以基于第一深度图与第二深度图之间的深度值差确定半影区域的描影值,并且可以根据所确定的描影值将对象的半影渲染为半影区域。
另外,可以通过将对象变换为灰度来生成阴影对象,可以通过以阴影对象为单位合成阴影对象到阴影区域中来渲染对象的半影。该半影的渲染可以通过合成阴影对象到阴影区域中同时以阴影对象为单位将阴影对象顺序地移动预设间隔的方法来实现。
根据如上所述的本公开的各种示范性实施例,因为渲染阴影的处理的计算量会降低,所以可以更快速地实时渲染柔影。
根据如上所述的各种示范性实施例的控制方法可以用程序实现并且可以存储在各种记录介质中。也就是说,各种处理器处理的用于运行如上所述的各种控制方法的计算机程序也可以以它们被存储在记录介质中的状态来使用。
举例来说,可以提供具有程序存储其中的非瞬时计算机可读介质,其中,程序执行发射放射光到对象以使得通过三维建模生成的对象的阴影区域被投影的操作;确定部分阴影区域为对象的半影区域的操作;和将对象的渲染半影为半影区域的操作。
非瞬时计算机可读介质不意指短期存储数据的介质,诸如寄存器、高速缓存、存储器等等,而是意指半永久地存储数据的机器可读介质。具体地说,如上所述的各种应用或程序可以存储并且提供于诸如光盘(CD)、数字光盘(DVD)、硬盘、蓝光盘、通用串行总线(USB)、存储卡、只读存储器(ROM)等等之类的非瞬时计算机可读介质中。
在上文中,虽然已经示出并且描述了本公开的示范性实施例,但是应当理解,本公开不局限于公开的实施例并且可以不同地变化而不脱离本公开的精神和范围。因此,本公开应当被视为包括包括在本公开的精神和范围中的所有变化、等效和置换。

Claims (14)

1.一种阴影渲染方法,包括:
发射放射光到对象以使得通过三维建模生成的对象的阴影区域被投影;
确定部分阴影区域为对象的半影区域;和
将对象的半影渲染为半影区域。
2.如权利要求1所述的阴影渲染方法,其中,所述阴影区域是放射光被对象阻挡并且未到达的区域。
3.如权利要求1所述的阴影渲染方法,其中,在确定部分阴影区域为对象的半影区域中,相对于发射放射光的光源计算对象的深度信息,并且基于根据深度信息生成的第一深度图确定对象的半影区域。
4.如权利要求3所述的阴影渲染方法,其中,在确定部分阴影区域为对象的半影区域中,相对于发射非放射光的其它光源计算对象的深度信息,基于根据深度信息生成的第二深度图确定对象的本影区域,并且将阴影区域当中除本影区域之外的剩余区域确定为半影区域。
5.如权利要求4所述的阴影渲染方法,其中,在将对象的半影渲染为半影区域中,基于用于所确定的半影区域的第一深度图与第二深度图之间的深度值差确定半影区域的描影值,并且根据所确定的描影值将对象的半影渲染为半影区域。
6.如权利要求1所述的阴影渲染方法,其中,在将对象的半影渲染为半影区域中,通过将对象变换为灰度来生成阴影对象,并且通过以阴影对象为单位合成阴影对象到阴影区域中来渲染对象的半影。
7.如权利要求6所述的阴影渲染方法,其中,在将对象的半影渲染为半影区域中,通过合成阴影对象到阴影区域中同时以阴影对象为单位将阴影对象顺序地移动预设间隔来渲染对象的半影。
8.一种阴影渲染装置,包括:
光发生器,被配置为发射放射光到对象以使得通过三维建模生成的对象的阴影区域被投影;
半影区域确定器,被配置为确定部分阴影区域为对象的半影区域;和
渲染器,被配置为渲染对象的半影为半影区域。
9.如权利要求8所述的阴影渲染装置,其中,所述阴影区域是放射光被对象阻挡并且未到达的区域。
10.如权利要求8所述的阴影渲染装置,其中,所述半影区域确定器相对于发射放射光的光源计算对象的深度信息,并且基于根据深度信息生成的第一深度图确定对象的半影区域。
11.如权利要求10所述的阴影渲染装置,其中,所述半影区域确定器相对于发射非放射光的其它光源计算对象的深度信息,基于根据深度信息生成的第二深度图确定对象的本影区域,并且确定阴影区域当中除本影区域外的剩余区域为半影区域。
12.如权利要求11所述的阴影渲染装置,其中,所述渲染器基于用于所确定的半影区域的第一深度图与第二深度图之间的深度值差确定半影区域的描影值,并且根据所确定的描影值将对象的半影渲染为半影区域。
13.如权利要求8所述的阴影渲染装置,其中,所述渲染器通过将对象变换为灰度生成阴影对象,并且通过以阴影对象为单位合成阴影对象到阴影区域中来渲染对象的半影。
14.如权利要求13所述的阴影渲染装置,其中,所述渲染器通过合成阴影对象到阴影区域中同时以阴影对象为单位将阴影对象顺序地移动预设间隔来渲染对象的半影。
CN201610104054.1A 2015-02-25 2016-02-25 阴影渲染装置及其控制方法 Active CN105913481B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562120550P 2015-02-25 2015-02-25
US62/120,550 2015-02-25
KR10-2016-0015059 2016-02-05
KR1020160015059A KR102174264B1 (ko) 2015-02-25 2016-02-05 그림자 렌더링 방법 및 그림자 렌더링 장치

Publications (2)

Publication Number Publication Date
CN105913481A true CN105913481A (zh) 2016-08-31
CN105913481B CN105913481B (zh) 2021-08-31

Family

ID=55524105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610104054.1A Active CN105913481B (zh) 2015-02-25 2016-02-25 阴影渲染装置及其控制方法

Country Status (3)

Country Link
US (1) US9786095B2 (zh)
EP (1) EP3062293A1 (zh)
CN (1) CN105913481B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9530243B1 (en) * 2013-09-24 2016-12-27 Amazon Technologies, Inc. Generating virtual shadows for displayable elements
US10712561B2 (en) * 2016-11-04 2020-07-14 Microsoft Technology Licensing, Llc Interference mitigation via adaptive depth imaging
US10943387B2 (en) * 2018-08-30 2021-03-09 Nvidia Corporation Generating scenes containing shadows using pixel noise reduction techniques
US10762697B1 (en) * 2019-02-27 2020-09-01 Verizon Patent And Licensing Inc. Directional occlusion methods and systems for shading a virtual object rendered in a three-dimensional scene
CN111803942A (zh) * 2020-07-20 2020-10-23 网易(杭州)网络有限公司 一种软阴影生成方法、装置、电子设备和存储介质
US11232628B1 (en) * 2020-11-10 2022-01-25 Weta Digital Limited Method for processing image data to provide for soft shadow effects using shadow depth information

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127127A (zh) * 2007-09-29 2008-02-20 腾讯科技(深圳)有限公司 阴影绘制方法及渲染装置
CN101882324A (zh) * 2010-05-19 2010-11-10 北京航空航天大学 基于双向半影图的软阴影实时绘制方法
CN102396003A (zh) * 2009-04-17 2012-03-28 设计代码公司 用于向计算机图形中的对象添加阴影的方法
US8379021B1 (en) * 2008-01-30 2013-02-19 Adobe Systems Incorporated System and methods for rendering height-field images with hard and soft shadows
CN103903296A (zh) * 2014-04-23 2014-07-02 东南大学 虚拟家装室内场景设计中的阴影渲染方法
CN104205173A (zh) * 2012-03-29 2014-12-10 汤姆逊许可公司 用于估计场景中的不透明度水平的方法及相应的设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5550641A (en) 1991-05-15 1996-08-27 Gentech Corporation System and method for rendering images
JP3599268B2 (ja) 1999-03-08 2004-12-08 株式会社ソニー・コンピュータエンタテインメント 画像処理方法、画像処理装置及び記録媒体
US6384822B1 (en) 1999-05-14 2002-05-07 Creative Technology Ltd. Method for rendering shadows using a shadow volume and a stencil buffer
JP3392078B2 (ja) 1999-08-06 2003-03-31 キヤノン株式会社 画像処理方法、画像処理装置および記憶媒体
US6593923B1 (en) 2000-05-31 2003-07-15 Nvidia Corporation System, method and article of manufacture for shadow mapping
US8462156B1 (en) 2005-12-22 2013-06-11 Nvidia Corporation Method and system for generating shadows in a graphics processing unit
US20090309877A1 (en) 2008-06-16 2009-12-17 Microsoft Corporation Soft shadow rendering
US20120218395A1 (en) 2011-02-25 2012-08-30 Microsoft Corporation User interface presentation and interactions
JP5524146B2 (ja) 2011-08-11 2014-06-18 株式会社ファイン パース図作成システム及びパース図作成プログラム並びにパース図作成方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127127A (zh) * 2007-09-29 2008-02-20 腾讯科技(深圳)有限公司 阴影绘制方法及渲染装置
US8379021B1 (en) * 2008-01-30 2013-02-19 Adobe Systems Incorporated System and methods for rendering height-field images with hard and soft shadows
CN102396003A (zh) * 2009-04-17 2012-03-28 设计代码公司 用于向计算机图形中的对象添加阴影的方法
CN101882324A (zh) * 2010-05-19 2010-11-10 北京航空航天大学 基于双向半影图的软阴影实时绘制方法
CN104205173A (zh) * 2012-03-29 2014-12-10 汤姆逊许可公司 用于估计场景中的不透明度水平的方法及相应的设备
CN103903296A (zh) * 2014-04-23 2014-07-02 东南大学 虚拟家装室内场景设计中的阴影渲染方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GOESELE 等: ""Fast Accurate Soft Shadows with Adaptive Light Source Sampling"", 《VISION MODELING AND VISUALIZATION》 *
KEATING, B 等: ""Shadow penumbras for complex objects by depth-dependent filtering of multi-layer depth images"", 《10TH EUROGRAPHICS WORKSHOP ON RENDERING TECHNIQUES》 *
吕伟伟 等: ""基于GPU的近似软影实时绘制"", 《计算机辅助设计与图形学学报》 *

Also Published As

Publication number Publication date
US20160247314A1 (en) 2016-08-25
CN105913481B (zh) 2021-08-31
US9786095B2 (en) 2017-10-10
EP3062293A1 (en) 2016-08-31

Similar Documents

Publication Publication Date Title
CN105913481A (zh) 阴影渲染装置及其控制方法
US11719933B2 (en) Hand-locked rendering of virtual objects in artificial reality
CN106233338B (zh) 用于光线跟踪应用中的树遍历的开始节点确定
CA3138907C (en) System and method for interactive projection
CN103198516B (zh) 动态图形界面阴影
US10719912B2 (en) Scaling and feature retention in graphical elements defined based on functions
US10026230B2 (en) Augmented point cloud for a visualization system and method
US11170577B2 (en) Generating and modifying representations of objects in an augmented-reality or virtual-reality scene
EP2828831B1 (en) Point and click lighting for image based lighting surfaces
US11954805B2 (en) Occlusion of virtual objects in augmented reality by physical objects
US20120105446A1 (en) Building controllable clairvoyance device in virtual world
US9235911B2 (en) Rendering an image on a display screen
KR20190100305A (ko) 혼합 현실에서 동적 가상 콘텐츠들을 생성하기 위한 디바이스 및 방법
US20210005002A1 (en) Live cube preview animation
US9483873B2 (en) Easy selection threshold
KR102174264B1 (ko) 그림자 렌더링 방법 및 그림자 렌더링 장치
US11120611B2 (en) Using bounding volume representations for raytracing dynamic units within a virtual space
CN104574473B (zh) 一种基于静态图片生成动态效果的方法和装置
US20240015263A1 (en) Methods and apparatus to provide remote telepresence communication
CN114288650A (zh) 虚拟场景图像处理方法、展示方法、装置、电子设备
WO2020053899A1 (en) Systems and methods for optimizing lighting in a three dimensional (3-d) scene(s)
US8462157B2 (en) Computing the irradiance from a disk light source at a receiver point

Legal Events

Date Code Title Description
C06 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