CN107590862A - 一种定向快速渲染三维模型的系统 - Google Patents
一种定向快速渲染三维模型的系统 Download PDFInfo
- Publication number
- CN107590862A CN107590862A CN201710825344.XA CN201710825344A CN107590862A CN 107590862 A CN107590862 A CN 107590862A CN 201710825344 A CN201710825344 A CN 201710825344A CN 107590862 A CN107590862 A CN 107590862A
- Authority
- CN
- China
- Prior art keywords
- model
- rendering
- unit
- file
- data
- 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
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种定向快速渲染三维模型的系统,涉及三维图像渲染领域。该系统包括后台服务器模块,以及分别与后台服务器模块连接的渲染服务器模块和客户端,后台服务器模块连接模型材质文件导出脚本模块,用于接收其导出的模型文件与材质球文件,并将接收的模型文件与材质球文件上传渲染,渲染服务器模块与后台服务器模块连接,用于接收后台服务器模块发送的渲染任务,执行渲染操作,并将渲染结果传送给后台服务器模块,客户端与后台服务器模块连接,用于获取模型数据,并执行指定部位的材质替换操作,然后将部位和材质的对应关系数据发送到后台服务器模块。该系统可快速准确地将材质替换到指定部位,三维模型的渲染出图精准高效。
Description
技术领域
本发明涉及计算机图形图像渲染领域,尤其涉及一种定向快速渲染三维模型的系统。
背景技术
随着家装行业3D云设计的广泛使用,在帮助许多设计师快速有效地完成他们的效果图的同时,现有的三维模型无法替换指定的风格的材质。现有的模型换色功能,是将整个模型整个替换成另一个颜色不同的模型,可选方案有限。现有的模型换色功能的实现原理是将模型做多个拷贝,每一份拷贝分别采用不同的材质,用户只能在有限的范围内选择,不能按照模型的部位进行局部替换材质。
发明内容
为解决上述的技术问题,本发明提供了一种定向快速渲染三维模型的系统。
本发明实现上述技术效果所采用的技术方案是:
一种定向快速渲染三维模型的系统,包括:
模型材质文件导出脚本模块,用于导出模型文件以及材质球文件;
后台服务器模块,与所述模型材质文件导出脚本模块连接,用于接收自所述模型材质文件导出脚本模块导出的模型文件与材质球文件,并将接收的模型文件与材质球文件上传渲染;
渲染服务器模块,与所述后台服务器模块连接,用于接收所述后台服务器模块发送的渲染任务,执行渲染操作,并将渲染图传送给所述后台服务器模块;
客户端,与所述后台服务器模块连接,用于获取模型数据,并执行指定部位的材质替换操作,然后将部位和材质的对应关系数据发送到所述后台服务器模块。
优选地,在上述定向快速渲染三维模型的系统中,所述客户端包括模型数据管理模块和模型部位换材质模块,所述模型数据管理模块与所述模型部位换材质模块双向连接,所述模型数据管理模块用于从所述后台服务器模块中拉取模型文件,并将部位和材质的对应关系数据发送到所述后台服务器模块中,所述模型部位换材质模块用于执行指定部位的材质替换操作。
优选地,在上述定向快速渲染三维模型的系统中,所述模型数据管理模块包括模型数据获取单元和渲染数据上传单元,所述模型部位换材质模块包括模型部位识别单元和模型部位替换单元;
所述模型数据获取单元与所述后台服务器模块连接,用于从所述后台服务器模块中拉取模型文件,所述模型部位识别单元和所述模型部位替换单元用于对指定部位进行指定材质的替换操作,所述渲染数据上传单元用于将部位和材质的对应关系数据发送到所述后台服务器模块。
优选地,在上述定向快速渲染三维模型的系统中,所述后台服务器模块包括模型材质收发单元、模型数据管理单元、渲染数据收发单元和存储单元;
所述模型材质收发单元与所述模型材质文件导出脚本模块连接,用于接收自所述模型材质文件导出脚本模块导出的模型文件与材质球文件,并将接收的模型文件与材质球文件上传到所述渲染服务器模块进行渲染;
所述模型数据管理单元的信息输入端连接所述模型材质收发单元,用于将上传的模型文件和材质球文件进行归档分类,所述模型数据管理单元的信息输出端连接所述模型数据获取单元,用于为所述模型数据获取单元提供模型数据;
所述渲染数据收发单元的信息输入端连接所述渲染数据上传单元,用于接收所述渲染数据上传单元发送的渲染数据,以及将所述渲染数据上传单元发送的渲染任务存储在所述渲染数据收发单元中;所述渲染数据收发单元的信息输出端连接所述渲染服务器模块,用于供所述渲染服务器模块拉取所述渲染数据收发单元中的渲染任务以及对应该渲染任务的渲染数据;
所述存储单元与所述渲染服务器模块连接,用于存储所述渲染服务器模块渲染输出的渲染图。
优选地,在上述定向快速渲染三维模型的系统中,所述渲染服务器模块包括模型渲染数据管理单元、材质球管理单元、模型渲染数据替换单元、渲染单元以及渲染数据管理单元;
所述材质球管理单元与所述模型材质收发单元的信息输出单连接,用于存储管理所述模型材质收发单元上传的材质文件,并在所述渲染服务器模块启动时自动读取所有材质球文件到内存中;
所述模型渲染数据管理单元的信息输入端与所述渲染数据收发单元的信息输出端连接,按照渲染任务优先级由高到低依次读取所述渲染数据收发单元中的渲染任务;
所述模型渲染数据替换单元的信息输入端分别与所述材质球管理单元和所述模型渲染数据管理单元连接,用于读取模型材质与部位对应文件,根据渲染数据得到需要替换的部位与材质,使用材质球数据生成相应的材质参数,并适用该生成的材质替换指定部位的材质;
所述渲染单元的信息输入端与所述模型渲染数据替换单元连接,所述渲染单元的信息输出端与所述渲染数据管理单元连接,用于对替换了指定部位材质的模型进行渲染并将渲染图发送给所述渲染数据管理单元进行归档;
所述渲染数据管理单元的信息输出端与所述存储单元连接,用于将归档的渲染图存储在存储单元内。
优选地,在上述定向快速渲染三维模型的系统中,在材质与部位对应文件中,材质与部位的对应关系关系数据是:
{"vr_N1_N2_N3_auto.GIF":[n],"vr_(n+2).GIF":[n+1],"list":["name.i_materia(n+2)."]},其中list字段为模型材质名称列表,vr_N1_N2_N3_auto.jpg格式的字段为纯色贴图名称,值为贴图对应的材质列表索引数组,从0开始,其中vr_(n+2).jpg为图片贴图名称,值为贴图对应的材质列表索引数组,从0开始。
优选地,在上述定向快速渲染三维模型的系统中,所述后台服务器模块中还设有与所述存储单元双向连接的图片管理单元,所述客户端中还设有显示模块和调取单元,所述图片管理单元和所述显示模块分别与所述调取单元连接,所述图片管理单元与所述显示模块连接。
优选地,在上述定向快速渲染三维模型的系统中,所述后台服务器模块接收所述材质球文件和模型文件时进行无用内容过滤以及检查所述模型文件是否齐全,并按符合渲染的物理规则对关键字进行替换操作,无错后上传到渲染服务器模块。
优选地,在上述定向快速渲染三维模型的系统中,在所述渲染服务器模块执行渲染操作时还包括图像的噪声消除,所述噪声消除的步骤包括:
S601、依据算法G=max{w0(t)*[u0(t)-u]2+w1(t)*[u1(t)-u]2}确定图像的前景色和背景色的最大方差值G,其中,w0为背景比例,u0为背景均值,w1为前景比例,u1为前景均值,u为整幅图像的均值;
S602、确定图像噪声的分布区域为:其中,n为图像灰度级,hist()为渲染图像的图像灰度直方图,a和b为图像灰度直方图上选取的两点,其范围值为a∈[30,45],b∈[180,240];
S603、通过最大类间方差OTSU算法确定图像噪声区间在(0,a)和(b,2n-1)上的两个噪声阈值点OTSU[(0,a)]和OTSU[(b,2n-1)];
Xdown=min[F(x+1)-F(x)],x∈(0,a)
S604、通过公式Xtop=max[F(x+1)-F(x)],x∈(b,2n-1)确定图像的亮、暗噪声区间内相邻灰度之间的像素个数差分的极值点,其中,F(x+1),F(x)为灰度直方图上相邻两个灰度值的像素个数;
S605、确定图像噪声区间分别在(0,a)和(b,2n-1)上的噪声阈值的加权阈值为:
D=OTSU[(0,a)]*w+Xdown*(1-w)
T=OTSU[(b,2n-1)]*Xtop*(1-w),,
其中,w为权重系数;
S606,图像噪声点的替换,先判断图像上的当前像素点I(x,y)是否为噪声像素,如果是,则使用上一像素点的灰度值替换此当前像素点的灰度值。
优选地,在上述定向快速渲染三维模型的系统中,在步骤S106中,判断图像上的当前像素点I(x,y)是否为噪声像素的判断条件为:
(1)I(x,y)≤D||I(x,y)≥T;
(2)D<I(x-1,y)<T;
若图像上的当前像素点I(x,y)满足判断条件(1),则当前该像素点I(x,y)为噪点,若同时满足判断条件(2),则将当前该像素点I(x,y)的灰度值替换为上一像素点的灰度值。
优选地,在上述定向快速渲染三维模型的系统中,判断图像上的当前像素点I(x,y)是否为噪声像素的判断条件(2)也可以为:D<I(x,y-1)<T。
优选地,在上述定向快速渲染三维模型的系统中,权重系数w的取值范围为:0.3≤w≤0.45。
本发明的有益效果是:本发明的方法可快速准确地将所需材质替换到三维模型的指定部位,渲染更加准确灵活,渲染风格的统一性更易把控。指定部位的材质替换过程是通过当前选择的Surface面获取对应的贴图名称,并通过建立的漫反材质的贴图名称和Surface的对应关系,查找出所有采用此贴图名称的Surface,并一一将贴图替换成新的贴图。该材质替换过程简单快捷,尤其在进行大量的贴图替换时,可节省大量的人工和时间成本。在渲染过程中,进一步通过对图像噪声进行消除,使渲染出的效果图更加逼真,材质贴图更加细腻,具有更好地视觉呈现效果。
附图说明
图1为本发明实施例一整体模块结构原理框图;
图2为本发明实施例一细节模块结构原理框图;
图3为本发明实施例一客户端图片调取渲染图的模块结构框图;
图4为本发明实施例一全局流程示意图;
图5为本发明实施例一渲染流程示意图;
图6为本发明实施例二渲染流程示意图。
具体实施方式
为了对本发明作出更加清楚完整地说明,下面结合附图和本发明的具体实施例对本发明的技术方案作出进一步说明。
为解决现有技术下三维模型的部位不能准确快捷地进行局部材质替换这一问题,本发明提出了一种定向快速渲染三维模型的系统,具体如下述实施例所述。
实施例一:
如图1所示,该系统包括:模型材质文件导出脚本模块10、后台服务器模块20、渲染服务器模块40和客户端30。模型材质文件导出脚本模块10用于导出模型文件与材质球文件,后台服务器模块20与模型材质文件导出脚本模块10连接,用于接收自模型材质文件导出脚本模块10导出的模型文件与材质球文件,并将接收的模型文件与材质球文件上传渲染。渲染服务器模块40与后台服务器模块20连接,用于接收后台服务器模块20发送的渲染任务,执行渲染操作,并将渲染图传送给后台服务器模块20。客户端30与后台服务器模块20连接,用于获取模型数据,并执行指定部位的材质替换操作,然后将部位和材质的对应关系数据发送到后台服务器模块20。后台服务器模块20接收材质球文件和模型文件时进行无用内容过滤以及检查模型文件是否齐全,并按符合渲染的物理规则对关键字进行替换操作,无错后上传到渲染服务器模块40。
具体的,在本发明的实施例一中,如图2所示,客户端30包括模型数据管理模块31和模型部位换材质模块32,模型数据管理模块31与模型部位换材质模块32双向连接。模型数据管理模块31用于从后台服务器模块20中拉取模型文件,并将部位和材质的对应关系数据发送到后台服务器模块20中。模型部位换材质模块32则用于执行指定部位的材质替换操作。模型数据管理模块31包括模型数据获取单元311和渲染数据上传单元312,模型部位换材质模块32包括模型部位识别单元321和模型部位替换单元322。模型数据获取单元311与后台服务器模块20连接,用于从后台服务器模块20中拉取模型文件。模型部位识别单元321和模型部位替换单元322用于对指定部位进行指定材质的替换操作,渲染数据上传单元312用于将部位和材质的对应关系数据发送到后台服务器模块20。在材质与部位对应文件中,材质与部位的对应关系关系数据是:
{"vr_N1_N2_N3_auto.GIF":[n],"vr_(n+2).GIF":[n+1],"list":["name.i_materia(n+2)."]},其中list字段为模型材质名称列表,vr_N1_N2_N3_auto.jpg格式的字段为纯色贴图名称,值为贴图对应的材质列表索引数组,从0开始,其中vr_(n+2).jpg为图片贴图名称,值为贴图对应的材质列表索引数组,从0开始。
具体的,在本发明的实施例一中,后台服务器模块20包括模型材质收发单元201、模型数据管理单元203,渲染数据收发单元202和存储单元204。模型材质收发单元201与模型材质文件导出脚本模块10连接,用于接收自模型材质文件导出脚本模块10导出的模型文件与材质球文件,并将接收的模型文件与材质球文件上传到渲染服务器模块40进行渲染。在本发明的优选的实施例一中,模型文件为A3D文件,材质球文件为vrscene文件。
模型数据管理单元203的信息输入端连接模型材质收发单元201,用于将上传的模型文件和材质球文件进行归档分类,模型数据管理单元203的信息输出端连接模型数据获取单元311,用于为模型数据获取单元311提供模型数据。渲染数据收发单元202的信息输入端连接渲染数据上传单元312,用于接收渲染数据上传单元312发送的渲染数据,以及将渲染数据上传单元312发送的渲染任务存储在渲染数据收发单元202中。渲染数据收发单元202的信息输出端连接渲染服务器模块40,用于供渲染服务器模块40拉取渲染数据收发单元202中的渲染任务以及对应该渲染任务的渲染数据。存储单元204与渲染服务器模块40连接,用于存储渲染服务器模块40渲染输出的渲染图。
具体的,在本发明的实施例一中,渲染服务器模块40包括模型渲染数据管理单元402、材质球管理单元401、模型渲染数据替换单元403、渲染单元404以及渲染数据管理单元405。材质球管理单元401与模型材质收发单元201的信息输出单连接,用于存储管理模型材质收发单元201上传的材质文件,并在渲染服务器模块40启动时自动读取所有材质球文件到内存中。模型渲染数据管理单元402的信息输入端与渲染数据收发单元202的信息输出端连接,按照渲染任务优先级由高到低依次读取渲染数据收发单元202中的渲染任务。
模型渲染数据替换单元403的信息输入端分别与材质球管理单元401和模型渲染数据管理单元402连接,用于读取模型材质与部位对应文件,然后根据渲染数据得到需要替换的部位与材质,以及使用材质球数据生成相应的材质参数,并适用该生成的材质替换指定部位的材质。渲染单元401的信息输入端与模型渲染数据替换单元403连接,渲染单元404的信息输出端与渲染数据管理单元405连接,用于对替换了指定部位材质的模型进行渲染并将渲染图发送给渲染数据管理单元405进行归档。渲染数据管理单元405的信息输出端与存储单元204连接,用于将归档的渲染图存储在存储单元204内,存储模式可以采用索引模式。
具体的,在本发明的实施例一中,如图3所示,后台服务器模块20中还设有与存储单元204双向连接的图片管理单元205,客户端30中还设有显示模块33和调取单元34。图片管理单元205和显示模块33分别与调取单元34连接,图片管理单元205与显示模块33连接。在需要调取渲染图时,通过客户端30的调取单元34向后台服务器模块20中的图片管理单元205提交调取请求,图片管理单元205相应该调取请求,并检索出存储单元204中对应的该渲染图,然后经图片管理单元205发送给显示模块33进行显示。
具体的,运用本发明的系统进行三维模型的定向快速渲染时,其定向快速渲染方法包括如下步骤:
S1、通过模型材质文件导出脚本模块10导出需要的模型文件与材质球文件,作为渲染对象和材质贴图对象的基础数据源。在本发明的优选实施例中,模型文件和材质球文件通过三维软件3Dmax导出。材质球文件的建立步骤是:打开[Material Editor]窗口,选择第一个材质球,调制一种“红木地板”材质,然后单击[获取材质]按钮,在弹出的[Material/Map Browser]对话框中,选择窗口左侧的[Mtl Library],单击[Save As]按钮。如果在[Material/Map Browser]对话框中有材质,就单击[清除材质库]按钮,将当前的材质全部删除。在弹出的[Save Material Library]对话框中选择一个路径,在[文件名]文本框中输入“材质文件库”,然后单击[保存]按钮。
保存后,就创建了一个名称为“材质文件库.mat”的新的空材质库,设置好的材质可以保存到该新建的空材质库中。选择前述设置好的”红木地板“材质,在[MaterialEditor]窗口中单击工具栏上的[放入库]按钮,在弹出的[Put To Library]对话框中单击[OK]。此时,已调配好的“红木地板”材质便保存到“材质文件库.mat”中。再设置另外的其他材质,如“大理石地板”材质、“磨砂玻璃”材质、“乳胶漆墙面”材质、“毡毛地毯”材质、“石膏线条”材质、“榉木台板”等等。分别将这些设置好的材质保存到“材质文件库.mat”中,以备后用。当完成各材质后,在[Material/Map Browser]对话框中,单击一下[Save]按钮,将常用的材质全部保存在“材质文件库.mat”中,然后导出。
S2、通过后台服务器模块20将步骤S1导出的所述模型文件与所述材质球文件上传到渲染服务器模块40,将基础数据源存储在渲染服务器中模块40,以备后续调用。
S3、客户端30从渲染服务器模块40拉取相应模型文件,并实现指定部位换材质。根据渲染部位和该渲染部位的材质需求,通过客户端生成渲染数据和渲染命令,并通过客户端将渲染数据和渲染命令发送给后台服务器模块20。
具体的步骤包括:
S301、客户端10遍历模型所有的Mesh;
S302、遍历Mesh的所有Surface对象,如果Surface的材质为漫反材质,则建立漫反材质的贴图名称和Surface的对应关系。
S303、用户选择模型的Surface面并进行材质替换操作;
S304、通过当前选择的Surface面,获取对应的贴图名称,并通过步骤S302中建立的对应关系,查找出所有采用此贴图名称的Surface,并一一将贴图替换成新的贴图;
S305、将已替换的贴图名称和新的材质对应关系发送到后台渲染服务器模块20。
S4、后台服务器模块20接收到客户端10发送的渲染数据,将渲染任务放到渲染队列中。后台服务器模块20在接收到客户端发送的渲染数据和渲染命令后,后台服务器模块20调取相应的渲染部位和相应的材质球文件,根据渲染命令执行渲染操作。
S5、渲染服务器模块40启动时自动读取所有材质球文件到内存中,然后依次读取渲染队列中的任务,渲染任务按照渲染队列中的优先级顺序进行读取。渲染队列中渲染任务的优先级规则是:首先根据Camera的depth来排序,depth高的后渲染,然后根据renderqueue分出是否是半透明材质,renderqueue>2500,就属于半透明材质渲染,renderqueue≤2500就是不透明材质渲染,渲染时,不透明材质一定在半透明材质之前渲染,即不透明材质的渲染优先级高于半透明材质的渲染优先级。当属于同种类型,即同为透明或者同为不透明的材质时,则根据renderqueue的值来排序,renderqueue高的后渲染。如果材质类型相同,即同为透明或者同为不透明,而RQ又相同,那么优先级由sortring layer和sorting order来排序决定,且layer优先级高于order,并且排序规则都是值高的后渲染。离相机的距离z仅在其他这些条件都相同的时候才能起作用,对于不透明材质是离得近的先渲染,即先画近的后画远的,因为近的会遮挡远的,这样画远的时候可以少画一些。对于半透明材质是离得远的先渲染,即先画远的后画近的,因为是透明,如果先画近的效果就不对。综合一下渲染优先级:Camera.Depth>材质类型(是否透明,由RQ来判断)>renderQueue>sorting layer>sorting order>离相机距离。
但是如果在同一个相机下,两个材质相同的话,即材质相同是RQ相同的充分条件,材质相同则RQ相同,但是RQ相同不代表材质相同,GPU只会画一次。
S6、渲染服务器模块40通过拉取渲染队列中的任务得到数据,并进行模型材质替换,通过渲染单元404开始渲染。
S7、渲染完成,渲染服务器模块40将渲染图上传到后台服务器模块20中保存。
具体的,在本发明的优选实施例中,步骤S1的具体步骤包括:
S101、使用3DMax制作模型文件和材质球文件,也可以通过网络资源在线下载免费的模型文件和材质球文件素材;
S102、使用模型材质文件导出脚本模块10生成的A3D文件、vrscene文件、材质与部位对应文件;
S103、使用模型材质文件导出脚本模块10导出各种材质球的vrscene文件。
在材质与渲染部位对应文件中,材质与部位的对应关系通过构建索引数组来完成关系的建立,通过将一个模型的不同部位图片、贴图、材质球文件建立索引数组,渲染前的数据准备工作是给每个不同曲面的图片指定相应的贴图,贴图再指定相应的材质球文件,通过索引的方式快速定位渲染部位、在该渲染部位的贴图以及应用在该渲染部位的贴图上的材质球文件。具体的关系表达式为:{"vr_N1_N2_N3_auto.GIF":[n],"vr_(n+2).GIF":[n+1],"list":["name.i_materia(n+2)."]},n≥0。其中list字段为模型材质名称列表,vr_N1_N2_N3_auto.jpg格式的字段为纯色贴图名称,值为贴图对应的材质列表索引数组,从0开始,其中vr_(n+2).jpg为图片贴图名称,值为贴图对应的材质列表索引数组,从0开始。具体的,举例说明:{"vr_48_116_179_auto.GIF":[0],"vr_2.GIF":[1],"vr_3.GIF":[2],"vr_4.GIF":[3],"vr_5.GIF":[4],"vr_6.GIF":[5],"list":["fghfghf_material1","bz1_material2","fghgfhre_material3","sf1_material4","bz1345_material5","tvgui_material6"]},其中list字段为模型材质名称列表,vr_[数子]_[数字]_[数字]_auto.jpg格式的字段为纯色贴图名称,值为贴图对应的材质列表索引数组,从0开始,其中vr_[数字].jpg为图片贴图名称,值为贴图对应的材质列表索引数组,从0开始。
步骤S2的具体步骤是:根据不同材质分类上传对应的材质球的vrscene文件到渲染服务器模块40,作为材质文件的基础数据,便于后期对材质文件的调用。在上传过程中,后台服务器模块20对vrscenc文件进行无用内容过滤,并按渲染的物理规则对关键字进行替换操作,无错后上传到渲染服务器模块40。上传模型文件到渲染服务器模块40后,后台服务器模块20检查模型文件是否齐全,并对vrscenc文件进行无用内容过滤和按渲染的物理规则对关键字进行替换操作,无错后发送到渲染服务器模块40。
渲染的物理规则是指使用真实的渲染/光照模型以及测量得到的表面值来准确地表示真实世界中的材质。度量这些测量值对应的术语包括反照率、微观表面、反射率、菲涅尔、环境遮挡和空腔贴图,在实际工作中,出于工作习惯,人们对文件或者命令的关键字命名没有遵循上述的术语表达,在响应和识别时可能出现误差,因此,需要对无用的文件或者命令进行无用内容过滤,以及对关键字进行替换,使之符合既定的术语命名。反照率定义了漫反射光的颜色,反照率与传统漫反射之间的最大差异之一是缺乏方向光或环境遮挡。方向光向光在某些光照条件下看起来不正确,而环境遮挡应该在单独的环境遮挡(AO)槽中添加。反照率有时包含的东西会多于漫反射颜色,当使用金属贴图的时候,反照率定义了绝缘体(非金属)的漫反射颜色和金属表面的反射率。微观表面定义了材质表面的粗糙度或是平滑度,较粗糙的表面将显示更宽但是更暗的镜面反射,而较光滑的表面将显示更亮但却更清晰的镜面反射。反射率是光在表面反射的百分比,所有类型的反射率(也称为基础反射率或是F0)输入,包括镜面高光反射,金属和IOR,都定义了当从上方看的时候表面的反射程度,而菲涅尔定义了表面在掠角时的反射率。结合能量守恒的概念,可以推论出表面变化通常应在微观表面贴图中表示,而不是在反射率贴图中表示。对于给定的材质类型,反射率往往保持恒定,反射颜色对于绝缘体来说往往是中性/白色的,仅仅在金属的情况下才有颜色。因此,在有专门金属贴图的情况下,可以丢弃专门用来描述反射强度/颜色(通常称为镜面高光贴图)的贴图。此类贴图即能量守恒的概念表明,物体不能反射的光比它所获得的光更多,即使用了更多漫反射和更粗糙的材质将反射出更暗哑更均匀的亮点,而更光滑、更反光的材质将反射出更亮更集中的亮点。
当使用金属贴图的时候,绝缘表面-金属贴图被设置为0.0(黑色)的像素,被赋予固定的反射率值(线性:0.04sRGB:0.22),并使用反照率贴图作为漫反射值。对于金属表面-金属贴图中被设置为1.0(白色)的像素金-镜面高光的颜色和强度取自反照率贴图,漫反射的值在着色器中设置为0(黑色)。金属贴图中的灰度值将被视为部分金属,并将从反照率贴图中取出反射率,并将漫反射值与该值成比例地变暗。
IOR是定义反射率的另一种方法,相当于镜面高光和金属输入,与镜面高光输入的最大差异在于IOR值是用差分刻度来定义的。IOR刻度确定的是光线相对于真空穿过这个材质的速度。IOR值为1.33(水)意味着光通过水比它穿过真空的速度慢1.33倍。对于绝缘体,IOR值不需要颜色信息,可以直接输入到索引字段,而消光字段应设置为0。对于反射带有颜色的金属来说,需要输入红色,绿色和蓝色通道的值。这可以通过图像来映射一个输入(其中映射的每个通道都包含正确的值)来完成。菲涅尔是表面在掠射角对光反射的百分比,菲涅尔通常应设置为1,并且与金属反射率模块一起锁定为1。因为所有类型的材质在掠射角的时候都变为100%反射。通过光泽贴图的内容,微表面差异会自动计算导致表面更亮或是更暗的菲涅尔效应。
环境遮挡(AO)表示的是大规模被遮挡的光,通常是从3d模型中烘焙得到。将环境遮挡添加为单独的贴图,而不是将其烘焙到反照率贴图和镜面高光贴图中,这样可以使得着色器能够以更智能的方式使用它。举个简单的例子来说,环境遮挡功能仅阻挡环境漫反射光,而不是来自动态光的直接漫反射光或是任何类型的镜面高光反射。空腔贴图表示小规模被遮挡的光照,并且通常由3d模型或是法线贴图烘焙得来。空腔贴图应仅包含表面的凹的区域(凹坑),而不该包含凸的区域,因为空腔贴图的值会被乘以其他值。内容大部分应该为白色,较暗的部分表示光线被困住的表面凹陷区域。空腔贴图影响环境和动态光源的漫反射和镜面高光反射。或者,反射遮挡贴图可以被加载到空腔槽中,将反射遮挡贴图可以被加载到空腔槽的前提是确保将漫反射空腔值设置为0。
具体的,在本发明的优选实施例中,渲染服务器模块40在执行渲染操作时还包括对图像的噪声消除,噪声消除的步骤包括:
S601、依据算法G=max{w0(t)*[u0(t)-u]2+w1(t)*[u1(t)-u]2}确定图像的前景色和背景色的最大方差值G,其中,w0为背景比例,u0为背景均值,w1为前景比例,u1为前景均值,u为整幅图像的均值;
S602、确定图像噪声的分布区域为:其中,n为图像灰度级,hist()为渲染图像的图像灰度直方图,a和b为图像灰度直方图上选取的两点,其范围值为a∈[30,45],b∈[180,240];
S603、通过最大类间方差OTSU算法确定图像噪声区间在(0,a)和(b,2n-1)上的两个噪声阈值点OTSU[(0,a)]和OTSU[(b,2n-1)];
Xdown=min[F(x+1)-F(x)],x∈(0,a)
S604、通过公式Xtop=max[F(x+1)-F(x)],x∈(b,2n-1)确定图像的亮、暗噪声区间内相邻灰度之间的像素个数差分的极值点,其中,F(x+1),F(x)为灰度直方图上相邻两个灰度值的像素个数;
S605、确定图像噪声区间分别在(0,a)和(b,2n-1)上的噪声阈值的加权阈值为:
D=OTSU[(0,a)]*w+Xdown*(1-w)
T=OTSU[(b,2n-1)]*Xtop*(1-w),,
其中,w为权重系数;
S606,图像噪声点的替换,先判断图像上的当前像素点I(x,y)是否为噪声像素,如果是,则使用上一像素点的灰度值替换此当前像素点的灰度值。
在步骤S606中,判断图像上的当前像素点I(x,y)是否为噪声像素的判断条件为:
(1)I(x,y)≤D||I(x,y)≥T;
(2)D<I(x-1,y)<T;
若图像上的当前像素点I(x,y)满足判断条件(1),则当前该像素点I(x,y)为噪点,若同时满足判断条件(2),则将当前该像素点I(x,y)的灰度值替换为上一像素点的灰度值。权重系数w的取值范围为:0.3≤w≤0.45,具体的,优选权重系数w的取值为0.35。
实施例二:
在本发明的实施例二中,与上述的实施例一不同的地方在于,判断图像上的当前像素点I(x,y)是否为噪声像素的判断条件(2)也可以为:D<I(x,y-1)<T。除该区别外,其他技术特征均相同。
综上所述,本发明的方法可快速准确地将所需材质替换到三维模型的指定部位,渲染更加准确灵活,渲染风格的统一性更易把控。指定部位的材质替换过程是通过当前选择的Surface面获取对应的贴图名称,并通过建立的漫反材质的贴图名称和Surface的对应关系,查找出所有采用此贴图名称的Surface,并一一将贴图替换成新的贴图。该材质替换过程简单快捷,尤其在进行大量的贴图替换时,可节省大量的人工和时间成本。在渲染过程中,进一步通过对图像噪声进行消除,使渲染出的效果图更加逼真,材质贴图更加细腻,具有更好地视觉呈现效果。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种定向快速渲染三维模型的系统,其特征在于,包括:
模型材质文件导出脚本模块,用于导出模型文件以及材质球文件;
后台服务器模块,与所述模型材质文件导出脚本模块连接,用于接收自所述模型材质文件导出脚本模块导出的模型文件与材质球文件,并将接收的模型文件与材质球文件上传渲染;
渲染服务器模块,与所述后台服务器模块连接,用于接收所述后台服务器模块发送的渲染任务,执行渲染操作,并将渲染图传送给所述后台服务器模块;
客户端,与所述后台服务器模块连接,用于获取模型数据,并执行指定部位的材质替换操作,然后将部位和材质的对应关系数据发送到所述后台服务器模块。
2.根据权利要求1所述的定向快速渲染三维模型的系统,其特征在于,所述客户端包括模型数据管理模块和模型部位换材质模块,所述模型数据管理模块与所述模型部位换材质模块双向连接,所述模型数据管理模块用于从所述后台服务器模块中拉取模型文件,并将部位和材质的对应关系数据发送到所述后台服务器模块中,所述模型部位换材质模块用于执行指定部位的材质替换操作。
3.根据权利要求2所述的定向快速渲染三维模型的系统,其特征在于,所述模型数据管理模块包括模型数据获取单元和渲染数据上传单元,所述模型部位换材质模块包括模型部位识别单元和模型部位替换单元;
所述模型数据获取单元与所述后台服务器模块连接,用于从所述后台服务器模块中拉取模型文件,所述模型部位识别单元和所述模型部位替换单元用于对指定部位进行指定材质的替换操作,所述渲染数据上传单元用于将部位和材质的对应关系数据发送到所述后台服务器模块。
4.根据权利要求3所述的定向快速渲染三维模型的系统,其特征在于,所述后台服务器模块包括模型材质收发单元、模型数据管理单元、渲染数据收发单元和存储单元;
所述模型材质收发单元与所述模型材质文件导出脚本模块连接,用于接收自所述模型材质文件导出脚本模块导出的模型文件与材质球文件,并将接收的模型文件与材质球文件上传到所述渲染服务器模块进行渲染;
所述模型数据管理单元的信息输入端连接所述模型材质收发单元,用于将上传的模型文件和材质球文件进行归档分类,所述模型数据管理单元的信息输出端连接所述模型数据获取单元,用于为所述模型数据获取单元提供模型数据;
所述渲染数据收发单元的信息输入端连接所述渲染数据上传单元,用于接收所述渲染数据上传单元发送的渲染数据,以及将所述渲染数据上传单元发送的渲染任务存储在所述渲染数据收发单元中;所述渲染数据收发单元的信息输出端连接所述渲染服务器模块,用于供所述渲染服务器模块拉取所述渲染数据收发单元中的渲染任务以及对应该渲染任务的渲染数据;
所述存储单元与所述渲染服务器模块连接,用于存储所述渲染服务器模块渲染输出的渲染图。
5.根据权利要求4所述的定向快速渲染三维模型的系统,其特征在于,所述渲染服务器模块包括模型渲染数据管理单元、材质球管理单元、模型渲染数据替换单元、渲染单元以及渲染数据管理单元;
所述材质球管理单元与所述模型材质收发单元的信息输出单连接,用于存储管理所述模型材质收发单元上传的材质文件,并在所述渲染服务器模块启动时自动读取所有材质球文件到内存中;
所述模型渲染数据管理单元的信息输入端与所述渲染数据收发单元的信息输出端连接,按照渲染任务优先级由高到低依次读取所述渲染数据收发单元中的渲染任务;
所述模型渲染数据替换单元的信息输入端分别与所述材质球管理单元和所述模型渲染数据管理单元连接,用于读取模型材质与部位对应文件,根据渲染数据得到需要替换的部位与材质,使用材质球数据生成相应的材质参数,并适用该生成的材质替换指定部位的材质;
所述渲染单元的信息输入端与所述模型渲染数据替换单元连接,所述渲染单元的信息输出端与所述渲染数据管理单元连接,用于对替换了指定部位材质的模型进行渲染并将渲染图发送给所述渲染数据管理单元进行归档;
所述渲染数据管理单元的信息输出端与所述存储单元连接,用于将归档的渲染图存储在存储单元内。
6.根据权利要求3所述的定向快速渲染三维模型的系统,其特征在于,在材质与部位对应文件中,材质与部位的对应关系关系数据是:
{"vr_N1_N2_N3_auto.GIF":[n],"vr_(n+2).GIF":[n+1],"list":["name.i_m ateria(n+2)."]},其中list字段为模型材质名称列表,vr_N1_N2_N3_auto.jpg格式的字段为纯色贴图名称,值为贴图对应的材质列表索引数组,从0开始,其中vr_(n+2).jpg为图片贴图名称,值为贴图对应的材质列表索引数组,从0开始。
7.根据权利要求4所述的定向快速渲染三维模型的系统,其特征在于,所述后台服务器模块中还设有与所述存储单元双向连接的图片管理单元,所述客户端中还设有显示模块和调取单元,所述图片管理单元和所述显示模块分别与所述调取单元连接,所述图片管理单元与所述显示模块连接。
8.根据权利要求1所述的定向快速渲染三维模型的系统,其特征在于,所述后台服务器模块接收所述材质球文件和模型文件时进行无用内容过滤以及检查所述模型文件是否齐全,并按符合渲染的物理规则对关键字进行替换操作,无错后上传到渲染服务器模块。
9.根据权利要求1所述的定向快速渲染三维模型的系统,其特征在于,在所述渲染服务器模块执行渲染操作时还包括图像的噪声消除,所述噪声消除的步骤包括:
S601、依据算法G=max{w0(t)*[u0(t)-u]2+w1(t)*[u1(t)-u]2}确定图像的前景色和背景色的最大方差值G,其中,w0为背景比例,u0为背景均值,w1为前景比例,u1为前景均值,u为整幅图像的均值;
S602、确定图像噪声的分布区域为:其中,n为图像灰度级,hist()为渲染图像的图像灰度直方图,a和b为图像灰度直方图上选取的两点,其范围值为a∈[30,45],b∈[180,240];
S603、通过最大类间方差OTSU算法确定图像噪声区间在(0,a)和(b,2n-1)上的两个噪声阈值点OTSU[(0,a)]和OTSU[(b,2n-1)];
S604、通过公式确定图像的亮、暗噪声区间内相邻灰度之间的像素个数差分的极值点,其中,F(x+1),F(x)为灰度直方图上相邻两个灰度值的像素个数;
S605、确定图像噪声区间分别在(0,a)和(b,2n-1)上的噪声阈值的加权阈值为:
D=OTSU[(0,a)]*w+Xdown*(1-w)
T=OTSU[(b,2n-1)]*Xtop*(1-w),,
其中,w为权重系数;
S606,图像噪声点的替换,先判断图像上的当前像素点I(x,y)是否为噪声像素,如果是,则使用上一像素点的灰度值替换此当前像素点的灰度值。
10.根据权利要求9所述的定向快速渲染三维模型的系统,其特征在于,在步骤S106中,判断图像上的当前像素点I(x,y)是否为噪声像素的判断条件为:
(1)I(x,y)≤D||I(x,y)≥T;
(2)D<I(x-1,y)<T;
若图像上的当前像素点I(x,y)满足判断条件(1),则当前该像素点I(x,y)为噪点,若同时满足判断条件(2),则将当前该像素点I(x,y)的灰度值替换为上一像素点的灰度值。
11.根据权利要求10所述的定向快速渲染三维模型的系统,其特征在于,判断图像上的当前像素点I(x,y)是否为噪声像素的判断条件(2)也可以为:D<I(x,y-1)<T。
12.根据权利要求9所述的定向快速渲染三维模型的系统,其特征在于,权重系数w的取值范围为:0.3≤w≤0.45。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710825344.XA CN107590862A (zh) | 2017-09-14 | 2017-09-14 | 一种定向快速渲染三维模型的系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710825344.XA CN107590862A (zh) | 2017-09-14 | 2017-09-14 | 一种定向快速渲染三维模型的系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107590862A true CN107590862A (zh) | 2018-01-16 |
Family
ID=61051902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710825344.XA Pending CN107590862A (zh) | 2017-09-14 | 2017-09-14 | 一种定向快速渲染三维模型的系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107590862A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109523619A (zh) * | 2018-11-12 | 2019-03-26 | 厦门启尚科技有限公司 | 一种通过多角度打光的图片生成3d材质贴图的方法 |
CN109859538A (zh) * | 2019-03-28 | 2019-06-07 | 中广核工程有限公司 | 一种基于混合现实的关键设备培训系统及方法 |
CN110378991A (zh) * | 2018-11-07 | 2019-10-25 | 深圳格调网络运营有限公司 | 虚拟环境下模型与贴图的匹配方法 |
CN111563968A (zh) * | 2020-07-15 | 2020-08-21 | 杭州群核信息技术有限公司 | 一种在线的材质替换方法 |
CN112016019A (zh) * | 2020-08-25 | 2020-12-01 | 北京优锘科技有限公司 | 一种场景渲染调试方法及装置 |
CN112258616A (zh) * | 2020-10-23 | 2021-01-22 | 南京维伍网络科技有限公司 | 一种SketchUp到D5渲染器实时渲染的数据转换方法 |
CN112258613A (zh) * | 2020-10-23 | 2021-01-22 | 南京维伍网络科技有限公司 | 一种archicad到d5渲染器实时渲染的数据转换方法 |
CN114042311A (zh) * | 2021-11-15 | 2022-02-15 | 中国联合网络通信集团有限公司 | 信息处理方法、边缘服务器、电子设备、计算机介质 |
CN114637581A (zh) * | 2022-01-26 | 2022-06-17 | 武汉艺画开天文化传播有限公司 | 一种提交渲染模型的优化系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103035024A (zh) * | 2012-12-11 | 2013-04-10 | 南京我乐我居数码科技有限公司 | 一种基于三维虚拟平台的实体材质置换方法 |
CN105354865A (zh) * | 2015-10-27 | 2016-02-24 | 武汉大学 | 多光谱遥感卫星影像自动云检测方法及系统 |
KR20160023161A (ko) * | 2014-08-21 | 2016-03-03 | 디게이트 주식회사 | 광학 파라미터를 이용한 3차원 객체 렌더링 장치 |
CN107103638A (zh) * | 2017-05-27 | 2017-08-29 | 杭州万维镜像科技有限公司 | 一种虚拟场景与模型的快速渲染方法 |
-
2017
- 2017-09-14 CN CN201710825344.XA patent/CN107590862A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103035024A (zh) * | 2012-12-11 | 2013-04-10 | 南京我乐我居数码科技有限公司 | 一种基于三维虚拟平台的实体材质置换方法 |
KR20160023161A (ko) * | 2014-08-21 | 2016-03-03 | 디게이트 주식회사 | 광학 파라미터를 이용한 3차원 객체 렌더링 장치 |
CN105354865A (zh) * | 2015-10-27 | 2016-02-24 | 武汉大学 | 多光谱遥感卫星影像自动云检测方法及系统 |
CN107103638A (zh) * | 2017-05-27 | 2017-08-29 | 杭州万维镜像科技有限公司 | 一种虚拟场景与模型的快速渲染方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110378991A (zh) * | 2018-11-07 | 2019-10-25 | 深圳格调网络运营有限公司 | 虚拟环境下模型与贴图的匹配方法 |
CN109523619A (zh) * | 2018-11-12 | 2019-03-26 | 厦门启尚科技有限公司 | 一种通过多角度打光的图片生成3d材质贴图的方法 |
CN109859538A (zh) * | 2019-03-28 | 2019-06-07 | 中广核工程有限公司 | 一种基于混合现实的关键设备培训系统及方法 |
CN111563968A (zh) * | 2020-07-15 | 2020-08-21 | 杭州群核信息技术有限公司 | 一种在线的材质替换方法 |
CN112016019A (zh) * | 2020-08-25 | 2020-12-01 | 北京优锘科技有限公司 | 一种场景渲染调试方法及装置 |
CN112258616A (zh) * | 2020-10-23 | 2021-01-22 | 南京维伍网络科技有限公司 | 一种SketchUp到D5渲染器实时渲染的数据转换方法 |
CN112258613A (zh) * | 2020-10-23 | 2021-01-22 | 南京维伍网络科技有限公司 | 一种archicad到d5渲染器实时渲染的数据转换方法 |
CN112258616B (zh) * | 2020-10-23 | 2023-10-03 | 南京维伍网络科技有限公司 | 一种SketchUp到D5渲染器实时渲染的数据转换方法 |
CN112258613B (zh) * | 2020-10-23 | 2023-11-03 | 南京维伍网络科技有限公司 | 一种archicad到d5渲染器实时渲染的数据转换方法 |
CN114042311A (zh) * | 2021-11-15 | 2022-02-15 | 中国联合网络通信集团有限公司 | 信息处理方法、边缘服务器、电子设备、计算机介质 |
CN114637581A (zh) * | 2022-01-26 | 2022-06-17 | 武汉艺画开天文化传播有限公司 | 一种提交渲染模型的优化系统 |
CN114637581B (zh) * | 2022-01-26 | 2023-04-11 | 武汉艺画开天文化传播有限公司 | 一种提交渲染模型的优化系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107590862A (zh) | 一种定向快速渲染三维模型的系统 | |
CN107680153B (zh) | 一种基于三维模型替换指定部位材质的渲染出图方法 | |
CN105447906B (zh) | 基于图像和模型计算光照参数进行重光照渲染的方法 | |
CN105719327B (zh) | 一种艺术风格化图像处理方法 | |
CN101025829B (zh) | 基于图像的编辑方法及装置 | |
CN108537864A (zh) | 利用具有网络渲染层的神经网络编辑数字图像 | |
CN108986195B (zh) | 一种结合环境映射和全局光照渲染的单镜头混合现实实现方法 | |
Ikeuchi et al. | Digitally archiving cultural objects | |
Christensen | Point-based approximate color bleeding | |
CN107644453B (zh) | 一种基于物理着色的渲染方法及系统 | |
US20200035038A1 (en) | An Interactive Implementation Method for Mobile Terminal Display of 3D Model | |
CN105809733A (zh) | 基于SketchUp 的校园三维手绘地图构建方法 | |
CN107886552A (zh) | 贴图处理方法和装置 | |
CN109448086B (zh) | 基于稀疏实采数据的分拣场景平行数据集构建方法 | |
CN114241159A (zh) | 基于近景摄影测量法的三维重建与pbr贴图的制作方法 | |
CN107392990A (zh) | 渲染3d场景的全局照明 | |
Wang et al. | Lighting system for visual perception enhancement in volume rendering | |
US20220309735A1 (en) | Image rendering method and apparatus | |
Dulecha et al. | Synthps: a benchmark for evaluation of photometric stereo algorithms for cultural heritage applications | |
De Rousiers et al. | Real-time rendering of rough refraction | |
CN106683160A (zh) | 一种基于二维直方图的传递函数设计方法及装置 | |
Kang et al. | View-dependent scene appearance synthesis using inverse rendering from light fields | |
Srivastava et al. | An approach to pseudocoloring of grey scale image using deep learning technique | |
Bode et al. | Real-time multi-material reflectance reconstruction for large-scale scenes under uncontrolled illumination from rgb-d image sequences | |
Ingebo | Generation and Evaluation of Realistic Training Image Data for Machine Learning-Based Crack Detection |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180116 |