首页 / 一种实时三维图形渲染方法及渲染系统

一种实时三维图形渲染方法及渲染系统公开 发明

技术领域

[0001] 本发明属于三维图形渲染技术领域,尤其涉及一种实时三维图形渲染方法及渲染系统。

相关背景技术

[0002] 三维图形渲染,是使用计算机软件,根据环境、灯光、材质及渲染参数,将三维场景中的模型生成二维图像或动画的过程,广泛应用于多个领域,包括建筑和景观设计、产品设计、广告和游戏开发、电影和动画制作等。
[0003] 现有技术中,对于光照条件下的三维图形渲染,通常只是进行一个光源的简单光照渲染,而在多光源与环境光结合的复杂情形下,则难以实现高度交互性和实时性的实时三维图形渲染。

具体实施方式

[0072] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0073] 可以理解的是,现有技术中,对于光照条件下的三维图形渲染,通常只是进行一个光源的简单光照渲染,而在多光源与环境光结合的复杂情形下,则难以实现高度交互性和实时性的实时三维图形渲染。
[0074] 为解决上述问题,本发明实施例公开的一种实时三维图形渲染方法及渲染系统,通过向三维渲染环境中导入目标三维图形,接收渲染精细需求,对目标三维图形进行图形点化处理,获取多个三维图形结构点;接收对于目标三维图形的图形空间操作,进行图形空间调整,实时获取三维图像渲染帧,从多个三维图形结构点中,选择多个三维图形渲染点;构建渲染坐标系,确定多个环境直接光源,计算多个三维图形渲染点在多个环境直接光源下的渲染光照强度;将多个渲染光照强度与预设的渲染光照阈值进行比较;在多个渲染光照强度均小于渲染光照阈值时,在三维渲染环境中,对三维图像渲染帧进行实时直接渲染;
在至少一个渲染光照强度不小于渲染光照阈值时,在三维渲染环境中,对三维图像渲染帧进行实时优化渲染。能够按照图形空间操作,进行图形空间调整,实时获取三维图像渲染帧,选择多个三维图形渲染点,计算在多个环境直接光源下的渲染光照强度,并在不同的强度比较情况下,进行实时直接渲染或实时优化渲染,能够在多光源与环境光结合的复杂情形下,有效实现高度交互性和实时性的实时三维图形渲染。
[0075] 具体的,图1示出了本发明实施例提供的实时三维图形渲染方法的流程图。
[0076] 在本发明提供的一个优选实施方式中,一种实时三维图形渲染方法,所述方法包括以下步骤:
[0077] 步骤S101、向三维渲染环境中导入目标三维图形,接收渲染精细需求,对所述目标三维图形进行图形点化处理,获取多个三维图形结构点。
[0078] 在本发明实施例中,通过向三维渲染环境中导入目标三维图形,并接收用户的渲染精细需求,且对目标三维图形进行基础分析,获取目标三维图形的尺寸数据和材质信息,进而综合渲染精细需求、尺寸数据和材质信息,对目标三维图形进行图形点化处理,获取多个三维图形结构点,使得目标三维图形的可视外形,由多个三维图形结构点构成。
[0079] 具体的,图2示出了本发明实施例提供的方法中目标三维图形点化处理的流程图。
[0080] 其中,在本发明提供的优选实施方式中,所述向三维渲染环境中导入目标三维图形,接收渲染精细需求,对所述目标三维图形进行图形点化处理,获取多个三维图形结构点具体包括以下步骤:
[0081] 步骤S1011、向三维渲染环境中导入目标三维图形。
[0082] 步骤S1012、接收渲染精细需求。
[0083] 步骤S1013、获取所述目标三维图形的尺寸数据和材质信息。
[0084] 步骤S1014、根据所述渲染精细需求、所述尺寸数据和所述材质信息,对所述目标三维图形进行图形点化处理,获取多个三维图形结构点。
[0085] 进一步的,所述实时三维图形渲染方法还包括以下步骤:
[0086] 步骤S102、接收对于所述目标三维图形的图形空间操作,进行图形空间调整,实时获取三维图像渲染帧,从多个所述三维图形结构点中,选择多个三维图形渲染点。
[0087] 在本发明实施例中,接收用户对于目标三维图形的图形空间操作,根据图形空间操作,对目标三维图形进行相应的图形空间调整,并按照预设的调整展示帧率,实时获取调整过程中的三维图像渲染帧,且根据三维图像渲染帧,确定目标三维图形的调整展示面,进而根据调整展示面,从多个三维图形结构点中,选择处于调整展示面上的多个三维图形渲染点。
[0088] 可以理解的是,图形空间操作,是对目标三维图形整体进行的移动、旋转、放大和/或缩小等操作。
[0089] 可以理解的是,三维图像渲染帧,按照调整展示帧率,响应图形空间操作,而实时生成的二维图像或动画。
[0090] 具体的,图3示出了本发明实施例提供的方法中图形空间调整处理的流程图。
[0091] 其中,在本发明提供的优选实施方式中,所述接收对于所述目标三维图形的图形空间操作,进行图形空间调整,实时获取三维图像渲染帧,从多个所述三维图形结构点中,选择多个三维图形渲染点具体包括以下步骤:
[0092] 步骤S1021、接收对于所述目标三维图形的图形空间操作。
[0093] 步骤S1022、根据所述图形空间操作,对所述目标三维图形进行相应的图形空间调整。
[0094] 步骤S1023、按照预设的调整展示帧率,实时获取三维图像渲染帧。
[0095] 步骤S1024、根据所述三维图像渲染帧,确定所述目标三维图形的调整展示面。
[0096] 步骤S1025、根据所述调整展示面,从多个所述三维图形结构点中,选择多个三维图形渲染点。
[0097] 进一步的,所述实时三维图形渲染方法还包括以下步骤:
[0098] 步骤S103、构建渲染坐标系,确定多个环境直接光源,计算多个所述三维图形渲染点在多个所述环境直接光源下的渲染光照强度。
[0099] 在本发明实施例中,在三维渲染环境中,以三维图像渲染帧的左下角为原点,构建平面的渲染坐标系,并对三维渲染环境进行光源识别,确定三维渲染环境中的多个环境直接光源,进而按照三维渲染环境中多个环境直接光源与多个三维图形渲染点之间的空间相对位置,对多个环境直接光源与多个三维图形渲染点之间进行入射角度和展示夹角分析,记录包括多个漫反射入射角和多个展示夹角的渲染角度数据,在渲染坐标系中,根据渲染角度数据,计算多个三维图形渲染点在多个环境直接光源下的渲染光照强度,具体的,多个渲染光照强度的计算公式为:
[0100]
[0101] 其中,(x,y)代表三维图形渲染点在渲染坐标系中的渲染点坐标,i代表不同的环境直接光源,一共有n个环境直接光源,Sai为第i个环境直接光源的直接光照强度,ka为预设的漫反射系数,Sr(x,y)为(x,y)三维图形渲染点的渲染光照强度,θi(x,y)为第i个环境直接光源对(x,y)三维图形渲染点的漫反射入射角,kb为预设的镜面反射系数, 为第i个环境直接光源与(x,y)三维图形渲染点之间的展示夹角,p为预设的镜面反射参数,kc为预设的环境光反射系数,Sc为环境光照强度。
[0102] 可以理解的是,三维渲染环境中,对目标三维图形的光照影响,既包括多个环境直接光源的直接光照强度的影响,又包括基础环境光照的环境光照强度的影响,其中,基础环境光照的环境光照强度,对所有的三维图形渲染点的光照渲染影响均相同。
[0103] 可以理解的是,漫反射入射角,是环境直接光源的照射光与三维图形渲染点的平面法向量之间的夹角;展示夹角,是三维图像渲染帧对应的观察方向与环境直接光源在三维图形渲染点处的反射方向之间的夹角。
[0104] 具体的,图4示出了本发明实施例提供的方法中渲染光照强度计算的流程图。
[0105] 其中,在本发明提供的优选实施方式中,所述构建渲染坐标系,确定多个环境直接光源,计算多个所述三维图形渲染点在多个所述环境直接光源下的渲染光照强度具体包括以下步骤:
[0106] 步骤S1031、在所述三维渲染环境中,构建渲染坐标系。
[0107] 步骤S1032、确定所述三维渲染环境中的多个环境直接光源。
[0108] 步骤S1033、对多个所述环境直接光源与多个所述三维图形渲染点之间进行入射角度和展示夹角分析,记录渲染角度数据。
[0109] 步骤S1034、在所述渲染坐标系中,根据所述渲染角度数据,计算多个所述三维图形渲染点在多个所述环境直接光源下的渲染光照强度。
[0110] 进一步的,所述实时三维图形渲染方法还包括以下步骤:
[0111] 步骤S104、将多个所述渲染光照强度与预设的渲染光照阈值进行比较。
[0112] 步骤S105、在多个所述渲染光照强度均小于渲染光照阈值时,在三维渲染环境中,对所述三维图像渲染帧进行实时直接渲染。
[0113] 在本发明实施例中,在多个渲染光照强度均小于渲染光照阈值的情况下,生成直接渲染指令,此时,在三维渲染环境中,按照直接渲染指令,以多个渲染光照强度,对多个对应的三维图形渲染点进行直接点渲染,记录直接点渲染数据,进而按照直接点渲染数据,模拟多个环境直接光源和基础环境光照对图形空间操作下目标三维图形的直接影响,对三维图像渲染帧进行实时直接渲染的光照渲染着色处理。
[0114] 具体的,图5示出了本发明实施例提供的方法中进行实时直接渲染的流程图。
[0115] 其中,在本发明提供的优选实施方式中,所述在多个所述渲染光照强度均小于渲染光照阈值时,在三维渲染环境中,对所述三维图像渲染帧进行实时直接渲染具体包括以下步骤:
[0116] 步骤S1051、在多个所述渲染光照强度均小于渲染光照阈值时,生成直接渲染指令。
[0117] 步骤S1052、在三维渲染环境中,按照所述直接渲染指令,以多个所述渲染光照强度,对多个对应的三维图形渲染点进行直接点渲染,记录直接点渲染数据。
[0118] 步骤S1053、按照所述直接点渲染数据,对所述三维图像渲染帧进行实时直接渲染。
[0119] 进一步的,所述实时三维图形渲染方法还包括以下步骤:
[0120] 步骤S106、在至少一个渲染光照强度不小于渲染光照阈值时,在三维渲染环境中,对所述三维图像渲染帧进行实时优化渲染。
[0121] 在本发明实施例中,在至少一个渲染光照强度不小于渲染光照阈值的情况下,生成优化渲染指令,按照优化渲染指令,对多个渲染光照强度进行强度排列,从多个渲染光照强度中,选择强度最大的渲染光照强度,将其标记为目标渲染强度,根据目标渲染强度的强度值,对环境光照强度进行相应的减弱规划,使得基础环境光照影响减少,确定优化环境强度,再按照优化环境强度,对多个渲染光照强度进行集体优化,使得多个渲染光照强度均进行基础环境光照相同的减弱优化处理,确定多个对应的优化环境强度,在三维渲染环境中,按照多个优化环境强度,对多个对应的三维图形渲染点进行优化点渲染,记录优化点渲染数据,进而按照优化点渲染数据,模拟多个环境直接光源和基础环境光照对图形空间操作下目标三维图形的优化影响,对三维图像渲染帧进行实时优化渲染的光照渲染着色处理。
[0122] 具体的,图6示出了本发明实施例提供的方法中进行实时优化渲染的流程图。
[0123] 其中,在本发明提供的优选实施方式中,所述在至少一个渲染光照强度不小于渲染光照阈值时,在三维渲染环境中,对所述三维图像渲染帧进行实时优化渲染具体包括以下步骤:
[0124] 步骤S1061、在至少一个渲染光照强度不小于渲染光照阈值时,生成优化渲染指令。
[0125] 步骤S1062、按照所述优化渲染指令,对多个所述渲染光照强度进行强度排列,选择强度最大的目标渲染强度。
[0126] 步骤S1063、根据目标渲染强度,对环境光照强度进行优化规划,确定优化环境强度。
[0127] 步骤S1064、按照所述优化环境强度,对多个所述渲染光照强度进行集体优化,生成优化渲染强度。
[0128] 步骤S1065、在三维渲染环境中,以多个所述优化渲染强度,对多个对应的三维图形渲染点进行优化点渲染,记录优化点渲染数据。
[0129] 步骤S1066、按照所述优化点渲染数据,对所述三维图像渲染帧进行实时优化渲染。
[0130] 进一步的,图7示出了本发明实施例提供的实时三维图形渲染系统的应用架构图。
[0131] 其中,在本发明提供的又一个优选实施方式中,一种实时三维图形渲染系统,包括:
[0132] 图形点化处理模块101,用于向三维渲染环境中导入目标三维图形,接收渲染精细需求,对所述目标三维图形进行图形点化处理,获取多个三维图形结构点。
[0133] 在本发明实施例中,图形点化处理模块101通过向三维渲染环境中导入目标三维图形,并接收用户的渲染精细需求,且对目标三维图形进行基础分析,获取目标三维图形的尺寸数据和材质信息,进而综合渲染精细需求、尺寸数据和材质信息,对目标三维图形进行图形点化处理,获取多个三维图形结构点,使得目标三维图形的可视外形,由多个三维图形结构点构成。
[0134] 图形空间调整模块102,用于接收对于所述目标三维图形的图形空间操作,进行图形空间调整,实时获取三维图像渲染帧,从多个所述三维图形结构点中,选择多个三维图形渲染点。
[0135] 在本发明实施例中,图形空间调整模块102接收用户对于目标三维图形的图形空间操作,根据图形空间操作,对目标三维图形进行相应的图形空间调整,并按照预设的调整展示帧率,实时获取调整过程中的三维图像渲染帧,且根据三维图像渲染帧,确定目标三维图形的调整展示面,进而根据调整展示面,从多个三维图形结构点中,选择处于调整展示面上的多个三维图形渲染点。
[0136] 具体的,图8示出了本发明实施例提供的系统中图形空间调整模块102的结构框图。
[0137] 其中,在本发明提供的优选实施方式中,所述图形空间调整模块102具体包括:
[0138] 操作接收单元1021,用于接收对于所述目标三维图形的图形空间操作。
[0139] 空间调整单元1022,用于根据所述图形空间操作,对所述目标三维图形进行相应的图形空间调整。
[0140] 渲染帧获取单元1023,用于按照预设的调整展示帧率,实时获取三维图像渲染帧。
[0141] 展示面确定单元1024,用于根据所述三维图像渲染帧,确定所述目标三维图形的调整展示面。
[0142] 渲染点选择单元1025,用于根据所述调整展示面,从多个所述三维图形结构点中,选择多个三维图形渲染点。
[0143] 进一步的,所述实时三维图形渲染系统还包括:
[0144] 渲染光照计算模块103,用于构建渲染坐标系,确定多个环境直接光源,计算多个所述三维图形渲染点在多个所述环境直接光源下的渲染光照强度。
[0145] 在本发明实施例中,在三维渲染环境中,渲染光照计算模块103以三维图像渲染帧的左下角为原点,构建平面的渲染坐标系,并对三维渲染环境进行光源识别,确定三维渲染环境中的多个环境直接光源,进而按照三维渲染环境中多个环境直接光源与多个三维图形渲染点之间的空间相对位置,对多个环境直接光源与多个三维图形渲染点之间进行入射角度和展示夹角分析,记录包括多个漫反射入射角和多个展示夹角的渲染角度数据,在渲染坐标系中,根据渲染角度数据,计算多个三维图形渲染点在多个环境直接光源下的渲染光照强度,具体的,多个渲染光照强度的计算公式为:
[0146]
[0147] 其中,(x,y)代表三维图形渲染点在渲染坐标系中的渲染点坐标,i代表不同的环境直接光源,一共有n个环境直接光源,Sai为第i个环境直接光源的直接光照强度,ka为预设的漫反射系数,Sr(x,y)为(x,y)三维图形渲染点的渲染光照强度,θi(x,y)为第i个环境直接光源对(x,y)三维图形渲染点的漫反射入射角,kb为预设的镜面反射系数, 为第f个环境直接光源与(x,y)三维图形渲染点之间的展示夹角,p为预设的镜面反射参数,kc为预设的环境光反射系数,Sc为环境光照强度。
[0148] 具体的,图9示出了本发明实施例提供的系统中渲染光照计算模块103的结构框图。
[0149] 其中,在本发明提供的优选实施方式中,所述渲染光照计算模块103具体包括:
[0150] 坐标系构建单元1031,用于在所述三维渲染环境中,构建渲染坐标系。
[0151] 光源确定单元1032,用于确定所述三维渲染环境中的多个环境直接光源。
[0152] 角度分析单元1033,用于对多个所述环境直接光源与多个所述三维图形渲染点之间进行入射角度和展示夹角分析,记录渲染角度数据。
[0153] 光照计算单元1034,用于在所述渲染坐标系中,根据所述渲染角度数据,计算多个所述三维图形渲染点在多个所述环境直接光源下的渲染光照强度。
[0154] 进一步的,所述实时三维图形渲染系统还包括:
[0155] 渲染光照比较模块104,用于将多个所述渲染光照强度与预设的渲染光照阈值进行比较。
[0156] 实时直接渲染模块105,用于在多个所述渲染光照强度均小于渲染光照阈值时,在三维渲染环境中,对所述三维图像渲染帧进行实时直接渲染。
[0157] 在本发明实施例中,在多个渲染光照强度均小于渲染光照阈值的情况下,实时直接渲染模块105生成直接渲染指令,此时,在三维渲染环境中,按照直接渲染指令,以多个渲染光照强度,对多个对应的三维图形渲染点进行直接点渲染,记录直接点渲染数据,进而按照直接点渲染数据,模拟多个环境直接光源和基础环境光照对图形空间操作下目标三维图形的直接影响,对三维图像渲染帧进行实时直接渲染的光照渲染着色处理。
[0158] 实时优化渲染模块106,用于在至少一个渲染光照强度不小于渲染光照阈值时,在三维渲染环境中,对所述三维图像渲染帧进行实时优化渲染。
[0159] 在本发明实施例中,在至少一个渲染光照强度不小于渲染光照阈值的情况下,实时优化渲染模块106生成优化渲染指令,按照优化渲染指令,对多个渲染光照强度进行强度排列,从多个渲染光照强度中,选择强度最大的渲染光照强度,将其标记为目标渲染强度,根据目标渲染强度的强度值,对环境光照强度进行相应的减弱规划,使得基础环境光照影响减少,确定优化环境强度,再按照优化环境强度,对多个渲染光照强度进行集体优化,使得多个渲染光照强度均进行基础环境光照相同的减弱优化处理,确定多个对应的优化环境强度,在三维渲染环境中,按照多个优化环境强度,对多个对应的三维图形渲染点进行优化点渲染,记录优化点渲染数据,进而按照优化点渲染数据,模拟多个环境直接光源和基础环境光照对图形空间操作下目标三维图形的优化影响,对三维图像渲染帧进行实时优化渲染的光照渲染着色处理。
[0160] 应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0161] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0162] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页 第1页 第2页 第3页