CN116228955A - 灯光渲染方法、装置、计算机设备及其介质 - Google Patents
灯光渲染方法、装置、计算机设备及其介质 Download PDFInfo
- Publication number
- CN116228955A CN116228955A CN202211698164.7A CN202211698164A CN116228955A CN 116228955 A CN116228955 A CN 116228955A CN 202211698164 A CN202211698164 A CN 202211698164A CN 116228955 A CN116228955 A CN 116228955A
- Authority
- CN
- China
- Prior art keywords
- information
- rendering
- lamplight
- current
- house type
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/506—Illumination models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/04—Architectural design, interior design
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02B—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
- Y02B20/00—Energy efficient lighting technologies, e.g. halogen lamps or gas discharge lamps
- Y02B20/40—Control techniques providing energy savings, e.g. smart controller or presence detection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请实施例属于渲染技术领域,尤其涉及灯光渲染方法、装置、计算机设备及其介质,其中,所述方法包括获取户型场景图像的当前灯光信息和当前相机信息,根据当前灯光信息和当前相机信息确定灯光的增量信息,并将灯光的增量信息生成渲染请求信息,将渲染请求信息发送至服务器,以使服务器根据渲染请求信息对户型场景图像进行渲染,若渲染成功,则将渲染得到的灯光渲染结果发送到前端界面,即仅对灯光的增量信息进行渲染而不是全量渲染,可以大大减小渲染的数据量,提高渲染效率,同时将渲染成功的灯光渲染结果进行预览展示,实现了渲染的实时性,便于用户查看渲染后的灯光效果。
Description
技术领域
本申请涉及渲染技术领域,尤其涉及灯光渲染方法、装置、计算机设备及其介质。
背景技术
灯光设计是装修设计中非常重要的环节,在装修设计软件中,一般使用虚拟光源描述光源的亮度、位置、颜色等信息,完成打光操作后检查打光效果是否符合预期。
由于灯光渲染根据用户对户型场景中光源的亮度、位置、颜色等信息进行调整操作后才能对户型场景逐帧渲染,渲染周期长。在无法及时预览的情况下,如果用户对当前的操作没有充分的把握,只能一次次调整和等待渲染后的渲染结果,导致渲染实时性差,同时,渲染过程中可能出现渲染服务异常问题,导致渲染失败或者由于产生较多不被真正应用于所生产的渲染图,渲染效率低。
由上述可知当前的灯光渲染方式存在渲染实时性差和渲染效率低的问题。
发明内容
本申请实施例的目的在于提出一种灯光渲染方法、装置、计算机设备及其介质,解决相关技术存在渲染实时性差和渲染效率低的问题。
为了解决上述技术问题,本申请实施例提供一种灯光渲染方法,包括:
获取户型场景图像的当前编辑信息,其中,当前编辑信息包括当前灯光信息和当前相机信息;
根据当前灯光信息和当前相机信息确定灯光的增量信息,并将灯光的增量信息生成渲染请求信息;
将渲染请求信息发送至服务器,以使服务器根据渲染请求信息对户型场景图像进行渲染;
若渲染成功,则将渲染得到的灯光渲染结果发送到前端界面。
为了解决上述技术问题,本申请实施例还提供一种灯光渲染装置,包括:
获取模块,用于获取户型场景图像的当前编辑信息,其中,当前编辑信息包括当前灯光信息和当前相机信息;
增量模块,用于根据当前灯光信息和当前相机信息确定灯光的增量信息,并将灯光的增量信息生成渲染请求信息;
渲染模块,用于将渲染请求信息发送至服务器,以使服务器根据渲染请求信息对户型场景图像进行渲染;
展示模块,用于若渲染成功,则将渲染得到的灯光渲染结果进行预览展示。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述灯光渲染方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的灯光渲染方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
通过获取户型场景图像的当前灯光信息和当前相机信息,根据当前灯光信息和当前相机信息确定灯光的增量信息,并将灯光的增量信息生成渲染请求信息,将渲染请求信息发送至服务器,以使服务器根据渲染请求信息对户型场景图像进行渲染,若渲染成功,则将渲染得到的灯光渲染结果发送到前端界面,即仅对灯光的增量信息进行渲染而不是全量渲染,可以大大减小渲染的数据量,提高渲染效率,同时将渲染成功的灯光渲染结果进行预览展示,实现了渲染的实时性,便于用户查看渲染后的灯光效果。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2是本申请的灯光渲染方法的一个实施例的流程图;
图3是本申请一实施例中的启动服务阶段的时序图;
图4是本申请一实施例中的调整亮度前的预览效果图;
图5是本申请一实施例中的调整亮度后的预览效果图;
图6是本申请一实施例中的预览虚拟打光效果的全流程图;
图7是本申请的灯光渲染装置的一个实施例示意图;
图8是本申请的计算机设备基本结构框图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
灯光渲染即光效渲染,光效渲染可以根据虚拟环境中的光线和材料属性,生成具有真实感的图像。这种技术通常用于计算机图形学应用中,如游戏开发和建筑可视化。它能够模拟光的行为,并且能够生成高质量的图像,这些图像具有出色的真实感和光影效果。
相关技术中,一般采用离线渲染、实时渲染的方式进行渲染或云渲染。其中,离线渲染例如为3D Studio Max(常简称为3d Max或3ds MAX),一把离线渲染通过使用本机的中央处理器(即CPU)逐帧绘制画面,绘制完成后在本机中查看渲染结果,虽然离线渲染的渲染视觉效果较佳,但渲染周期长,用户无法及时查看光效,实时性较差,且受制于中央处理器的处理性能。实时渲染例如为Unreal Engine 4,通过使用本机的图形处理器(即GPU)计算场景画面,从而实现实时展示渲染结果,虽然实时性较佳,但场景画面压缩,且受制于的GPU硬件性能。云渲染使用云端高性能中央处理器计算渲染效果,画面细腻逼真,但需轮询渲染进度,实时性较差,且轮询会在一定程度上造成网络资源的浪费。
基于此,本申请提供一种灯光渲染方法来解决上述技术问题。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的灯光渲染方法由服务器/终端设备执行,相应地,灯光渲染装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。本申请以客户端为浏览器为例,并对灯光渲染方法的实现过程进行详细的解释。
继续参考图2,图2本申请的灯光渲染方法的一个实施例的流程图,上述方法包括:
S201:获取户型场景图像的当前编辑信息,其中,当前编辑信息包括当前灯光信息和当前相机信息。
户型场景图像的获取方式包括但不限于浏览器可以通过用户在前端界面的编辑器设计得到,或者浏览器根据用户在前端界面中从多个户型场景图像选择得到,或者浏览器根据户型场景图像的地址或携带的标签从本地数据库或服务器中获取并导入到前端界面中。前端界面可以包括但不限于户型场景图像的展示区域、实时渲染的预览窗口(或预览容器)和编辑器。编辑器可以是二维或三维场景编辑器组件,可以用于渲染二维或三维模型。
在一些实施方式中,获取户型场景图像的当前编辑信息,包括:
向服务器发送启动请求信息,其中,启动请求信息包括户型场景图像的标签;
响应于服务器所推送的启动成功消息,获取户型场景图像的当前编辑信息,其中,启动成功消息为服务器查询到与标签匹配的户型场景图像时所启动的消息。
具体地,当浏览器检测到前端界面中的灯光设置界面被触发时,例如,浏览器的前端界面进入到灯光设置界面时,向服务器发送websocket服务的启动请求信息,其中,启动请求信息携带了浏览器的前端界面中户型场景图像的标签,该标签表示唯一标识符,服务器通过此标签可以从云端服务器读取户型场景图像的户型、模型等信息。若服务器从云端服务器中查询到与标签匹配的户型场景图像,则返回给浏览器启动成功消息,并建立浏览器与服务器的持久性连接。浏览器持续监听服务端推送的消息,包括服务状态、渲染任务的执行结果等;若服务器查询不到与标签匹配的户型场景图像,则向浏览器发送启动失败的消息,此时浏览器在前端界面提示“启动失败,重新启动”,用户通过点击“重新启动”空间后将可以再次尝试启动服务。如图3所示,图3是本申请一实施例中的启动服务阶段的时序图,通过客户端向服务器发起携带户型场景图像标签的启动请求信息,服务器将该户型场景图像标签发送给云端服务器,使得当云端服务器根据该户型场景图像标签匹配对应的历史户型场景图像时,云端服务器将匹配到家具、布局规划等户型场景图像的信息发送给服务器,以使服务器准备渲染服务,同时服务器初始化成功信号后,将初始化后的成功信号作为启动成功消息发送给客户端,并建立客户端和服务器的连接,使得览器和服务器的连接具有持久性,连接后可以进行双向数据传输,支持服务器向浏览器主动推送消息,无需浏览器持续发送查询请求。
其中,户型场景图像包括户型场景的灯光模型和户型场景所属的画布。灯光渲染涉及灯光信息和相机信息。灯光信息是将抽象虚拟的灯光模型转换为可描述打光效果的数据。灯光信息包括但不限于通过三维坐标或向量描述灯光的姿态,例如,通过三维坐标表示光源在户型场景图像中的位置,三维向量表示光源在x、y、z轴旋转分量,若光源有n个旋转轴,则需要n-1个三维向量;通过布尔值描述灯光的开启、关闭状态;通过RGB色值,描述灯光的颜色;通过数字描述灯光的亮度、色温等。相机信息用于透视投影相机,相机信息包括但不限于通过三维坐标表示相机的位置、朝向;通过数字表示相机的视野、画面的长宽比(构图比)等共同描述一个透视投影相机。相机信息决定了前端界面的预览窗口所展示的户型场景中的目标区域内容,例如,预览窗口展示客厅的背景墙、厨房的橱柜或者房间的书架等。
在一些实施方式中,获取户型场景图像的当前编辑信息,包括:
监听用户在前端界面中对户型场景图像的操作信息;
当操作信息为画布的拖动操作时,将拖动操作停止时的画布拖动方向信息作为当前相机信息;
当操作信息为灯光模型的灯光数据调整操作,且调整后的灯光数据在预设时间段内不变时,将调整后的灯光数据作为当前灯光信息。
具体地,当浏览器检测到用户在前端界面中通过鼠标或者长按操作对画布进行任意的拖动操作时,将画布拖动方向信息体现为相机朝向的变化,即拖动操作信息转化为相机信息。也就是浏览器在接收到鼠标拖动事件的信号(也就是监听到用户在前端界面中对户型场景图像的操作信息)后,记录拖动操作的状态信息,并显示在预览容器内,同时通过提示信息提示用户可以在操作中预览户型场景图像,提示信息例如为“移动中,松手后可重新预览”。当鼠标拖动事件的信号停止时,即将拖动操作停止时,浏览器识别出用户已完成本次的拖动操作。浏览器将收集到最新的画布拖动方向信息处理为当前相机信息,并将当前相机信息发送到服务器,以使服务器进行渲染。
由于平移、旋转灯光、调整参数(例如开关、颜色、亮度、色温等)等灯光数据调整操作是连续且高频的,出于使用体验、性能上的考虑,在灯光数据改变时,不会立即发起渲染。由于在灯光数据变化时浏览器会销毁旧的组件,并挂载新的组件,所以在组件挂载时设置定时器,在组件销毁时取消定时器,若灯光数据在定时器的预设时间段内没有再发生变化,则现有组件的定时器会生效,此时将最新的灯光数据(即当前灯光信息)发送到服务器进行渲染,以实现快速响应虚拟打光操作。
S202:根据当前灯光信息和当前相机信息确定灯光的增量信息,并将灯光的增量信息生成渲染请求信息。
当检测到浏览器发起重新渲染的请求时,将当前灯光信息和当前相机信息与上一次渲染得到的户型场景图像的历史灯光信息和历史相机信息进行比较,将比较得到的不同的灯光信息和相机信息作为增量信息,并将增量信息作为当前户型场景图像的渲染参数,根据渲染参数生成渲染请求信息并将渲染请求信息发送给服务器渲染,通过增量信息进行渲染可以减少渲染数据量。
在一些实施方式中,根据当前灯光信息和当前相机信息确定灯光的增量信息,并将灯光的增量信息生成渲染请求信息,包括:
获取户型场景图像的历史灯光信息和历史相机信息;
对比当前灯光信息和历史灯光信息的差异,得到第一增量信息;
对比当前相机信息和历史相机信息的差异,得到第二增量信息;
将第一增量信息和第二增量信息作为灯光的增量信息;
将灯光的增量信息生成渲染请求信息。
具体地,历史灯光信息和历史相机信息为户型场景图像为浏览器存储的户型场景图像的历史渲染图的历史渲染数据(即上一次渲染参数)。每次渲染仅发更新的增量信息,而不是当前的所有灯光信息和所有相机信息。浏览器在每次服务器渲染成功后暂存渲染成功时所使用的渲染参数,在下一次发送渲染请求信息前,与之前存储的历史渲染参数做深比较,即值比较,也就是将当前相机信息和历史相机信息,以及当前灯光信息和历史灯光信息的所有字段、字段值进行比对,将比对有差异的渲染参数作为灯光的增量信息,也就是第一增量信息和第二增量信息。若服务器出现异常,则清空已记录的上一次渲染参数,在重新渲染时传递户型场景图像的全部渲染参数,避免因渲染参数丢失影响效果。
S203:将渲染请求信息发送至服务器,以使服务器根据渲染请求信息对户型场景图像进行渲染。
具体地,本申请通过服务器采用增量渲染的方式对户型场景图像进行渲染,即只渲染户型场景图像中有变化的渲染参数。相比完全渲染整个户型场景图像,增量渲染的方式可以更快地生成画面,并节省计算资源。
由于对户型场景图像进行渲染的渲染参数为更新了的渲染数据(即增量信息),使得后续的每一次渲染只读取、传输被更新的渲染参数,缩小了渲染数据体积,提高了渲染效率。
需要说明的是,在发送渲染请求信息前,浏览器会预先检查所需服务器是否可用,即检测服务器是否与浏览器正常连接。若可用,则继续发送渲染请求信息;若不可用,说明连接异常,可能服务器存在休眠异常的情况,则重新向服务器发送启动请求信息。
S204:若渲染成功,则将渲染得到的灯光渲染结果进行预览展示。
在一些实施方式中,若渲染成功,则将渲染得到的灯光渲染结果进行预览展示,包括:
从服务器中接收目标地址信息;
根据目标地址信息获取渲染图像,其中,渲染图像为携带灯光渲染效果的户型场景图像;
获取渲染图像的拉伸信息;
根据拉伸信息在前端界面中调整渲染图像的展示区域。
其中,拉伸信息表示渲染图像在展示区域的缩放比例,展示区域可以是预览窗口或预览容器。具体地,在渲染成功后,服务器向浏览器返回一串base64编码的图片地址(目标地址信息),浏览器通过目标地址信息获取渲染图像,并在预览容器里展示渲染图像。预览容器可自由拉伸,拉伸时跟随预览容器等比缩放。通过将渲染图像进行展示可以使得用户实时感知灯光渲染结果,提高渲染实时效率。以调整光源亮度为例,预览结果如图4和图5所示,图4是本申请一实施例中的调整亮度前的预览效果图,图5是本申请一实施例中的调整亮度后的预览效果图。
在一些实施方式中,在将渲染请求信息发送至服务器,以使服务器根据渲染请求信息对户型场景图像进行渲染之后,上述方法还包括:
若渲染失败,则将当前灯光信息和当前相机信息作为户型场景图像的全量数据;
将全量数据生成新的渲染请求信息;
将新的渲染请求信息发送至服务器。
其中,全量数据表示户型场景图像的全部渲染数据。
具体地,若渲染异常,则浏览器将全量数据作为新的渲染请求信息发送给服务器进行重新渲染。
本申请针对不同的异常,例如服务异常、服务休眠、渲染失败等实现丰富的交互方式。
示例性的,如图6所示,图6是本申请一实施例中的预览虚拟打光效果的全流程图,具体实现过程包括:
步骤1:客户端向服务端发送“启动渲染服务”请求,请求中包含有唯一标识ID,服务端可根据ID获取待渲染的方案数据,如服务启动失败,则服务端返回客户端“启动失败”,客户端可重新发送“启动渲染服务”请求;如服务启动成功,则客户端和服务端建立持久性连接,服务端等待客户端发送下一个请求;
步骤2:客户端发起初次渲染请求,如当前服务器接收的请求数量过多,则请求需要排队等待处理;
步骤3:服务器接收到初次渲染请求,对客户端发送过来的渲染数据进行处理,如渲染失败,则提升客户端“渲染失败”,客户端可重新发起渲染请求;如渲染成功,则执行步骤4;
步骤4:渲染成功后,服务端将生成的渲染图通过base64编码后返回给客户端展示,而客户端将此次渲染数据保存起来用于下一次渲染请求时对比得到增量数据;
步骤5:客户端可对渲染图进行修改调整,如调整画布、调整光源,调整完成后,客户端将有变动的增量数据发送给服务端进行重新渲染;
步骤6:如重新渲染请求失败,则客户端需要将先前保存的渲染数据清空,重新发次初次渲染请求,即发送全量数据给服务端进行重新渲染。
步骤7:当渲染请求失败时,服务端都会返回客户端“渲染失败”的提示,客户端可重新发起渲染请求。客户端每次发送渲染请求时,都会检查服务端状态,如服务端状态异常,则服务端需要重新启动,回到步骤1。
通过获取户型场景图像的当前灯光信息和当前相机信息,根据当前灯光信息和当前相机信息确定灯光的增量信息,并将灯光的增量信息生成渲染请求信息,将渲染请求信息发送至服务器,以使服务器根据渲染请求信息对户型场景图像进行渲染,若渲染成功,则将渲染得到的灯光渲染结果发送到前端界面,即仅对灯光的增量信息进行渲染而不是全量渲染,可以大大减小渲染的数据量,提高渲染效率,同时将渲染成功的灯光渲染结果进行预览展示,实现了渲染的实时性,便于用户查看渲染后的灯光效果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图7,作为对上述图2所示灯光渲染方法的实现,本申请提供了一种灯光渲染装置的一个实施例示意图,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图7所示,本实施例的灯光渲染装置包括:获取模块71、增量模块72渲染模块73及展示模块74。其中:
获取模块,用于获取户型场景图像的当前编辑信息,其中,当前编辑信息包括当前灯光信息和当前相机信息;
增量模块,用于根据当前灯光信息和当前相机信息确定灯光的增量信息,并将灯光的增量信息生成渲染请求信息;
渲染模块,用于将渲染请求信息发送至服务器,以使服务器根据渲染请求信息对户型场景图像进行渲染;
展示模块,用于若渲染成功,则将渲染得到的灯光渲染结果进行预览展示。
在一实施例中,增量模块72包括:
信息获取子模块,用于获取户型场景图像的历史灯光信息和历史相机信息;
第一比对子模块,用于对比当前灯光信息和历史灯光信息的差异,得到第一增量信息;
第二比对子模块,用于对比当前相机信息和历史相机信息的差异,得到第二增量信息;
信息增量子模块,用于将第一增量信息和第二增量信息作为灯光的增量信息;
消息生成子模块,用于将灯光的增量信息生成渲染请求信息。
在一些实施方式中,获取模块71包括:
请求子模块,用于向服务器发送启动请求信息,其中,启动请求信息包括户型场景图像的标签;
第一获取子模块,用于响应于服务器所推送的启动成功消息,获取户型场景图像的当前编辑信息,其中,启动成功消息为服务器查询到与标签匹配的户型场景图像时所启动的消息。
在一些实施方式中,获取模块71还包括:
监听子模块,用于监听用户在前端界面中对户型场景图像的操作信息;
拖动子模块,用于当操作信息为画布的拖动操作时,将拖动操作停止时的画布拖动方向信息作为当前相机信息;
数据确定子模块,用于当操作信息为灯光模型的灯光数据调整操作,且调整后的灯光数据在预设时间段内不变时,将调整后的灯光数据作为当前灯光信息。
在一些实施方式中,展示模块74包括:
接收子模块,用于从服务器中接收目标地址信息;
第二获取子模块,用于根据目标地址信息获取渲染图像,其中,渲染图像为携带灯光渲染效果的户型场景图像;
第三获取子模块,用于获取渲染图像的拉伸信息;
调整子模块,用于根据拉伸信息在前端界面中调整渲染图像的展示区域。
在一些实施方式中,上述灯光渲染装置还包括:
全量模块,用于若渲染失败,则将当前灯光信息和当前相机信息作为户型场景图像的全量数据;
生成模块,用于将全量数据生成新的渲染请求信息;
发送模块,用于将新的渲染请求信息发送至服务器。
关于上述实施例中灯光渲染装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图8,图8为本实施例计算机设备基本结构框图。
所述计算机设备8包括通过系统总线相互通信连接存储器81、处理器82、网络接口83。需要指出的是,图中仅示出了具有组件81-83的计算机设备8,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器81至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或D界面显示存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器81可以是所述计算机设备8的内部存储单元,例如该计算机设备8的硬盘或内存。在另一些实施例中,所述存储器81也可以是所述计算机设备8的外部存储设备,例如该计算机设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器81还可以既包括所述计算机设备8的内部存储单元也包括其外部存储设备。本实施例中,所述存储器81通常用于存储安装于所述计算机设备8的操作系统和各类应用软件,例如灯光渲染方法的程序代码等。此外,所述存储器81还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器82在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器82通常用于控制所述计算机设备8的总体操作。本实施例中,所述处理器82用于运行所述存储器81中存储的程序代码或者处理数据,例如运行所述灯光渲染方法的程序代码。
所述网络接口83可包括无线网络接口或有线网络接口,该网络接口83通常用于在所述计算机设备8与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有灯光渲染程序,所述灯光渲染程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的灯光渲染方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种灯光渲染方法,应用于客户端,所述方法包括:
获取户型场景图像的当前编辑信息,其中,所述当前编辑信息包括当前灯光信息和当前相机信息;
根据所述当前灯光信息和所述当前相机信息确定灯光的增量信息,并将所述灯光的增量信息生成渲染请求信息;
将所述渲染请求信息发送至服务器,以使所述服务器根据所述渲染请求信息对所述户型场景图像进行渲染;
若所述渲染成功,则将所述渲染得到的灯光渲染结果进行预览展示。
2.根据权利要求1所述的灯光渲染方法,其特征在于,所述户型场景图像包括户型场景的灯光模型和所述户型场景所属的画布,所述获取户型场景图像的当前编辑信息,包括:
监听用户在前端界面中对所述户型场景图像的操作信息;
当所述操作信息为所述画布的拖动操作时,将所述拖动操作停止时的所述画布拖动方向信息作为当前相机信息;
当所述操作信息为所述灯光模型的灯光数据调整操作,且调整后的灯光数据在预设时间段内不变时,将所述调整后的灯光数据作为当前灯光信息。
3.根据权利要求1所述的灯光渲染方法,其特征在于,所述获取户型场景图像的当前编辑信息,包括:
向所述服务器发送启动请求信息,其中,所述启动请求信息包括所述户型场景图像的标签;
响应于所述服务器所推送的启动成功消息,获取户型场景图像的当前编辑信息,其中,所述启动成功消息为所述服务器查询到与所述标签匹配的所述户型场景图像时所启动的消息。
4.根据权利要求1所述的灯光渲染方法,其特征在于,所述根据所述当前灯光信息和所述当前相机信息确定灯光的增量信息,并将所述灯光的增量信息生成渲染请求信息,包括:
获取所述户型场景图像的历史灯光信息和历史相机信息;
对比所述当前灯光信息和所述历史灯光信息的差异,得到第一增量信息;
对比所述当前相机信息和所述历史相机信息的差异,得到第二增量信息;
将所述第一增量信息和所述第二增量信息作为所述灯光的增量信息;
将所述灯光的增量信息生成所述渲染请求信息。
5.根据权利要求1所述的灯光渲染方法,其特征在于,在所述将所述渲染请求信息发送至服务器,以使所述服务器根据所述渲染请求信息对所述户型场景图像进行渲染之后,所述方法还包括:
若所述渲染失败,则将所述当前灯光信息和所述当前相机信息作为所述户型场景图像的全量数据;
将所述全量数据生成新的渲染请求信息;
将所述新的渲染请求信息发送至服务器。
6.根据权利要求1所述的灯光渲染方法,其特征在于,所述若所述渲染成功,则将所述渲染得到的灯光渲染结果进行预览展示,包括:
从所述服务器中接收目标地址信息;
根据所述目标地址信息获取渲染图像,其中,所述渲染图像为携带所述灯光渲染效果的所述户型场景图像;
获取所述渲染图像的拉伸信息;
根据所述拉伸信息在所述前端界面中调整所述渲染图像的展示区域。
7.一种灯光渲染装置,其特征在于,包括:
获取模块,用于获取户型场景图像的当前编辑信息,其中,所述当前编辑信息包括当前灯光信息和当前相机信息;
增量模块,用于根据所述当前灯光信息和所述当前相机信息确定灯光的增量信息,并将所述灯光的增量信息生成渲染请求信息;
渲染模块,用于将所述渲染请求信息发送至服务器,以使所述服务器根据所述渲染请求信息对所述户型场景图像进行渲染;
展示模块,用于若所述渲染成功,则将所述渲染得到的灯光渲染结果进行预览展示。
8.根据权利要求7所述的灯光渲染装置,其特征在于,所述增量模块包括:
信息获取子模块,用于获取所述户型场景图像的历史灯光信息和历史相机信息;
第一比对子模块,用于对比所述当前灯光信息和所述历史灯光信息的差异,得到第一增量信息;
第二比对子模块,用于对比所述当前相机信息和所述历史相机信息的差异,得到第二增量信息;
信息增量子模块,用于将所述第一增量信息和所述第二增量信息作为所述灯光的增量信息;
消息生成子模块,用于将所述灯光的增量信息生成所述渲染请求信息。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的灯光渲染方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的灯光渲染方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211698164.7A CN116228955A (zh) | 2022-12-28 | 2022-12-28 | 灯光渲染方法、装置、计算机设备及其介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211698164.7A CN116228955A (zh) | 2022-12-28 | 2022-12-28 | 灯光渲染方法、装置、计算机设备及其介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116228955A true CN116228955A (zh) | 2023-06-06 |
Family
ID=86574016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211698164.7A Pending CN116228955A (zh) | 2022-12-28 | 2022-12-28 | 灯光渲染方法、装置、计算机设备及其介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116228955A (zh) |
-
2022
- 2022-12-28 CN CN202211698164.7A patent/CN116228955A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10885713B2 (en) | Method, apparatus, and system for generating an AR application and rendering an AR instance | |
CN108520552A (zh) | 图像处理方法、装置、存储介质及电子设备 | |
CN110096660B (zh) | 用于加载页面图片的方法、装置和电子设备 | |
CN111629240B (zh) | 多屏互动显示方法及装置 | |
US20230215076A1 (en) | Image frame display method, apparatus, device, storage medium, and program product | |
CN112791399B (zh) | 云游戏画面的显示方法及装置、系统、介质、电子设备 | |
CN116091672A (zh) | 图像渲染方法、计算机设备及其介质 | |
CN113099262B (zh) | 信息展示方法、装置、电子设备及存储介质 | |
CN113014934A (zh) | 产品展示方法、产品展示装置、计算机设备及存储介质 | |
CN110930325B (zh) | 基于人工智能的图像处理方法、装置及存储介质 | |
CN106572131A (zh) | 物联网中媒体数据分享的方法及系统 | |
CN112083655B (zh) | 一种电子设备控制方法及相关设备 | |
CN112807695A (zh) | 游戏场景生成方法和装置、可读存储介质、电子设备 | |
CN116228955A (zh) | 灯光渲染方法、装置、计算机设备及其介质 | |
CN113515244B (zh) | 基于投屏的终端遥控方法、装置、设备及存储介质 | |
CN114116090A (zh) | 信息展示方法、装置、电子设备及计算机可读存储介质 | |
CN115373570A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN114095785B (zh) | 视频播放方法、装置及计算机设备 | |
CN115278278B (zh) | 一种页面显示方法、装置、电子设备及存储介质 | |
CN115065866B (zh) | 一种视频生成方法、装置、设备及存储介质 | |
CN117850937A (zh) | 交互方法、装置、设备和存储介质 | |
CN116206032A (zh) | 任务校验方法、装置、计算机设备及其介质 | |
CN117591053A (zh) | 信息显示方法、装置、扩展现实设备及计算机存储介质 | |
CN114338789A (zh) | 多媒体文件远程推送方法及系统 | |
CN115297369A (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 |