Rendering pipeline method for directly performing geometric correction on vertex program

By employing a rendering pipeline method that performs geometric correction in the vertex procedure, the problem of multiple renderings in immersive graphics projection is solved, achieving high rendering efficiency and frame rate improvement.

CN120953455APending Publication Date: 2025-11-14HARBIN INSTITUTE OF TECHNOLOGY (SHENZHEN) (INSTITUTE OF SCIENCE AND TECHNOLOGY INNOVATION HARBIN INSTITUTE OF TECHNOLOGY SHENZHEN)
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510832937.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-20
Publication Date
2025-11-14

AI Technical Summary

Technical Problem

In immersive graphics projection, existing technologies require multiple renderings of the 3D scene to achieve geometric correction, which increases the computer rendering load and reduces the frame rate, thus affecting rendering efficiency.

Method used

A rendering pipeline method that performs geometric correction directly in the vertex procedure is adopted. By calculating the intersection of the viewpoint and the geometric surface points, a transformation matrix is ​​established, and geometric subdivision and lighting calculations are performed to complete the scene and geometric correction in a single rendering.

Benefits of technology

It significantly improves rendering efficiency, reduces rendering time, increases frame rate, and reduces the rendering burden on the computer.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120953455A_ABST
    Figure CN120953455A_ABST
Patent Text Reader

Abstract

The invention discloses a pipeline rendering method for direct geometric correction at a vertex program. The method comprises the following steps: calculating an intersection point V'of a ray of a viewpoint and a geometric surface point V and a screen; establishing a transformation coordinate matrix M between each screen coordinate point and a curved surface corresponding point V '', and converting the two-dimensional points into curved surface points; carrying out subdivision on the geometric surface by utilizing a geometry shader program; combining the subdivided V with the ray of the viewpoint by using M, solving the intersection point of the ray and the screen, converting the intersection point into a curved surface space, and returning the two-dimensional coordinate of the curved surface point of each vertex, the three-dimensional information of the corresponding point, the texture coordinate and the normal information in a vertex program; and in the pixel program, illumination information of each vertex is calculated by using return information of the vertex program. According to the method, geometric correction is completed in the vertex program, so that scene rendering and geometric correction can be completed at the same time only by performing one-time rendering operation on the rendering pipeline, and the efficiency of immersive rendering is remarkably improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a graphics rendering pipeline method, and more specifically to a pipeline method for rendering 3D scenes in immersive content (CAVE / cylindrical screen). Background Technology

[0002] In modern computer graphics generation, graphics are drawn using the GPU (Graphics Processing Unit). Drawing is accomplished through the rendering pipeline, which involves vertex transformation, rasterization, and shading. These data processing steps are typically implemented using shaders. Currently, there are three main shader implementation languages: Microsoft's HLSL (High-Level Shading Language), OpenGL's GLSL (OpenGL Shading Language), and NVIDIA's Cg (C for graphics). Before Cg, HLSL and GLSL dominated the shader development market. However, all these shader implementations generally include vertex programs, geometry programs, and pixel fragment programs. The vertex program handles the projection from 3D space to 2D space, the geometry program handles vertex transformation and instantiation, and the pixel fragment program handles rasterization and shading.

[0003] In immersive graphics projections such as CAVE generation, shaders are typically used to perform geometric correction of the graphics. Geometric correction correctly displays the computer image on the various projection surfaces of the CAVE according to spatial mapping. For a cuboid CAVE, this is usually achieved by changing the perspective matrix in the vertex program, a process known as off-axis perspective transformation. However, for irregularly shaped projection spaces like a dome, the 3D scene needs to be rendered into a six-faced cube using virtual cameras facing different directions (front, back, left, right, top, and bottom). This means the computer needs to render the same scene six times before using geometric methods to map the cube image onto the dome space. This drastically increases the rendering load on the computer, causing latency and affecting the final frame rate. Compared to rendering a single viewpoint, the computer's rendering frame rate can drop by more than 70%. Summary of the Invention

[0004] To address this issue, this invention provides a rendering pipeline method for direct geometry correction in the vertex program. This method performs geometry correction in the vertex program, allowing the rendering pipeline to complete scene rendering and geometry correction simultaneously with only one rendering operation, significantly improving the efficiency of immersive rendering.

[0005] The objective of this invention is achieved through the following technical solution:

[0006] A rendering pipeline method for direct vertex procedural geometry correction includes the following steps:

[0007] Step 1: Calculate the intersection point V' of the ray from the viewpoint and geometric surface point V with the screen;

[0008] Step 2: Establish a transformation coordinate matrix M between the coordinate system formed by V' and the coordinate system of the corresponding point V” on the curved surface. This transformation converts the two-dimensional point into a point on the curved surface.

[0009] Step 3: Use the geometry shader program to subdivide the geometric surface N times;

[0010] Step 4: Use the transformation coordinate matrix M to combine the subdivided geometric surface points V with the ray of the viewpoint, find the intersection points of the ray and the screen, and transform these intersection points into the surface space. At this time, in the vertex program, return the two-dimensional coordinates of the surface point of each vertex, the three-dimensional information of the corresponding point, the texture coordinates and the normal information.

[0011] Step 5: In the pixel program, use the return information from the vertex program to calculate the lighting information for each vertex.

[0012] Compared with the prior art, the present invention has the following advantages:

[0013] Traditional immersive content rendering requires rendering 4K images of the viewpoint from all directions using cube maps, and then mapping these cube maps onto the surface of the immersive display. This is equivalent to rendering the scene six times. However, the method of this invention only requires one geometric subdivision and one vertex procedural transformation. This means that the final rendering effect can be obtained by rendering the scene only once. Moreover, all access operations occur within the GPU, eliminating the need to transfer data between the rendering target texture and the GPU. Theoretically, this improves rendering efficiency by more than five times, greatly reducing the rendering time of immersive content. Attached Figure Description

[0014] Figure 1 Information projected onto the dome screen as geometric information;

[0015] Figure 2 To subdivide the geometric surface triangles using a geometry program;

[0016] Figure 3 For the rendering process of a spherical screen;

[0017] Figure 4 The rendered result of the deformed scene;

[0018] Figure 5 This refers to the lens effect projected onto the dome screen. Detailed Implementation

[0019] The technical solution of the present invention will be further described below with reference to the accompanying drawings, but it is not limited thereto. Any modifications or equivalent substitutions to the technical solution of the present invention that do not depart from the spirit and scope of the technical solution of the present invention should be covered within the protection scope of the present invention.

[0020] This invention provides a rendering pipeline method for direct vertex procedural geometry correction, the method comprising the following steps:

[0021] The first step is to calculate the intersection point V' of the ray from the viewpoint and the geometric surface point V with the screen.

[0022] The second step is to establish a transformation coordinate matrix M between the coordinate system (including normal, screen X-axis, screen Y-axis and screen coordinate origin) formed by each screen coordinate point V' and the coordinate system (including normal, tangent and binormal) of the corresponding point V” on the surface. This transformation converts the two-dimensional point into a surface point.

[0023] The third step is to use a geometry shader program to subdivide the geometric surface N times. The more times N is subdivided, the smoother the projection on the curved surface will be. This can be dynamically adjusted according to the computer's performance.

[0024] The fourth step involves using the transformation coordinate matrix M to combine the subdivided geometric surface points V with the viewpoint's rays, finding the intersection points between the rays and the screen, and transforming these intersection points into the surface space. At this point, the vertex program returns the two-dimensional coordinates of each vertex's surface points, the corresponding three-dimensional information, texture coordinates, and normal information.

[0025] The fifth step is to calculate the lighting information for each vertex in the pixel program using the information returned by the vertex program (two-dimensional coordinates of the surface point, three-dimensional information of the corresponding point, texture coordinates, and normal information).

[0026] Taking a spherical screen as an example, such as Figure 3 As shown, the process of transforming the surface geometry into a hemispherical surface through matrix transformation is actually equivalent to bending the entire scene along the sphere. Figure 3The left-middle image shows a planar scene with several spheres placed on it. First, the scene is divided into sections. Then, the entire scene is curved along the spherical surfaces, ultimately presenting a wider field of view to the camera. This process is somewhat similar to a fisheye lens, except that while a fisheye lens distorts light through the lens, this invention distorts the scene itself, allowing more information to fall into the camera's field of view. The reason this invention does not choose to distort light is that if light distortion were used on a 4K×4K resolution image, it would mean that every pixel would emit light, requiring intersection calculations and lighting calculations for all the geometry of that light ray. This would result in very low rendering efficiency, potentially making real-time rendering difficult. However, for a model, once the geometry of the display surface is determined, the transformation process is deterministic.

[0027] The result of the camera rendering the deformed scene is as follows Figure 4 As shown, by Figure 4 As you can see, the model has been distorted after the scene has been transformed. For example... Figure 5 As shown, a fisheye-like lens effect is projected onto the dome screen.

[0028] The method of this invention is applicable to other rendering methods for immersive display surfaces and has high practicality. In some 3D program applications, it is even possible to obtain the vertex data of the rendering through DLL implantation, subdivide it, and then perform scene distortion transformation, thus converting ordinary 3D content into immersive display content.

Claims

1. A rendering pipeline method for direct vertex procedural geometry correction, characterized in that... The method includes the following steps: Step 1: Calculate the intersection point V' of the ray from the viewpoint and geometric surface point V with the screen; Step 2: Establish a transformation coordinate matrix M between the coordinate system formed by V' and the coordinate system of the corresponding point V” on the curved surface, and use this transformation to convert the two-dimensional point into a curved surface point; Step 3: Subdivide the geometric surface N times; Step 4: Use the transformation coordinate matrix M to combine the subdivided geometric surface points V with the ray of the viewpoint, find the intersection points of the ray and the screen, and transform these intersection points into the surface space. At this time, in the vertex program, return the two-dimensional coordinates of the surface point of each vertex, the three-dimensional information of the corresponding point, the texture coordinates and the normal information. Step 5: In the pixel program, use the return information from the vertex program to calculate the lighting information for each vertex.

2. The rendering pipeline method for direct vertex procedural geometry correction according to claim 1, characterized in that... In step three, the geometry shader program is used for subdivision.