VR rendering method and related device

By creating cube maps on the server and calculating two-dimensional maps from the target perspective, the problem of high resource utilization of traditional VR rendering methods is solved, and efficient VR rendering effect and cost reduction are achieved.

CN120198564BActive Publication Date: 2025-08-26HUNAN HAPPLY SUNSHINE INTERACTIVE ENTERTAINMENT MEDIA CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510678267.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-05-26
Publication Date
2025-08-26
Estimated Expiration
2045-05-26

AI Technical Summary

Technical Problem

While ensuring the rendering effect, the traditional VR rendering method occupies too much software and hardware resources, especially when rendering in large spaces, the cost is high, and pure terminal rendering is limited by terminal performance and has poor effect.

Method used

By rendering the target virtual space at different moving positions in the moving two-dimensional plane on the server, a cube map is created, and the two-dimensional map from the target perspective is calculated according to the request of the VR terminal, and sending it to the VR terminal to synthesize the screen content, reducing the server resource usage.

Benefits of technology

It achieves the reduction of server resource usage while ensuring the rendering effect, especially when rendering in large spaces.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120198564B_ABST
    Figure CN120198564B_ABST
Patent Text Reader

Abstract

The present application provides a VR rendering method and related device, which relate to the field of VR technology and are applied to the server side to render the static scene of the target virtual space with different moving positions in the moving two-dimensional plane to obtain cube maps corresponding to different moving positions; receive a rendering request sent by a VR terminal, the rendering request includes the target moving position and target viewing angle of the moving object in the target virtual space when the VR terminal renders it, and the VR terminal's rendering result of the moving object includes a first two-dimensional map; determine the target cube map corresponding to the target moving position, and calculate the second two-dimensional map of the target cube map under the target viewing angle; send the second two-dimensional map to the VR terminal, so that the VR terminal synthesizes the screen content according to the first two-dimensional map and the second two-dimensional map. The present application occupies fewer server resources and can guarantee the rendering effect, especially reducing the VR rendering cost of large spaces.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of VR (Virtual Reality) technology, and in particular to a VR rendering method and related devices. Background Art

[0002] VR technology is a computer simulation technology that can create and experience a virtual world. Users can enter an interactive three-dimensional dynamic space by wearing VR equipment.

[0003] Traditional VR rendering mainly includes server-side real-time rendering and pure terminal rendering. Server-side real-time rendering is streaming rendering. Although the rendering effect is better, it consumes too many software and hardware resources, and the cost is particularly high when rendering large spaces. Pure terminal rendering is limited by terminal performance, and the effect is particularly poor when rendering large spaces. Summary of the Invention

[0004] In view of the above problems, this application provides a VR rendering method and related devices to achieve the purpose of reducing server-side resource usage while ensuring rendering effects. The specific solution is as follows:

[0005] In a first aspect, the present application provides a VR rendering method, which is applied to a server and includes:

[0006] Rendering the static scene of the target virtual space at different moving positions in the moving two-dimensional plane to obtain cube maps corresponding to the different moving positions;

[0007] receiving a rendering request sent by a VR terminal, the rendering request including a target moving position and a target viewing angle of the moving object in the target virtual space in the moving two-dimensional plane when the moving object is rendered by the VR terminal, and a rendering result of the moving object by the VR terminal including a first two-dimensional map;

[0008] Determining a target cubemap corresponding to the target moving position, and calculating a second two-dimensional map of the target cubemap at the target viewing angle;

[0009] The second two-dimensional map is sent to the VR terminal, so that the VR terminal synthesizes screen content according to the first two-dimensional map and the second two-dimensional map.

[0010] In a possible implementation, rendering the static scene of the target virtual space at different moving positions in the moving two-dimensional plane to obtain cubemaps corresponding to the different moving positions includes:

[0011] Dividing the moving two-dimensional plane into a plurality of grid areas;

[0012] Rendering a texture cubemap of each grid region under the static scene at a preset height, wherein the texture cubemap covers a 360° viewing angle;

[0013] During the rendering process of the texture cube map of each grid area, the depth value of each grid area is obtained and written into the image to synthesize the depth cube map of each grid area;

[0014] Establish the mapping relationship between each mesh region and its texture cubemap and depth cubemap;

[0015] Accordingly, determining the target cubemap corresponding to the target moving position includes:

[0016] A target grid area where the target moving position is located is determined, and a target texture cube map and a target depth cube map corresponding to the target grid area are determined based on the mapping relationship.

[0017] In a possible implementation, the first two-dimensional map includes a first texture map, a first depth map, and a transparency map;

[0018] The calculating a second two-dimensional map of the target cube map at the target perspective includes:

[0019] Generate a first rendering background layer by overlaying the target texture cube map onto the inner surface of the first spherical mesh, and calculate a second texture map of the first rendering background layer at the target perspective;

[0020] A second rendering background layer is generated by covering the target depth cube map onto the inner surface of the second spherical mesh, and a second depth map of the second rendering background layer at the target viewing angle is calculated.

[0021] In a possible implementation, sending the second two-dimensional texture to the VR terminal so that the VR terminal synthesizes screen content according to the first two-dimensional texture and the second two-dimensional texture includes:

[0022] Sending the second texture map and the second depth map to the VR terminal to achieve:

[0023] The VR terminal determines an opaque area and a transparent area based on the transparency map; for each pixel in the opaque area, determines a first depth value of the pixel in the first depth map and a second depth value of the pixel in the second depth map; if the first depth value is less than the second depth value, determines a first texture value of the pixel in the first texture map and outputs it for display; if the first depth value is greater than or equal to the second depth value, determines a second texture value of the pixel in the second texture map and outputs it for display; for each pixel in the transparent area, determines a third texture value of the pixel in the first texture map and a fourth texture value in the second texture map; determines a transparency value of the pixel in the transparency map; calculates an actual texture value of the pixel based on the transparency value, the third texture value and the fourth texture value, and outputs it for display.

[0024] A second aspect of the present application provides a VR rendering device, which is applied to a server and includes:

[0025] A pre-processing module is used to render the static scene of the target virtual space at different moving positions in the moving two-dimensional plane to obtain cube maps corresponding to the different moving positions;

[0026] A static rendering module is configured to receive a rendering request sent by a VR terminal, wherein the rendering request includes a target moving position and a target viewing angle of a moving object in the target virtual space in the moving two-dimensional plane when the moving object is rendered by the VR terminal, and the rendering result of the moving object by the VR terminal includes a first two-dimensional texture; determine a target cube texture corresponding to the target moving position, and calculate a second two-dimensional texture of the target cube texture at the target viewing angle; and send the second two-dimensional texture to the VR terminal so that the VR terminal synthesizes the screen content according to the first two-dimensional texture and the second two-dimensional texture.

[0027] A third aspect of the present application provides a VR rendering method, which is applied to a VR terminal and includes:

[0028] Rendering the moving object in the target virtual space and sending a rendering request to the server, wherein the rendering request includes a target moving position and a target viewing angle of the moving object in the moving two-dimensional plane when the moving object is rendered, and the rendering result of the moving object includes a first two-dimensional map;

[0029] receiving a second two-dimensional texture sent by the server, the server previously rendering a static scene in the target virtual space at different moving positions in the moving two-dimensional plane to obtain cubemaps corresponding to the different moving positions, the second two-dimensional texture being calculated by the server based on a target cubemap corresponding to the target moving position and the target viewing angle;

[0030] The screen content is synthesized according to the first two-dimensional map and the second two-dimensional map.

[0031] In one possible implementation, the first two-dimensional map includes a first texture map, a first depth map, and a transparency map, the cube map includes a texture cube map and a depth cube map, the target cube map includes a target texture cube map and a target depth cube map, and the second two-dimensional map includes a second texture map and a second depth map;

[0032] The synthesizing the screen content according to the first two-dimensional map and the second two-dimensional map includes:

[0033] Determining an opaque area and a transparent area according to the transparency map;

[0034] For each pixel in the opaque area, determining a first depth value of the pixel in the first depth map and a second depth value of the pixel in the second depth map; if the first depth value is less than the second depth value, determining a first texture value of the pixel in the first texture map and outputting it for display; if the first depth value is greater than or equal to the second depth value, determining a second texture value of the pixel in the second texture map and outputting it for display;

[0035] For each pixel point in the transparent area, determine the third texture value of the pixel point in the first texture map and the fourth texture value in the second texture map; determine the transparency value of the pixel point in the transparency map; calculate the actual texture value of the pixel point based on the transparency value, the third texture value and the fourth texture value, and output it for display.

[0036] A fourth aspect of the present application provides a VR rendering device, which is applied to a VR terminal and includes:

[0037] a dynamic rendering module, configured to render a moving object in a target virtual space and send a rendering request to a server, wherein the rendering request includes a target moving position and a target viewing angle of the moving object in a moving two-dimensional plane when the moving object is rendered, and the rendering result of the moving object includes a first two-dimensional texture;

[0038] A screen synthesis module is configured to receive a second two-dimensional texture sent by the server, the server pre-rendering a static scene in the target virtual space at different moving positions in the moving two-dimensional plane to obtain cube textures corresponding to the different moving positions, the second two-dimensional texture being calculated by the server based on a target cube texture corresponding to the target moving position and the target viewing angle; and synthesizing screen content based on the first two-dimensional texture and the second two-dimensional texture.

[0039] In a fifth aspect, the present application provides a computer program product, comprising computer-readable instructions. When the computer-readable instructions are executed on an electronic device, the electronic device implements the VR rendering method of the first aspect or any implementation of the first aspect or the third aspect or any implementation of the third aspect.

[0040] In a sixth aspect, the present application provides a computer storage medium carrying one or more computer programs. When the one or more computer programs are executed by an electronic device, the electronic device can implement the VR rendering method of the first aspect or any implementation of the first aspect or the third aspect or any implementation of the third aspect.

[0041] By means of the above technical solution, the present application provides a VR rendering method and related device, which are applied to the server side, and render the static scene of the target virtual space at different moving positions in the moving two-dimensional plane to obtain cube maps corresponding to different moving positions; receive a rendering request sent by the VR terminal, the rendering request includes the target moving position and target perspective of the moving object in the target virtual space in the moving two-dimensional plane when the VR terminal renders it, and the VR terminal's rendering result of the moving object includes a first two-dimensional map; determine the target cube map corresponding to the target moving position, and calculate the second two-dimensional map of the target cube map at the target perspective; send the second two-dimensional map to the VR terminal so that the VR terminal synthesizes the picture content according to the first two-dimensional map and the second two-dimensional map. In the present application, the server side pre-renders the static scene into cube maps at different moving positions. When the VR terminal renders the two-dimensional map of the moving object in real time, it returns the two-dimensional map of the static scene at its position and perspective to the VR terminal, so that the VR terminal generates a complete VR picture by superimposing the two-dimensional maps. This can realize the VR rendering task by cooperating with the VR terminal, occupying less server resources and ensuring the rendering effect, especially reducing the VR rendering cost of large spaces. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] The above and other features, advantages, and aspects of the various embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that the originals and elements are not necessarily drawn to scale.

[0043] Figure 1 A schematic diagram of a system architecture provided in an embodiment of the present application;

[0044] Figure 2 A schematic diagram of the structure of a VR terminal provided in an embodiment of the present application;

[0045] Figure 3 A schematic diagram of the structure of a server provided in an embodiment of the present application;

[0046] Figure 4 A flowchart of a VR rendering method provided in an embodiment of the present application;

[0047] Figure 5 A partial flowchart of a VR rendering method provided in an embodiment of the present application;

[0048] Figure 6 A schematic diagram of the structure of a VR rendering device provided in an embodiment of the present application;

[0049] Figure 7 Another flowchart of a VR rendering method provided in an embodiment of the present application;

[0050] Figure 8 Another structural schematic diagram of a VR rendering device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0051] The following describes the embodiments of the present application in conjunction with the accompanying drawings. The terms used in the implementation methods of the present application are only used to explain the specific embodiments of the present application and are not intended to limit the present application.

[0052] The embodiments of the present application are described below in conjunction with the accompanying drawings. Those skilled in the art will appreciate that, with the development of technology and the emergence of new scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0053] The terms "first", "second" etc. in the specification of the application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequential order. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, and this is merely a way of distinguishing the objects of the same attributes when describing them in the embodiments of the application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, so that the process, method, system, product or equipment comprising a series of units need not be limited to those units, but may include other units that are not clearly listed or inherent to these processes, methods, products or equipment.

[0054] See also Figure 1 , Figure 1 A schematic diagram of a system architecture provided in an embodiment of the present application. The system may include a VR terminal 100 and a server 200. The server 200 may include one or more servers ( Figure 1 (In the example, a server is included), the server 200 can provide the VR rendering method provided in the embodiment of the present application for one or more VR terminals 100.

[0055] Among them, the VR terminal 100 can be installed with an application that executes the VR rendering method. The above application and web page can provide an interface. The VR terminal 100 can receive relevant parameters of the moving object entered by the user on the VR application interface, and send the target moving position and target viewing angle of the moving object in the moving two-dimensional plane when the moving object is rendered by the VR terminal to the server 200. Based on the received parameters, the server 200 obtains the two-dimensional map under the target moving position and target viewing angle, and returns it to the VR terminal 100.

[0056] See also Figure 2 , Figure 2 This is a structural diagram of a VR terminal provided in an embodiment of the present application. Figure 2 As shown, the VR terminal 100 may include a radio frequency unit 110, a memory 120, an input unit 130, a display unit 140, a camera 150 (optional), an audio circuit 160 (optional), a speaker 161 (optional), a microphone 162 (optional), a headphone jack 163 (optional), a processor 170, an external interface 180, a power supply 190 and other components. Those skilled in the art will understand that Figure 2 These are merely examples of terminals or multi-function devices and do not limit the terminal or multi-function device. The terminal or multi-function device may include more or fewer components than shown in the figure, or may combine certain components or different components.

[0057] The input unit 130 can be used to receive input digital or character information and generate key signal input related to user settings and function control of the portable multi-function device. The input unit 130 may also include other input devices. Specifically, the other input device 132 may include, but is not limited to, one or more of a physical keyboard, function keys (such as volume control keys, power buttons, etc.), a trackball, a mouse, a joystick, etc.

[0058] Among them, the input device 132 can receive input data and the like.

[0059] The display unit 140 may be used to display information input by or provided to the user, various menus of the VR terminal 100, interactive interfaces, file display, and / or playback of any multimedia file. In an embodiment of the present application, the display unit 140 may be used to display a complete VR image generated by overlaying a two-dimensional texture.

[0060] Memory 120 can be used to store instructions and data. It primarily includes an instruction storage area and a data storage area. The data storage area can store various data, such as multimedia files and text. The instruction storage area can store software units such as the operating system, applications, and instructions required for at least one function, or subsets or extensions thereof. It may also include non-volatile random access memory (RAM). It provides processor 170 with management functions for the hardware, software, and data resources within the computing and processing device, supporting control software and applications. It is also used to store multimedia files and running programs and applications.

[0061] The processor 170 is the control center of the VR terminal 100. It connects the various components of the VR terminal 100 using various interfaces and circuits. By running or executing instructions stored in the memory 120 and accessing data stored in the memory 120, it executes various functions of the VR terminal 100 and processes data, thereby providing overall control of the terminal device. Optionally, the processor 170 may include one or more processing units. Preferably, the processor 170 may integrate an application processor and a modem processor, with the application processor primarily processing the operating system, user interface, and application programs, while the modem processor primarily handles wireless communications. It is understood that the modem processor may not be integrated into the processor 170. In some embodiments, the processor and memory may be implemented on a single chip; in some embodiments, they may be implemented on separate chips. The processor 170 may also be used to generate corresponding operational control signals and send them to the corresponding components of the computing and processing device. It may also read and process data in the software, particularly the data and programs in the memory 120, to enable the various functional modules therein to perform their corresponding functions, thereby controlling the corresponding components to operate as instructed.

[0062] Among them, the memory 120 can be used to store software codes related to the VR rendering method, the processor 170 can execute the steps of the VR rendering method, and can also schedule other units (such as the above-mentioned input unit 130 and display unit 140) to implement corresponding functions.

[0063] The RF unit 110 (optional) can be used to send and receive information or receive and send signals during a call. For example, after receiving downlink information from the base station, it is passed to the processor 170 for processing; in addition, the designed uplink data is sent to the base station. Generally, the RF circuit includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier (LNA), a duplexer, etc. In addition, the RF unit 110 can also communicate with network devices and other devices via wireless communication. This wireless communication can use any communication standard or protocol, including but not limited to Global System of Mobile communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), email, Short Messaging Service (SMS), etc.

[0064] In this embodiment of the present application, the radio frequency unit 110 can send data to the server 200 and receive processing results sent by the server 200.

[0065] It should be understood that the radio frequency unit 110 is optional and can be replaced by other communication interfaces, such as a network port.

[0066] The VR terminal 100 also includes a power supply 190 (such as a battery) for supplying power to various components. Preferably, the power supply can be logically connected to the processor 170 through a power management system, thereby managing functions such as charging, discharging, and power consumption through the power management system.

[0067] The VR terminal 100 also includes an external interface 180, which can be a standard Micro USB interface or a multi-pin connector. It can be used to connect the VR terminal 100 to communicate with other devices, and can also be used to connect a charger to charge the VR terminal 100.

[0068] Although not shown, the VR terminal 100 may also include a flashlight, a wireless fidelity (WiFi) module, a Bluetooth module, sensors with different functions, etc., which will not be described in detail here. Some or all of the methods described below can be applied to Figure 2 In the VR terminal 100 shown.

[0069] See also Figure 3 , Figure 3 This is a schematic diagram of the structure of a server provided in an embodiment of the present application. Figure 3 As shown, the server 200 includes a bus 210, a processing device 220, a communication interface 230, and a storage device 240. The processing device 220, the storage device 240, and the communication interface 230 communicate with each other via the bus 210.

[0070] The bus 210 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 3 Only one thick line is used in the diagram, but this does not mean that there is only one bus or one type of bus.

[0071] The processing device 220 may be any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0072] The storage device 240 may include a volatile memory, such as a random access memory (RAM). The storage device 240 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard drive (HDD), or a solid state drive (SSD).

[0073] Among them, the storage device 240 can be used to store software codes related to the VR rendering method, the processing device 220 can execute the steps of the VR rendering method of the chip, and can also schedule other units to implement corresponding functions.

[0074] It should be understood that the VR terminal 100 and the server 200 may be centralized or distributed devices.

[0075] See also Figure 4 , Figure 4 This is a flow chart of a VR rendering method provided in an embodiment of the present application. Figure 4 As shown, a VR rendering method provided in an embodiment of the present application is applied to the server 200. The VR rendering method may include steps S401 to S403, and these steps are described in detail below.

[0076] S401 , rendering a static scene of a target virtual space at different moving positions in a moving two-dimensional plane to obtain cubemaps corresponding to the different moving positions.

[0077] In the embodiment of the present application, the target virtual space is a VR virtual space to be rendered, which includes static scenes and moving objects. The moving two-dimensional plane is the two-dimensional plane where the moving object moves when it moves in the target virtual space.

[0078] The mobile terminal 200 determines multiple possible moving positions of the moving object in the moving two-dimensional plane, and then renders the static scene at each moving position to obtain a cube map corresponding to each moving position. The cube map serves as the background for subsequent calculation of the two-dimensional map of the moving object at a certain position (i.e., the subsequent target moving position) and a certain perspective (i.e., the subsequent target perspective).

[0079] In one possible implementation, the moving two-dimensional plane can be divided into multiple grid areas, and then the static scene is rendered under each grid area to obtain the texture cube map and depth cube map corresponding to each grid area. Figure 5 , Figure 5 This is a partial flow chart of a VR rendering method provided in an embodiment of the present application. Figure 5 As shown, an embodiment of the present application provides a VR rendering method, wherein step S401 "renders a static scene of a target virtual space at different moving positions in a moving two-dimensional plane to obtain cube maps corresponding to different moving positions" may include steps S4011 to S4014, and these steps are described in detail below.

[0080] S4011, dividing the moving two-dimensional plane into a plurality of grid areas.

[0081] In the embodiment of the present application, the size of a single grid area can be determined according to the positioning accuracy of the target virtual space. , assuming that the moving two-dimensional plane The minimum value of the direction is 0 and the maximum value is , continue to assume that the moving two-dimensional plane The minimum value of the direction is 0 and the maximum value is , then the size of a single grid area is By dividing the moving two-dimensional plane, we can obtain Directional grid area, Directional grid area, you can define The direction of indivual, The direction of The grid area is ,in The value range is 、 The value range is .

[0082] S4012, rendering a texture cube map of each grid area in a static scene at a preset height, where the texture cube map covers a 360° viewing angle.

[0083] In this embodiment, the height of the virtual camera when rendering a static scene is set to a preset height. For each grid area in the moving two-dimensional plane, the virtual camera is placed at the center of the grid area at the preset height, and the texture cubemap corresponding to the grid area is obtained using engine rendering. The texture cubemap covers a 360-degree viewing angle.

[0084] S4013 , during the rendering process of the texture cube map of each grid area, obtaining the depth value of each grid area and writing it into the image to synthesize the depth cube map of each grid area.

[0085] In an embodiment of the present application, for each grid area in the moving two-dimensional plane, during the rendering process of the texture cube map corresponding to the grid area, the depth value of the depth buffer can be synchronously written into the image to synthesize the depth cube map.

[0086] S4014: Establish a mapping relationship between each grid area and its texture cube map and depth cube map.

[0087] In the embodiment of the present application, for each grid area in the moving two-dimensional plane, a mapping relationship is established between the grid area and its corresponding texture cube map and depth cube map. Specifically, the mapping relationship can be expressed as ,in, Represented as a grid area the corresponding texture cubemap, Represented as a grid area The corresponding depth cubemap.

[0088] Subsequently, based on the above mapping relationship, the texture cube map and depth cube map corresponding to the specified grid area can be indexed.

[0089] In one possible implementation, the texture cubemap and depth cubemap corresponding to each grid area may be compressed and stored to reduce the storage resource usage of the server 200. In this regard, an embodiment of the present application provides a VR rendering method, wherein step S401 of "rendering a static scene in a target virtual space at different moving positions in a moving two-dimensional plane to obtain cubemaps corresponding to different moving positions" may further include the following steps:

[0090] Based on the mapping relationship, the texture cube map and depth cube map corresponding to each grid area are compressed and stored.

[0091] In an embodiment of the present application, based on the above mapping relationship, the texture cube map and depth cube map corresponding to each grid area can be compressed using ASTC or H.265 compression and stored in a storage system.

[0092] S402, receiving a rendering request sent by the VR terminal, where the rendering request includes a target moving position and a target viewing angle of a moving object in a target virtual space in a moving two-dimensional plane when the moving object is rendered by the VR terminal, and a rendering result of the moving object by the VR terminal includes a first two-dimensional map.

[0093] In the embodiment of the present application, during the user usage phase, the VR terminal 100 initializes the dynamic scene configuration (including configuration of the virtual FOV resolution, etc.) and synchronizes the virtual and real positions and perspectives (i.e., the orientation of the VR glasses) within the positioning solution. The VR terminal obtains the rendering result of the moving object in the current frame through front-end real-time rendering. The rendering result includes a two-dimensional map (i.e., a first two-dimensional map). The VR terminal then places the position (i.e., the target moving position) and perspective (i.e., the target perspective) of the moving object in the current frame in the moving two-dimensional plane in a rendering request, which is sent to the server 200.

[0094] In this regard, after receiving the rendering request sent by the VR terminal 100, the server 200 can parse it to obtain the target moving position and target viewing angle corresponding to the current frame.

[0095] S403 , determining a target cubemap corresponding to the target moving position, and calculating a second two-dimensional map of the target cubemap under the target viewing angle.

[0096] In the embodiment of the present application, the server 200 obtains cubemaps at different moving positions in advance, and can determine the target cubemap corresponding to the target moving position therefrom, and synchronize the target perspective to the virtual camera. By overlaying the target cubemap on the inner surface of a spherical mesh, a rendering background layer is generated, and a three-dimensional rendering process (which can use the currently mature transformation and rasterization calculation process) is used to calculate the two-dimensional texture (i.e., the second two-dimensional texture) of the rendering background layer recorded by the virtual camera.

[0097] In a possible implementation, when the moving two-dimensional plane is divided into a plurality of grid areas, the "determining the target cubemap corresponding to the target moving position" in step S403 may be performed as follows:

[0098] A target grid area where the target movement position is located is determined, and a target texture cube map and a target depth cube map corresponding to the target grid area are determined based on the mapping relationship.

[0099] In the embodiment of the present application, according to the size of a single grid area The grid area where the target moving position is located (i.e., the target grid area) can be calculated, and then the texture cube map (i.e., the target texture cube map) and the depth cube map (i.e., the target depth cube map) corresponding to the target grid area can be determined based on the above mapping relationship.

[0100] S404: Send the second two-dimensional texture to the VR terminal, so that the VR terminal synthesizes the screen content according to the first two-dimensional texture and the second two-dimensional texture.

[0101] In an embodiment of the present application, after obtaining the second two-dimensional map, the server 200 can send the second two-dimensional map to the VR terminal 100, and the VR terminal 100 synthesizes the first two-dimensional map and the second two-dimensional map to obtain the picture content of the current frame.

[0102] In a possible implementation, the rendering result of the current frame rendered by the VR terminal 100 includes a texture map (i.e., a first texture map), a depth map (i.e., a first depth map), and a transparency map. The first texture map records the texture value of each pixel when the moving object is rendered; the first depth map records the depth value of each pixel when the moving object is rendered; the transparency map records the transparency value of each pixel when the moving object is rendered, and the transparency value range is When the transparency value is 1, it means it is not transparent, and when the transparency value is 0, it means it is fully transparent.

[0103] The cubemap includes a texture cubemap and a depth cubemap, and the target cubemap corresponding to the target moving position includes a target texture cubemap and a target depth cubemap. The server 200 can sequentially use the target texture cubemap and the target depth cubemap as rendering background layers, thereby obtaining a second two-dimensional map including a second texture map and a second depth map. The second texture map records the texture value of each pixel in the static scene at the target moving position and the target viewing angle; the second depth map records the depth value of each pixel in the static scene at the target moving position and the target viewing angle.

[0104] In this regard, an embodiment of the present application provides a VR rendering method, wherein in step S403, "calculating a second two-dimensional map of the target cube map at the target perspective" can be performed using the following steps:

[0105] A first rendering background layer is generated by overlaying the target texture cube map onto the inner surface of the first spherical mesh, and a second texture map of the first rendering background layer at the target perspective is calculated. A second rendering background layer is generated by overlaying the target depth cube map onto the inner surface of the second spherical mesh, and a second depth map of the second rendering background layer at the target perspective is calculated.

[0106] In an embodiment of the present application, after obtaining a target texture cubemap and a target depth cubemap, the target perspective is synchronized with the virtual camera. On the one hand, a rendering background layer (i.e., a first rendering background layer) is generated by overlaying the target texture cubemap onto the inner surface of a spherical mesh (i.e., a first spherical mesh), and a 3D rendering process is used to calculate the texture map (i.e., a second texture map) of the first rendering background layer as recorded by the virtual camera. On the other hand, a rendering background layer (i.e., a second rendering background layer) is generated by overlaying the target depth cubemap onto the inner surface of a spherical mesh (i.e., a second spherical mesh), and a 3D rendering process is used to calculate the depth map (i.e., a second depth map) of the second rendering background layer as recorded by the virtual camera.

[0107] Accordingly, step S404 of "sending the second two-dimensional texture to the VR terminal so that the VR terminal synthesizes the screen content according to the first two-dimensional texture and the second two-dimensional texture" can be performed using the following steps:

[0108] The second texture map and the second depth map are sent to the VR terminal to achieve:

[0109] The VR terminal determines the opaque area and the transparent area based on the transparency map; for each pixel in the opaque area, determines the first depth value of the pixel in the first depth map and the second depth value of the pixel in the second depth map; if the first depth value is less than the second depth value, determines the first texture value of the pixel in the first texture map and outputs it for display; if the first depth value is greater than or equal to the second depth value, determines the second texture value of the pixel in the second texture map and outputs it for display; for each pixel in the transparent area, determines the third texture value of the pixel in the first texture map and the fourth texture value in the second texture map; determines the transparency value of the pixel in the transparency map; calculates the actual texture value of the pixel based on the transparency value, the third texture value and the fourth texture value, and outputs it for display.

[0110] In the embodiment of the present application, the server 200 can compress and transmit the second texture map and the second depth map to the VR terminal 100, and the VR terminal 100 can obtain the second texture map and the second depth map after decompression.

[0111] During the process of synthesizing the picture content of the current frame, the VR terminal 100 first determines the impermeable area and the transparent area based on the transparency map, wherein the transparency value of the pixel points in the impermeable area is greater than the transparency value of the pixel points in the transparent area. For example, the transparency value of the pixel points in the impermeable area is 1, and the transparency value of the pixel points in the transparent area is less than 1.

[0112] For each pixel in the impermeable area, determine the depth value of the pixel in the first depth map (i.e., the first depth value) and the depth value of the pixel in the second depth map (i.e., the second depth value), and compare the first depth value with the second depth value; if the first depth value is less than the second depth value, it means that the moving object is closer to the VR glasses. At this time, the texture value of the pixel in the first texture map (i.e., the first texture value) is determined, and the first texture value is output and displayed; if the first depth value is greater than or equal to the second depth value, it means that the static scene is closer to the VR glasses (i.e., the moving object is blocked by the static scene). At this time, the second texture value of the pixel in the second texture map is determined, and the second texture value is output and displayed.

[0113] For each pixel in the transparent area, the texture value of the pixel in the first texture map (i.e., the third texture value) and the texture value of the pixel in the second texture map (i.e., the fourth texture value) can be determined, and then the transparency value of the pixel in the transparency map can be determined. The actual texture value of the pixel is calculated based on the transparency value, the third texture value, and the fourth texture value, and the actual texture value is output and displayed. Specifically, assuming that the third texture value corresponding to the pixel is , the fourth texture value is , transparent value is , then the actual texture value of the pixel is .

[0114] Based on this, the texture value of each pixel in the current frame can be output to form the picture content.

[0115] As described above, the VR rendering method provided in the embodiment of the present application is different from traditional full-scene real-time rendering or perspective-by-perspective pre-rendering. Through two-dimensional grid sampling and cube map mapping, only fewer rendering resources are required to support a continuous immersive experience of large-space perspective rotation, occupying fewer server resources and ensuring rendering effects, especially reducing the VR rendering cost of large spaces.

[0116] See also Figure 6 , Figure 6 This is a structural diagram of a VR rendering device provided in an embodiment of the present application. Figure 6 As shown, a VR rendering device provided in an embodiment of the present application is applied to a server 200, and the device includes:

[0117] The pre-processing module 601 is used to render the static scene of the target virtual space at different moving positions in the moving two-dimensional plane to obtain cubemaps corresponding to the different moving positions.

[0118] The static rendering module 602 is configured to receive a rendering request sent by a VR terminal, wherein the rendering request includes a target moving position and a target viewing angle of a moving object in a target virtual space in a moving two-dimensional plane when the VR terminal renders the moving object, and the rendering result of the moving object by the VR terminal includes a first two-dimensional texture; determine a target cube texture corresponding to the target moving position, and calculate a second two-dimensional texture of the target cube texture at a target viewing angle; and send the second two-dimensional texture to the VR terminal so that the VR terminal synthesizes the screen content based on the first two-dimensional texture and the second two-dimensional texture.

[0119] In a possible implementation, the preprocessing module 601 is specifically configured to:

[0120] Divide the moving two-dimensional plane into multiple grid regions; render a texture cubemap of each grid region in a static scene at a preset height, with the texture cubemap covering a 360-degree viewing angle; during the rendering of the texture cubemap of each grid region, obtain the depth value of each grid region and write it into the image to synthesize a depth cubemap for each grid region; establish a mapping relationship between each grid region and its texture cubemap and depth cubemap;

[0121] Accordingly, the static rendering module 602 for determining the target cubemap corresponding to the target moving position is specifically configured to:

[0122] A target grid area where the target movement position is located is determined, and a target texture cube map and a target depth cube map corresponding to the target grid area are determined based on the mapping relationship.

[0123] In a possible implementation, the first two-dimensional map includes a first texture map, a first depth map, and a transparency map;

[0124] The static rendering module 602 for calculating the second two-dimensional map of the target cube map at the target perspective is specifically configured to:

[0125] A first rendering background layer is generated by overlaying the target texture cube map onto the inner surface of the first spherical mesh, and a second texture map of the first rendering background layer at the target perspective is calculated. A second rendering background layer is generated by overlaying the target depth cube map onto the inner surface of the second spherical mesh, and a second depth map of the second rendering background layer at the target perspective is calculated.

[0126] In one possible implementation, the static rendering module 602 for sending the second two-dimensional texture to the VR terminal so that the VR terminal synthesizes the screen content according to the first two-dimensional texture and the second two-dimensional texture is specifically configured to:

[0127] The second texture map and the second depth map are sent to the VR terminal to achieve:

[0128] The VR terminal determines the opaque area and the transparent area based on the transparency map; for each pixel in the opaque area, determines the first depth value of the pixel in the first depth map and the second depth value of the pixel in the second depth map; if the first depth value is less than the second depth value, determines the first texture value of the pixel in the first texture map and outputs it for display; if the first depth value is greater than or equal to the second depth value, determines the second texture value of the pixel in the second texture map and outputs it for display; for each pixel in the transparent area, determines the third texture value of the pixel in the first texture map and the fourth texture value in the second texture map; determines the transparency value of the pixel in the transparency map; calculates the actual texture value of the pixel based on the transparency value, the third texture value and the fourth texture value, and outputs it for display.

[0129] It should be noted that the detailed functions of each module provided in the embodiment of the present application can be found in the corresponding public part of the above-mentioned VR rendering method embodiment, and will not be repeated here.

[0130] See also Figure 7 , Figure 7 This is another flowchart of a VR rendering method provided in an embodiment of the present application. Figure 7 As shown, a VR rendering method provided in an embodiment of the present application is applied to a VR terminal 100. The VR rendering method may include steps S701 to S703, and these steps are described in detail below.

[0131] S701, render the moving object in the target virtual space and send a rendering request to the server. The rendering request includes the target moving position and target viewing angle of the moving object in the moving two-dimensional plane when the moving object is rendered. The rendering result of the moving object includes a first two-dimensional map.

[0132] S702, receiving a second two-dimensional texture sent by the server. The server pre-renders the static scene in the target virtual space at different moving positions in the moving two-dimensional plane to obtain cube textures corresponding to the different moving positions. The second two-dimensional texture is calculated by the server based on the target cube texture corresponding to the target moving position and the target viewing angle.

[0133] S703: Synthesize the screen content according to the first two-dimensional texture and the second two-dimensional texture.

[0134] In one possible implementation, the first two-dimensional map includes a first texture map, a first depth map, and a transparency map, the cube map includes a texture cube map and a depth cube map, the target cube map includes a target texture cube map and a target depth cube map, and the second two-dimensional map includes a second texture map and a second depth map;

[0135] The above step S703 of “combining the screen content according to the first two-dimensional texture and the second two-dimensional texture” includes:

[0136] Determine the opaque and transparent areas based on the transparency map;

[0137] For each pixel in the opaque area, determine a first depth value of the pixel in the first depth map and a second depth value of the pixel in the second depth map; if the first depth value is less than the second depth value, determine a first texture value of the pixel in the first texture map and output it for display; if the first depth value is greater than or equal to the second depth value, determine a second texture value of the pixel in the second texture map and output it for display;

[0138] For each pixel in the transparent area, determine the third texture value of the pixel in the first texture map and the fourth texture value in the second texture map; determine the transparency value of the pixel in the transparency map; calculate the actual texture value of the pixel based on the transparency value, the third texture value and the fourth texture value, and output it for display.

[0139] It should be noted that the specific implementation of each step in the embodiment of the present application can be found in the corresponding public part of the above-mentioned VR rendering method embodiment, and will not be repeated here.

[0140] See also Figure 8 , Figure 8 This is another structural diagram of a VR rendering device provided in an embodiment of the present application. Figure 8 As shown, a VR rendering device provided in an embodiment of the present application is applied to a VR terminal 100, and the device includes:

[0141] A dynamic rendering module 801 is configured to render a moving object in a target virtual space and send a rendering request to a server. The rendering request includes a target moving position and a target viewing angle of the moving object in a moving two-dimensional plane when the moving object is rendered. The rendering result of the moving object includes a first two-dimensional texture.

[0142] The screen synthesis module 802 is used to receive the second two-dimensional texture sent by the server. The server pre-renders the static scene in the target virtual space at different moving positions in the moving two-dimensional plane to obtain cube textures corresponding to the different moving positions. The second two-dimensional texture is calculated by the server based on the target cube texture corresponding to the target moving position and the target perspective; and synthesize the screen content based on the first two-dimensional texture and the second two-dimensional texture.

[0143] In one possible implementation, the first two-dimensional map includes a first texture map, a first depth map, and a transparency map, the cube map includes a texture cube map and a depth cube map, the target cube map includes a target texture cube map and a target depth cube map, and the second two-dimensional map includes a second texture map and a second depth map;

[0144] The picture synthesis module 802 is configured to synthesize the picture content according to the first two-dimensional map and the second two-dimensional map, and is specifically configured to:

[0145] Determine the opaque area and the transparent area according to the transparency map; for each pixel in the opaque area, determine the first depth value of the pixel in the first depth map and the second depth value of the pixel in the second depth map; if the first depth value is less than the second depth value, determine the first texture value of the pixel in the first texture map and output it for display; if the first depth value is greater than or equal to the second depth value, determine the second texture value of the pixel in the second texture map and output it for display; for each pixel in the transparent area, determine the third texture value of the pixel in the first texture map and the fourth texture value in the second texture map; determine the transparency value of the pixel in the transparency map; calculate the actual texture value of the pixel according to the transparency value, the third texture value and the fourth texture value, and output it for display.

[0146] It should be noted that the detailed functions of each module in the embodiment of the present application can be found in the corresponding public part of the above-mentioned VR rendering method embodiment, and will not be repeated here.

[0147] An embodiment of the present application also provides a computer program product including computer-readable instructions. When the computer-readable instructions are executed on an electronic device, the electronic device implements any one of the VR rendering methods provided in the embodiments of the present application.

[0148] A computer-readable storage medium is also provided in an embodiment of the present application. The storage medium carries one or more computer programs. When the one or more computer programs are executed by an electronic device, the electronic device can implement any VR rendering method provided in the embodiment of the present application.

[0149] It should also be noted that the device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed across multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present embodiment. In addition, in the drawings of the device embodiments provided in this application, the connection relationship between the modules indicates that there is a communication connection between them, which can be specifically implemented as one or more communication buses or signal lines.

[0150] Through the description of the above embodiments, those skilled in the art can clearly understand that the present application can be implemented by means of software plus necessary general hardware, and of course can also be implemented by special hardware including application-specific integrated circuits, special CPUs, special memories, special components, etc. In general, all functions performed by computer programs can be easily implemented with corresponding hardware, and the specific hardware structures used to implement the same function can also be diverse, such as analog circuits, digital circuits or special circuits, etc. However, for the present application, software program implementation is a better implementation method in most cases. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a readable storage medium, such as a computer's floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk or optical disk, etc., and includes a number of instructions to enable a computer device (which can be a personal computer, training equipment, or network equipment, etc.) to execute the methods described in each embodiment of the present application.

[0151] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware, or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product.

[0152] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website, a computer, a training device or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website, a computer, a training device or a data center. The computer-readable storage medium can be any available medium that a computer can store or a data storage device such as a training device, a data center, etc. that includes one or more available media integrations. The available medium can be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).

Claims

1. A VR rendering method, characterized in that: The method is applied to the server and includes: Rendering the static scene of the target virtual space at different moving positions in the moving two-dimensional plane to obtain cube maps corresponding to the different moving positions; receiving a rendering request sent by a VR terminal, the rendering request including a target moving position and a target viewing angle of the moving object in the target virtual space in the moving two-dimensional plane when the moving object is rendered by the VR terminal, and a rendering result of the moving object by the VR terminal including a first two-dimensional map; Determining a target cubemap corresponding to the target moving position, and calculating a second two-dimensional map of the target cubemap at the target viewing angle; Sending the second two-dimensional map to the VR terminal, so that the VR terminal synthesizes screen content according to the first two-dimensional map and the second two-dimensional map; The step of rendering the static scene of the target virtual space at different moving positions in the moving two-dimensional plane to obtain cubemaps corresponding to the different moving positions includes: Dividing the moving two-dimensional plane into a plurality of grid areas; Rendering a texture cubemap of each grid region under the static scene at a preset height, wherein the texture cubemap covers a 360° viewing angle; During the rendering process of the texture cube map of each grid area, the depth value of each grid area is obtained and written to the image to synthesize the depth cube map of each grid area; Establish the mapping relationship between each mesh region and its texture cubemap and depth cubemap; Accordingly, determining the target cubemap corresponding to the target moving position includes: A target grid area where the target moving position is located is determined, and a target texture cube map and a target depth cube map corresponding to the target grid area are determined based on the mapping relationship.

2. The VR rendering method according to claim 1, wherein: The first two-dimensional map includes a first texture map, a first depth map and a transparency map; The calculating a second two-dimensional map of the target cube map at the target perspective includes: Generate a first rendering background layer by overlaying the target texture cube map onto the inner surface of the first spherical mesh, and calculate a second texture map of the first rendering background layer at the target perspective; A second rendering background layer is generated by covering the target depth cube map onto the inner surface of the second spherical mesh, and a second depth map of the second rendering background layer at the target viewing angle is calculated.

3. The VR rendering method according to claim 2, wherein: The sending the second two-dimensional map to the VR terminal so that the VR terminal synthesizes screen content according to the first two-dimensional map and the second two-dimensional map includes: Sending the second texture map and the second depth map to the VR terminal to achieve: The VR terminal determines an opaque area and a transparent area based on the transparency map; for each pixel in the opaque area, determines a first depth value of the pixel in the first depth map and a second depth value of the pixel in the second depth map; if the first depth value is less than the second depth value, determines a first texture value of the pixel in the first texture map and outputs it for display; if the first depth value is greater than or equal to the second depth value, determines a second texture value of the pixel in the second texture map and outputs it for display; for each pixel in the transparent area, determines a third texture value of the pixel in the first texture map and a fourth texture value in the second texture map; determines a transparency value of the pixel in the transparency map; calculates an actual texture value of the pixel based on the transparency value, the third texture value and the fourth texture value, and outputs it for display.

4. A VR rendering device, characterized in that: The device is applied to a server, and includes: A pre-processing module, configured to render a static scene of a target virtual space at different moving positions in a moving two-dimensional plane, and obtain cubemaps corresponding to the different moving positions; a static rendering module, configured to receive a rendering request sent by a VR terminal, the rendering request including a target moving position and a target viewing angle of a moving object in the target virtual space in the moving two-dimensional plane when rendered by the VR terminal, the rendering result of the moving object by the VR terminal including a first two-dimensional texture; determine a target cube texture corresponding to the target moving position, and calculate a second two-dimensional texture of the target cube texture at the target viewing angle; and send the second two-dimensional texture to the VR terminal so that the VR terminal synthesizes screen content based on the first two-dimensional texture and the second two-dimensional texture; The pre-processing module is used to render the static scene of the target virtual space at different moving positions in the moving two-dimensional plane to obtain cubemaps corresponding to the different moving positions, including: Dividing the moving two-dimensional plane into a plurality of grid areas; Rendering a texture cubemap of each grid region under the static scene at a preset height, wherein the texture cubemap covers a 360° viewing angle; During the rendering process of the texture cube map of each grid area, the depth value of each grid area is obtained and written to the image to synthesize the depth cube map of each grid area; Establish the mapping relationship between each mesh region and its texture cubemap and depth cubemap; Accordingly, the static rendering module is used to determine the target cubemap corresponding to the target moving position, including: A target grid area where the target moving position is located is determined, and a target texture cube map and a target depth cube map corresponding to the target grid area are determined based on the mapping relationship.

5. A VR rendering method, characterized in that: The method is applied to a VR terminal and includes: Rendering the moving object in the target virtual space and sending a rendering request to the server, wherein the rendering request includes a target moving position and a target viewing angle of the moving object in the moving two-dimensional plane when the moving object is rendered, and the rendering result of the moving object includes a first two-dimensional map; receiving a second two-dimensional texture sent by the server, the server previously rendering a static scene in the target virtual space at different moving positions in the moving two-dimensional plane to obtain cubemaps corresponding to the different moving positions, the second two-dimensional texture being calculated by the server based on a target cubemap corresponding to the target moving position and the target viewing angle; synthesizing screen content according to the first two-dimensional texture and the second two-dimensional texture; The server renders the static scene in the target virtual space in advance at different moving positions in the moving two-dimensional plane to obtain cubemaps corresponding to the different moving positions, including: Dividing the moving two-dimensional plane into a plurality of grid areas; Rendering a texture cubemap of each grid region under the static scene at a preset height, wherein the texture cubemap covers a 360° viewing angle; During the rendering process of the texture cube map of each grid area, the depth value of each grid area is obtained and written to the image to synthesize the depth cube map of each grid area; Establish the mapping relationship between each mesh region and its texture cubemap and depth cubemap; Accordingly, determining a target cubemap corresponding to the target moving position includes: A target grid area where the target moving position is located is determined, and a target texture cube map and a target depth cube map corresponding to the target grid area are determined based on the mapping relationship.

6. The VR rendering method according to claim 5, wherein: The first two-dimensional map includes a first texture map, a first depth map, and a transparency map, the cube map includes a texture cube map and a depth cube map, the target cube map includes a target texture cube map and a target depth cube map, and the second two-dimensional map includes a second texture map and a second depth map; The synthesizing the screen content according to the first two-dimensional map and the second two-dimensional map includes: Determining an opaque area and a transparent area according to the transparency map; For each pixel in the opaque area, determining a first depth value of the pixel in the first depth map and a second depth value of the pixel in the second depth map; if the first depth value is less than the second depth value, determining a first texture value of the pixel in the first texture map and outputting it for display; if the first depth value is greater than or equal to the second depth value, determining a second texture value of the pixel in the second texture map and outputting it for display; For each pixel point in the transparent area, determine the third texture value of the pixel point in the first texture map and the fourth texture value in the second texture map; determine the transparency value of the pixel point in the transparency map; calculate the actual texture value of the pixel point based on the transparency value, the third texture value and the fourth texture value, and output it for display.

7. A VR rendering device, characterized in that: The device is applied to a VR terminal, and includes: a dynamic rendering module, configured to render a moving object in a target virtual space and send a rendering request to a server, wherein the rendering request includes a target moving position and a target viewing angle of the moving object in a moving two-dimensional plane when the moving object is rendered, and the rendering result of the moving object includes a first two-dimensional texture; a screen synthesis module, configured to receive a second two-dimensional texture sent by the server, the server pre-rendering a static scene in the target virtual space at different moving positions in the moving two-dimensional plane to obtain cube textures corresponding to the different moving positions, the second two-dimensional texture being calculated by the server based on a target cube texture corresponding to the target moving position and the target viewing angle; and synthesizing screen content based on the first two-dimensional texture and the second two-dimensional texture; The server renders the static scene in the target virtual space in advance at different moving positions in the moving two-dimensional plane to obtain cubemaps corresponding to the different moving positions, including: Dividing the moving two-dimensional plane into a plurality of grid areas; Rendering a texture cubemap of each grid region under the static scene at a preset height, wherein the texture cubemap covers a 360° viewing angle; During the rendering process of the texture cube map of each grid area, the depth value of each grid area is obtained and written to the image to synthesize the depth cube map of each grid area; Establish the mapping relationship between each mesh region and its texture cubemap and depth cubemap; Accordingly, determining a target cubemap corresponding to the target moving position includes: A target grid area where the target moving position is located is determined, and a target texture cube map and a target depth cube map corresponding to the target grid area are determined based on the mapping relationship.

8. A computer program product, characterized in that The method comprises computer-readable instructions, which, when executed on an electronic device, enable the electronic device to implement the VR rendering method according to any one of claims 1, 2, 3, 5, and 6.

9. A computer storage medium, characterized in that The storage medium carries one or more computer programs, and when the one or more computer programs are executed by an electronic device, the electronic device can implement the VR rendering method as described in any one of claims 1, 2, 3, 5, and 6.

Citation Information

Patent Citations

  • Rendering method and apparatus for virtual panorama, and device and storage medium

    WO2024104248A1

  • Rendering method, apparatus and system

    WO2025001111A1