A processor, terminal and method for adjusting a model rendering range in real time based on a viewing angle
Patent Information
- Application Number
- CN202411417862.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-28
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2043-02-28
AI Technical Summary
没有考虑到模型不同节点的精细程度,造成了数据冗余
[0014]本发明基于包围盒的大小针对模型分级分块的调度机制能够提升模型的展示效率,同时维持模型原貌。与现有的多分辨率网格简化技术对模型的简化相比,本发明通过判断包围盒级别,减少了误差和文件冗余,保证了观察模型时的工作效率。
Smart Images

Figure CN119579746B_ABST
Abstract
Description
[0001] The original basis for this divisional application is the patent application with application number (202310178314.X), application date of February 28, 2023, entitled "A Three-Dimensional Model Rendering System and Method". Technical Field
[0002] This invention relates to the field of 3D model rendering technology, and in particular to a processor, terminal, and method for real-time adjustment of the model rendering range based on the viewpoint. Background Technology
[0003] Rendering refers to the process of assigning materials, textures, lighting, and other elements to objects based on scene settings. After a 3D model is created, rendering adds elements such as skin and texture to the model and fills in materials. It also adds lighting and guide lines, using 3D modeling and rendering software to create visual illusions of light, shadow, and color, allowing the model to appear as a highly realistic 2D image from a 3D model mesh. Rendering can compensate for the shortcomings of modeling and make complex models more tangible. 3D modeling and rendering software is used in many industries, such as film, animation, and interior design.
[0004] For 3D scenes with loaded terrain images, when browsing the model after loading, the 3D model may be viewed from different perspectives, heights, and hierarchical structures. If the model is reloaded and rendered every time the viewing perspective stops, this will increase the rendering burden on the engine, thus greatly reducing rendering speed and efficiency.
[0005] Current technology places the model within a frame of uniform side length and divides the model based on the shorter side length within the frame. This fails to consider the granularity of different nodes within the model, resulting in data redundancy. Furthermore, the existing technology involves drawing model bounding boxes of different sizes based on the node size of different models, and the algorithm for automatically hierarchical segmentation is complex. This further increases the algorithm's complexity, and due to the interactions between models, consistency in automatic hierarchical segmentation must be considered for different models within the same scene.
[0006] The shortcomings of existing technologies also include: First, in a 3D scene, loading all the original data of components, such as meshes, materials, and textures, one by one without any processing when displaying the model consumes a huge amount of time and resources. Ensuring the efficiency of real-time rendering when browsing models is a challenge for 3D scenes. Second, the simplification of the model by multi-resolution mesh technology fixes the level and size of the 3D model, making real-time changes impossible. Changing the rendering level requires resetting and regenerating, increasing the rendering burden and reducing work efficiency.
[0007] For example, Chinese Patent CN109558507A discloses a three-dimensional model rendering method and system. This method involves receiving a rendering request from a client, which carries the three-dimensional model to be rendered; determining whether the three-dimensional model already exists in a pre-stored set of three-dimensional models; if it does, obtaining the server's usage status and determining if it is available; if it is available, dividing the display content of the three-dimensional model to be rendered into a preset order; rendering the divided display content; and sending the rendered display content to the client according to the preset order, so that the client can display the rendered three-dimensional model based on the rendered content. This invention enables rapid rendering of three-dimensional data models and improves rendering efficiency.
[0008] For example, Chinese patent CN113658316B discloses a rendering method for 3D models. This method first divides the 3D model into bright and shadow areas, then renders the bright areas directly based on the model's colors, and renders the shadow areas based on pre-determined shadow colors, thus directly obtaining the final rendering effect. Compared to rendering methods that first draw the 3D model and then perform post-processing, this invention offers higher rendering efficiency and is more suitable for real-time rendering scenarios.
[0009] The existing 3D model rendering methods described above clearly do not consider the problem of data redundancy in 3D model rendering when the viewing perspective changes. This invention aims to avoid this data redundancy problem caused by changes in viewing perspective when improving the rendering method.
[0010] Furthermore, on the one hand, there are differences in understanding among those skilled in the art; on the other hand, the applicant studied a large number of documents and patents when making this invention, but due to space limitations, not all details and contents were listed in detail. However, this does not mean that the present invention does not possess the features of these prior art. On the contrary, the present invention already possesses all the features of the prior art, and the applicant reserves the right to add relevant prior art to the background art. Summary of the Invention
[0011] In existing technologies, algorithms that automatically classify and segment models by drawing bounding boxes of different sizes based on the node size of different models are generally complex. This increases the complexity of the algorithm, and due to the interaction between models, consistency in automatic classification must be considered for different models in the same scene. Furthermore, the lack of consideration for the level of detail of different nodes in the model leads to data redundancy.
[0012] To address the shortcomings of existing technologies, this invention provides a 3D model rendering system, comprising at least a processor and a terminal. The processor is configured to: read the initial level bounding boxes of the model and / or nodes, and classify them based on the size of the bounding boxes; divide the classified bounding boxes into blocks, given a determined step size; and determine the model rendering range based on the relationship between the number of step sizes and the model rendering range. The terminal is configured to: display the rendering interface of the model.
[0013] Preferably, the terminal includes a processor and an operating system. For example, the terminal's processor is configured as an Intel EM64T or AMD64 dual-core or higher. The terminal includes RAM, such as 16GB of RAM. The terminal is equipped with components such as disk space and a graphics card. The disk space is preferably 80GB. The operating system is, for example, a 64-bit Windows 7 to Windows 11 series.
[0014] This invention's hierarchical and block-based scheduling mechanism for models, based on bounding box size, improves model display efficiency while maintaining the original model appearance. Compared to existing multi-resolution mesh simplification techniques, this invention reduces errors and file redundancy by determining the bounding box level, ensuring efficient model observation.
[0015] Preferably, the method for classifying bounding boxes includes at least: classifying based on a user-defined classification range; classifying based on the size of the bounding box; and classifying based on the natural breakpoint method.
[0016] In existing technologies, multi-resolution mesh simplification technology simplifies the model by fixing the level size of the 3D model, which cannot be changed in real time. Changing the rendering level of the current level requires resetting and re-rendering, which increases the rendering burden and reduces work efficiency.
[0017] This invention hierarchically classifies bounding boxes, enabling them to be automatically and in real time classified, reducing the rendering burden of bounding boxes at each level and minimizing data redundancy.
[0018] Preferably, the step of dividing the bounding boxes after hierarchical classification into blocks includes at least: setting bounding boxes of the same level as the same block area, wherein the block area is divided based on the length of the longest diagonal of the bounding box and a preset division index interval.
[0019] This invention divides blocks into regions by using a dividing index, resulting in regular rectangles. Different levels of blocks are divided differently, thus automatically distinguishing them.
[0020] Preferably, the block region is a cube. When the block region is a cube, the partitioning index is the ratio of the edge length of the block region to the length of the longest diagonal of the bounding box. Setting the partitioning index ensures that the range of the block region completely covers the range of the bounding box, avoiding the phenomenon of local areas of the bounding box being missed in rendering.
[0021] Preferably, the index range is 1.2 to 1.5.
[0022] Preferably, the method for determining the model rendering range includes at least: multiplying the reference bounding box by a rendering index to obtain the model rendering range, wherein the reference bounding box is a bounding box tangent to the model, and the rendering index is based on the size of the model rendering range in the 3D scene. Each level must have a complete block region that covers the entire model's range. Therefore, the rendering index is a range.
[0023] This invention determines the model rendering range by using a rendering index, so that the model rendering range is rendered according to the viewpoint. If there is no change in viewpoint, rendering stops, thus reducing the data redundancy required for rendering.
[0024] Preferably, the bounding box hierarchy is set in a way that includes at least the following: the size of the bounding boxes at the first, second, third, fourth, and fifth levels gradually increases. This setting facilitates rendering different levels of bounding boxes to different degrees, improving model display efficiency.
[0025] The present invention also provides a three-dimensional model rendering method, the method comprising at least: reading the initial level bounding boxes of the model and / or nodes, and classifying them based on the size of the bounding boxes; dividing the classified bounding boxes into blocks after determining the step size of the bounding boxes; and determining the model rendering range based on the relationship between the number of step sizes and the model rendering range.
[0026] Preferably, the step of dividing the bounding boxes after hierarchical classification into blocks includes at least: setting bounding boxes of the same level as the same block area, wherein the block area is divided based on the length of the longest diagonal of the bounding box and a preset division index interval.
[0027] The 3D model rendering method of this invention allows the product to start running continuously from the moment the command to open the model is issued, performing real-time rendering. Once the model is rendered, rendering stops if there is no change in the user's viewpoint. If there is a change in viewpoint, the algorithm is re-run based on zoom in, zoom out, and move commands to determine the size of the loaded model area, and then recalculates until the model within the viewpoint area is fully loaded. This reduces errors caused by manual settings and file redundancy, ensuring high efficiency when observing the model. Attached Figure Description
[0028] Figure 1This is a logical schematic diagram of a preferred embodiment of a three-dimensional model rendering method provided by the present invention;
[0029] Figure 2 This is a logical schematic diagram of the model and bounding box provided by the present invention;
[0030] Figure 3 It is a logical diagram of block division at the same level and overlapping block areas;
[0031] Figure 4 This is a schematic diagram illustrating the logical relationship between the number of step sizes and the rendering range of the model;
[0032] Figure 5 This is a schematic diagram illustrating the step-size relationship between the model and the viewpoint at the first level.
[0033] Figure 6 This is a schematic diagram illustrating the step-size relationship between the model and the viewpoint at the second level.
[0034] Figure 7 This is a schematic diagram illustrating the step-size relationship between the model and the viewpoint at the third level.
[0035] Figure 8 Is Figure 5 , Figure 6 and Figure 7 An illustration of overlapping elements;
[0036] Figure 9 This is a schematic diagram illustrating the rendering scale of different levels of models under the same distance from the viewpoint.
[0037] List of reference numerals
[0038] 10: Bounding box; 11: First bounding box; 12: Second bounding box; 13: Third bounding box; 20: Model; 21: First model; 22: Second model; 23: Third model; 30: Node; 40: Center of the bounding box of the model node; 50: Vertical line; 60: Observation point; 70: Step size; 80: Display; 90: Container. Detailed Implementation
[0039] The following is a detailed explanation with reference to the accompanying drawings.
[0040] The existing rendering method places model 20 within a frame of uniform side length and divides model 20 according to the smaller side length within the frame. The existing technology does not take into account the level of detail of different nodes 30 of each model 20, resulting in data redundancy.
[0041] For example, when browsing a 3D scene with loaded terrain images, after loading model 20, the 3D model may be viewed from different perspectives, heights, and hierarchical structures. If model 20 is reloaded and rendered every time the viewing perspective stops, this will increase the burden on the engine rendering, thus greatly reducing the rendering speed and efficiency.
[0042] To address the shortcomings of existing technologies, this invention provides a 3D model rendering system, comprising at least a processor and a terminal. The processor and terminal transmit data via wired and / or wireless means.
[0043] The processor is a dedicated integrated chip, CPU, or similar device capable of running the executable program of the 3D model rendering method of the present invention. Preferably, the processor is also connected to at least one memory for storing relevant data. Preferably, the processor is also capable of processing information in the manner of a server or cloud server.
[0044] The terminal is an electronic device with a display component. For example, the terminal is a monitor. Preferably, the terminal can also be a portable device with a display component, such as a smartphone, laptop, tablet, smartwatch, smart glasses, etc. When the terminal establishes an information connection with the processor, the terminal can display the rendered interface of model 20.
[0045] The rendering method for the three-dimensional model of the present invention is as follows.
[0046] S1: Grading based on the dimensions of the bounding box 10;
[0047] S2: Divide the hierarchical bounding box 10 into blocks.
[0048] S3: Determine the rendering range of the model based on the location characteristics of model 20.
[0049] The specific steps for grading based on the dimensions of the bounding box 10 are as follows.
[0050] For the bounding box 10 of model 20 in the 3D scene, read the bounding boxes 10 of all models 20. Classify the bounding boxes based on their dimensions; determine the resource allocation for object rendering, and automatically perform hierarchical processing on the node bounding boxes.
[0051] Here, node 30 refers to a model node. Several model nodes together form a model 20. Node 30 can be a subset of model 20.
[0052] A node bounding box refers to the bounding box of a model's nodes, which is a subset of the overall bounding box of the model.
[0053] The overall bounding box of the model refers to the largest bounding box 10 in the entire model 20, which is the largest bounding box 10 that encompasses all model nodes 30.
[0054] Preferably, the method for classifying the bounding box 10 includes at least: classifying based on a user-defined classification range; classifying based on the size of the bounding box 10; and classifying based on the natural breakpoint method. Preferably, the bounding box 10 is classified equally based on its size.
[0055] Please provide an example below of the specific steps for classifying based on user-defined classification ranges.
[0056] For example, a site model is displayed in a 3D scene. The unit of measurement used in the site model is meters. The results, possibly based on the natural breakpoint method and the user-defined method, are shown in Table 1.
[0057] Table 1: Results based on the natural breakpoint method and the user-defined method
[0058] tiny objects 0-3 meters 0 to 1 meter small objects 3 to 5 meters 1 to 5 meters medium-sized objects 5 to 30 meters 5 to 10 meters large objects 30-80 meters 10 to 100 meters super large objects Greater than 80 meters Greater than 100 meters
[0059] The difference between the natural breakpoint method and the user-defined method lies in the fact that the user-defined method classifies models based on the user's subjective perception, primarily relying on the user's own understanding of the scope of model 20 within the entire 3D scene. In contrast, the natural breakpoint method classifies all models 20 within the 3D scene using this algorithm.
[0060] Natural break point method: also known as natural split point method.
[0061] The significance of the natural breakpoint method lies in the fact that Professor Jenks believes that there are some natural (non-artificially set) turning points and breakpoints between any sequence. These natural breakpoints are statistically significant. These turning points can be used to divide the research objects into groups with similar properties. Therefore, natural breakpoints themselves are good boundaries for classification.
[0062] The search for breakpoints involves iteratively comparing each group with the sum of the squared differences between the mean and the observed values within that group to determine the optimal arrangement of values within the group. The calculated optimal classification identifies breakpoints in the ordered distribution of values, minimizing the sum of squared differences within groups.
[0063] The specific steps for grading based on the dimensions of the bounding box 10 are as follows.
[0064] In the 3D scene, all models 20 have the same initial bounding box 10, regardless of size. That is, whether it is the overall bounding box of the 3D model or the bounding box of the smallest node of the 3D model, the initial bounding box is the same.
[0065] The hierarchical setting of the bounding box 10 includes at least the following: the size of the bounding boxes gradually increases from the first level to the fifth level. This setting facilitates different levels of rendering of the bounding boxes 10, improving the display efficiency of model 20. For example... Figure 1 As shown, the bounding box 10 is divided into the first level L1, the second level L2, and the fifth level L5.
[0066] The five size ranges are determined based on the actual model dimensions within the 3D scene; there isn't a single, fixed size range. If a specific size range were set, the bounding box 10 would be divided into even more levels. If each level were rendered to varying degrees, it would actually increase rendering redundancy, having a negative effect. Therefore, dividing the size range into five levels is appropriate; it not only improves the display efficiency of different rendering levels but also avoids significantly increasing rendering redundancy.
[0067] The classification of levels in this invention is not limited to five levels. It is possible to divide the bounding box level into four to eight levels.
[0068] For example, Table 2 shows a comparison between the size range of all models 20 in the entire 3D scene when the size range is 0 to 100m and when the size range is 0 to 10000m (the size range shown in Table 2 is only for this example and the following size range cannot be used as the accurate size range of the present invention).
[0069] Table 2: Size Range Examples
[0070] Level 1 - Very Small Objects 0-3 meters 0 to 10 meters Level 2 - Small Objects 3 to 5 meters 10 to 100 meters Level 3 - Medium-sized objects 5 to 30 meters 100-500 meters Level 4 - Large Objects 30-80 meters 500-2000 meters Level 5 - Oversized Objects 80-100 meters 2000-10000 meters
[0071] The processor of this invention actively classifies the overall bounding box 10, enabling the bounding box 10 to form different block division methods through different levels, providing a basis for confirming the subsequent model rendering range.
[0072] Preferably, the size range of each level is different when the model size range is different. This allows for differences in the rendering degree of different bounding boxes 10 in the model 20. The rendering degree is adjusted in real time based on the change of the observation point 60, so that all models 20 are not rendered too heavily, resulting in rendering redundancy, and the model 20 within the observation point range is not rendered too heavily, resulting in a decrease in the quality of experience.
[0073] Preferably, the importance is divided according to the range of the step size 70 under different levels. The step size 70 refers to the unit distance from the observation point 60 to the bounding box 10.
[0074] For example, the three images below show the same model importance. That is, the three models are at different levels and have different distances from the viewpoint, but based on different blocks, the distance from model 20 to the viewpoint is a step size of 70 for all three models. Figures 5 to 8 As shown.
[0075] Figure 5 In the case of the first level, the step size 70 is determined by using the user observation point 60. Figure 6 In the case of the second level, the step size 70 is determined by using the user observation point 60. Figure 7 In the third level case, the step size 70 is determined by using the observer observation point 60. As the size of model 20 increases, the step size 70 also increases.
[0076] like Figure 8 As shown, in the vertical view of the 3D scene, the distance between the three models 20 and the observation point 60 is one step 70, only the specific length of each step 70 is different. Therefore, the rendering range, i.e. the importance, of the three levels of models 20 is the same.
[0077] In existing technologies, it's easy to judge the rendering level based on the distance between the viewpoint 60 and model 20. The drawback of this approach is that models 20 that are farther from the user's viewpoint 60 will have poorer rendering. For example, when the viewpoint 60 is a near-viewpoint like a puppy, the rendering of distant mountain models will be blurry, resulting in poor rendering quality of model 20 as seen by the user and a reduced user experience. In reality, although model 20 is far from the viewpoint 60, the user is still observing this important distant mountain model 20.
[0078] Based on the aforementioned shortcomings, the rendering method of the present invention does not experience a decrease in rendering quality due to the distance between model 20 and observation point 60. Unlike existing technologies that determine rendering quality based on distance, the present invention determines the importance of model 20 based on a step size 70. This ensures that models 20 with the same step size have equal importance, allowing the user's observation point 60 to observe equally important models 20 without noticeable differences in rendering range or significant rendering blanks for distant models 20. It also reduces rendering redundancy, avoids the processing of invalid data by background processors or servers, and extends the lifespan of background running devices.
[0079] Furthermore, the 3D model rendering method of this invention is particularly advantageous for systems where the display device and the backend processing device are remotely connected. In remote connection scenarios, data transmission via signal transmission can be unstable, easily leading to data loss. Long data transmission times may increase the likelihood of data loss. Therefore, reducing the amount of data transmitted and the transmission time is beneficial for the transmission between the backend processing device and the display device. The 3D model rendering method of this invention significantly reduces the amount of rendering data transmitted and the transmission time, further reducing the possibility of erroneous data or data loss. Without erroneous data or data loss, the rendering quality of the model 20 displayed on the display device is undoubtedly high-quality and comfortable.
[0080] like Figure 9 As shown, for three different levels of models 20, under the same distance from the viewpoint, the rendering ratios are: first model 21 rendering ratio > second model 22 rendering ratio > third model 23 rendering ratio. That is, the larger the model size and the higher the level, the larger the rendering ratio and the clearer the rendering.
[0081] Under the same distance from the viewpoint, the number of steps for the first model 21 > the number of steps for the second model 22 > the number of steps for the third model 23, meaning the importance of the models decreases sequentially, reducing the likelihood of them being observed by the user. This invention sets the rendering ratio in such a way that higher-level models 20 are rendered more clearly, without reducing the user's observation quality. This is beneficial for high-definition display of the overall surface and also reduces the amount of rendering data processing, lowering redundant rendering data. Preferably, the step of dividing the hierarchical bounding boxes 10 into blocks includes at least: setting bounding boxes 10 of the same level as the same block area. For example, bounding boxes 10 of the same first level share a yellow block area, and bounding boxes 10 of the same third level share a green block area. The total range of the green and yellow blocks is the same, which is the sum of the ranges of all models. Dividing into blocks refers to dividing the sum of the ranges of all models into several blocks of different colors.
[0082] This configuration ensures that blocks at the same level are of the same size. The blocks are divided based on the length of the longest diagonal of the bounding box 10 and a preset partitioning index range. Bounding boxes 10 at the same level are classified as blocks of the same color. A step size of 70 is determined and the leveled bounding boxes 10 are then divided into blocks. The step size of 70 is calculated based on the longest diagonal of the largest bounding box at the same level multiplied by the partitioning index.
[0083] This invention divides blocks into regions by using a dividing index, resulting in regular rectangles. Different levels of blocks are divided differently, thus automatically distinguishing them.
[0084] Preferably, in order to refine the details according to requirements, a tree method is used to implement the segmentation of node 30, such as octree or quadtree segmentation.
[0085] Preferably, the block area is a cube. When the block area is a cube, the partitioning index is the ratio of the edge length of the block area to the length of the longest diagonal of the bounding box 10. The partitioning index is set so that the range of the block area can completely cover the range of the bounding box 10, avoiding the phenomenon of local areas of the bounding box 10 being missed in rendering.
[0086] Preferably, the index range is 1.2 to 1.5. If the index is greater than 2, the block area may be too large, resulting in many blank areas and no data, which creates a poor visual experience.
[0087] The significance of setting the range of the partitioning index in this invention is to ensure that each level of the block region must be complete and cover the entire model's area when dividing the blocks. A cube whose longest diagonal is a cube may not be able to completely cover the entire model's area. Therefore, it is necessary to multiply the longest diagonal of the bounding box by a multiple. The multiple in this invention is an interval, which facilitates the complete coverage of the model's area by the overall block region. It is preferable to set the interval to 1.2 to 1.5 to avoid a large number of blank areas or missing data in the blocks.
[0088] Preferably, the edge length of the cube in the block area is the step size of the block area, which is 70. Therefore, the step size is related to the size of the bounding box 10. The specific value of the partitioning index is selected so that the data value of the partitioning index can achieve the same size for blocks at the same level.
[0089] The specific size of the block area needs to be determined based on the area occupied by all models in the 3D scene. Each level of block area must be complete and cover the area occupied by all models. Therefore, the partition index is a range, not a specific data value.
[0090] This invention determines the step size 70 by dividing the index, and determines the size of the block area by the step size 70, so that the area where the model is located can be fully covered by the block area, avoiding the existence of unrendered areas in the model 20.
[0091] Because the size of the blocks in bounding boxes 10 varies at different levels, within a 3D scene using bounding boxes 10 of the same level, the blocks appear as regular rectangles. For example... Figure 3 As shown, overlapping of blocks at the same level will result in block overlap.
[0092] like Figure 3As shown, the first bounding box 11 is divided into 4 first-level first blocks. The second bounding box 12 is divided into 16 first-level second blocks. The third bounding box 13 is divided into 64 first-level third blocks. Due to the level system, the first, second, and third blocks are the same size.
[0093] The first block of Level 1 L1, the second block of Level 1 L1, and the third block of Level 1 L1 overlap to form the fourth bounding box 14.
[0094] Given a bounding box 10 with a step size of 70, the model rendering range is determined based on the relationship between the number of step sizes and the model rendering range.
[0095] The judgment is made based on the principle of "near is real, far is virtual" and the distance from observation point 60 to the node bounding box, i.e., the step size 70. As the distance decreases (i.e., the step size is smaller), the model 20 describes a more complex level of detail, displays more node information, and involves more node segmentations, resulting in a higher computational load. Conversely, the computational load decreases.
[0096] Preferably, the relationship between the number of step sizes and the model rendering range is shown in Table 3.
[0097] Table 3: Relationship between the number of step sizes and the model rendering range
[0098] The first level range is less than 4*4 100% The second level has a range of 4*4. 75% The third level has a range of 6*6. 50% The fourth level has a range of 8*8. 30% The fifth level has a range of 10*10 and larger. 15%
[0099] Preferably, the method for determining the model rendering range includes at least: multiplying the baseline bounding box by a rendering index to obtain the model rendering range. For example... Figure 2 As shown, the reference bounding box is the bounding box 10 tangent to model 20, also known as the initial bounding box. The point of tangency between model 20 and the bounding box is the center 40 of the bounding box of the model node. The distance from the normal of a point on the non-tangent surface of the model node to the bounding box 10 is the vertical line 50.
[0100] As shown in Table 3, when the stride of the first-level bounding box 10 is less than 4*4, the model rendering range is 100%. When the stride of the second-level bounding box 10 is 4*4, the model rendering range is 75%. When the stride of the third-level bounding box 10 is 6*6, the model rendering range is 50%. When the stride of the fourth-level bounding box 10 is 8*8, the model rendering range is 30%. When the stride of the fifth-level bounding box 10 is 10*10, the model rendering range is 15%.
[0101] like Figure 4As shown, container 90 and monitor 80 are both at the observation point 40m. Container 90 is, for example, a cup. There are 4 steps between the cup and the observation point 60, and 1.5 steps between the monitor 80 and the observation point 60. This means the rendering description of the monitor 80 might be 100%, and the rendering description of the cup might be 75%. If the distance between the pen and the observation point 60 is 10cm, or 1 step, then the pen's rendering description might be 100%.
[0102] Preferably, the rendering range of the model can also be determined based on the size of the model 20 and the location of the model.
[0103] The rendering method of this invention, when viewing model 20 in a browsing scene, changes the model loading range based on the user's perspective, and the model rendering range changes in real time according to instructions. That is, rendering stops once the displayed portion of the model has finished loading. Perspective changes include, for example, zooming in, zooming out, and moving the model.
[0104] Preferably, the processor of the present invention is further configured to: in response to receiving viewpoint data sent by the terminal, calculate and render the model rendering range in real time based on the viewpoint data. When the viewpoint data changes, the processor calculates and changes the model rendering range in real time based on the change in viewpoint data, so that the model rendering range changes in real time according to the change in viewpoint data. Changes in viewpoint data include at least zooming in, zooming out, and moving.
[0105] For example, in response to a command that a product model 20 is opened, the processor begins running the program of the 3D model rendering method of this invention to perform real-time rendering. Rendering stops once the model rendering is complete and there is no change in the user's viewpoint data. Upon receiving information indicating a change in viewpoint data, in response to the change, the processor calculates and determines the size of the bounding box 10 (the area to be loaded for model rendering) based on zoom-in, zoom-out, and movement instructions, and re-runs the algorithm to calculate until the model within the viewpoint area is fully loaded.
[0106] This invention uses a method to adjust the rendering range of a model in real time based on viewpoint data. This method can determine the resource allocation for object rendering based on the position and importance of the nodes 30 of the object model in the display environment, thereby reducing the number of faces and the level of detail of unimportant objects and achieving high-efficiency rendering computation.
[0107] It should be noted that the specific embodiments described above are exemplary. Those skilled in the art can devise various solutions inspired by the disclosure of this invention, and these solutions all fall within the scope of this invention and its protection. Those skilled in the art should understand that this specification and its accompanying drawings are illustrative and not intended to limit the scope of the claims. The scope of protection of this invention is defined by the claims and their equivalents. This specification contains multiple inventive concepts; phrases such as "preferredly" or "according to a preferred embodiment" indicate that the corresponding paragraph discloses an independent concept. The applicant reserves the right to file divisional applications based on each inventive concept.
Claims
1. A processor for real-time adjustment of model rendering range based on viewpoint, characterized in that, The processor is configured to: The step size (70) of the bounding box (10) is determined based on the unit distance from the observation point to the bounding box (10), wherein the step size (70) is calculated by multiplying the longest diagonal of the largest bounding box of the same level by the division index, and the division index is the ratio of the edge length of the block area to the length of the longest diagonal of the bounding box (10). The importance of model (20) rendering is determined based on the step size (70), wherein the classification is based on the natural breakpoint method; the breakpoint is found by iteratively comparing the sum of squared differences between the mean and the observed values of each group and the mean of the elements in the group to determine the best arrangement of values in the group; the calculated best classification can determine the breakpoints of values in the ordered distribution to minimize the sum of squared differences within the group; these breakpoints can be used to divide the research objects into groups with similar properties, and the natural breakpoint is the boundary of the classification; the importance is divided according to the range of the step size (70) under different levels, and the blocks of the same level overlap. The model rendering range is obtained by multiplying the reference bounding box by the rendering index; the reference bounding box is the bounding box (10) that is tangent to the model (20); under the same distance from the viewpoint, the more steps (70) the model (20) has, the less important the model (20) is rendered, and the less the model rendering range is.
2. The processor according to claim 1, characterized in that, The processor is also configured to: Under the same distance from the viewpoint, the larger the size of the model (20), the higher its level, the larger the rendering ratio of the model (20), and the clearer the rendering of the model; among which, The size range of each level of the model (20) is divided according to the model size in the actual three-dimensional scene.
3. The processor according to claim 2, characterized in that, The processor is also configured to determine the size of the block region based on a step size (70); The block area is divided based on the length of the longest diagonal of the bounding box (10) and a preset division index interval; the edge length of the cube of the block area is the step size (70) of the block area.
4. The processor according to claim 3, characterized in that, The method for determining the rendering range of the model includes: the rendering index is divided based on the size of the rendering range of the model (20) in the three-dimensional scene.
5. A terminal using a processor for real-time adjustment of model rendering range based on viewpoint as described in any one of claims 1 to 4, establishing an information connection with the processor via wired and / or wireless means, characterized in that, The rendering interface of the terminal display model (20); The terminal sends viewpoint data to the processor. The processor calculates and renders the model rendering range in real time based on the viewpoint data; when the viewpoint data changes, the processor calculates and changes the model rendering range in real time based on the change in viewpoint data, so that the model rendering range changes in real time according to the change in viewpoint data. The processor determines the step size (70) of the bounding box (10) based on the unit distance from the observation point to the bounding box (10). The step size (70) is calculated by multiplying the longest diagonal of the largest bounding box at the same level by the division index, and the division index is the ratio of the edge length of the block area to the length of the longest diagonal of the bounding box (10). The processor judges the importance of the model (20) rendering based on the step size (70). The importance is divided according to the range of the step size (70) at different levels, and the blocks at the same level overlap. The rendering range of the model is obtained by multiplying the reference bounding box by the rendering index. The reference bounding box is the bounding box (10) tangent to the model (20). Under the same distance from the viewpoint, the more step sizes (70) of the model (20), the lower the importance of the model (20) rendering and the lower the rendering range of the model.
6. The terminal according to claim 5, characterized in that, The rendering index is divided based on the size of the rendering range of the model (20) in the three-dimensional scene.
7. The terminal according to claim 6, characterized in that, The processor is configured to: With the same number of step sizes (70), the importance of the models (20) is the same, and the model rendering range of the models (20) is the same.
8. A method for a processor used in real-time adjustment of model rendering range based on viewpoint as described in any one of claims 1 to 4, characterized in that, The method includes: determining the step size (70) of the bounding box (10) based on the unit distance from the observation point to the bounding box (10), wherein the step size (70) is calculated by multiplying the longest diagonal of the largest bounding box at the same level by a partition index, and the partition index is the ratio of the edge length of the block area to the length of the longest diagonal of the bounding box (10); dividing importance according to the range of step size (70) at different levels, and overlapping blocks at the same level; and determining the rendering index based on the range of the number of step sizes (70) of the bounding boxes (10). The methods for determining the rendering range of a model include: The rendering range of the model is obtained by multiplying the reference bounding box by the rendering index; the reference bounding box is the bounding box (10) that is tangent to the model (20). The rendering index is divided based on the size of the rendering range of the model (20) in the three-dimensional scene.
9. The method according to claim 8, characterized in that, The method further includes: The number of steps (70) in the first-level bounding box (10) is less than 4. In case 4, the model rendering area is 100%; The number of steps (70) in the second-level bounding box (10) ranges from 4. In case 4, the model rendering area is 75%; The number of steps (70) in the bounding box (10) of the third level ranges from 6. In case 6, the model rendering area is 50%; The number of steps (70) in the fourth-level bounding box (10) ranges from 8. In case 8, the model rendering range is 30%; The step size (70) of the bounding box (10) at the fifth level ranges from 10. In case 10, the model rendering range is 15%.
Citation Information
Patent Citations
Three-dimensional model rendering method and system
CN109558507A
Rendering methods and devices, storage media and computer equipment for 3D models
CN113658316B
Rendering and displaying method and device in three-dimensional virtual environment
CN106910236A
Global multi-resolution spatial grid spherical light projection visualization method and device
CN115035233A