CN108470369A - 一种水面渲染方法及装置 - Google Patents

一种水面渲染方法及装置 Download PDF

Info

Publication number
CN108470369A
CN108470369A CN201810250828.0A CN201810250828A CN108470369A CN 108470369 A CN108470369 A CN 108470369A CN 201810250828 A CN201810250828 A CN 201810250828A CN 108470369 A CN108470369 A CN 108470369A
Authority
CN
China
Prior art keywords
water surface
offset
coordinate
texture
value
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
CN201810250828.0A
Other languages
English (en)
Other versions
CN108470369B (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.)
City Life (beijing) Information Co Ltd
Original Assignee
City Life (beijing) Information 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 City Life (beijing) Information Co Ltd filed Critical City Life (beijing) Information Co Ltd
Priority to CN201810250828.0A priority Critical patent/CN108470369B/zh
Publication of CN108470369A publication Critical patent/CN108470369A/zh
Application granted granted Critical
Publication of CN108470369B publication Critical patent/CN108470369B/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/04Texture mapping
    • 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/50Lighting effects
    • G06T15/506Illumination models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • 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/663Methods for processing data by generating or executing the game program for rendering three dimensional images for simulating liquid objects, e.g. water, gas, fog, snow, clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/24Fluid dynamics

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Image Generation (AREA)

Abstract

本申请公开了一种水面渲染方法及装置,方法包括:获取水面网格顶点对应的世界坐标和当前的计时值,将世界坐标中的平面坐标作为水面网格顶点对应的纹理坐标;对水面网格光栅化后获得得到片元确定每个片元对应的纹理坐标和屏幕坐标;针对每个片元,根据当前的计时值和预设的规则确定偏移量;根据偏移量对纹理坐标进行偏移,获得偏移纹理坐标,并分别获得与偏移纹理坐标对应的采样颜色值和法线方向向量;根据屏幕坐标、预设的阴影算法和预存储的深度纹理图获得阴影因子;基于法线方向向量和预存储的光源方向向量获得水面反光亮度值;根据采样颜色值、水面反光亮度值和阴影因子确定所述片元的颜色,上述方案能够提高移动终端的渲染效率。

Description

一种水面渲染方法及装置
技术领域
本申请涉及计算机图形处理技术领域,更具体地说,涉及一种水面渲染方法及装置。
背景技术
水面渲染是自然景物渲染的一个重要组成部分,其能够较为真实的模拟出水面情况如水面波动,水面上的阴影,被广泛应用在游戏场景、虚拟现实、3D场景可视化等领域。而随着人们对移动终端的依赖,游戏、虚拟现实等都能够在移动终端上实现,如此就要求移动端也要进行水面渲染。
当前,考虑到移动终端的处理性能比PC差,其进行水面渲染的方式为:将水面波动看作一系列正弦或余弦波的叠加,在获取到水面网格顶点的初始坐标后,利用一系列叠加的正弦或余弦函数,结合水面网格顶点的初始坐标和不同的时间,计算出顶点处于不同波动情况时的坐标,进而确定顶点数据光栅化后的片元,并确定该片元处于当前坐标时的颜色。
上述渲染过程中采用了叠加正弦或余弦函数的方式,该方式要求相邻水面网格顶点之间的距离小于正弦或余弦函数的波长,为了符合该要求必须要使用大量密集的水面网格顶点,如此移动终端就要处理非常大量的水面网格顶点数据,导致移动终端的渲染效率较低。
发明内容
有鉴于此,本申请提供一种水面渲染方法及装置,以提高移动终端的渲染效率。
为了实现上述目的,现提出的方案如下:
一种水面渲染方法,该方法包括:
获取水面网格顶点对应的世界坐标和当前的计时值,并将所述世界坐标中的平面坐标作为水面网格顶点对应的纹理坐标;
对所述水面网格进行光栅化获得片元,并根据所述水面网格顶点对应的纹理坐标确定每个片元对应的纹理坐标,及根据所述水面网格顶点对应的世界坐标和预设视角确定每个片元对应的屏幕坐标;
针对每个片元,根据所述当前的计时值和预设的规则,确定偏移量;
根据所述偏移量对该片元对应的纹理坐标进行偏移,获得偏移纹理坐标;
分别采样预存储的水面颜色纹理图片和法线纹理图片,获得与所述偏移纹理坐标对应的采样颜色值和法线方向向量;
根据所述片元对应的屏幕坐标、预设的阴影算法和预存储的深度纹理图片,获得阴影因子;
对所述法线方向向量和预存储的光源方向向量进行点积运算,获得水面反光亮度值;
根据所述采样颜色值、所述水面反光亮度值和所述阴影因子,确定所述片元的颜色。
一种水面渲染装置,该装置包括:
获取单元,用于获取水面网格顶点对应的世界坐标和当前的计时值,并将所述世界坐标中的平面坐标作为水面网格顶点对应的纹理坐标;
第一确定单元,用于对所述水面网格进行光栅化获得得到片元,并根据所述水面网格顶点对应的纹理坐标确定每个片元对应的纹理坐标,及根据所述水面网格顶点对应的世界坐标和预设视角确定每个片元对应的屏幕坐标;
第二确定单元,用于针对每个片元,根据所述当前的计时值和预设的规则,确定偏移量;
偏移单元,用于根据所述偏移量对该片元对应的纹理坐标进行偏移,获得偏移纹理坐标;
采样单元,用于分别采样预存储的水面颜色纹理图片和法线纹理图片,获得与所述偏移纹理坐标对应的采样颜色值和法线方向向量;
第一获得单元,用于根据所述片元对应的屏幕坐标、预设的阴影算法和预存储的深度纹理图,获得阴影因子;
第二获得单元,用于对所述法线方向向量和预存储的光源方向向量进行点积运算,获得水面反光亮度值;
第二确定单元,用于根据所述采样颜色值、所述水面反光亮度值和所述阴影因子,确定所述片元的颜色。
从上述的技术方案可以看出,获取水面网格顶点对应的世界坐标和当前的计时值,并将所述世界坐标中的平面坐标作为水面网格顶点对应的纹理坐标,对所述水面网格进行光栅化处理获得片元,并根据所述水面网格顶点对应的纹理坐标确定每个片元对应的纹理坐标,及根据所述水面网格顶点对应的世界坐标和预设视角确定每个片元对应的屏幕坐标;进而针对每个片元进行以下相同的操作:对该片元对应的纹理坐标进行偏移,获得与该偏移纹理坐标,其中偏移量是由所述当前的计时值确定的;进而基于偏移纹理坐标采样水面颜色纹理图片和法线纹理图片,获得采样颜色值、法线方向向量;以及根据所述片元对应的屏幕坐标、预设的阴影算法和预存储的深度纹理图,获得阴影因子;进而对所述法线方向向量和预存储的光源方向向量进行点积运算,获得水面反光亮度值,至此已模拟出了水面基本颜色、水面光照、阴影遮蔽的效果,进而将模拟的各个效果混合起来即获得水面最终颜色。
可见,上述方案中将水面网格顶点看做是处于固定位置的顶点,即将片元的纹理坐标也看做固定的坐标,而为了实现水面的波动效果,上述方案中在将水面网格顶点的世界坐标中的平面坐标作为水面网格顶点的纹理坐标,进而在光栅化以及根据水面网格顶点的纹理坐标的得到每个片元的纹理坐标后,由于每次获取到的当前的计时值是不同,则根据由计时值确定的偏移量进行偏移后获得的纹理坐标是不同的,进而基于该偏移纹理坐标确定的水面网格顶点的颜色是随时间变化的,如此即使片元位置是固定的,但由于该片元的颜色处于不断发生变化中,令用户在视觉上看该片元像是处于波动中。可见,上述方案在模拟出水面波动情况的前提下,由于没有相邻水面网格顶点之间的距离小于正弦函数的波长的限制,所以移动终端获取到的水面网格顶点的数量相对来说是较少的,如此移动终端处理的数据量大大减少,提高移动终端的渲染效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种水面渲染方法基本流程图;
图2为本申请另一实施例公开的一种水面渲染方法基本流程图;
图3为本申请实施例公开的一种水面渲染装置基本框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明实施例提供一种水面渲染的方法,如图1所示,该方法包括:
S100、获取水面网格顶点对应的世界坐标和当前的计时值,并将所述世界坐标中的平面坐标作为水面网格顶点对应的纹理坐标;
具体的,首先获取水面模型数据,所述水面模型数据包括水面网格顶点的初始坐标,该初始坐标是建立水面模型时使用的局部坐标,所以要将其转换为位于世界坐标系中的坐标,进而将水面网格顶点对应的世界坐标中的平面坐标作为水面网格顶点对应的纹理坐标,如某一水面网格顶点对应的世界坐标为(x,y,z),将其中的(x,y)作为该水面网格顶点对应的纹理坐标。
S110、对所述水面网格进行光栅化处理获得得到片元,并根据所述水面网格顶点对应的纹理坐标确定每个片元对应的纹理坐标,及根据所述水面网格顶点对应的世界坐标和预设视角确定每个片元对应的屏幕坐标;
其中,光栅化是将水面网格转换为片元的操作,同时对网格顶点对应的纹理坐标进行插值处理得到每个片元对应的纹理坐标,以及基于预设视角和水面网格顶点对应的世界坐标得到每个片元对应的屏幕坐标,可以理解该屏幕坐标为包括(x,y)的坐标,现有技术中已有光栅化、插值法和平面坐标确定的具体实施方式,在此不再赘述。
其中,计时值是指在应用程序如一游戏应用程序启动后,运行到当前的持续时间,具体的,设置一计时器对应用程序的运行时间进行计时。
S120、针对每个片元,根据所述当前的计时值和预设的规则,确定偏移量;
其中,可以直接将获取到的当前的计时值作为偏移量;
或,优选地,对所述当前的计时值进行取余运算,获得余数值;
根据余数值计算偏移量。
其中,可以直接将余数值确定为偏移量,或也可以乘以预设的系数以达到对波动速度的控制,具体的偏移量可以包括第一偏移量和第二偏移量,分别对纹理坐标的两个坐标值进行不同偏移量的偏移。
该实施方式相较于直接将计时值作为偏移量,利用取余的余数值作为偏移量,提高了后续计算的准确性。因为,计时值的数据类型为float型,计时值越大,对后续计算纹理坐标计算的精度影响越大,所以取余数值有利用提高计算精度。
S130、根据所述偏移量对该片元对应的纹理坐标进行偏移,获得偏移纹理坐标;
S140、分别采样预存储的水面颜色纹理图片和法线纹理图片,获得与所述偏移纹理坐标对应的采样颜色值和法线方向向量;
具体的,水面颜色纹理表示水面自身颜色的深浅,代表水面本身的主色调,而水面颜色纹理图片是预先采集的真实水面图片。法线纹理用来模拟水体表面凹凸起伏不平的情况。其中,采样颜色值和法线方向向量都利用RGB值表示,只是法线方向向量是利用RGB值来表示法线方向向量的XYZ值。
S150、根据所述片元对应的屏幕坐标、预设的阴影算法和预存储的深度纹理图,获得阴影因子;
具体的,如果水面上有物体遮挡,在向光的情况下,该物体会遮挡水面接收光照,进而在水面上产生阴影。在此,使用ShadowMap阴影算法计算该片元对应的屏幕坐标处的阴影因子,即判断屏幕上该像素处是否处于阴影中。
其中,深度纹理图片是以光源所在位置为观察点,渲染需要产生阴影的物体,渲染后生成的深度值保存为深度纹理图片。在渲染时,根据ShadowMap算法原理计算获得深度纹理坐标shadowUV,并通过该深度纹理坐标采样深度纹理图片,获得该像素处的阴影因子。
S160、对所述法线方向向量和预存储的光源方向向量进行点积运算,获得水面反光亮度值;
其中,对两个向量进行点积运算获得点积结果,该点积结果值表示水面反光亮度值,该点积结果值越大,表明反光亮度越高。
S170、根据所述采样颜色值、所述水面反光亮度值和所述阴影因子,确定所述片元的颜色;
具体的,将对应于同一个片元的采样颜色值、水面反光亮度值和阴影因子相乘,则获得该片元最终的颜色,该颜色模拟出来了水面的基本颜色、水面光照情况、水面的阴影遮蔽情况,进而将该颜色实时的显示在显示屏幕上。
执行完步骤S170后,隔预设的时间周期再次执行步骤S100,如此循环,实现水面的波动视觉效果。
上述方案中并没有针对每个水面网格顶点,计算其处于不同波动情况下的坐标,而是将水面网格顶点看做是处于固定位置的顶点,而为了实现水面的波动效果,上述方案中在计算每个水面网格顶点对应的纹理坐标时,由于每次获取到的当前的计时值是不同,则根据由计时值确定的偏移量进行偏移后获得的纹理坐标是不同的,进而基于该纹理坐标确定的水面网格顶点的颜色是随时间变化的,如此即使水面网格顶点位置是固定的,但由于该顶点的颜色处于不断发生变化中,令用户在视觉上看该水面网格顶点像是处于波动中。可见,上述方案在模拟出水面波动情况的前提下,由于没有相邻水面网格顶点之间的距离小于正弦函数的波长的限制,所以移动终端获取到的水面网格顶点的数量相对来说是较少的,如此移动终端处理的数据量大大减少,提高移动终端的渲染效率。
同时,上述方案相较于现有技术无需计算水面网格顶点处于不同波动情况下的不同坐标,只针对固定的水面网格顶点计算其颜色即可,如此大大减少了移动终端的数据处理量,提高了移动终端的渲染效率。
本发明另一实施例提供一种水面渲染方法,如图2所示,该方法包括:
S200、获取水面网格顶点对应的世界坐标和当前的计时值,并将所述世界坐标中的平面坐标作为水面网格顶点对应的纹理坐标;
S210、对所述水面网格进行光栅化处理获得得到片元,并根据所述水面网格顶点对应的纹理坐标确定每个片元对应的纹理坐标,及根据所述水面网格顶点对应的世界坐标和预设视角确定每个片元对应的屏幕坐标;
S220、针对每个片元,根据所述当前的计时值和预设的规则,确定偏移量;
S230、根据所述偏移量对该片元对应的纹理坐标进行偏移,获得偏移纹理坐标;
S240、分别采样预存储的水面颜色纹理图片、法线纹理图片和噪音纹理图片,获得与所述偏移纹理坐标对应的采样颜色值、法线方向向量和扰动偏移量;
其中,噪音纹理图片为使用二维随机数产生的一张纹理图片,用于对深度纹理坐标进行一定程度的随机扰动,对其进行采样则获得扰动偏移量。
S250、根据预设的阴影算法和所述片元对应的屏幕坐标,获得与所述片元对应的深度屏幕坐标;
具体的,采用ShadowMap阴影算法,结合片元对应的坐标,获得其对应的深度屏幕坐标,根据上述实施例可知,片元对应的屏幕坐标包括(x,y),采用ShadowMap阴影算法,获得的深度屏幕坐标则包括了深度信息z。
S260、根据所述扰动偏移量和预设的偏移系数,对所述深度屏幕坐标进行偏移,获得偏移深度屏幕坐标;
其中,为了模拟出水面中物体投下阴影的摇曳波动效果,对得到的深度屏幕坐标添加扰动,进行一定程度的偏移,具体的,0.1的系数即可获得较好的波动效果,即偏移深度屏幕坐标=0.9*深度屏幕坐标+0.1*扰动偏移量;
S270、根据所述偏移纹理坐标对预存储的深度纹理图进行采样,获得阴影因子;
S280、对所述法线方向向量和预存储的光源方向向量进行点积运算,获得水面反光亮度值;
S290、根据所述采样颜色值、所述水面反光亮度值和所述阴影因子,确定所述片元的颜色。
上述步骤S200-S230与步骤S100-S130,步骤S280-S290与步骤S160-S170实施方式相同,在此不再赘述。
上述实施例中引入了对噪音纹理图片采样的过程,并将获得的扰动偏移量结合到获取阴影因子的过程中,如此模拟出来水面上阴影的摇曳波动效果,进一步提高了模拟的真实性。
在本发明另一实施例中,所述根据所述偏移量对该片元对应的纹理坐标进行偏移,获得与所述偏移纹理坐标,包括:
将该片元对应的纹理坐标和当前的计时值分别进行相加运算和相减运算,获得第一偏移纹理坐标和第二偏移纹理坐标;
则,所述根据所述偏移纹理坐标对预存储的水面颜色纹理图片进行采样,获得采样颜色值包括:
采样预存储的水面颜色纹理图片,分别获得与所述第一偏移纹理坐标对应的第一偏移颜色值和与所述第二偏移纹理坐标对应的第二颜色值;
计算所述第一颜色值和第二颜色值的平均值,获得所述采样颜色值。
该实施例中,获得了两个纹理坐标,进而根据这两个纹理坐标采样到两个颜色值,并根据获得的两个颜色值确定出采样颜色值,如此得到的采样颜色值更加接近真实的水面颜色,令水面产生波动荡漾的效果。
当然,上述实施例中也可以只获得一个偏移纹理坐标,然后分别对两个水面颜色文理图片进行采样进而获得两个颜色值,进而得到最终的采样颜色值。
本发明实施例还提供一种水面渲染装置,如图3所示,包括:
获取单元300,用于获取水面网格顶点对应的世界坐标和当前的计时值,并将所述世界坐标中的平面坐标作为水面网格顶点对应的纹理坐标;
第一确定单元310,用于对所述水面网格进行光栅化获得得到片元,并根据所述水面网格顶点对应的纹理坐标确定每个片元对应的纹理坐标,及根据所述水面网格顶点对应的世界坐标和预设视角确定每个片元对应的屏幕坐标;
第二确定单元320,用于针对每个片元,根据所述当前的计时值和预设的规则,确定偏移量;
偏移单元330,用于根据所述偏移量对该片元对应的纹理坐标进行偏移,获得偏移纹理坐标;
采样单元340,用于分别采样预存储的水面颜色纹理图片和法线纹理图片,获得与所述偏移纹理坐标对应的采样颜色值和法线方向向量;
第一获得单元350,用于根据所述片元对应的屏幕坐标、预设的阴影算法和预存储的深度纹理图,获得阴影因子;
第二获得单元360,用于对所述法线方向向量和预存储的光源方向向量进行点积运算,获得水面反光亮度值;
第二确定单元370,用于根据所述采样颜色值、所述水面反光亮度值和所述阴影因子,确定所述片元的颜色。
优选地,所述第一确定单元310包括:
取余子单元,用于对所述当前的计时值进行取余运算,获得余数值;
计算子单元,用于根据余数值计算偏移量。
优选地,所述水面渲染装置还包括采样单元380,还用于采样预存储的噪音纹理图片,获得与所述偏移纹理坐标对应的扰动偏移量;
则所述第一获得单元350包括:
第一获得子单元,用于根据预设的阴影算法和所述片元对应的屏幕坐标,获得与所述片元对应的深度屏幕坐标;
第二获得子单元,用于根据所述扰动偏移量和预设的偏移系数,对所述深度屏幕坐标进行偏移,获得偏移深度屏幕坐标;
第三获得子单元,用于根据所述偏移深度纹理坐标对预存储的深度纹理图进行采样,获得阴影因子。
优选地,所述偏移单元330包括:
第一运算子单元,用于将该片元对应的纹理坐标和当前的计时值分别进行相加运算和相减运算,获得第一偏移纹理坐标和第二偏移纹理坐标;
相应的,采样单元340则包括:
第一采样子单元,用于采样预存储的水面颜色纹理图片,分别获得与所述第一偏移纹理坐标对应的第一颜色值和与所述第二偏移纹理坐标对应的第二颜色值;
第二运算单元,用于计算所述第一颜色值和第二颜色值的平均值,获得所述采样颜色值。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种水面渲染方法,其特征在于,包括:
获取水面网格顶点对应的世界坐标和当前的计时值,并将所述世界坐标中的平面坐标作为水面网格顶点对应的纹理坐标;
对所述水面网格进行光栅化获得片元,并根据所述水面网格顶点对应的纹理坐标确定每个片元对应的纹理坐标,及根据所述水面网格顶点对应的世界坐标和预设视角确定每个片元对应的屏幕坐标;
针对每个片元,根据所述当前的计时值和预设的规则,确定偏移量;
根据所述偏移量对该片元对应的纹理坐标进行偏移,获得偏移纹理坐标;
分别采样预存储的水面颜色纹理图片和法线纹理图片,获得与所述偏移纹理坐标对应的采样颜色值和法线方向向量;
根据所述片元对应的屏幕坐标、预设的阴影算法和预存储的深度纹理图片,获得阴影因子;
对所述法线方向向量和预存储的光源方向向量进行点积运算,获得水面反光亮度值;
根据所述采样颜色值、所述水面反光亮度值和所述阴影因子,确定所述片元的颜色。
2.如权利要求1所述方法,其特征在于,所述根据所述当前的计时值和预设的规则,确定偏移量包括:
对所述当前的计时值进行取余运算,获得余数值;
根据余数值计算偏移量。
3.如权利要求1所述的方法,其特征在于,还包括:
采样预存储的噪音纹理图片,获得与所述偏移纹理坐标对应的扰动偏移量;
则所述根据所述片元对应的屏幕坐标、预设的阴影算法和预存储的深度纹理图,获得阴影因子包括:
根据预设的阴影算法和所述片元对应的屏幕坐标,获得与所述片元对应的深度屏幕坐标,所述深度屏幕坐标包括深度信息;
根据所述扰动偏移量和预设的偏移系数,对所述深度屏幕坐标进行偏移,获得偏移深度屏幕坐标;
根据所述偏移深度屏幕坐标对预存储的深度纹理图片进行采样,获得阴影因子。
4.如权利要求1-3任一所述方法,其特征在于,所述根据所述偏移量对该片元对应的纹理坐标进行偏移,获得偏移纹理坐标包括:
将该片元对应的纹理坐标和当前的计时值分别进行相加运算和相减运算,获得第一偏移纹理坐标和第二偏移纹理坐标;
则所述根据所述偏移纹理坐标对预存储的水面颜色纹理图片进行采样,获得采样颜色值包括:
采样预存储的水面颜色纹理图片,分别获得与所述第一偏移纹理坐标对应的第一颜色值和与所述第二偏移纹理坐标对应的第二颜色值;
计算所述第一颜色值和第二颜色值的平均值,获得所述采样颜色值。
5.一种水面渲染装置,其特征在于,所述装置包括:
获取单元,用于获取水面网格顶点对应的世界坐标和当前的计时值,并将所述世界坐标中的平面坐标作为水面网格顶点对应的纹理坐标;
第一确定单元,用于对所述水面网格进行光栅化获得得到片元,并根据所述水面网格顶点对应的纹理坐标确定每个片元对应的纹理坐标,及根据所述水面网格顶点对应的世界坐标和预设视角确定每个片元对应的屏幕坐标;
第二确定单元,用于针对每个片元,根据所述当前的计时值和预设的规则,确定偏移量;
偏移单元,用于根据所述偏移量对该片元对应的纹理坐标进行偏移,获得偏移纹理坐标;
采样单元,用于分别采样预存储的水面颜色纹理图片和法线纹理图片,获得与所述偏移纹理坐标对应的采样颜色值和法线方向向量;
第一获得单元,用于根据所述片元对应的屏幕坐标、预设的阴影算法和预存储的深度纹理图,获得阴影因子;
第二获得单元,用于对所述法线方向向量和预存储的光源方向向量进行点积运算,获得水面反光亮度值;
第二确定单元,用于根据所述采样颜色值、所述水面反光亮度值和所述阴影因子,确定所述片元的颜色。
6.如权利要求5所述装置,其特征在于,所述第一确定单元包括:
取余子单元,用于对所述当前的计时值进行取余运算,获得余数值;
计算子单元,用于根据余数值计算偏移量。
7.如权利要求5所述装置,其特征在于,采样单元,还用于采样预存储的噪音纹理图片,获得与所述偏移纹理坐标对应的扰动偏移量;
则所述第一获得单元包括:
第一获得子单元,用于根据预设的阴影算法和所述片元对应的屏幕坐标,获得与所述片元对应的深度屏幕坐标;
第二获得子单元,用于根据所述扰动偏移量和预设的偏移系数,对所述深度屏幕坐标进行偏移,获得偏移深度屏幕坐标;
第三获得子单元,用于根据所述偏移深度纹理坐标对预存储的深度纹理图进行采样,获得阴影因子。
8.如权利要求5-7任一所述装置,其特征在于,所述偏移单元包括:第一运算子单元,用于将该片元对应的纹理坐标和当前的计时值分别进行相加运算和相减运算,获得第一偏移纹理坐标和第二偏移纹理坐标;
则采样单元,包括:
第一采样子单元,用于采样预存储的水面颜色纹理图片,分别获得与所述第一偏移纹理坐标对应的第一颜色值和与所述第二偏移纹理坐标对应的第二颜色值;
第二运算单元,用于计算所述第一颜色值和第二颜色值的平均值,获得所述采样颜色值。
CN201810250828.0A 2018-03-26 2018-03-26 一种水面渲染方法及装置 Active CN108470369B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810250828.0A CN108470369B (zh) 2018-03-26 2018-03-26 一种水面渲染方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810250828.0A CN108470369B (zh) 2018-03-26 2018-03-26 一种水面渲染方法及装置

Publications (2)

Publication Number Publication Date
CN108470369A true CN108470369A (zh) 2018-08-31
CN108470369B CN108470369B (zh) 2022-03-15

Family

ID=63265700

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810250828.0A Active CN108470369B (zh) 2018-03-26 2018-03-26 一种水面渲染方法及装置

Country Status (1)

Country Link
CN (1) CN108470369B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109461199A (zh) * 2018-11-15 2019-03-12 腾讯科技(深圳)有限公司 画面渲染方法和装置、存储介质及电子装置
CN110152291A (zh) * 2018-12-13 2019-08-23 腾讯科技(深圳)有限公司 游戏画面的渲染方法、装置、终端及存储介质
CN110363733A (zh) * 2019-06-05 2019-10-22 阿里巴巴集团控股有限公司 一种混合图像生成方法及装置
CN110866967A (zh) * 2019-11-15 2020-03-06 深圳市瑞立视多媒体科技有限公司 水波纹渲染方法、装置、设备及存储介质
CN110942505A (zh) * 2019-09-05 2020-03-31 北京无线电测量研究所 一种雷达一次信息渲染方法、系统、介质及设备
CN111243075A (zh) * 2020-03-17 2020-06-05 广东趣炫网络股份有限公司 一种面向手游的生成水深度图的方法、装置和设备
CN111402348A (zh) * 2019-01-03 2020-07-10 百度在线网络技术(北京)有限公司 光照效果的形成方法、装置和渲染引擎
CN112044077A (zh) * 2020-09-02 2020-12-08 北京冰封互娱科技有限公司 水体配置方法、装置、设备和存储介质
CN112860063A (zh) * 2021-02-02 2021-05-28 杭州电魂网络科技股份有限公司 交互水的实现方法、系统、电子装置和存储介质
CN113115018A (zh) * 2021-03-09 2021-07-13 聚好看科技股份有限公司 一种图像的自适应显示方法及显示设备
CN113592994A (zh) * 2021-09-27 2021-11-02 贝壳技术有限公司 用于纹理贴图的方法、装置和存储介质
CN113744124A (zh) * 2020-05-29 2021-12-03 北京达佳互联信息技术有限公司 图像处理方法、装置、电子设备及计算机存储介质
CN115733938A (zh) * 2021-08-31 2023-03-03 北京字跳网络技术有限公司 视频处理方法、装置、设备及存储介质
WO2023197860A1 (zh) * 2022-04-13 2023-10-19 北京字跳网络技术有限公司 高光渲染方法、装置、介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000167237A (ja) * 1998-12-04 2000-06-20 Namco Ltd ゲーム装置及び情報記憶媒体
CN102722859A (zh) * 2012-05-31 2012-10-10 北京像素软件科技股份有限公司 一种计算机仿真场景渲染方法
CN106355634A (zh) * 2016-08-30 2017-01-25 北京像素软件科技股份有限公司 模拟太阳的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000167237A (ja) * 1998-12-04 2000-06-20 Namco Ltd ゲーム装置及び情報記憶媒体
CN102722859A (zh) * 2012-05-31 2012-10-10 北京像素软件科技股份有限公司 一种计算机仿真场景渲染方法
CN106355634A (zh) * 2016-08-30 2017-01-25 北京像素软件科技股份有限公司 模拟太阳的方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KUMAR, VIJAY等: "Surface Modification of Textured Dielectrics and Their Wetting Behavior", 《JOURNAL OF MATERIALS ENGINEERING AND PERFORMANCE 》 *
周毓: "游戏中实时渲染的研究与应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
杨光 等: "大区域河道水面模拟方法研究", 《测绘地理信息》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109461199A (zh) * 2018-11-15 2019-03-12 腾讯科技(深圳)有限公司 画面渲染方法和装置、存储介质及电子装置
CN110152291A (zh) * 2018-12-13 2019-08-23 腾讯科技(深圳)有限公司 游戏画面的渲染方法、装置、终端及存储介质
CN111402348A (zh) * 2019-01-03 2020-07-10 百度在线网络技术(北京)有限公司 光照效果的形成方法、装置和渲染引擎
CN110363733A (zh) * 2019-06-05 2019-10-22 阿里巴巴集团控股有限公司 一种混合图像生成方法及装置
CN110363733B (zh) * 2019-06-05 2022-11-29 创新先进技术有限公司 一种混合图像生成方法及装置
CN110942505A (zh) * 2019-09-05 2020-03-31 北京无线电测量研究所 一种雷达一次信息渲染方法、系统、介质及设备
CN110942505B (zh) * 2019-09-05 2023-09-19 北京无线电测量研究所 一种雷达一次信息渲染方法、系统、介质及设备
CN110866967A (zh) * 2019-11-15 2020-03-06 深圳市瑞立视多媒体科技有限公司 水波纹渲染方法、装置、设备及存储介质
CN111243075A (zh) * 2020-03-17 2020-06-05 广东趣炫网络股份有限公司 一种面向手游的生成水深度图的方法、装置和设备
CN113744124A (zh) * 2020-05-29 2021-12-03 北京达佳互联信息技术有限公司 图像处理方法、装置、电子设备及计算机存储介质
CN112044077A (zh) * 2020-09-02 2020-12-08 北京冰封互娱科技有限公司 水体配置方法、装置、设备和存储介质
CN112860063A (zh) * 2021-02-02 2021-05-28 杭州电魂网络科技股份有限公司 交互水的实现方法、系统、电子装置和存储介质
CN112860063B (zh) * 2021-02-02 2022-04-29 杭州电魂网络科技股份有限公司 交互水的实现方法、系统、电子装置和存储介质
CN113115018A (zh) * 2021-03-09 2021-07-13 聚好看科技股份有限公司 一种图像的自适应显示方法及显示设备
CN115733938A (zh) * 2021-08-31 2023-03-03 北京字跳网络技术有限公司 视频处理方法、装置、设备及存储介质
WO2023029892A1 (zh) * 2021-08-31 2023-03-09 北京字跳网络技术有限公司 视频处理方法、装置、设备及存储介质
CN113592994B (zh) * 2021-09-27 2021-12-07 贝壳技术有限公司 用于纹理贴图的方法、装置和存储介质
CN113592994A (zh) * 2021-09-27 2021-11-02 贝壳技术有限公司 用于纹理贴图的方法、装置和存储介质
WO2023197860A1 (zh) * 2022-04-13 2023-10-19 北京字跳网络技术有限公司 高光渲染方法、装置、介质及电子设备

Also Published As

Publication number Publication date
CN108470369B (zh) 2022-03-15

Similar Documents

Publication Publication Date Title
CN108470369A (zh) 一种水面渲染方法及装置
CN106652007B (zh) 虚拟海面渲染方法及系统
CN112316420B (zh) 模型渲染方法、装置、设备及存储介质
Kensek et al. Daylight Factor (overcast sky) versus Daylight Availability (clear sky) in Computer-based Daylighting Simulations
CN110115841B (zh) 一种游戏场景中植被对象的渲染方法和装置
CN110349261B (zh) 基于gis生成三维热力图的方法
CN113457137B (zh) 游戏场景生成方法、装置、计算机设备及可读存储介质
KR20120064641A (ko) 영상 처리 장치, 조명 처리 장치 및 그 방법
JP3610702B2 (ja) 映像生成装置
CN112274934A (zh) 模型渲染方法、装置、设备及存储介质
CN110136262B (zh) 水体虚拟可视化方法和装置
CN112516595B (zh) 岩浆渲染方法、装置、设备和存储介质
CN113450443B (zh) 海面模型的渲染方法和装置
Kennelly et al. Non-photorealistic rendering and terrain representation
Rankin The uplift model terrain generator
CN103544675B (zh) 地震波传播展示方法
Konnelly GIS applications to historical cartographic methods to improve the understanding and visualization of contours
CN113345066B (zh) 渲染海浪的方法、装置、设备和计算机可读存储介质
JP2004310797A (ja) 映像生成装置
US20180005432A1 (en) Shading Using Multiple Texture Maps
CN117058301B (zh) 一种基于延迟着色的针织物实时渲染方法
CN117689786A (zh) 图像生成方法、装置、非易失性存储介质和计算机设备
CN112052864A (zh) 一种图像绘制方法、装置、电子设备及可读存储介质
Kempf et al. Visualizing complex hydrodynamic features
CN116351066A (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