CN114416270A - 页面显示方法、装置、设备和介质 - Google Patents
页面显示方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN114416270A CN114416270A CN202210105453.5A CN202210105453A CN114416270A CN 114416270 A CN114416270 A CN 114416270A CN 202210105453 A CN202210105453 A CN 202210105453A CN 114416270 A CN114416270 A CN 114416270A
- Authority
- CN
- China
- Prior art keywords
- instruction
- window
- video frame
- client
- dimensional coordinate
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 127
- 238000009877 rendering Methods 0.000 claims abstract description 71
- 230000008569 process Effects 0.000 claims abstract description 36
- 230000004044 response Effects 0.000 claims description 64
- 238000004590 computer program Methods 0.000 claims description 16
- 230000004048 modification Effects 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 33
- 238000004891 communication Methods 0.000 description 25
- 230000009471 action Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种用于客户端的页面显示方法、装置、设备和介质,该页面至少包括第一窗口和第二窗口。该方法包括:对物体列表数据进行本地渲染,以在第一窗口中显示物体列表;在物体列表中选中物体,并将物体拖拽至第二窗口中的第一位置,其中:在拖拽的过程中,响应于确定物体由位于第二窗口边框处的第二位置进入第二窗口,发送第一指令;从服务器接收针对第一指令的第一数据,其中,第一数据包括第一视频帧和物体对应的唯一标识符;在所述第二窗口中显示第一视频帧;在物体从第二位置被继续拖拽至第一位置的过程中,以第一预设时间间隔向服务器发送多个第二指令,从服务器接收分别针对相应的第二指令所返回的多个第二视频帧;在第二窗口中显示多个第二视频帧。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及页面配置技术领域,具体涉及一种页面显示方法、装置、电子设备、非瞬时计算机可读存储介质和计算机程序产品。
背景技术
三维编辑器是设计、制作三维数字资产的工具,用于提高三维数字资产的制作效率,其中整合了各种资产资源以生成支持各种物体旋转、移动和缩放等功能的三维数字资产。三维编辑器相较于一般的二维设计工具有着较复杂的交互操作。比如,部分三维信息需要通过三维图形引擎计算才能获取,无法直接在平面UI获取,对硬件的算力要求较高。
随着三维场景的复杂度的提高,如何实现对复杂的三维内容的交互操作显得尤为重要。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了一种页面显示方法、装置、电子设备、非瞬时计算机可读存储介质和计算机程序产品。
根据本公开的一方面,提供了一种用于客户端的页面显示方法,所述页面至少包括第一窗口和第二窗口,所述方法包括:对物体列表数据进行本地渲染,以在所述第一窗口中显示物体列表,其中,所述物体列表包括待编辑的物体;在所述物体列表中选中所述物体,并将所述物体拖拽至所述第二窗口中的第一位置,其中:在所述拖拽的过程中,响应于确定所述物体由位于所述第二窗口边框处的第二位置进入所述第二窗口,向服务器发送第一指令,其中,所述第一指令包括所述第二位置在所述第二窗口中对应的第一二维坐标以及所述物体对应的访问路径信息,并且其中,所述服务器能够基于所述访问路径信息识别所述物体;从所述服务器接收针对所述第一指令的第一数据,其中,所述第一数据包括第一视频帧和所述物体对应的唯一标识符,其中,所述第一视频帧中包含所述物体对应的第一三维图像,并且其中,所述第一三维图像在所述第一视频帧中对应的第一三维坐标与所述第一二维坐标相对应;在所述第二窗口中显示所述第一视频帧;在所述物体从所述第二位置被继续拖拽至所述第一位置的过程中,以第一预设时间间隔向所述服务器发送多个第二指令,其中,所述多个第二指令中的每一个第二指令包括所述唯一标识符以及与所述物体在所述第二窗口中的当前位置相对应的第二二维坐标;从所述服务器接收分别针对相应的第二指令所返回的多个第二视频帧,其中,所述多个第二视频帧中的每一个第二视频帧包含所述第一三维图像,并且其中,所述第一三维图像在该第二视频帧中对应的第二三维坐标与相应的第二指令中所包括的第二二维坐标相对应;以及在所述第二窗口中显示所述多个第二视频帧。
根据本公开的另一方面,提供了一种页面显示方法,包括:从客户端接收第一指令,其中,所述第一指令包括在所述客户端中待显示物体的访问路径信息以及第一二维坐标;基于所述访问路径信息,识别所述待显示物体为第一物体以及获取所述第一物体对应的唯一标识符;基于所述第一二维坐标,确定对应的第一三维坐标;创建画布,并在所述画布的所述第一三维坐标处,渲染所述第一物体对应的第一三维图像,以获取第一视频帧;以及将所述第一视频帧和所述第一物体对应的唯一标识符发送到所述客户端。
根据本公开的另一方面,提供了一种用于客户端的页面显示装置,所述页面至少包括第一窗口和第二窗口,所述装置包括:第一显示模块,被配置为对物体列表数据进行本地渲染,以在所述第一窗口中显示物体列表,其中,所述物体列表包括待编辑的物体;第一拖拽模块,被配置为在所述物体列表中选中所述物体,并将所述物体拖拽至所述第二窗口中的第一位置;第一发送模块,被配置为在所述拖拽的过程中,响应于确定所述物体由位于所述第二窗口边框处的第二位置进入所述第二窗口,向服务器发送第一指令,其中,所述第一指令包括所述第二位置在所述第二窗口中对应的第一二维坐标以及所述物体对应的访问路径信息,并且其中,所述服务器能够基于所述访问路径信息识别所述物体;第一接收模块,被配置为从所述服务器接收针对所述第一指令的第一数据,其中,所述第一数据包括第一视频帧和所述物体对应的唯一标识符,其中,所述第一视频帧中包含所述物体对应的第一三维图像,并且其中,所述第一三维图像在所述第一视频帧中对应的第一三维坐标与所述第一二维坐标相对应;第二显示模块,被配置为在所述第二窗口中显示所述第一视频帧;第二发送模块,被配置为在所述物体从所述第二位置被继续拖拽至所述第一位置的过程中,以第一预设时间间隔向所述服务器发送多个第二指令,其中,所述多个第二指令中的每一个第二指令包括所述唯一标识符以及与所述物体在所述第二窗口中的当前位置相对应的第二二维坐标;第二接收模块,被配置为从所述服务器接收分别针对相应的第二指令所返回的多个第二视频帧,其中,所述多个第二视频帧中的每一个第二视频帧包含所述第一三维图像,并且其中,所述第一三维图像在该第二视频帧中对应的第二三维坐标与相应的第二指令中所包括的第二二维坐标相对应;以及第三显示模块,被配置为在所述第二窗口中显示所述多个第二视频帧。
根据本公开的另一方面,提供了一种页面显示装置,包括:第一接收模块,被配置为从客户端接收第一指令,其中,所述第一指令包括在所述客户端中待显示物体的访问路径信息以及第一二维坐标;第一识别模块,被配置为基于所述访问路径信息,识别所述待显示物体为第一物体以及获取所述第一物体对应的唯一标识符;第一确定模块,被配置为基于所述第一二维坐标,确定对应的第一三维坐标;第一渲染模块,被配置为创建画布,并在所述画布的所述第一三维坐标处,渲染所述第一物体对应的第一三维图像,以获取第一视频帧;以及第一发送模块,被配置为将所述第一视频帧和所述第一物体对应的唯一标识符发送到所述客户端。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器,其中,至少一个处理器中的每一个处理器包括:处理器缓存;以及与至少一个处理器通信连接的存储器,其中存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述任一方法。
根据本公开的再另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行上述任一方法。
根据本公开的再另一方面,提供了一种计算机程序产品,包括计算机程序,其中,计算机程序在被处理器执行时实现任一方法。
根据在下文中所描述的实施例,本公开的这些和其它方面将是清楚明白的,并且将参考在下文中所描述的实施例而被阐明。
附图说明
在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1是图示出根据示例性实施例的可以在其中实施本文描述的各种方法的示例性系统的示意图;
图2是图示出根据示例性实施例的用于客户端的页面显示方法的流程图;
图3是图示出根据示例性实施例的针对拖动操作的页面显示方法的流程图;
图4是图示出根据示例性实施例的针对获取参数操作的页面显示方法的流程图;
图5是图示出根据示例性实施例的针对修改参数操作的页面显示方法的流程图;
图6是图示出根据示例性实施例的针对移动操作的页面显示方法的流程图;
图7是图示出根据示例性实施例的三维编辑页面的示意图;
图8是图示出根据示例性实施例的页面显示方法的流程图;
图9是图示出根据示例性实施例的用于客户端的页面显示装置的示意性框图;
图10是图示出根据示例性实施例的页面显示装置的示意性框图;以及
图11是图示出能够应用于示例性实施例的示例性计算机设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。如本文使用的,术语“多个”意指两个或更多,并且术语“基于”应解释为“至少部分地基于”。此外,术语“和/或”以及“……中的至少一个”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
相关技术中,有以下两种方式显示三维编辑器的编辑页面。第一种是完全依靠客户端/浏览器渲染,但这种方法所能使用的算力有限,也受制于客户端/浏览器的硬件设备,无法承担较为真实的图形渲染工作。它的一种改进是可以将真实的渲染效果通过离线渲染的方式以图片的形式回传,不过回传的图片无法实现画面的可交互。第二种是完全依靠服务器渲染,用户看到的视口和用户界面完全以视频串流的方式显示在浏览器中。但这种方法存在以下几个问题:其一,由于视频压缩的问题,页面中的文字会较为模糊;其二,视频串流占画面比率较高,对串流带宽压力较大;其三,任何用户交互的反馈都受制于网络延迟情况,在网络不稳定的情况下用户体验较差。
为解决上述问题,本公开通过将客户端渲染与服务器渲染相结合的方法来显示页面,具体地,通过客户端来渲染包含文字的窗口,以使得该窗口中的文字能够清楚地显示,同时,针对这该窗口的交互操作能够较快的获得反馈;通过服务器来渲染用于编辑三维图像的三维窗口,并将渲染好的三维图像以视频流的形式回传,以支持针对较为复杂的三维物体的编辑操作,并提供良好的用户体验。
下面结合附图详细描述本公开的示例性实施例。
图1示出了根据本公开的实施例可以将本文描述的各种方法和装置在其中实施的示例性系统100的示意图。参考图1,该系统100包括一个或多个客户端设备101、102、103和104、服务器120以及将一个或多个客户端设备耦接到服务器120的一个或多个通信网络110。客户端设备101、102、103和104可以被配置为执行一个或多个应用程序。
在本公开的实施例中,服务器120可以运行使得能够执行页面显示方法的一个或多个服务或软件应用。
在某些实施例中,服务器120还可以提供可以包括非虚拟环境和虚拟环境的其他服务或软件应用。在某些实施例中,这些服务可以作为基于web的服务或云服务提供,例如在软件即服务(SaaS)模型下提供给客户端设备101、102、103和104的用户。
在图1所示的配置中,服务器120可以包括实现由服务器120执行的功能的一个或多个组件。这些组件可以包括可由一个或多个处理器执行的软件组件、硬件组件或其组合。操作客户端设备101、102、103和104的用户可以依次利用一个或多个客户端应用程序来与服务器120进行交互以利用这些组件提供的服务。应当理解,各种不同的系统配置是可能的,其可以与系统100不同。因此,图1是用于实施本文所描述的各种方法的系统的一个示例,并且不旨在进行限制。
用户可以使用客户端设备101、102、103和104来执行用于客户端的页面显示方法。客户端设备可以提供使客户端设备的用户能够与客户端设备进行交互的接口。客户端设备还可以经由该接口向用户输出信息。尽管图1仅描绘了四种客户端设备,但是本领域技术人员将能够理解,本公开可以支持任何数量的客户端设备。
客户端设备101、102、103和104可以包括各种类型的计算机设备,例如便携式手持设备、通用计算机(诸如个人计算机和膝上型计算机)、工作站计算机、可穿戴设备、智能屏设备、自助服务终端设备、服务机器人、游戏系统、瘦客户端、各种消息收发设备、传感器或其他感测设备等。这些计算机设备可以运行各种类型和版本的软件应用程序和操作系统,例如MICROSOFT Windows、APPLEiOS、类UNIX操作系统、Linux或类Linux操作系统(例如GOOGLE Chrome OS);或包括各种移动操作系统,例如MICROSOFT Windows Mobile OS、iOS、Windows Phone、Android。便携式手持设备可以包括蜂窝电话、智能电话、平板电脑、个人数字助理(PDA)等。可穿戴设备可以包括头戴式显示器(诸如智能眼镜)和其他设备。游戏系统可以包括各种手持式游戏设备、支持互联网的游戏设备等。客户端设备能够执行各种不同的应用程序,例如各种与Internet相关的应用程序、通信应用程序(例如电子邮件应用程序)、短消息服务(SMS)应用程序,并且可以使用各种通信协议。
网络110可以是本领域技术人员熟知的任何类型的网络,其可以使用多种可用协议中的任何一种(包括但不限于TCP/IP、SNA、IPX等)来支持数据通信。仅作为示例,一个或多个网络110可以是局域网(LAN)、基于以太网的网络、令牌环、广域网(WAN)、因特网、虚拟网络、虚拟专用网络(VPN)、内部网、外部网、公共交换电话网(PSTN)、红外网络、无线网络(例如蓝牙、WIFI)和/或这些和/或其他网络的任意组合。
服务器120可以包括一个或多个通用计算机、专用服务器计算机(例如PC(个人计算机)服务器、UNIX服务器、中端服务器)、刀片式服务器、大型计算机、服务器群集或任何其他适当的布置和/或组合。服务器120可以包括运行虚拟操作系统的一个或多个虚拟机,或者涉及虚拟化的其他计算架构(例如可以被虚拟化以维护服务器的虚拟存储设备的逻辑存储设备的一个或多个灵活池)。在各种实施例中,服务器120可以运行提供下文所描述的功能的一个或多个服务或软件应用。
服务器120中的计算单元可以运行包括上述任何操作系统以及任何商业上可用的服务器操作系统的一个或多个操作系统。服务器120还可以运行各种附加服务器应用程序和/或中间层应用程序中的任何一个,包括HTTP服务器、FTP服务器、CGI服务器、JAVA服务器、数据库服务器等。
在一些实施方式中,服务器120可以包括一个或多个应用程序,以分析和合并从客户端设备101、102、103和104的用户接收的数据馈送和/或事件更新。服务器120还可以包括一个或多个应用程序,以经由客户端设备101、102、103和104的一个或多个显示设备来显示数据馈送和/或实时事件。
在一些实施方式中,服务器120可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器120也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。云服务器是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大、业务扩展性弱的缺陷。
系统100还可以包括一个或多个数据库130。在某些实施例中,这些数据库可以用于存储数据和其他信息。例如,数据库130中的一个或多个可用于存储诸如音频文件和视频文件的信息。数据库130可以驻留在各种位置。例如,由服务器120使用的数据库可以在服务器120本地,或者可以远离服务器120且可以经由基于网络或专用的连接与服务器120通信。数据库130可以是不同的类型。在某些实施例中,由服务器120使用的数据库例如可以是关系数据库。这些数据库中的一个或多个可以响应于命令而存储、更新和检索到数据库以及来自数据库的数据。
在某些实施例中,数据库130中的一个或多个还可以由应用程序使用来存储应用程序数据。由应用程序使用的数据库可以是不同类型的数据库,例如键值存储库,对象存储库或由文件系统支持的常规存储库。
图1的系统100可以以各种方式配置和操作,以使得能够应用根据本公开所描述的各种方法和装置。
图2是图示出根据示例性实施例的用于客户端的页面显示方法的流程图,该页面至少包括第一窗口和第二窗口。如图2所示,用于客户端的页面显示方法200包括:步骤S201、对物体列表数据进行本地渲染,以在所述第一窗口中显示物体列表,其中,所述物体列表包括待编辑的物体;步骤S202、在所述物体列表中选中所述物体,并将所述物体拖拽至所述第二窗口中的第一位置,其中:步骤S202-1、在所述拖拽的过程中,响应于确定所述物体由位于所述第二窗口边框处的第二位置进入所述第二窗口,向服务器发送第一指令,其中,所述第一指令包括所述第二位置在所述第二窗口中对应的第一二维坐标以及所述物体对应的访问路径信息,并且其中,所述服务器能够基于所述访问路径信息识别所述物体;步骤S202-2、从所述服务器接收针对所述第一指令的第一数据,其中,所述第一数据包括第一视频帧和所述物体对应的唯一标识符,其中,所述第一视频帧中包含所述物体对应的第一三维图像,并且其中,所述第一三维图像在所述第一视频帧中对应的第一三维坐标与所述第一二维坐标相对应;步骤S202-3、在所述第二窗口中显示所述第一视频帧;步骤S202-4、在所述物体从所述第二位置被继续拖拽至所述第一位置的过程中,以第一预设时间间隔向所述服务器发送多个第二指令,其中,所述多个第二指令中的每一个第二指令包括所述唯一标识符以及与所述物体在所述第二窗口中的当前位置相对应的第二二维坐标;步骤S202-5、从所述服务器接收分别针对相应的第二指令所返回的多个第二视频帧,其中,所述多个第二视频帧中的每一个第二视频帧包含所述第一三维图像,并且其中,所述第一三维图像在该第二视频帧中对应的第二三维坐标与相应的第二指令中所包括的第二二维坐标相对应;以及步骤S202-6、在所述第二窗口中显示所述多个第二视频帧。
通过客户端的本地渲染来显示包含待编辑的物体的第一窗口,使得用户可以通过点击或触摸等方式选中待编辑的物体,并将该物体拖拽至第二窗口中以在第二窗口中执行旋转、调整参数等针对三维图像的编辑操作。由于第一窗口是本地渲染的,因而,对于用户对于物体列表中的物体的选中操作,可以较快的获得反馈。
在步骤S202中,将物体列表中的物体选中并拖拽至第二窗口中的第一位置。在这一连续动作中,响应于物体由位于第二窗口边框处的第二位置刚刚进入第二窗口,向服务器发送第一指令,以指示服务器在第二位置处显示该物体对应的三维图像,该三维图像由服务器基于第一指令中的访问路径信息获取得到,三维图像对应的三维坐标基于第二位置的二维坐标得到。
示例性的,步骤S202-1所发送的第一指令可以为add_object(asset_path(SelectedObj),intersect_position(x1,y1)),其中,asset_path(SelectedObj)表示所选中的物体对应的访问路径信息,以使得服务器可以基于这一信息识别在客户端中选中的物体;intersect_position(x1,y1)表示第二位置在第二窗口中对应的第一二维坐标,以使得物体在刚刚到达第二位置处即在该位置处显示对应的三维图像,add_object()这一函数表示基于该函数的输入参数,在对应的位置处显示相应物体的三维图像。服务器基于第一指令,在与第一二维坐标对应的第一三维坐标处渲染物体对应的第一三维图像,并以视频帧的形式回传到客户端,以在第二窗口中显示该第一三维图像。同时,返回该物体对应的唯一标识符,以用于客户端与服务器之间后续的通信。
步骤S202-4、在物体从第二位置被继续拖拽至第一位置的过程中,以预设时间间隔向所述服务器发送多个第二指令。示例性的,第一预设时间间隔可以是0.1ms、1ms、10ms等,具体的取值可以根据需要、应用的场景来设定,本公开对该时间间隔的取值不做限定。多个第二指令中的每一个第二指令例如可以为move1(obj,intersect_position(x2,y2)),其中,obj表示该物体对应的唯一标识符,intersect_position(x2,y2)表示物体在发送该第二指令时在第二窗口中的当前位置相对应的第二二维坐标,move1()这一函数表示基于该函数的输入参数将对应的物体拖动到目标位置处。服务器基于多个第二指令中的每一个第二指令在对应的位置处来渲染唯一标识符所对应的物体,以获得第二视频帧,并将与多个第二指令一一对应的多个第二视频帧发送到客户端,以在客户端以视频流的形式显示对该物体的拖拽过程。
由此,通过客户端渲染与服务器渲染相结合的方法来显示页面,具体地,通过客户端来渲染包含二维图像的第一窗口,以使得该窗口中的二维图像能够清楚地显示,同时,针对这该窗口的选中、拖拽等交互操作能够较快的获得反馈;通过服务器来渲染用于编辑三维图像的三维窗口,并将渲染好的三维图像以视频流的形式回传,以支持针对较为复杂的三维物体的编辑操作。同时,在客户端与服务器的进行数据交互的过程中,采用了带有数据依赖关系的指令,例如,第一指令中包含物体在客户端中的路径访问信息以及表示显示位置的第一二维坐标,服务器端在接收到该指令后,需先根据路径访问信息来识别该物体,以获取物体对应的三维图像并显示在与第一二维坐标对应的第一三维坐标处,这一形式的指令使得原本需要多条指令描述的操作可以通过一条指令发送,降低了客户端与服务器之间通信的延迟,提供了良好的用户体验。
根据一些实施例,在物体列表中选中物体并在第一窗口内拖拽的过程中,由客户端根据所选中物体的访问路径信息获取对应物体的缩略图,并在本地对该缩略图进行渲染,以使得该物体在第一窗口内被拖拽的过程中,在拖拽的轨迹上同时显示物体对应的缩略图,以指示物体在第一窗口中拖拽的轨迹。
图3是图示出根据示例性实施例的针对拖动操作的页面显示方法的流程图。如图3所示,针对拖动操作的页面显示方法300包括:步骤S301、响应于选中所述第一三维图像并在所述第二窗口中对所述第一三维图像进行拖拽,在对所述第一三维图像进行拖拽的过程中,以第二预设时间间隔向所述服务器发送多个第三指令,其中,所述多个第三指令中的每个第三指令包括针对所述第一三维图像的所述选中操作对应的第三二维坐标以及与所述物体在所述第二窗口中的当前位置相对应的第四二维坐标,并且其中,所述服务器能够基于所述第三二维坐标以及所述服务器中存储的预存信息识别所述物体;步骤S302、从所述服务器接收分别针对所述第三指令所返回的多个第三视频帧,其中,所述多个第三视频帧中的每一个第三视频帧包含所述第一三维图像,并且其中,所述第一三维图像在该第三视频帧中对应的第四三维坐标与相应的第三指令中所包括的第四二维坐标相对应;以及步骤S303、在所述第二窗口中显示所述多个第三视频帧。
根据一些实施例,所述多个第三指令中的每个第三指令还包括第一子指令和第二子指令,并且其中,所述第一子指令将所述第三二维坐标作为输入参数,以用于指示所述服务器基于所述第三二维坐标识别所述物体,所述第二子指令将所述第四二维坐标作为输入参数,以用于指示所述服务器渲染所述第一三维图像的位置。
示例性的,多个第三指令中的每一个第三指令例如可以为move2(select_object(x3,y3),intersect_position(x4,y4)),其中,select_object(x3,y3)即为第一子指令,表示在第二窗口中针对第一三维图像的选中和拖拽操作中的选中操作对应的第三二维坐标,服务器可以基于这一参数以及服务器中存储的预存信息来识别在客户端中所选中的物体;intersect_position(x4,y4)即为第二子指令,表示在发送该第三指令时物体在第二窗口中的当前位置相对应的第四二维坐标,以用于指示所述服务器渲染所述第一三维图像的位置;move2()这一函数表示基于该函数的输入参数将对应的物体拖动到目标位置处。这一指令的嵌套形式使得原本需要多条指令描述的操作可以通过一条指令发送,降低了客户端与服务器之间通信的延迟,提供了良好的用户体验。
示例性的,服务器中存储的预存信息可以通过在添加和移动物体的过程中,对物体对应的三维图像在视频帧中所占区域与该物体对应的唯一标识符进行对应地存储来得到,以确定物体与位置的对应关系。在服务器对物体进行识别时,可以通过比对第三二维坐标与预存信息中所存储的数据,来确定第三二维坐标所对应的物体。通过多个第三指令,服务器可以将所识别出的物体对应的第一三维图像显示在第四二维坐标对应的第四三维坐标处,以指示第一三维图像在第二窗口中拖拽的轨迹。
在一个示例中,发送多个第三指令间的第二预设时间间隔可以等于第一预设时间间隔,其取值也可以根据实际需要、应用的场景来设定,本公开对该时间间隔的取值不做限定。
由此,在对第二窗口中的第一三维图像进行拖拽时,可以通过服务器对第一三维图像的渲染以及客户端与服务器之间的通信,在对第一三维图像拖拽的过程中在拖拽的轨迹上同步地显示第一三维图像。
图4是图示出根据示例性实施例的针对获取参数操作的页面显示方法的流程图,该页面还包括第三窗口。如图4所示,针对获取参数操作的页面显示方法400包括:步骤S401、响应于选中所述第一三维图像,向所述服务器发送第四指令,其中,所述第四指令包括针对所述第一三维图像的所述选中操作对应的第五二维坐标,并且其中,所述第五二维坐标用于所述服务器来确定所述选中操作所针对的所述第一三维图像所对应的所述物体;S402、从所述服务器接收针对所述第四指令所返回的第二数据,其中,所述第二数据包括指示所述物体的属性的参数数据;以及步骤S403、对所述参数数据进行本地渲染,以在所述第三窗口中显示所述物体对应的参数。
示例性的,响应于选中第一三维图像,客户端向服务器发送的第四指令例如可以为obtain_attribute(select_object(x5,y5)),其中,select_object(x5,y5)表示在第二窗口中针对第一三维图像的选中操作对应的第五二维坐标,服务器可以基于这一参数以及服务器中存储的预存信息来识别在客户端中所选中的物体,识别的过程与前述过程相似,在此不作赘述;obtain_attribute()这一函数使得服务器可以基于所识别出的物体获取物体对应的参数数据。
由此,可以通过对第二窗口中的第一三维图像的点击或触摸等操作来选中第一三维图像,在选中后,客户端基于服务器所返回的参数数据,对该参数数据进行本地渲染,以在页面的第三窗口中同步显示该物体对应的参数。物体的参数多以数字、文字来显示,通过客户端渲染的方式,可以使得第三窗口中显示的数字、文字等内容更为清楚。同时,在客户端进行地第三窗口的渲染,使得针对该窗口中的参数所进行的参数修改等操作可以更快地获得反馈。
图5是图示出根据示例性实施例的针对修改参数操作的页面显示方法的流程图。如图5所示,针对修改参数操作的页面显示方法500包括:步骤S501、响应于对所述参数的修改操作,向所述服务器发送第五指令,其中,所述第五指令包括所述第五二维坐标以及所述参数经修改后得到的参数目标值;步骤S502、从所述服务器接收针对所述第五指令所返回的第五视频帧,其中,所述第五视频帧中包含所述物体对应的第二三维图像,并且其中,所述第二三维图像是基于所述参数目标值确定的,并且所述第二三维图像在所述第五视频帧中对应的第五三维坐标与所述第五二维坐标相对应;以及步骤S503、在所述第二窗口中显示所述第五视频帧。
在一个示例中,响应于对参数的修改操作,所发送的第五指令例如可以为change_attribute(select_object(x6,y6),target_value),其中,select_object(x6,y6)表示在第二窗口中被选中的第一三维图像对应的二维坐标,target_value表示参数经修改后得到的参数目标值。服务器可以基于select_object(x6,y6)这一参数以及服务器中存储的预存信息来识别所选中的物体,识别的过程与前述过程相似,在此不作赘述;然后根据参数目标值来确定该物体所对应的第二三维图像,并以视频帧的形式发送给客户端,以响应于参数的修改操作,在第二窗口显示对应的第二三维图像,从而实现第二窗口和第三窗口之间的同步。
根据一些实施例,所述第二数据还包括:第四视频帧以及所述第一三维图像在所述第四视频帧中对应的第三三维坐标,并且其中,所述第三三维坐标与所述第一三维图像被选中时在所述第二窗口中所在的第六二维坐标相对应。可以理解的是,响应于对第二窗口中的第一三维图像的选中操作,服务器可以同时将该第一三维图像对应的第四视频帧以及第一三维图像在第四视频帧中对应的第三三维坐标发送给客户端,以用于本地控件的渲染。
根据一些实施例,用于客户端的页面显示方法还包括:基于所述第三三维坐标,在所述第二窗口的对应位置处对旋转控件进行渲染;将渲染后的所述旋转控件叠加在所述第四视频帧上,以显示在所述第二窗口中。响应于选中第二窗口中的第一三维图像,客户端向服务器发送第四指令,针对第四指令,服务器向客户端发送包括第四视频帧以及第一三维图像在第四视频帧中对应的第三三维坐标。客户端基于第三三维坐标来确定显示旋转控件的位置,并对旋转控件进行渲染,以使得旋转控件叠加显示在第一三维图像中的匹配位置上。叠加在第四视频帧上显示的旋转控件使得该旋转控件可以接收用户对控件的操作,并将对控件的操作反映在三维图像上。此外,在客户端渲染的旋转控件,使得对渲染控件的操作可以更快地获得反馈,进而提升用户体验。
图6是图示出根据示例性实施例的针对移动操作的页面显示方法的流程图。如图6所示,针对移动操作的页面显示方法600包括:步骤S601、响应于针对所述旋转控件的移动操作,向所述服务器发送第六指令,其中,所述第六指令包括经所述移动操作后所述物体对应的移动旋转目标值;步骤S602、从所述服务器接收针对所述第六指令所返回的第六视频帧,其中,所述第六视频帧中包含所述物体对应的第三三维图像,并且其中,所述第三三维图像是基于所述移动旋转目标值确定的;以及步骤S603、在所述第二窗口中显示所述第六视频帧。由此,服务器可以基于第六指令中的移动旋转目标值来确定该物体所对应的第三三维图像,对第三三维图像进行渲染并以视频帧的形式发送给客户端,以响应于针对旋转控件的移动操作,在第二窗口显示对应的第三三维图像。
根据一些实施例,用于客户端的页面显示方法还包括:确定所述第二窗口的尺寸;响应于从所述服务器接收到的数据中包括视频帧,对所接收到的视频帧的尺寸进行转换,以使得转换后的视频帧与所述第二窗口具有相同的尺寸。在对页面的交互过程中,需要保证服务器所返回的视频帧与客户端中的第二窗口完全对齐,以将点击的坐标信息完整的映射到三维空间内,同时,在视频帧发生尺寸的变化时,例如在窗口发生了拖拽时,需要实时的调整坐标计算,以保证交互坐标的一致性。
图7是图示出根据示例性实施例的三维编辑页面的示意图。如图7所示,三位编辑页面700包括第一窗口701、第二窗口702和第三窗口703。第一窗口701中显示由本地渲染得到的待编辑的物体,第二窗口702中显示由物体列表中选中并拖拽到第二窗口702中的物体所对应的三维图像704,在第二窗口702中,可以对三维图像704进行拖拽、移动和旋转等操作,在选中三维图像704后,会在单位图像704的对应位置处显示旋转控件,并在第三窗口703中显示三维图像704对应的多个参数。
根据本公开的另一方面,提供了一种页面显示方法。如图8所示,页面显示方法800包括:步骤S801、从客户端接收第一指令,其中,所述第一指令包括在所述客户端中待显示物体的访问路径信息以及第一二维坐标;步骤S802、基于所述访问路径信息,识别所述待显示物体为第一物体以及获取所述第一物体对应的唯一标识符;步骤S803、创建画布,其中,所述画布与所述客户端中用于显示三维图像的窗口相对应;步骤S804、基于所述第一二维坐标,确定在所述画布中对应的第一三维坐标;步骤S805、在所述画布的所述第一三维坐标处,渲染所述第一物体对应的第一三维图像,以获取第一视频帧;步骤S806、将所述第一物体在所述画布中的所在区域与所述第一物体对应的唯一标识符的对应关系存储在预存信息中;以及步骤S807、将所述第一视频帧和所述第一物体对应的唯一标识符发送到所述客户端。
示例性的,服务器所接收的第一指令可以为add_object(asset_path(SelectedObj),intersect_position(x1,y1)),其中,asset_path(SelectedObj)表示所选中的物体对应的访问路径信息,以使得服务器可以基于这一信息识别在客户端中选中的第一物体;intersect_position(x1,y1)表示显示该第一物体的目标位置,add_object()这一函数表示基于该函数的输入参数,在对应的位置处显示相应第一物体的三维图像。服务器基于第一指令,在与第一二维坐标对应的第一三维坐标处渲染物体对应的第一三维图像,并以视频帧的形式回传到客户端,以在客户端的第二窗口中显示该第一三维图像。
示例性的,在步骤S806中,将所述第一物体在所述画布中的所在区域与所述第一物体对应的唯一标识符的对应关系存储在预存信息中。由此可以获取画布中的位置与物体之间的对应关系,当服务器接收到客户端所发送的点击或触摸操作对应的坐标时,可以基于该坐标,在预存信息中查询来确定客户端中是否有选中物体以及在选中物体时对所选中的物体进行识别。通过对这一对应关系的存储,服务器可以通过指令中所包含的选中操作对应的坐标来识别选中的物体,而无需在客户端中对物体与对应的唯一标识符进行存储以供服务器识别,从而降低了对客户端的存储空间的要求。同时,也无需客户端额外发送指令向服务器询问物体对应的唯一标识符,进而也降低了额外通信的时延。
根据一些实施例,页面显示方法800还包括:从所述客户端连续接收多个第二指令,其中,所述多个第二指令中的每一个第二指令包括第一标识符信息以及与在所述客户端中被拖拽的物体的当前位置相对应的第二二维坐标;针对所述多个第二指令中的每一个第二指令,基于该第二指令中的所述第一标识符信息,识别对应的第二物体;基于该第二指令中的所述第二二维坐标,确定对应的第二三维坐标;在所述画布的所述第二三维坐标处,渲染所述第二物体对应的第二三维图像,以获取第二视频帧;响应于所述预存信息包含所述第二物体的数据,基于所述第二物体在所述画布中的所在区域与所述第一标识符信息的对应关系,对所述预存信息进行更新;响应于所述预存信息不包含所述第二物体的数据,将所述第二物体在所述画布中的所在区域与所述第一标识符信息的对应关系存储在所述预存信息中;以及将所述多个第二指令中的每一个第二指令对应的第二视频帧发送到所述客户端。
在物体由第一窗口拖拽至第二窗口中后,在第二窗口中被继续拖拽的过程中,服务器会接收到客户端所发送的多个第二指令。多个第二指令中的每一个第二指令例如可以为move1(obj,intersect_position(x2,y2)),其中,obj表示该第二物体对应的唯一标识符,intersect_position(x2,y2)表示第二物体在发送该第二指令时在第二窗口中的当前位置相对应的第二二维坐标,move1()这一函数表示基于该函数的输入参数将对应的第二物体拖动到目标位置处。服务器基于多个第二指令中的每一个第二指令在对应的位置处来渲染唯一标识符所对应的第二物体,以获得第二视频帧,并将与多个第二指令一一对应的多个第二视频帧发送到客户端,以在客户端以视频流的形式显示对该第二物体的拖拽过程。在完成对第二物体的渲染后,相应地对第二物体在所述画布中的所在区域与所述第一标识符信息的对应关系进行存储或更新,以使得预存信息中存储有最新的画布中的位置与物体之间的对应关系,用于服务器对客户端中选中的物体进行识别。
根据一些实施例,页面显示方法800还包括:从所述客户端连续接收多个第三指令,其中,所述多个第三指令中的每一个第三指令包括在所述客户端中的第一选中操作对应的第三二维坐标以及与在所述客户端中被拖拽的物体的当前位置相对应的第四二维坐标;针对所述多个第三指令中的每一个第三指令,基于该第三指令中的所述第三二维坐标,识别所述第一选中操作所针对的第三物体;基于该第三指令中的所述第四二维坐标,确定对应的第四三维坐标;在所述画布的所述第四三维坐标处,渲染所述第三物体对应的第三三维图像,以获取第三视频帧;响应于所述预存信息包含所述第三物体的数据,基于所述第三物体在所述画布中的所在区域与所述第三物体对应的唯一标识符的对应关系,对所述预存信息进行更新;响应于所述预存信息不包含所述第三物体的数据,将所述第三物体在所述画布中的所在区域与所述第三物体对应的唯一标识符的对应关系存储在所述预存信息中;以及将所述多个第三指令中的每一个第三指令对应的第三视频帧发送到所述客户端。
示例性的,多个第三指令中的每一个第三指令例如可以为move2(select_object(x3,y3),intersect_position(x4,y4)),其中,select_object(x3,y3)表示客户端侧在第二窗口中的第一选中操作对应的第三二维坐标,服务器可以基于这一参数来识别在客户端中所选中的第三物体;intersect_position(x4,y4)表示在发送该第三指令时第三物体在第二窗口中的当前位置相对应的第四二维坐标,move2()这一函数表示基于该函数的输入参数将对应的第三物体拖动到目标位置处。通过多个第三指令,服务器可以将所识别出的第三物体对应的第一三维图像显示在第四二维坐标对应的第四三维坐标处,以指示第一三维图像在第二窗口中拖拽的轨迹。
同样,在服务器每次对物体进行渲染过后,需要相应地对该物体在所述画布中的所在区域与所述第一标识符信息的对应关系进行存储或更新,以使得预存信息中存储有最新的画布中的位置与物体之间的对应关系,用于服务器对客户端中选中的物体进行识别。后文将不再对此过程再做赘述。
根据一些实施例,页面显示方法800还包括:从所述客户端接收第四指令,其中,所述第四指令包括在所述客户端中的第二选中操作对应的第五二维坐标;基于所述第五二维坐标,识别所述第二选中操作所针对的第四物体并确定所述第四物体在所述客户端中所对应的第三三维坐标;获取所述第四物体对应的参数数据;在所述画布的所述第三三维坐标处,渲染所述第四物体对应的第四三维图像,以获取第四视频帧;以及将所述第四视频帧和所述参数数据以及所述第三三维坐标发送到所述客户端。
示例性的,第四指令例如可以为obtain_attribute(select_object(x5,y5)),其中,select_object(x5,y5)表示在第二窗口中的第二选中操作对应的第五二维坐标,服务器可以基于这一参数来识别在客户端中所选中的第四物体;obtain_attribute()这一函数使得服务器可以基于所识别出的第四物体获取第四物体对应的参数数据。由此,可以将获取得到的参数数据发送给客户端用于显示。
根据一些实施例,页面显示方法800还包括:从所述客户端接收第五指令,其中,所述第五指令包括在所述客户端中被选中的物体对应的第六二维坐标以及待修改参数的目标值;基于所述第六二维坐标,识别所选中的物体为第五物体并确定对应的第六三维坐标;基于所述待修改参数的目标值,在所述画布的所述第六三维坐标处渲染所述第五物体对应的第五三维图像,以获取第五视频帧;响应于所述预存信息包含所述第五物体的数据,基于所述第五物体在所述画布中的所在区域与所述第五物体对应的唯一标识符的对应关系,对所述预存信息进行更新;响应于所述预存信息不包含所述第五物体的数据,将所述第五物体在所述画布中的所在区域与所述第五物体对应的唯一标识符的对应关系存储在所述预存信息中;以及将所述第五视频帧发送到所述客户端。
在一个示例中,响应于在客户端侧的页面中对参数的修改操作,所接收的第五指令例如可以为change_attribute(select_object(x6,y6),target_value),其中,select_object(x6,y6)表示在第二窗口中被选中的第一三维图像对应的二维坐标,target_value表示参数经修改后得到的参数目标值。服务器可以基于这两个参数来识别所选中的第五物体,根据参数目标值来确定该第五物体所对应的第二三维图像,并以视频帧的形式发送给客户端,以响应于参数的修改操作,在第二窗口显示对应的第二三维图像,从而实现客户端侧第二窗口和第三窗口之间的同步。
根据一些实施例,页面显示方法800还包括:从所述客户端接收第六指令,其中,所述第六指令包括第二标识符信息以及所述客户端中的移动操作所对应的移动旋转目标值;基于所述第二标识符信息,识别对应的第六物体;基于所述移动旋转目标值,对所述第六物体对应的第六三维图像进行渲染,以获取第六视频帧;响应于所述预存信息包含所述第六物体的数据,基于所述第六物体在所述画布中的所在区域与所述第六物体对应的唯一标识符的对应关系,对所述预存信息进行更新;响应于所述预存信息不包含所述第六物体的数据,将所述第六物体在所述画布中的所在区域与所述第六物体对应的唯一标识符的对应关系存储在所述预存信息中;以及将所述第六视频帧发送到所述客户端。由此,服务器可以基于第六指令中的移动旋转目标值来确定该物体所对应的第三三维图像,对第三三维图像进行渲染并以视频帧的形式发送给客户端,以响应于针对旋转控件的移动操作,在第二窗口显示对应的第三三维图像。
图9是图示出根据示例性实施例的用于客户端的页面显示装置的示意性框图,所述页面至少包括第一窗口和第二窗口。如图9所示,用于客户端的页面显示装置900包括:第一显示模块901,被配置为对物体列表数据进行本地渲染,以在所述第一窗口中显示物体列表,其中,所述物体列表包括待编辑的物体;第一拖拽模块902,被配置为在所述物体列表中选中所述物体,并将所述物体拖拽至所述第二窗口中的第一位置;第一发送模块903,被配置为在所述拖拽的过程中,响应于确定所述物体由位于所述第二窗口边框处的第二位置进入所述第二窗口,向服务器发送第一指令,其中,所述第一指令包括所述第二位置在所述第二窗口中对应的第一二维坐标以及所述物体对应的访问路径信息,并且其中,所述服务器能够基于所述访问路径信息识别所述物体;第一接收模块904,被配置为从所述服务器接收针对所述第一指令的第一数据,其中,所述第一数据包括第一视频帧和所述物体对应的唯一标识符,其中,所述第一视频帧中包含所述物体对应的第一三维图像,并且其中,所述第一三维图像在所述第一视频帧中对应的第一三维坐标与所述第一二维坐标相对应;第二显示模块905,被配置为在所述第二窗口中显示所述第一视频帧;第二发送模块906,被配置为在所述物体从所述第二位置被继续拖拽至所述第一位置的过程中,以第一预设时间间隔向所述服务器发送多个第二指令,其中,所述多个第二指令中的每一个第二指令包括所述唯一标识符以及与所述物体在所述第二窗口中的当前位置相对应的第二二维坐标;第二接收模块907,被配置为从所述服务器接收分别针对相应的第二指令所返回的多个第二视频帧,其中,所述多个第二视频帧中的每一个第二视频帧包含所述第一三维图像,并且其中,所述第一三维图像在该第二视频帧中对应的第二三维坐标与相应的第二指令中所包括的第二二维坐标相对应;以及第三显示模块908,被配置为在所述第二窗口中显示所述多个第二视频帧。
通过第一显示模块901在客户端进行本地渲染来显示包含待编辑的物体的第一窗口,使得用户可以通过点击或触摸等方式选中待编辑的物体。由第一拖拽模块902将该物体拖拽至第二窗口中以在第二窗口中执行旋转、调整参数等针对三维图像的编辑操作。由于第一窗口是本地渲染的,因而,对于用户对于物体列表中的物体的选中操作,可以较快的获得反馈。
第一拖拽模块902将物体列表中的物体选中并拖拽至第二窗口中的第一位置。在这一连续动作中,响应于物体由位于第二窗口边框处的第二位置刚刚进入第二窗口,由第一发送模块903向服务器发送第一指令,以指示服务器在第二位置处显示该物体对应的三维图像,该三维图像由服务器基于第一指令中的访问路径信息获取得到,三维图像对应的三维坐标基于第二位置的二维坐标得到。
示例性的,第一发送模块903所发送的第一指令可以为add_object(asset_path(SelectedObj),intersect_position(x1,y1)),其中,asset_path(SelectedObj)表示所选中的物体对应的访问路径信息,以使得服务器可以基于这一信息识别在客户端中选中的物体;intersect_position(x1,y1)表示第二位置在第二窗口中对应的第一二维坐标,以使得物体在刚刚到达第二位置处即在该位置处显示对应的三维图像,add_object()这一函数表示基于该函数的输入参数,在对应的位置处显示相应物体的三维图像。服务器基于第一指令,在与第一二维坐标对应的第一三维坐标处渲染物体对应的第一三维图像,并以视频帧的形式回传到客户端,以在第二窗口中显示该第一三维图像。同时,返回该物体对应的唯一标识符,以用于客户端与服务器之间后续的通信。
第二发送模块906在物体从第二位置被继续拖拽至第一位置的过程中,以预设时间间隔向所述服务器发送多个第二指令。示例性的,第一预设时间间隔可以是0.1ms、1ms、10ms等,具体的取值可以根据需要、应用的场景来设定,本公开对该时间间隔的取值不做限定。多个第二指令中的每一个第二指令例如可以为move1(obj,intersect_position(x2,y2)),其中,obj表示该物体对应的唯一标识符,intersect_position(x2,y2)表示物体在发送该第二指令时在第二窗口中的当前位置相对应的第二二维坐标,move1()这一函数表示基于该函数的输入参数将对应的物体拖动到目标位置处。服务器基于多个第二指令中的每一个第二指令在对应的位置处来渲染唯一标识符所对应的物体,以获得第二视频帧,并将与多个第二指令一一对应的多个第二视频帧发送到客户端,以在客户端以视频流的形式显示对该物体的拖拽过程。
由此,用于客户端的页面显示装置900可以通过客户端渲染与服务器渲染相结合的方法来显示页面,具体地,通过客户端来渲染包含二维图像的第一窗口,以使得该窗口中的二维图像能够清楚地显示,同时,针对这该窗口的选中、拖拽等交互操作能够较快的获得反馈;通过服务器来渲染用于编辑三维图像的三维窗口,并将渲染好的三维图像以视频流的形式回传,以支持针对较为复杂的三维物体的编辑操作。同时,在客户端与服务器的进行数据交互的过程中,采用了带有数据依赖关系的指令,例如,第一指令中包含物体在客户端中的路径访问信息以及表示显示位置的第一二维坐标,服务器端在接收到该指令后,需先根据路径访问信息来识别该物体,以获取物体对应的三维图像并显示在与第一二维坐标对应的第一三维坐标处,这一形式的指令使得原本需要多条指令描述的操作可以通过-条指令发送,降低了客户端与服务器之间通信的延迟,提供了良好的用户体验。
根据一些实施例,所述装置还包括缩略图显示模块,被配置为在物体列表中选中物体并在第一窗口内拖拽的过程中,由客户端根据所选中物体的访问路径信息获取对应物体的缩略图,并在本地对该缩略图进行渲染,以使得该物体在第一窗口内被拖拽的过程中,在拖拽的轨迹上同时显示物体对应的缩略图,以指示物体在第一窗口中拖拽的轨迹。
根据一些实施例,用于客户端的页面显示装置900还包括:第三发送模块,被配置为响应于选中所述第一三维图像并在所述第二窗口中对所述第一三维图像进行拖拽,在对所述第一三维图像进行拖拽的过程中,以第二预设时间间隔向所述服务器发送多个第三指令,其中,所述多个第三指令中的每个第三指令包括包括针对所述第一三维图像的所述选中操作对应的第三二维坐标以及与所述物体在所述第二窗口中的当前位置相对应的第四二维坐标,并且其中,所述服务器能够基于所述第三二维坐标以及所述服务器中存储的预存信息识别所述物体;第三接收模块,被配置为从所述服务器接收分别针对所述第三指令所返回的多个第三视频帧,其中,所述多个第三视频帧中的每一个第三视频帧包含所述第一三维图像,并且其中,所述第一三维图像在该第三视频帧中对应的第四三维坐标与相应的第三指令中所包括的第四二维坐标相对应;以及第四显示模块,被配置为在所述第二窗口中显示所述多个第三视频帧。
根据一些实施例,所述多个第三指令中的每个第三指令还包括第一子指令和第二子指令,并且其中,所述第一子指令将所述第三二维坐标作为输入参数,以用于指示所述服务器基于所述第三二维坐标识别所述物体,所述第二子指令将所述第四二维坐标作为输入参数,以用于指示所述服务器渲染所述第一三维图像的位置。
示例性的,第三发送模块所发送的多个第三指令中的每一个第三指令例如可以为move2(select_object(x3,y3),intersect_position(x4,y4)),其中,select_object(x3,y3)即为第一子指令,表示在第二窗口中针对第一三维图像的选中和拖拽操作中的选中操作对应的第三二维坐标,服务器可以基于这一参数以及服务器中存储的预存信息来识别在客户端中所选中的物体;intersect_position(x4,y4)即为第二子指令,表示在发送该第三指令时物体在第二窗口中的当前位置相对应的第四二维坐标,以用于指示所述服务器渲染所述第一三维图像的位置;move2()这一函数表示基于该函数的输入参数将对应的物体拖动到目标位置处。这一指令的嵌套形式使得原本需要多条指令描述的操作可以通过-条指令发送,降低了客户端与服务器之间通信的延迟,提供了良好的用户体验。
示例性的,服务器中存储的预存信息可以通过在添加和移动物体的过程中,对物体对应的三维图像在视频帧中所占区域与该物体对应的唯一标识符进行对应地存储来得到,以确定物体与位置的对应关系。在服务器对物体进行识别时,可以通过比对第三二维坐标与预存信息中所存储的数据,来确定第三二维坐标所对应的物体。通过多个第三指令,服务器可以将所识别出的物体对应的第一三维图像显示在第四二维坐标对应的第四三维坐标处,以指示第一三维图像在第二窗口中拖拽的轨迹。
在一个示例中,发送多个第三指令间的第二预设时间间隔可以等于第一预设时间间隔,其取值也可以根据实际需要、应用的场景来设定,本公开对该时间间隔的取值不做限定。
由此,在对第二窗口中的第一三维图像进行拖拽时,用于客户端的页面显示装置900可以通过服务器对第一三维图像的渲染以及客户端与服务器之间的通信,在对第一三维图像拖拽的过程中在拖拽的轨迹上同步地显示第一三维图像。
根据一些实施例,所述页面还包括第三窗口,用于客户端的页面显示装置900还包括:第四发送模块,被配置为响应于选中所述第一三维图像,向所述服务器发送第四指令,其中,所述第四指令包括针对所述第一三维图像的所述选中操作对应的第五二维坐标,并且其中,所述第五二维坐标用于所述服务器来确定所述选中操作所针对的所述第一三维图像所对应的所述物体;第四接收模块,被配置为从所述服务器接收针对所述第四指令所返回的第二数据,其中,所述第二数据包括指示所述物体的属性的参数数据;以及第五显示模块,被配置为对所述参数数据进行本地渲染,以在所述第三窗口中显示所述物体对应的参数。
示例性的,第四发送模块发送的第四指令例如可以为obtain_attribute(select_object(x5,y5)),其中,select_object(x5,y5)表示在第二窗口中针对第一三维图像的选中操作对应的第五二维坐标,服务器可以基于这一参数以及服务器中存储的预存信息来识别在客户端中所选中的物体,识别的过程与前述过程相似,在此不作赘述;obtain_attribute()这一函数使得服务器可以基于所识别出的物体获取物体对应的参数数据。
由此,可以通过对第二窗口中的第一三维图像的点击或触摸等操作来选中第一三维图像,在选中后,客户端基于服务器所返回的参数数据,由第五显示模块对该参数数据进行本地渲染,以在页面的第三窗口中同步显示该物体对应的参数。物体的参数多以数字、文字来显示,通过客户端渲染的方式,可以使得第三窗口中显示的数字、文字等内容更为清楚。同时,在客户端进行地第三窗口的渲染,使得针对该窗口中的参数所进行的参数修改等操作可以更快地获得反馈。
根据一些实施例,用于客户端的页面显示装置900还包括:第五发送模块,被配置为响应于对所述参数的修改操作,向所述服务器发送第五指令,其中,所述第五指令包括所述第五二维坐标以及所述参数经修改后得到的参数目标值;第五接收模块,被配置为从所述服务器接收针对所述第五指令所返回的第五视频帧,其中,所述第五视频帧中包含所述物体对应的第二三维图像,并且其中,所述第二三维图像是基于所述参数目标值确定的,并且所述第二三维图像在所述第五视频帧中对应的第五三维坐标与所述第五二维坐标相对应;以及第六显示模块,被配置为在所述第二窗口中显示所述第五视频帧。
在一个示例中,第五发送模块所发送的第五指令例如可以为change_attribute(select_object(x6,y6),target_value),其中,select_object(x6,y6)表示在第二窗口中被选中的第一三维图像对应的二维坐标,target_value表示参数经修改后得到的参数目标值。服务器可以基于这两个参数来识别所选中的物体,根据参数目标值来确定该物体所对应的第二三维图像,并以视频帧的形式发送给客户端,以响应于参数的修改操作,由第六显示模块在第二窗口显示对应的第二三维图像,从而实现第二窗口和第三窗口之间的同步。
根据一些实施例,所述第二数据还包括:第四视频帧以及所述第一三维图像在所述第四视频帧中对应的第三三维坐标,并且其中,所述第三三维坐标与所述第一三维图像被选中时在所述第二窗口中所在的第六二维坐标相对应。可以理解的是,响应于对第二窗口中的第一三维图像的选中操作,服务器可以同时将该第一三维图像对应的第四视频帧以及第一三维图像在第四视频帧中对应的第三三维坐标发送给客户端,以用于本地控件的渲染。
根据一些实施例,用于客户端的页面显示装置900还包括:渲染模块,被配置为基于所述第三三维坐标,在所述第二窗口的对应位置处对旋转控件进行渲染;第七显示模块,被配置为将渲染后的所述旋转控件叠加在所述第四视频帧上,以显示在所述第二窗口中。客户端基于第三三维坐标来确定显示旋转控件的位置,并由渲染模块对旋转控件进行渲染,以使得旋转控件叠加显示在第一三维图像中的匹配位置上。叠加在第四视频帧上显示的旋转控件使得该旋转控件可以接收用户对控件的操作,并将对控件的操作反映在三维图像上。此外,在客户端渲染的旋转控件,使得对渲染控件的操作可以更快地获得反馈,进而提升用户体验。
根据一些实施例,用于客户端的页面显示装置900还包括:第六发送模块,被配置为响应于针对所述旋转控件的移动操作,向所述服务器发送第六指令,其中,所述第六指令包括经所述移动操作后所述物体对应的移动旋转目标值;第六接收模块,被配置为从所述服务器接收针对所述第六指令所返回的第六视频帧,其中,所述第六视频帧中包含所述物体对应的第三三维图像,并且其中,所述第三三维图像是基于所述移动旋转目标值确定的;第八显示模块,被配置为在所述第二窗口中显示所述第六视频帧。
由此,服务器可以基于第六发送模块所发送的第六指令中的移动旋转目标值来确定该物体所对应的第三三维图像,对第三三维图像进行渲染并以视频帧的形式发送给客户端,以响应于针对旋转控件的移动操作,由第八显示模块在第二窗口显示对应的第三三维图像。
根据一些实施例,用于客户端的页面显示装置900还包括:确定模块,被配置为确定所述第二窗口的尺寸;转换模块,被配置为响应于从所述服务器接收到视频帧,对所接收到的视频帧的尺寸进行转换,以使得转换后的视频帧与所述第二窗口具有相同的尺寸。在对页面的交互过程中,需要保证服务器所返回的视频帧与客户端中的第二窗口完全对齐,以将点击的坐标信息完整的映射到三维空间内,同时,在视频帧发生尺寸的变化时,例如在窗口发生了拖拽时,需要由转换模块实时的调整坐标计算,以保证交互坐标的一致性。
根据本公开的另一方面,提供了一种页面显示装置。如图10所示,页面显示装置1000包括:第一接收模块1001,被配置为从客户端接收第一指令,其中,所述第一指令包括在所述客户端中待显示物体的访问路径信息以及第一二维坐标;第一识别模块1002,被配置为基于所述路径信息,识别所述待显示物体为第一物体以及获取所述第一物体对应的唯一标识符;创建模块1003,被配置为创建画布,其中,所述画布与所述客户端中用于显示三维图像的窗口相对应;第一确定模块1004,被配置为基于所述第一二维坐标,确定在所述画布中对应的第一三维坐标;第一渲染模块1005,被配置为创建画布,并在所述画布的所述第一三维坐标处,渲染所述第一物体对应的第一三维图像,以获取第一视频帧;第一存储模块1006,被配置为将所述第一物体在所述画布中的所在区域与所述第一物体对应的唯一标识符的对应关系存储在预存信息中;以及第一发送模块1007,被配置为将所述第一视频帧和所述第一物体对应的唯一标识符发送到所述客户端。
示例性的,第一接收模块1001所接收的第一指令可以为add_object(asset_path(SelectedObj),intersect_position(x1,y1)),其中,asset_path(SelectedObj)表示所选中的物体对应的访问路径信息,以使得第一确定模块1003可以基于这一信息识别在客户端中选中的第一物体;intersect_position(x1,y1)表示显示该第一物体的目标位置,add_object()这一函数表示基于该函数的输入参数,在对应的位置处显示相应第一物体的三维图像。第一渲染模块1004基于第一指令,在与第一二维坐标对应的第一三维坐标处渲染物体对应的第一三维图像,并以视频帧的形式回传到客户端,以在客户端的第二窗口中显示该第一三维图像。
示例性的,第一存储模块1006将所述第一物体在所述画布中的所在区域与所述第一物体对应的唯一标识符的对应关系存储在预存信息中。由此可以获取画布中的位置与物体之间的对应关系,当服务器接收到客户端所发送的点击或触摸操作对应的坐标时,可以基于该坐标,在预存信息中查询来确定客户端中是否有选中物体以及在选中物体时对所选中的物体进行识别。通过对这一对应关系的存储,服务器可以通过指令中所包含的选中操作对应的坐标来识别选中的物体,而无需在客户端中对物体与对应的唯一标识符进行存储以供服务器识别,从而降低了对客户端的存储空间的要求。同时,也无需客户端额外发送指令向服务器询问物体对应的唯一标识符,进而也降低了额外通信的时延。
根据一些实施例,页面显示装置1000还包括:第二接收模块,被配置为从所述客户端连续接收多个第二指令,其中,所述多个第二指令中的每一个第二指令包括第一标识符信息以及与在所述客户端中被拖拽的物体的当前位置相对应的第二二维坐标;第二识别模块,被配置为针对所述多个第二指令中的每一个第二指令,基于该第二指令中的所述第一标识符信息,识别对应的第二物体;第二确定模块,被配置为基于该第二指令中的所述第二二维坐标,确定对应的第二三维坐标;第二渲染模块,被配置为在所述画布的所述第二三维坐标处,渲染所述第二物体对应的第二三维图像,以获取第二视频帧;第二存储模块,被配置为响应于所述预存信息包含所述第二物体的数据,基于所述第二物体在所述画布中的所在区域与所述第一标识符信息的对应关系,对所述预存信息进行更新,或响应于所述预存信息不包含所述第二物体的数据,将所述第二物体在所述画布中的所在区域与所述第一标识符信息的对应关系存储在所述预存信息中;以及第二发送模块,被配置为将所述多个第二指令中的每一个第二指令对应的第二视频帧发送到所述客户端。
在物体由第一窗口拖拽至第二窗口中后,在第二窗口中被继续拖拽的过程中,服务器侧的第二接收模块会接收到客户端所发送的多个第二指令。多个第二指令中的每一个第二指令例如可以为move1(obj,intersect_position(x2,y2)),其中,obj表示该第二物体对应的唯一标识符,intersect_position(x2,y2)表示第二物体在发送该第二指令时在第二窗口中的当前位置相对应的第二二维坐标,move1()这一函数表示基于该函数的输入参数将对应的第二物体拖动到目标位置处。第二渲染模块基于多个第二指令中的每一个第二指令在对应的位置处来渲染唯一标识符所对应的第二物体,以获得第二视频帧,并由第二发送模块将与多个第二指令一一对应的多个第二视频帧发送到客户端,以在客户端以视频流的形式显示对该第二物体的拖拽过程。在完成对第二物体的渲染后,相应地由第二存储模块对第二物体在所述画布中的所在区域与所述第一标识符信息的对应关系进行存储或更新,以使得预存信息中存储有最新的画布中的位置与物体之间的对应关系,用于服务器对客户端中选中的物体进行识别。
根据一些实施例,页面显示装置1000还包括:第三接收模块,被配置为从所述客户端连续接收多个第三指令,其中,所述多个第三指令中的每一个第三指令包括在所述客户端中的第一选中操作对应的第三二维坐标以及与在所述客户端中被拖拽的物体的当前位置相对应的第四二维坐标;第三识别模块,被配置为针对所述多个第三指令中的每一个第三指令,基于该第三指令中的所述第三二维坐标,识别所述第一选中操作所针对的第三物体;第三确定模块,被配置为基于该第三指令中的所述第四二维坐标,确定对应的第四三维坐标;第三渲染模块,被配置为在所述画布的所述第四三维坐标处,渲染所述第三物体对应的第三三维图像,以获取第三视频帧;第三存储模块,被配置为响应于所述预存信息包含所述第三物体的数据,基于所述第三物体在所述画布中的所在区域与所述第三物体对应的唯一标识符的对应关系,对所述预存信息进行更新,或响应于所述预存信息不包含所述第三物体的数据,将所述第三物体在所述画布中的所在区域与所述第三物体对应的唯一标识符的对应关系存储在所述预存信息中;以及第三发送模块,被配置为将所述多个第三指令中的每一个第三指令对应的第三视频帧发送到所述客户端。
示例性的,第三接收模块所接收的多个第三指令中的每一个第三指令例如可以为move2(select_object(x3,y3),intersect_position(x4,y4)),其中,select_object(x3,y3)表示客户端侧在第二窗口中的第一选中操作对应的第三二维坐标,第三识别模块可以基于这一参数来识别在客户端中所选中的第三物体;intersect_position(x4,y4)表示在发送该第三指令时第三物体在第二窗口中的当前位置相对应的第四二维坐标,move2()这一函数表示基于该函数的输入参数将对应的第三物体拖动到目标位置处。通过多个第三指令,第三渲染模块可以将所识别出的第三物体对应的第一三维图像显示在第四二维坐标对应的第四三维坐标处,以指示第一三维图像在第二窗口中拖拽的轨迹。
同样,在服务器每次对物体进行渲染过后,需要相应地对该物体在所述画布中的所在区域与所述第一标识符信息的对应关系进行存储或更新,以使得预存信息中存储有最新的画布中的位置与物体之间的对应关系,用于服务器对客户端中选中的物体进行识别。后文将不再对此过程再做赘述。
根据一些实施例,页面显示装置1000还包括:第四接收模块,被配置为从所述客户端接收第四指令,其中,所述第四指令包括在所述客户端中的第二选中操作对应的第五二维坐标;第四识别模块,被配置为基于所述第五二维坐标,识别所述第二选中操作所针对的第四物体以及确定所述第四物体在所述客户端中所对应的第三三维坐标;获取模块,被配置为获取所述第四物体对应的参数数据;第四渲染模块,被配置为在所述画布的所述第三三维坐标处,渲染所述第四物体对应的第四三维图像,以获取第四视频帧;以及第四发送模块,被配置为将所述第四视频帧和所述参数数据以及所述第三三维坐标发送到所述客户端。
示例性的,第四接收模块所接收的第四指令例如可以为obtain_attribute(select_object(x5,y5)),其中,select_object(x5,y5)表示在第二窗口中的第二选中操作对应的第五二维坐标,第四识别模块可以基于这一参数来识别在客户端中所选中的第四物体;obtain_attribute()这一函数使得服务器可以基于所识别出的第四物体获取第四物体对应的参数数据。由此,可以由第四发送模块将获取得到的参数数据发送给客户端用于显示。
根据一些实施例,页面显示装置1000还包括:第五接收模块,被配置为从所述客户端接收第五指令,其中,所述第五指令包括在所述客户端中被选中的物体对应的第六二维坐标以及待修改参数的目标值;第五识别模块,被配置为基于所述第六二维坐标,识别所选中的物体为第五物体并确定对应的第六三维坐标;第五渲染模块,被配置为基于所述待修改参数的目标值,在所述画布的所述第六三维坐标处渲染所述第五物体对应的第五三维图像,以获取第五视频帧;第四存储模块,被配置为响应于所述预存信息包含所述第五物体的数据,基于所述第五物体在所述画布中的所在区域与所述第五物体对应的唯一标识符的对应关系,对所述预存信息进行更新,或响应于所述预存信息不包含所述第五物体的数据,将所述第五物体在所述画布中的所在区域与所述第五物体对应的唯一标识符的对应关系存储在所述预存信息中;以及第五发送模块,被配置为将所述第五视频帧发送到所述客户端。
在一个示例中,响应于在客户端侧的页面中对参数的修改操作,第五接收模块所接收的第五指令例如可以为change_attribute(select_object(x6,y6),target_value),其中,select_object(x6,y6)表示在第二窗口中被选中的第一三维图像对应的二维坐标,target_value表示参数经修改后得到的参数目标值。第五识别模块可以基于这两个参数来识别所选中的第五物体,第五渲染模块根据参数目标值来确定该第五物体所对应的第二三维图像,并由第五发送模块以视频帧的形式发送给客户端,以响应于参数的修改操作,在第二窗口显示对应的第二三维图像,从而实现客户端侧第二窗口和第三窗口之间的同步。
根据一些实施例,页面显示装置1000还包括:第六接收模块,被配置为从所述客户端接收第六指令,其中,所述第六指令包括第二标识符信息以及所述客户端中的移动操作所对应的移动旋转目标值;第六识别模块,被配置为基于所述第二标识符信息,识别对应的第六物体;第六渲染模块,被配置为基于所述移动旋转目标值,对所述第六物体对应的第六三维图像进行渲染,以获取第六视频帧;第五存储模块,被配置为响应于所述预存信息包含所述第六物体的数据,基于所述第六物体在所述画布中的所在区域与所述第六物体对应的唯一标识符的对应关系,对所述预存信息进行更新;响应于所述预存信息不包含所述第六物体的数据,将所述第六物体在所述画布中的所在区域与所述第六物体对应的唯一标识符的对应关系存储在所述预存信息中;以及第六发送模块,被配置为将所述第六视频帧发送到所述客户端。由此,第六识别模块可以基于第六指令中的移动旋转目标值来确定该物体所对应的第三三维图像,第六渲染模块对第三三维图像进行渲染并由第六发送模块以视频帧的形式发送给客户端,以响应于针对旋转控件的移动操作,在第二窗口显示对应的第三三维图像。
虽然上面参考特定模块讨论了特定功能,但是应当注意,本文讨论的各个模块的功能可以分为多个模块,和/或多个模块的至少一些功能可以组合成单个模块。本文讨论的特定模块执行动作包括该特定模块本身执行该动作,或者替换地该特定模块调用或以其他方式访问执行该动作(或结合该特定模块一起执行该动作)的另一个组件或模块。因此,执行动作的特定模块可以包括执行动作的该特定模块本身和/或该特定模块调用或以其他方式访问的、执行动作的另一模块。如本文使用的,短语“实体A发起动作B”可以是指实体A发出执行动作B的指令,但实体A本身并不一定执行该动作B。
还应当理解,本文可以在软件硬件元件或程序模块的一般上下文中描述各种技术。上面关于图9和图10描述的各个模块可以在硬件中或在结合软件和/或固件的硬件中实现。例如,这些模块可以被实现为计算机程序代码/指令,该计算机程序代码/指令被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中。可替换地,这些模块可以被实现为硬件逻辑/电路。
根据本公开的一方面,提供了一种电子设备,其包括至少一个处理器以及与至少一个处理器通信连接的存储器。至少一个处理器中的每一个处理器包括处理器缓存。存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上文描述的任一方法实施例的步骤。
根据本公开的一方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上文描述的任一方法实施例的步骤。
根据本公开的一方面,提供了一种存储有计算机指令的计算机程序产品,其包括计算机程序,该计算机程序被处理器执行时实现上文描述的任一方法实施例的步骤。
在下文中,结合图11描述这样的计算机设备、非暂态计算机可读存储介质和计算机程序产品的说明性示例。
图11示出了可以被用来实施本文所描述的方法的计算机设备1100的示例配置。上述装置中的每一个也可以全部或至少部分地由计算机设备1100或类似设备或系统实现。
计算机设备1100可以是各种不同类型的设备。计算机设备1100的示例包括但不限于:台式计算机、服务器计算机、笔记本电脑或上网本计算机、移动设备(例如,平板电脑、蜂窝或其他无线电话(例如,智能电话)、记事本计算机、移动台)、可穿戴设备(例如,眼镜、手表)、娱乐设备(例如,娱乐器具、通信地耦合到显示设备的机顶盒、游戏机)、电视或其他显示设备、汽车计算机等等。
计算机设备1100可以包括能够诸如通过系统总线1114或其他适当的连接彼此通信的至少一个处理器1102、存储器1104、(多个)通信接口1106、显示设备1108、其他输入/输出(I/O)设备1110以及一个或更多大容量存储设备1112。
处理器1102可以是单个处理单元或多个处理单元,所有处理单元可以包括单个或多个计算单元或者多个核心。处理器1102可以被实施成一个或更多微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。除了其他能力之外,处理器1102可以被配置成获取并且执行存储在存储器1104、大容量存储设备1112或者其他计算机可读介质中的计算机可读指令,诸如操作系统1116的程序代码、应用程序1118的程序代码、其他程序1220的程序代码等。
存储器1104和大容量存储设备1112是用于存储指令的计算机可读存储介质的示例,所述指令由处理器1102执行来实施前面所描述的各种功能。举例来说,存储器1104一般可以包括易失性存储器和非易失性存储器二者(例如RAM、ROM等等)。此外,大容量存储设备1112一般可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如CD、DVD)、存储阵列、网络附属存储、存储区域网等等。存储器1104和大容量存储设备1112在本文中都可以被统称为存储器或计算机可读存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非暂态介质,所述计算机程序代码可以由处理器1102作为被配置成实施在本文的示例中所描述的操作和功能的特定机器来执行。
多个程序可以存储在大容量存储设备1112上。这些程序包括操作系统1116、一个或多个应用程序1118、其他程序1220和程序数据1222,并且它们可以被加载到存储器1104以供执行。这样的应用程序或程序模块的示例可以包括例如用于实现以下部件/功能的计算机程序逻辑(例如,计算机程序代码或指令):方法200、方法300、方法400、方法500和/或方法600(包括方法200、方法300、方法400、方法500、方法600的任何合适的步骤)、和/或本文描述的另外的实施例。
虽然在图11中被图示成存储在计算机设备1100的存储器1104中,但是模块1116、1118、1220和1222或者其部分可以使用可由计算机设备1100访问的任何形式的计算机可读介质来实施。如本文所使用的,“计算机可读介质”至少包括两种类型的计算机可读介质,也就是计算机可读存储介质和通信介质。
计算机可读存储介质包括通过用于存储信息的任何方法或技术实施的易失性和非易失性、可移除和不可移除介质,所述信息诸如是计算机可读指令、数据结构、程序模块或者其他数据。计算机可读存储介质包括而不限于RAM、ROM、EEPROM、闪存或其他存储器技术,CD-ROM、数字通用盘(DVD)、或其他光学存储装置,磁盒、磁带、磁盘存储装置或其他磁性存储设备,或者可以被用来存储信息以供计算机设备访问的任何其他非传送介质。与此相对,通信介质可以在诸如载波或其他传送机制之类的已调制数据信号中具体实现计算机可读指令、数据结构、程序模块或其他数据。本文所定义的计算机可读存储介质不包括通信介质。
一个或更多通信接口1106用于诸如通过网络、直接连接等等与其他设备交换数据。这样的通信接口可以是以下各项中的一个或多个:任何类型的网络接口(例如,网络接口卡(NIC))、有线或无线(诸如IEEE 802.11无线LAN(WLAN))无线接口、全球微波接入互操作(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、BluetoothTM接口、近场通信(NFC)接口等。通信接口1106可以促进在多种网络和协议类型内的通信,其中包括有线网络(例如LAN、电缆等等)和无线网络(例如WLAN、蜂窝、卫星等等)、因特网等等。通信接口1106还可以提供与诸如存储阵列、网络附属存储、存储区域网等等中的外部存储装置(未示出)的通信。
在一些示例中,可以包括诸如监视器之类的显示设备1108,以用于向用户显示信息和图像。其他I/O设备1110可以是接收来自用户的各种输入并且向用户提供各种输出的设备,并且可以包括触摸输入设备、手势输入设备、摄影机、键盘、遥控器、鼠标、打印机、音频输入/输出设备等等。
本文描述的技术可以由计算机设备1100的这些各种配置来支持,并且不限于本文所描述的技术的具体示例。例如,该功能还可以通过使用分布式系统在“云”上全部或部分地实现。云包括和/或代表用于资源的平台。平台抽象云的硬件(例如,服务器)和软件资源的底层功能。资源可以包括在远离计算机设备1100的服务器上执行计算处理时可以使用的应用和/或数据。资源还可以包括通过因特网和/或通过诸如蜂窝或Wi-Fi网络的订户网络提供的服务。平台可以抽象资源和功能以将计算机设备1100与其他计算机设备连接。因此,本文描述的功能的实现可以分布在整个云内。例如,功能可以部分地在计算机设备1100上以及部分地通过抽象云的功能的平台来实现。
虽然在附图和前面的描述中已经详细地说明和描述了本公开,但是这样的说明和描述应当被认为是说明性的和示意性的,而非限制性的;本公开不限于所公开的实施例。通过研究附图、公开内容和所附的权利要求书,本领域技术人员在实践所要求保护的主题时,能够理解和实现对于所公开的实施例的变型。在权利要求书中,词语“包括”不排除未列出的其他元件或步骤,不定冠词“一”或“一个”不排除多个,术语“多个”是指两个或两个以上,并且术语“基于”应解释为“至少部分地基于”。在相互不同的从属权利要求中记载了某些措施的仅有事实并不表明这些措施的组合不能用来获益。
Claims (33)
1.一种用于客户端的页面显示方法,所述页面至少包括第一窗口和第二窗口,所述方法包括:
对物体列表数据进行本地渲染,以在所述第一窗口中显示物体列表,其中,所述物体列表包括待编辑的物体;
在所述物体列表中选中所述物体,并将所述物体拖拽至所述第二窗口中的第一位置,其中:
在所述拖拽的过程中,响应于确定所述物体由位于所述第二窗口边框处的第二位置进入所述第二窗口,向服务器发送第一指令,其中,所述第一指令包括所述第二位置在所述第二窗口中对应的第一二维坐标以及所述物体对应的访问路径信息,并且其中,所述服务器能够基于所述访问路径信息识别所述物体;
从所述服务器接收针对所述第一指令的第一数据,其中,所述第一数据包括第一视频帧和所述物体对应的唯一标识符,其中,所述第一视频帧中包含所述物体对应的第一三维图像,并且其中,所述第一三维图像在所述第一视频帧中对应的第一三维坐标与所述第一二维坐标相对应;
在所述第二窗口中显示所述第一视频帧;
在所述物体从所述第二位置被继续拖拽至所述第一位置的过程中,以第一预设时间间隔向所述服务器发送多个第二指令,其中,所述多个第二指令中的每一个第二指令包括所述唯一标识符以及与所述物体在所述第二窗口中的当前位置相对应的第二二维坐标;
从所述服务器接收分别针对相应的第二指令所返回的多个第二视频帧,其中,所述多个第二视频帧中的每一个第二视频帧包含所述第一三维图像,并且其中,所述第一三维图像在该第二视频帧中对应的第二三维坐标与相应的第二指令中所包括的第二二维坐标相对应;以及
在所述第二窗口中显示所述多个第二视频帧。
2.如权利要求1所述的方法,还包括:
响应于选中所述第一三维图像并在所述第二窗口中对所述第一三维图像进行拖拽,在对所述第一三维图像进行拖拽的过程中,以第二预设时间间隔向所述服务器发送多个第三指令,其中,所述多个第三指令中的每个第三指令包括针对所述第一三维图像的所述选中操作对应的第三二维坐标以及与所述物体在所述第二窗口中的当前位置相对应的第四二维坐标,并且其中,所述服务器能够基于所述第三二维坐标以及所述服务器中存储的预存信息识别所述物体;
从所述服务器接收分别针对所述第三指令所返回的多个第三视频帧,其中,所述多个第三视频帧中的每一个第三视频帧包含所述第一三维图像,并且其中,所述第一三维图像在该第三视频帧中对应的第四三维坐标与相应的第三指令中所包括的第四二维坐标相对应;以及
在所述第二窗口中显示所述多个第三视频帧。
3.如权利要求2所述的方法,其中,所述多个第三指令中的每个第三指令还包括第一子指令和第二子指令,并且其中,所述第一子指令将所述第三二维坐标作为输入参数,以用于指示所述服务器基于所述第三二维坐标识别所述物体,所述第二子指令将所述第四二维坐标作为输入参数,以用于指示所述服务器渲染所述第一三维图像的位置。
4.如权利要求1-3任一项所述的方法,所述页面还包括第三窗口,所述方法还包括:
响应于选中所述第一三维图像,向所述服务器发送第四指令,其中,所述第四指令包括针对所述第一三维图像的所述选中操作对应的第五二维坐标,并且其中,所述第五二维坐标用于所述服务器来确定所述选中操作所针对的所述第一三维图像所对应的所述物体;
从所述服务器接收针对所述第四指令所返回的第二数据,其中,所述第二数据包括指示所述物体的属性的参数数据;以及
对所述参数数据进行本地渲染,以在所述第三窗口中显示所述物体对应的参数。
5.如权利要求4所述的方法,其中,所述第二数据还包括:第四视频帧以及所述第一三维图像在所述第四视频帧中对应的第三三维坐标,并且其中,所述第三三维坐标与所述第一三维图像被选中时在所述第二窗口中所在的第六二维坐标相对应。
6.如权利要求4或5所述的方法,还包括:
响应于对所述参数的修改操作,向所述服务器发送第五指令,其中,所述第五指令包括所述第五二维坐标以及所述参数经修改后得到的参数目标值;
从所述服务器接收针对所述第五指令所返回的第五视频帧,其中,所述第五视频帧中包含所述物体对应的第二三维图像,并且其中,所述第二三维图像是基于所述参数目标值确定的,并且所述第二三维图像在所述第五视频帧中对应的第五三维坐标与所述第五二维坐标相对应;以及
在所述第二窗口中显示所述第五视频帧。
7.如权利要求5所述的方法,还包括:
基于所述第三三维坐标,在所述第二窗口的对应位置处对旋转控件进行渲染;
将渲染后的所述旋转控件叠加在所述第四视频帧上,以显示在所述第二窗口中。
8.如权利要求7所述的方法,还包括:
响应于针对所述旋转控件的移动操作,向所述服务器发送第六指令,其中,所述第六指令包括经所述移动操作后所述物体对应的移动旋转目标值;
从所述服务器接收针对所述第六指令所返回的第六视频帧,其中,所述第六视频帧中包含所述物体对应的第三三维图像,并且其中,所述第三三维图像是基于所述移动旋转目标值确定的;以及
在所述第二窗口中显示所述第六视频帧。
9.如权利要求1-8中任一项所述的方法,还包括:
确定所述第二窗口的尺寸;
响应于从所述服务器接收到的数据中包括视频帧,对所接收到的视频帧的尺寸进行转换,以使得转换后的视频帧与所述第二窗口具有相同的尺寸。
10.一种页面显示方法,包括:
从客户端接收第一指令,其中,所述第一指令包括在所述客户端中待显示物体的访问路径信息以及第一二维坐标;
基于所述访问路径信息,识别所述待显示物体为第一物体以及获取所述第一物体对应的唯一标识符;
创建画布,其中,所述画布与所述客户端中用于显示三维图像的窗口相对应;
基于所述第一二维坐标,确定在所述画布中对应的第一三维坐标;
在所述画布的所述第一三维坐标处,渲染所述第一物体对应的第一三维图像,以获取第一视频帧;
将所述第一物体在所述画布中的所在区域与所述第一物体对应的唯一标识符的对应关系存储在预存信息中;以及
将所述第一视频帧和所述第一物体对应的唯一标识符发送到所述客户端。
11.如权利要求10所述的方法,还包括:
从所述客户端连续接收多个第二指令,其中,所述多个第二指令中的每一个第二指令包括第一标识符信息以及与在所述客户端中被拖拽的物体的当前位置相对应的第二二维坐标;
针对所述多个第二指令中的每一个第二指令,
基于该第二指令中的所述第一标识符信息,识别对应的第二物体;
基于该第二指令中的所述第二二维坐标,确定对应的第二三维坐标;
在所述画布的所述第二三维坐标处,渲染所述第二物体对应的第二三维图像,以获取第二视频帧;
响应于所述预存信息包含所述第二物体的数据,基于所述第二物体在所述画布中的所在区域与所述第一标识符信息的对应关系,对所述预存信息进行更新;
响应于所述预存信息不包含所述第二物体的数据,将所述第二物体在所述画布中的所在区域与所述第一标识符信息的对应关系存储在所述预存信息中;以及
将所述多个第二指令中的每一个第二指令对应的第二视频帧发送到所述客户端。
12.如权利要求10或11所述的方法,还包括:
从所述客户端连续接收多个第三指令,其中,所述多个第三指令中的每一个第三指令包括在所述客户端中的第一选中操作对应的第三二维坐标以及与在所述客户端中被拖拽的物体的当前位置相对应的第四二维坐标;
针对所述多个第三指令中的每一个第三指令,
基于该第三指令中的所述第三二维坐标,识别所述第一选中操作所针对的第三物体;
基于该第三指令中的所述第四二维坐标,确定对应的第四三维坐标;
在所述画布的所述第四三维坐标处,渲染所述第三物体对应的第三三维图像,以获取第三视频帧;
响应于所述预存信息包含所述第三物体的数据,基于所述第三物体在所述画布中的所在区域与所述第三物体对应的唯一标识符的对应关系,对所述预存信息进行更新;
响应于所述预存信息不包含所述第三物体的数据,将所述第三物体在所述画布中的所在区域与所述第三物体对应的唯一标识符的对应关系存储在所述预存信息中;以及
将所述多个第三指令中的每一个第三指令对应的第三视频帧发送到所述客户端。
13.如权利要求10-12中任一项所述的方法,还包括:
从所述客户端接收第四指令,其中,所述第四指令包括在所述客户端中的第二选中操作对应的第五二维坐标;
基于所述第五二维坐标,识别所述第二选中操作所针对的第四物体并确定所述第四物体在所述客户端中所对应的第三三维坐标;
获取所述第四物体对应的参数数据;
在所述画布的所述第三三维坐标处,渲染所述第四物体对应的第四三维图像,以获取第四视频帧;以及
将所述第四视频帧和所述参数数据以及所述第三三维坐标发送到所述客户端。
14.如权利要求13所述的方法,还包括:
从所述客户端接收第五指令,其中,所述第五指令包括在所述客户端中被选中的物体对应的第六二维坐标以及待修改参数的目标值;
基于所述第六二维坐标,识别所选中的物体为第五物体并确定对应的第六三维坐标;
基于所述待修改参数的目标值,在所述画布的所述第六三维坐标处渲染所述第五物体对应的第五三维图像,以获取第五视频帧;
响应于所述预存信息包含所述第五物体的数据,基于所述第五物体在所述画布中的所在区域与所述第五物体对应的唯一标识符的对应关系,对所述预存信息进行更新;
响应于所述预存信息不包含所述第五物体的数据,将所述第五物体在所述画布中的所在区域与所述第五物体对应的唯一标识符的对应关系存储在所述预存信息中;以及
将所述第五视频帧发送到所述客户端。
15.如权利要求10-14中任一项所述的方法,还包括:
从所述客户端接收第六指令,其中,所述第六指令包括第二标识符信息以及所述客户端中的移动操作所对应的移动旋转目标值;
基于所述第二标识符信息,识别对应的第六物体;
基于所述移动旋转目标值,对所述第六物体对应的第六三维图像进行渲染,以获取第六视频帧;
响应于所述预存信息包含所述第六物体的数据,基于所述第六物体在所述画布中的所在区域与所述第六物体对应的唯一标识符的对应关系,对所述预存信息进行更新;
响应于所述预存信息不包含所述第六物体的数据,将所述第六物体在所述画布中的所在区域与所述第六物体对应的唯一标识符的对应关系存储在所述预存信息中;以及
将所述第六视频帧发送到所述客户端。
16.一种用于客户端的页面显示装置,所述页面至少包括第一窗口和第二窗口,所述装置包括:
第一显示模块,被配置为对物体列表数据进行本地渲染,以在所述第一窗口中显示物体列表,其中,所述物体列表包括待编辑的物体;
第一拖拽模块,被配置为在所述物体列表中选中所述物体,并将所述物体拖拽至所述第二窗口中的第一位置;
第一发送模块,被配置为在所述拖拽的过程中,响应于确定所述物体由位于所述第二窗口边框处的第二位置进入所述第二窗口,向服务器发送第一指令,其中,所述第一指令包括所述第二位置在所述第二窗口中对应的第一二维坐标以及所述物体对应的访问路径信息,并且其中,所述服务器能够基于所述访问路径信息识别所述物体;
第一接收模块,被配置为从所述服务器接收针对所述第一指令的第一数据,其中,所述第一数据包括第一视频帧和所述物体对应的唯一标识符,其中,所述第一视频帧中包含所述物体对应的第一三维图像,并且其中,所述第一三维图像在所述第一视频帧中对应的第一三维坐标与所述第一二维坐标相对应;
第二显示模块,被配置为在所述第二窗口中显示所述第一视频帧;
第二发送模块,被配置为在所述物体从所述第二位置被继续拖拽至所述第一位置的过程中,以第一预设时间间隔向所述服务器发送多个第二指令,其中,所述多个第二指令中的每一个第二指令包括所述唯一标识符以及与所述物体在所述第二窗口中的当前位置相对应的第二二维坐标;
第二接收模块,被配置为从所述服务器接收分别针对相应的第二指令所返回的多个第二视频帧,其中,所述多个第二视频帧中的每一个第二视频帧包含所述第一三维图像,并且其中,所述第一三维图像在该第二视频帧中对应的第二三维坐标与相应的第二指令中所包括的第二二维坐标相对应;以及
第三显示模块,被配置为在所述第二窗口中显示所述多个第二视频帧。
17.如权利要求16所述的装置,还包括:
第三发送模块,被配置为响应于选中所述第一三维图像并在所述第二窗口中对所述第一三维图像进行拖拽,在对所述第一三维图像进行拖拽的过程中,以第二预设时间间隔向所述服务器发送多个第三指令,其中,所述多个第三指令中的每个第三指令包括包括针对所述第一三维图像的所述选中操作对应的第三二维坐标以及与所述物体在所述第二窗口中的当前位置相对应的第四二维坐标,并且其中,所述服务器能够基于所述第三二维坐标以及所述服务器中存储的预存信息识别所述物体;
第三接收模块,被配置为从所述服务器接收分别针对所述第三指令所返回的多个第三视频帧,其中,所述多个第三视频帧中的每一个第三视频帧包含所述第一三维图像,并且其中,所述第一三维图像在该第三视频帧中对应的第四三维坐标与相应的第三指令中所包括的第四二维坐标相对应;以及
第四显示模块,被配置为在所述第二窗口中显示所述多个第三视频帧。
18.如权利要求17所述的装置,其中,所述多个第三指令中的每个第三指令还包括第一子指令和第二子指令,并且其中,所述第一子指令将所述第三二维坐标作为输入参数,以用于指示所述服务器基于所述第三二维坐标识别所述物体,所述第二子指令将所述第四二维坐标作为输入参数,以用于指示所述服务器渲染所述第一三维图像的位置。
19.如权利要求16-18中任一项所述的装置,所述页面还包括第三窗口,所述装置还包括:
第四发送模块,被配置为响应于选中所述第一三维图像,向所述服务器发送第四指令,其中,所述第四指令包括针对所述第一三维图像的所述选中操作对应的第五二维坐标,并且其中,所述第五二维坐标用于所述服务器来确定所述选中操作所针对的所述第一三维图像所对应的所述物体;
第四接收模块,被配置为从所述服务器接收针对所述第四指令所返回的第二数据,其中,所述第二数据包括指示所述物体的属性的参数数据;以及
第五显示模块,被配置为对所述参数数据进行本地渲染,以在所述第三窗口中显示所述物体对应的参数。
20.如权利要求19所述的装置,其中,所述第二数据还包括:第四视频帧以及所述第一三维图像在所述第四视频帧中对应的第三三维坐标,并且其中,所述第三三维坐标与所述第一三维图像被选中时在所述第二窗口中所在的第六二维坐标相对应。
21.如权利要求19或20所述的装置,还包括:
第五发送模块,被配置为响应于对所述参数的修改操作,向所述服务器发送第五指令,其中,所述第五指令包括所述第五二维坐标以及所述参数经修改后得到的参数目标值;
第五接收模块,被配置为从所述服务器接收针对所述第五指令所返回的第五视频帧,其中,所述第五视频帧中包含所述物体对应的第二三维图像,并且其中,所述第二三维图像是基于所述参数目标值确定的,并且所述第二三维图像在所述第五视频帧中对应的第五三维坐标与所述第五二维坐标相对应;以及
第六显示模块,被配置为在所述第二窗口中显示所述第五视频帧。
22.如权利要求20所述的装置,还包括:
渲染模块,被配置为基于所述第三三维坐标,在所述第二窗口的对应位置处对旋转控件进行渲染;
第七显示模块,被配置为将渲染后的所述旋转控件叠加在所述第四视频帧上,以显示在所述第二窗口中。
23.如权利要求22所述的装置,还包括:
第六发送模块,被配置为响应于针对所述旋转控件的移动操作,向所述服务器发送第六指令,其中,所述第六指令包括经所述移动操作后所述物体对应的移动旋转目标值;
第六接收模块,被配置为从所述服务器接收针对所述第六指令所返回的第六视频帧,其中,所述第六视频帧中包含所述物体对应的第三三维图像,并且其中,所述第三三维图像是基于所述移动旋转目标值确定的;
第八显示模块,被配置为在所述第二窗口中显示所述第六视频帧。
24.如权利要求16-23中任一项所述的装置,还包括:
确定模块,被配置为确定所述第二窗口的尺寸;
转换模块,被配置为响应于从所述服务器接收到视频帧,对所接收到的视频帧的尺寸进行转换,以使得转换后的视频帧与所述第二窗口具有相同的尺寸。
25.一种页面显示装置,包括:
第一接收模块,被配置为从客户端接收第一指令,其中,所述第一指令包括在所述客户端中待显示物体的访问路径信息以及第一二维坐标;
第一识别模块,被配置为基于所述访问路径信息,识别所述待显示物体为第一物体以及获取所述第一物体对应的唯一标识符;
创建模块,被配置为创建画布,其中,所述画布与所述客户端中用于显示三维图像的窗口相对应;
第一确定模块,被配置为基于所述第一二维坐标,确定在所述画布中对应的第一三维坐标;
第一渲染模块,被配置为在所述画布的所述第一三维坐标处,渲染所述第一物体对应的第一三维图像,以获取第一视频帧;
第一存储模块,被配置为将所述第一物体在所述画布中的所在区域与所述第一物体对应的唯一标识符的对应关系存储在预存信息中;以及
第一发送模块,被配置为将所述第一视频帧和所述第一物体对应的唯一标识符发送到所述客户端。
26.如权利要求25所述的装置,还包括:
第二接收模块,被配置为从所述客户端连续接收多个第二指令,其中,所述多个第二指令中的每一个第二指令包括第一标识符信息以及与在所述客户端中被拖拽的物体的当前位置相对应的第二二维坐标;
第二识别模块,被配置为针对所述多个第二指令中的每一个第二指令,基于该第二指令中的所述第一标识符信息,识别对应的第二物体;
第二确定模块,被配置为基于该第二指令中的所述第二二维坐标,确定对应的第二三维坐标;
第二渲染模块,被配置为在所述画布的所述第二三维坐标处,渲染所述第二物体对应的第二三维图像,以获取第二视频帧;
第二存储模块,被配置为响应于所述预存信息包含所述第二物体的数据,基于所述第二物体在所述画布中的所在区域与所述第一标识符信息的对应关系,对所述预存信息进行更新,或
响应于所述预存信息不包含所述第二物体的数据,将所述第二物体在所述画布中的所在区域与所述第一标识符信息的对应关系存储在所述预存信息中;以及
第二发送模块,被配置为将所述多个第二指令中的每一个第二指令对应的第二视频帧发送到所述客户端。
27.如权利要求25或26所述的装置,还包括:
第三接收模块,被配置为从所述客户端连续接收多个第三指令,其中,所述多个第三指令中的每一个第三指令包括在所述客户端中的第一选中操作对应的第三二维坐标以及与在所述客户端中被拖拽的物体的当前位置相对应的第四二维坐标;
第三识别模块,被配置为针对所述多个第三指令中的每一个第三指令,基于该第三指令中的所述第三二维坐标,识别所述第一选中操作所针对的第三物体;
第三确定模块,被配置为基于该第三指令中的所述第四二维坐标,确定对应的第四三维坐标;
第三渲染模块,被配置为在所述画布的所述第四三维坐标处,渲染所述第三物体对应的第三三维图像,以获取第三视频帧;
第三存储模块,被配置为响应于所述预存信息包含所述第三物体的数据,基于所述第三物体在所述画布中的所在区域与所述第三物体对应的唯一标识符的对应关系,对所述预存信息进行更新,或
响应于所述预存信息不包含所述第三物体的数据,将所述第三物体在所述画布中的所在区域与所述第三物体对应的唯一标识符的对应关系存储在所述预存信息中;以及
第三发送模块,被配置为将所述多个第三指令中的每一个第三指令对应的第三视频帧发送到所述客户端。
28.如权利要求25-27中任一项所述的装置,还包括:
第四接收模块,被配置为从所述客户端接收第四指令,其中,所述第四指令包括在所述客户端中的第二选中操作对应的第五二维坐标;
第四识别模块,被配置为基于所述第五二维坐标,识别所述第二选中操作所针对的第四物体以及确定所述第四物体在所述客户端中所对应的第三三维坐标;
获取模块,被配置为获取所述第四物体对应的参数数据;
第四渲染模块,被配置为在所述画布的所述第三三维坐标处,渲染所述第四物体对应的第四三维图像,以获取第四视频帧;以及
第四发送模块,被配置为将所述第四视频帧和所述参数数据以及所述第三三维坐标发送到所述客户端。
29.如权利要求28所述的装置,还包括:
第五接收模块,被配置为从所述客户端接收第五指令,其中,所述第五指令包括在所述客户端中被选中的物体对应的第六二维坐标以及待修改参数的目标值;
第五识别模块,被配置为基于所述第六二维坐标,识别所选中的物体为第五物体并确定对应的第六三维坐标;
第五渲染模块,被配置为基于所述待修改参数的目标值,在所述画布的所述第六三维坐标处渲染所述第五物体对应的第五三维图像,以获取第五视频帧;
第四存储模块,被配置为响应于所述预存信息包含所述第五物体的数据,基于所述第五物体在所述画布中的所在区域与所述第五物体对应的唯一标识符的对应关系,对所述预存信息进行更新,或
响应于所述预存信息不包含所述第五物体的数据,将所述第五物体在所述画布中的所在区域与所述第五物体对应的唯一标识符的对应关系存储在所述预存信息中;以及
第五发送模块,被配置为将所述第五视频帧发送到所述客户端。
30.如权利要求25-29中任一项所述的装置,还包括:
第六接收模块,被配置为从所述客户端接收第六指令,其中,所述第六指令包括第二标识符信息以及所述客户端中的移动操作所对应的移动旋转目标值;
第六识别模块,被配置为基于所述第二标识符信息,识别对应的第六物体;
第六渲染模块,被配置为基于所述移动旋转目标值,对所述第六物体对应的第六三维图像进行渲染,以获取第六视频帧;
第五存储模块,被配置为响应于所述预存信息包含所述第六物体的数据,基于所述第六物体在所述画布中的所在区域与所述第六物体对应的唯一标识符的对应关系,对所述预存信息进行更新;响应于所述预存信息不包含所述第六物体的数据,将所述第六物体在所述画布中的所在区域与所述第六物体对应的唯一标识符的对应关系存储在所述预存信息中;以及
第六发送模块,被配置为将所述第六视频帧发送到所述客户端。
31.一种电子设备,包括:
至少一个处理器,其中,所述至少一个处理器中的每一个处理器包括:
处理器缓存;以及
与所述至少一个处理器通信连接的存储器,其中
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-15中任一项所述的方法。
32.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-15中任一项所述的方法。
33.一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现权利要求1-15中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210105453.5A CN114416270B (zh) | 2022-01-28 | 2022-01-28 | 页面显示方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210105453.5A CN114416270B (zh) | 2022-01-28 | 2022-01-28 | 页面显示方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114416270A true CN114416270A (zh) | 2022-04-29 |
CN114416270B CN114416270B (zh) | 2024-07-19 |
Family
ID=81280035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210105453.5A Active CN114416270B (zh) | 2022-01-28 | 2022-01-28 | 页面显示方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416270B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116301556A (zh) * | 2023-05-19 | 2023-06-23 | 安徽卓智教育科技有限责任公司 | 互动白板软件的互动方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070003307A1 (en) * | 2005-06-29 | 2007-01-04 | Samsung Electronics Co., Ltd. | Image selecting method and apparatus |
US20070211065A1 (en) * | 2006-03-07 | 2007-09-13 | Silicon Graphics, Inc. | Integration of graphical application content into the graphical scene of another application |
CN103733170A (zh) * | 2011-08-12 | 2014-04-16 | Otoy公司 | 对象在应用之间的拖拽和放下 |
CN110716810A (zh) * | 2019-12-12 | 2020-01-21 | 武大吉奥信息技术有限公司 | 一种具有地理空间数据保密性的Web端三维GIS软件设计方法 |
-
2022
- 2022-01-28 CN CN202210105453.5A patent/CN114416270B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070003307A1 (en) * | 2005-06-29 | 2007-01-04 | Samsung Electronics Co., Ltd. | Image selecting method and apparatus |
US20070211065A1 (en) * | 2006-03-07 | 2007-09-13 | Silicon Graphics, Inc. | Integration of graphical application content into the graphical scene of another application |
CN103733170A (zh) * | 2011-08-12 | 2014-04-16 | Otoy公司 | 对象在应用之间的拖拽和放下 |
CN110716810A (zh) * | 2019-12-12 | 2020-01-21 | 武大吉奥信息技术有限公司 | 一种具有地理空间数据保密性的Web端三维GIS软件设计方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116301556A (zh) * | 2023-05-19 | 2023-06-23 | 安徽卓智教育科技有限责任公司 | 互动白板软件的互动方法、装置、电子设备及存储介质 |
CN116301556B (zh) * | 2023-05-19 | 2023-08-11 | 安徽卓智教育科技有限责任公司 | 互动白板软件的互动方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114416270B (zh) | 2024-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9912724B2 (en) | Moving objects of a remote desktop in unstable network environments | |
US10817086B2 (en) | Touch support for remoted applications | |
US9740507B2 (en) | Interacting with remote applications displayed within a virtual desktop of a tablet computing device | |
US20140143305A1 (en) | Apparatus and system for providing software service using software virtualization and method thereof | |
WO2016007181A1 (en) | Peer to peer remote application discovery | |
JP7418393B2 (ja) | 3d移行 | |
WO2016007180A1 (en) | Providing remote access to applications through interface hooks | |
US11205286B2 (en) | Techniques for optimizing creation of digital diagrams | |
US20140059114A1 (en) | Application service providing system and method and server apparatus and client apparatus for application service | |
CN115482325B (zh) | 画面渲染方法、装置、系统、设备及介质 | |
US10701431B2 (en) | Handheld controller gestures for virtual reality video playback | |
WO2014137857A1 (en) | Causing specific location of an object provided to a device | |
CN114416270B (zh) | 页面显示方法、装置、设备和介质 | |
CN112843680A (zh) | 画面显示方法、装置、终端设备及存储介质 | |
WO2024011095A1 (en) | Methods and systems for recording a graphical element by dragging a drag-to-record element | |
CN114510308B (zh) | 移动终端存储应用页面的方法、装置、设备和介质 | |
US20230297961A1 (en) | Operating system facilitation of content sharing | |
WO2018194853A1 (en) | Enhanced inking capabilities for content creation applications | |
US11487559B2 (en) | Dynamically switching between pointer modes | |
JP5949393B2 (ja) | システム、端末装置および画像取得方法 | |
Jenner et al. | Towards the development of 1-to-n human machine interfaces for unmanned aerial vehicles | |
US20220164023A1 (en) | Dynamically switching user input devices | |
CN114443124A (zh) | 分布式数据处理方法、装置、系统、设备和介质 | |
CN115187759A (zh) | 特效制作方法、装置、设备、存储介质和程序产品 | |
CN115248655A (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 |