CN113643191A - Smoothing method and device for voxel model and electronic equipment - Google Patents

Smoothing method and device for voxel model and electronic equipment Download PDF

Info

Publication number
CN113643191A
CN113643191A CN202010347774.7A CN202010347774A CN113643191A CN 113643191 A CN113643191 A CN 113643191A CN 202010347774 A CN202010347774 A CN 202010347774A CN 113643191 A CN113643191 A CN 113643191A
Authority
CN
China
Prior art keywords
voxel
vertex
model
smoothing
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010347774.7A
Other languages
Chinese (zh)
Other versions
CN113643191B (en
Inventor
谢成鸿
王亚伟
郭兆奎
胡高
李嵘
马裕凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Lanya Box Technology Co ltd
Original Assignee
Beijing Lanya Box Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Lanya Box Technology Co ltd filed Critical Beijing Lanya Box Technology Co ltd
Priority to CN202010347774.7A priority Critical patent/CN113643191B/en
Priority to CN202310800699.9A priority patent/CN116797486A/en
Publication of CN113643191A publication Critical patent/CN113643191A/en
Application granted granted Critical
Publication of CN113643191B publication Critical patent/CN113643191B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering

Abstract

The embodiment of the application discloses a smoothing method, a smoothing device and electronic equipment for a voxel model, wherein in the method, a coordinate parameter of a first voxel vertex to be subjected to smoothing processing in the voxel model is determined; calculating a coordinate parameter of a second voxel vertex corresponding to the coordinate parameter of the first voxel vertex after smoothing based on a preset smoothing algorithm; calculating a normal parameter of the second voxel vertex according to the coordinate parameter of the second voxel vertex; the normal parameter of the first voxel vertex is replaced by the normal parameter of the second voxel vertex, so that the original framework of the voxel model is not required to be modified, and the voxel model can have smooth and elegant effects.

Description

Smoothing method and device for voxel model and electronic equipment
Technical Field
The embodiment of the application relates to the technical field of computers, in particular to a smoothing method and device for a voxel model and electronic equipment.
Background
The "voxel" is a basic unit of digital data divided in a three-dimensional space, and the voxel is used in the fields of 3D imaging, game design, scientific data, medical images, and the like, and can be conceptually similar to a basic unit of a two-dimensional space, i.e., one pixel, which is used in image data of a two-dimensional computer image.
By editing the 3D voxels, the 3D voxels can be spliced to construct corresponding scene models, such as various electronic buildings, people, plants, and the like. For example, a game development user can construct various voxel models or scenes in a designed game by editing 3D voxels, the user only needs to assemble simple cube boxes (i.e., one representation of the 3D voxels), the same as building blocks are placed, the user does not need to understand what points, lines and planes form the cube boxes, and the user does not need to perform code programming, so that the game development threshold can be reduced, and the game development method is suitable for mass creators.
Currently, a voxel model built by 3D voxels may cause a "pixelization" or "mosaic" like visual effect (as shown in fig. 1), and the smooth effect of a model built by some specialized software may not be achieved in visual perception.
Therefore, after the voxel model is created by using the voxel editing operation method, how to make the voxel model smoother without the need of additional special professional software and without displaying the mosaic-like effect is a challenge in the present industry.
Disclosure of Invention
In view of this, embodiments of the present application provide a smoothing method and apparatus for a voxel model, and an electronic device, so as to solve at least the problem in the prior art that the smoothing effect of the voxel model achieved by voxel editing is poor.
The embodiment of the application adopts the following technical scheme:
the embodiment of the application provides a smoothing method for a voxel model, which comprises the following steps: determining coordinate parameters of a first voxel vertex to be subjected to smoothing processing in the voxel model; calculating a coordinate parameter of a second voxel vertex corresponding to the coordinate parameter of the first voxel vertex after smoothing based on a preset smoothing algorithm; calculating a normal parameter of the second voxel vertex according to the coordinate parameter of the second voxel vertex; replacing the normal parameter of the first voxel vertex with the normal parameter of the second voxel vertex.
An embodiment of the present application further provides a smoothing apparatus for a voxel model, including: a target vertex coordinate determination unit configured to determine a coordinate parameter of a first voxel vertex to be subjected to smoothing processing in the voxel model; the smooth vertex coordinate calculation unit is configured to calculate a coordinate parameter of a second voxel vertex corresponding to the coordinate parameter of the first voxel vertex after smoothing based on a preset smoothing algorithm; a normal parameter calculation unit configured to calculate a normal parameter of the second voxel vertex from a coordinate parameter of the second voxel vertex; a normal parameter replacing unit configured to replace the normal parameter of the first voxel vertex with the normal parameter of the second voxel vertex.
An embodiment of the present application further provides an electronic device, including: at least one processor; and a memory storing instructions that, when executed by the at least one processor, cause the at least one processor to perform the method as described above.
Embodiments of the present application also provide a machine-readable storage medium storing executable instructions, which when executed cause the machine to perform the method as described above
The embodiment of the application adopts at least one technical scheme which can achieve the following beneficial effects:
the smoothing effect is skillfully realized by changing the normal line and the illumination, the original framework of the voxel model is not changed, and the subsequent operation aiming at the voxel model is facilitated.
Drawings
The accompanying drawings, which are included to provide a further understanding of the embodiments of the application and are incorporated in and constitute a part of this application, illustrate embodiments of the application and together with the description serve to explain the application and not to limit the application. In the drawings:
fig. 1 is a schematic diagram showing an effect of an example of a voxel model in the related art;
FIG. 2 shows a flow diagram of an example of a storage optimization method for a voxel model according to an embodiment of the application;
FIG. 3 illustrates a flow diagram of an example of a method for implementing storage optimization for a voxel model by distributed storage according to an embodiment of the application;
FIG. 4 shows a schematic diagram of an example of cubic hierarchical partitioning for a voxel model according to an embodiment of the application;
FIG. 5A shows a flow diagram of an example of a storage optimization method for a voxel model in external memory according to an embodiment of the application;
FIG. 5B shows a schematic diagram of the effect of an example of Box4 distribution in a voxel model according to an embodiment of the application;
FIG. 6 shows a flow diagram of an example of a method for memory optimization of a voxel model in a video memory according to an embodiment of the application;
FIG. 7 is a diagram illustrating an example of smoothing a voxel model edited from voxels;
FIG. 8 shows a flow diagram of an example of a smoothing method for a voxel model according to an embodiment of the application;
FIG. 9 shows a schematic diagram of an example of smoothing a voxel model according to an embodiment of the application;
FIG. 10 shows a schematic diagram of the effect of an example of a voxel model after smoothing and reduction by applying embodiments of the present application;
FIG. 11A shows a schematic diagram of the effect of an example of lossless clipping planes;
FIG. 11B illustrates a schematic diagram of the effect of an example of lossy demagnification;
FIG. 12 shows a flow diagram of an example of a subtractive process in a smoothing method for a voxel model according to an embodiment of the present application;
FIG. 13 illustrates an effect diagram of an example of a subtractive merging operation in accordance with an embodiment of the present application;
FIG. 14 shows a flow diagram of an example of a faceting process in a smoothing method for a voxel model according to an embodiment of the application;
fig. 15A is a schematic diagram showing an effect of an example of a voxel model obtained by the subtractive surface processing in the related art at present;
FIG. 15B is a schematic diagram illustrating the effect of an example of a voxel model obtained by the subtractive operations of an embodiment of the present application;
FIG. 16 shows a schematic diagram of the effect of an example of a smoothed voxel model according to an embodiment of the application;
fig. 17 is a block diagram showing an example of a storage optimization apparatus for voxel models according to an embodiment of the present application;
fig. 18 is a block diagram illustrating an example of a smoothing apparatus for a voxel model according to an embodiment of the present application.
Detailed Description
At present, the conventional scheme is difficult to store the voxel model in a super-large scene, and limits the application range of the voxel model and the customer population. Specifically, in the conventional scheme, coordinate information and color information (x, y, z, color) of each voxel are stored, and are calculated according to 4 bytes of each piece of information, and the total memory occupied is 16 bytes by 2.6 hundred million and 3GB, so that the mobile terminal device cannot operate at all.
In order to make the objects, technical solutions and advantages of the present application more apparent, the technical solutions of the present application will be described in detail and completely with reference to the following specific embodiments of the present application and the accompanying drawings. It should be apparent that the described embodiments are only some of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by one of ordinary skill in the art from the embodiments given herein without making any creative effort, shall fall within the scope of the implementation of the present application.
As used herein, the term "include" and its variants mean open-ended terms in the sense of "including, but not limited to. The term "based on" means "based at least in part on". The terms "one embodiment" and "an embodiment" mean "at least one embodiment". The term "another embodiment" means "at least one other embodiment". The terms "first," "second," and the like may refer to different or the same object. Other definitions, whether explicit or implicit, may be included below. The definition of a term is consistent throughout the application unless the context clearly dictates otherwise.
The term "vertex" may denote the respective vertex of a voxel. The term "normal" may denote a point normal, a line normal or a surface normal, which in the voxel model depends on the type of the illuminated voxel object, and the illumination direction is corresponding to the normal direction.
Fig. 2 shows a flow chart of an example of a storage optimization method for a voxel model according to an embodiment of the application.
In step 210, color computer-expressed values corresponding to each voxel vertex in the voxel model are obtained. Here, the color computer representation value may be a numerical value to which color information corresponds in a computer, and generally, the color may be represented by using the uint32, which includes RGBA information. For example, 0 xfffffffff is white, and 0 xfffffff0000 is red.
Thus, in the computer's storage format, if the color of each voxel vertex is stored with a uint32, it would take 4 bytes.
In step 220, corresponding color key values are defined for different color computer representation values, and the obtained color computer representation values are converted into corresponding color key values, respectively. Here, the corresponding color key values are respectively defined according to the difference of the color computer representation values, for example, when 4 colors exist in the voxel model, the corresponding color key values may be respectively defined as 0, 1, 2, and 3 for the 4 colors.
In step 230, a color key value table is constructed from the different color computer representation values and corresponding color key values.
A color key value table as shown in table 1 below can be obtained as an example:
key value 0 1 2 3
Color computer representation value 0xffff0000 0xffffff00 0xff0000ff 0xffffffff
TABLE 1
In step 240, the color key value table and the color key values respectively corresponding to the voxel vertices are stored in the memory space.
Thus, compared with the storage mode of the color computer representation value adopting the uint32(4 bytes) in the prior art, the storage amount of the color information in the voxel model can be effectively reduced.
Specifically, referring to the contents in table 2 below, when the number of colors (or the different numbers of color calculation representation values) in the voxel model does not exceed 28, the memory occupied by the key value is 1 byte, and the byte data type can be used to store the corresponding key value, which saves 3 bytes. When the number of colors in the voxel model does not exceed 216, the memory occupied by the key values is 2 bytes, and the short data type can be used for storing the corresponding key values, thereby saving 2 bytes.
Condition The number of colors is less than or equal to 256 Number of colors is not more than 65536 Number of colors > 65536
Key value storage mode Using byte storage Using short storage Without constructing a key value table
Occupying memory 1 byte 2 bytes 4 bytes
TABLE 2
The number of colors of a single voxel model is not more than 256 (the proportion is more than 98%) after statistics. Therefore, when the color of the voxel model is not more than 256, the color data of the voxel model only needs to be stored through one byte (1 byte), and the color data is searched in the color key value table when the color data is really used, so that the memory consumption is greatly reduced, and the voxel model of a super-large scene can be supported.
Fig. 3 shows a flowchart of an example of implementing a storage optimization method for a voxel model by distributed storage according to an embodiment of the present application.
The models in some 3D voxel scenes (such as 3D voxel sandboxes), the large number of repeated blocks in buildings and the coordinates of voxels are regular, and the regularity of the repeated blocks is effectively utilized through distributed storage, so that a large amount of memory can be saved.
As shown in fig. 3, in step 310, the voxel model is divided into voxel cubes, and coordinate parameters of voxel vertices corresponding to set positions of the voxel cubes in the voxel model are determined, where each voxel cube is a cube composed of a set number of voxels. Here, the set position may be predefined, for example, a position of a voxel vertex corresponding to an upper left corner of a principal viewing plane of the cube.
In particular, the entire model may be divided into a multi-tiered storage structure (two or more tiers) by the voxel cube. In some examples of embodiments of the present application, the entire model may be divided into a plurality of boxes 4, each Box4 being a combination of 4 × 4 — 64 voxels, thereby dividing the model into two layers of memory structures. In other examples of embodiments of the present application, the entire model may be divided into three layers of storage structures, including a plurality of Box32 in the model and a plurality of Box4 in Box 32. It should be noted that the set number (or the number of voxels included in the side length) of the Box (or the voxel cube) may be diversified, and may be adjusted according to business requirements, which should not be limited herein.
In step 320, it is determined whether the color of each voxel vertex in the voxel cube is the same for each voxel cube.
The determination result in step 320 indicates that there is one or more voxel cubes (also referred to as a first voxel cube) in which the color of each voxel vertex is the same, and the step in step 331 is skipped to perform. When the determination result in step 320 indicates that there is a case where the colors of the respective voxel vertices in one or more voxel cubes (also referred to as a second voxel cube) are not the same (i.e., there are a plurality of colors in the voxel cube), the step in step 333 is skipped to perform.
In step 331, it is determined whether the first voxel cube has a set number of voxel vertices. That is, it is determined whether the first voxel cube has a full number of voxel units, for example, there is a case where some corner voxels of the voxel cube located at the edge are missing.
When the judgment result in step 331 indicates that the first voxel cube has the set number of voxel vertices, it jumps to step 341. When the determination result in step 331 indicates that the first voxel cube does not have the set number of voxel vertices (i.e., is less than the set number), it jumps to step 343.
In step 341, the coordinate parameters of the voxel vertex at the set position of the first voxel cube and the color key values corresponding to the first voxel cube are stored in the memory space.
In step 343, the identification code of each voxel in the first voxel cube and the color key value corresponding to the first voxel cube are stored in the memory space, and each identification code corresponds to a voxel at a unique position in the voxel cube.
In step 333, the identification code and the corresponding color key of each voxel in the second voxel cube are stored in the memory space.
Through the embodiment of the application, the three-dimensional coordinates (x, y and z) of each voxel in the voxel model do not need to be stored, only the integral coordinate parameter (namely, the coordinate parameter of the voxel vertex of the set position of the cube) and the color value of the voxel cube need to be stored, different voxels in the voxel cube are identified through the identification code, and the memory consumption of the coordinate parameters of each voxel in the voxel model can be reduced.
Fig. 4 shows a schematic diagram of an example of cubic hierarchical partitioning for a voxel model according to an embodiment of the application.
As shown in FIG. 4, the whole model is divided into three layers of storage structures, wherein a plurality of Box32 are contained in the model, and a plurality of Box4 are contained in the Box 32.
In connection with the distributed storage manner described in fig. 3, only the global coordinate information (x, y, z) of Box32, the start coordinate of the specific Box4 and the coordinates of each voxel in Box4 need to be stored, and the specific coordinate value of each voxel can be directly calculated according to the index (index value) in the container.
Specifically, the storage example in connection with Box4 may also be described with reference to table 3 below:
Figure BSA0000207440540000071
TABLE 3
Referring to the example in table 3, when the color of each voxel in the voxel cube (or Box4) is identical and complete (64 voxels), only the color value corresponding to the whole voxel cube (Box4) needs to be stored. When the color of each voxel in the voxel cube (or Box4) is the same but incomplete (less than 64 voxels), the color value corresponding to the whole voxel cube (Box4) and the identification code of each voxel need to be stored, and each identification code can correspond to a voxel in a unique position on the cube (for example, 64 identification codes are used to respectively represent different voxels in Box4), so as to mark which voxels in Box4 are missing.
In some embodiments of the present application, a Box4 object with the same color may also be used to construct an object template by using distributed storage and a data template, and the object may be quickly located by using a key value, so that repeated construction of the object and a memory is avoided, and efficiency may be improved.
Figure BSA0000207440540000072
Figure BSA0000207440540000081
TABLE 4
Fig. 5A illustrates a flow diagram of an example of a storage optimization method for a voxel model in external memory according to an embodiment of the application.
It should be noted that, after the voxel model is built in the memory by the user through the voxel editing operation, the voxel model needs to be generated into a corresponding file to be stored in an external storage (e.g., a hard disk, etc.), so as to facilitate later uploading to a server or other uses.
Therefore, the ultra-large scale scenario is very important in terms of file storage besides optimization for memory space, and the extreme optimization of file size is also a problem to be considered. The small file size can reduce the storage pressure and network flow of the server and improve the file loading and analyzing efficiency.
As shown in fig. 5A, in step 510, the voxel model is divided according to the voxel cube. For details of step 510, reference may be made to the description above with reference to step 310 in fig. 3, and further description is omitted here.
In step 520, each voxel cube in the voxel model is traversed to identify whether the distribution of each voxel cube in the voxel model satisfies at least one preset voxel distribution rule, and each voxel distribution rule is preconfigured with a unique corresponding voxel compression mode.
In step 530, for each voxel cube satisfying the first voxel distribution rule, the voxel is compressed into a storage file by a voxel compression method according to the first voxel distribution rule.
In step 540, the storage file is saved to external memory.
In the embodiment of the present application, the compression storage may be performed by using a rule that the same voxel cube appears. Because there is a large-scale duplication phenomenon in the scene of voxel editing, for example, a large area of the duplication is Box4 storing green Full, the normal storage mode needs to store information of each Box4, but the size of the file can be further reduced by a regular compression mode. In connection with the example depicted in FIG. 5B, all of the boxes 4 are the same, and the file size may be reduced by some means of compression.
In one example of an embodiment of the present application, the voxel distribution rule includes: there are a consecutive distribution of voxel cubes of the same color exceeding a first set number threshold and/or a consecutive interval distribution of voxel cubes of the corresponding two colors exceeding a second set number threshold.
See the following example in connection with file optimization for Box4 in table 5:
Figure BSA0000207440540000082
Figure BSA0000207440540000091
TABLE 5
Illustratively, when a Box4 having an ID number of X continuously appears from a position N to a position M, only "N to M, Box4, X" need to be stored, and the ID of each Box4 need not be stored, which can effectively reduce the file amount.
Fig. 6 shows a flowchart of an example of a storage optimization method for a voxel model in a video memory according to an embodiment of the present application.
In rendering an image, a DrawCall is used, which calls a graphics programming interface for the CPU to command the GPU (graphics processor) to perform the rendering operation. Before each call to the DrawCall, the CPU needs to send much content to the GPU, including data, status, commands, etc. At this stage, the CPU needs to perform many tasks, such as organizing data, checking rendering status, and the like. Once the CPU completes the preparation, the GPU may start the rendering. The rendering capability of the GPU is very strong, 300 triangular meshes and 3000 triangular meshes are rendered without any difference, the rendering capability of the GPU is effectively utilized, the number of DrawCall is reduced, and the operating efficiency of a program can be effectively improved.
In 3D rendering, the shapes of all objects depend on one point in a three-dimensional space, the points are connected (the connection mode is divided into points, lines and surfaces) to be combined into three-dimensional models with different shapes, the vertex buffer is vertex data of the model and is called a vertex buffer area, the vertex buffer area is uploaded with a display card, and the display card is drawn through some rules.
IndexBuffer is used in cooperation with VertexBuffer, that is, the GPU is informed of which points to use for drawing through the value of the index buffer.
For example, if the following vertex data (v1, v2, v3, v4, v5) are stored in VertexBuffer, and the data in indexBuffer is (014), the graphics card will draw a triangle by combining the three points v1, v2, and v5 in the vertex buffer.
The data in the video memory per voxel vertex according to rendering requirements is typically composed of coordinate parameters (x, y, z), normal parameters (normalX, normalY, normalZ) and color parameters (R, G, B, A), currently typically expressed in float (4 bytes occupied in the video memory), for a total of 40 bytes. If a very large scene model has 2.6 million voxels, each voxel is made up of 6 faces, 4 vertices per face, and the calculated occupancy of display memory is huge (e.g., 2.6 million by 6 by 4 by 40).
Here, to support a very large model or scene, the video memory must also be optimized very much.
As shown in fig. 6, in step 610, the color key values respectively corresponding to the vertices of each voxel in the voxel model are restored to corresponding color computer representation values according to the color key value table.
In some examples, it may be that when rendering of the model is required, the CPU restores the color key values to the original color computer representation values and passes them to the display card processor.
In step 620, the color corresponding to the restored computer-expressed value of each color is compared with a pre-stored color texture map array to determine array position information of the color of each voxel vertex in the color texture map array. Here, the color texture map array is an array composed of a plurality of color texture maps (e.g., color texture maps corresponding to all colors), for example, 256 × 256 colors, so that all colors can find a unique corresponding array position point in the two-dimensional array of the color texture maps.
In some examples, the explicit card processor may be invoked to compare various colors in the voxel model with pre-stored color texture map arrays to determine corresponding array location information.
In step 630, the array position information corresponding to each voxel vertex is stored in a display memory space to be called in a color rendering stage for the voxel model. Therefore, the corresponding color of the voxel vertex can be determined only by storing the array position information, the color information (RGBA) of each voxel vertex does not need to be recorded, and the video memory occupation space of the voxel model data is greatly reduced.
Specifically, the values of 4 float (RGBA) can be reduced to 2 bytes by:
1) and creating a 256-by-256 texture map, uploading colors used in the whole model scene, wherein each color occupies one pixel point, and the 65536 colors can be accommodated in the texture.
2) And using byte to represent the value of UV, between 0 and 256, and UV/256 in the shader language of the display card to calculate the UV coordinate of the floating point number, wherein U can represent an abscissa and V can represent an ordinate.
3) By UV-sampling this texture map, the effect of the corresponding color can be achieved.
In some implementations of embodiments of the present application, the byte can also be used to describe coordinate information to optimize the video memory space.
In order to reduce the video memory occupation of the oversized model scene, byte can be used to replace float information representing coordinates, but the value range of byte is-128-127.
Because each voxel in the 3D voxel system has a certain rule, in the present invention, 128 × 128 voxels are used as a drawCall, and then, in combination with the distributed storage in fig. 3, the initial coordinate information of the voxel cube (i.e., the coordinate parameters of the voxel vertex corresponding to the set position) is transmitted to the video card through the simplex mode of the shader, and then the real coordinate of each voxel vertex is calculated through the shader language of the video card, for example, the position of the shader uniform representing the whole is defined as:
vec3 u _ vertextPostimon; the three float values represent the overall location information.
The coordinate of each vertex is changed into a command word
Byte3 a _ position; (this value is between-127 and 128.)
Then the true value realPosition for this point is:
realPosition=u_vertextPostion+a_position;
in this way, the true coordinate position of each voxel vertex can be accurately found from the coordinate information of the start of the voxel cube and the relative coordinate position of each vertex.
In some examples of embodiments of the present application, the normal information (or normal parameters) may also be described using byte.
In conventional 3D rendering, the normal (x, y, z) information of each point is also represented by three float values. In order to save more video memory and combine the characteristics of 3D voxels, in some embodiments of the present application, three bytes may be used to represent normal information, and in the shader language of the video card, the normal/128 is further used to obtain a floating point number to represent normal information of a vertex.
In the embodiment of the application, the three video memory optimization modes can be combined, and 40 bytes occupied by the conventional x, y, z, normalX, normalY, normalZ, R, G, and a are compressed to 8 bytes, which only occupies the original 1/5, so that the video memory space is saved.
Fig. 7 is a schematic diagram showing an example of smoothing processing performed on a voxel model edited from voxels.
As shown in fig. 7, the points (i.e., 701) of the black solid circles are smoothly calculated to obtain the points (i.e., 703) of the hollow circles in the graph, so that new vertices are generated, and the original regular voxel (or Cube) data is changed from real cubes to heterotypes, which breaks the original Cube operation mode and is inconvenient for secondary editing (e.g., new cubes cannot be stacked).
Fig. 8 shows a flow chart of an example of a smoothing method for a voxel model according to an embodiment of the application.
As shown in fig. 8, in step 810, the coordinate parameters of the first voxel vertex to be smoothed in the voxel model are determined.
In step 820, based on the preset smoothing algorithm, the coordinate parameter of the second voxel vertex corresponding to the coordinate parameter of the first voxel vertex after smoothing is calculated. Here, various existing or potential smoothing calculation algorithms may be employed, for example, smoothing may be performed using a calculation method as shown in fig. 7.
In step 830, a normal parameter of the second voxel vertex is calculated based on the coordinate parameter of the second voxel vertex.
In step 840, the normal parameter for the first voxel vertex is replaced with the normal parameter for the second voxel vertex.
It should be noted that, regarding the number of the first voxel vertex and the second voxel vertex, it may be one or more, for example, two vertices of a line or three vertices on a plane, and all fall within the protection scope of the present application.
Referring to the example of fig. 9, the smoothing effect may be achieved by:
1) two points A, B may be smoothed by a smoothing algorithm to obtain a new point C.
2) And calculating the normal of the point C to obtain a new normal NC.
3) The true position coordinates of point A, B are not modified, and only the normal information of point A, B is modified to NC.
4) With the lighting effect, the model looks smooth.
In the embodiment of the application, the smoothing effect is skillfully realized by changing the normal and the illumination, the original framework of the voxel is not changed, and the subsequent operation aiming at the voxel model is facilitated.
Note that, in the voxel model smoothing process, all the surfaces should not be smoothed at once, and smoothing may be performed only for corners and edges of the voxel model. Specifically, an edge and a corner of the voxel model exterior may be identified, and coordinate parameters of voxel vertices corresponding to the identified edge and corner may be determined as coordinate parameters of a first voxel vertex to be smoothed.
In addition, if the technical scheme as described in fig. 9 is simply passed through, after the voxel model is smoothed, the number of faces of the voxel model is very large, and easily exceeds 10 ten thousand triangular faces. Because the performance of the display card is limited, the display card cannot be used in large batch, and therefore the display card needs to be subjected to surface reduction treatment.
As some preferred implementations of the embodiments of the present application, a surface reduction process may be performed on a plurality of voxel surfaces on the exterior of the voxel model. It should be understood that it is also possible to perform the surface reduction operation and then the smoothing operation, as long as the surface reduction operation is completed before the rendering operation, and all of them fall within the protection scope covered by the present application.
Fig. 10 shows an example of a voxel model after smoothing and surface reduction by applying an embodiment of the present application. It can be seen that when the surface is reduced to 7000 surfaces, the voxel model can achieve better smoothing effect and almost eliminate the mosaic style compared with the existing voxel model in fig. 1.
It should be noted that the face reduction algorithm is divided into a lossless face reduction algorithm and a lossy face reduction algorithm, and the most basic principle of the lossless face reduction algorithm is to merge points on the same horizontal plane, but the display effect of the points is not affected, as shown in fig. 11A below, many points are merged on one plane, and the final display effect and shape are not affected at all. The lossy reduction is to increase a certain tolerance threshold, and points less than this threshold can be merged, as shown in fig. 11B, even if many points are not completely on a plane, they are still merged because they are less than the tolerance. FIG. 11A shows a schematic diagram of the effect of an example of lossless clipping planes. FIG. 11B shows a schematic of the effect of an example of lossy demagnification.
Fig. 12 shows a flowchart of an example of a process of the face reduction process in the smoothing method for the voxel model according to an embodiment of the present application.
As shown in fig. 12, in step 1210, it is determined whether an angle between respective normals of adjacent first and second voxel vertices of the voxel model exterior is less than an angle threshold.
In step 1220, when the normal angle is smaller than the angle threshold, one of the first voxel vertex and the second voxel vertex is assumed to be subtracted, and it is determined whether the distances between the voxel vertices that are not subtracted and the voxel surfaces having the voxel vertices that are assumed to be subtracted are all smaller than the distance threshold.
In step 1230, it is determined to perform a subtraction operation on the assumed subtracted voxel vertices when both are less than the distance threshold.
In the embodiment of the present application, an angle threshold and a distance threshold are preset, an angle between normals of two vertices is compared with the angle threshold to determine whether to perform hypothesis merging (or subtraction), and finally, whether to perform vertex merging operation is determined by comparing distances between voxel vertices that are not merged and respective voxel surfaces having voxel vertices that are hypothesis merged. Therefore, the two planes with larger azimuth difference can be prevented from being combined, and the model effect after the plane is reduced is ensured.
Fig. 13 is a schematic diagram illustrating an effect of an example of the face reduction and merging operation according to the embodiment of the present application.
Referring to the example of fig. 13, it may be determined whether the normals of the two points P5 and P6 are smaller than a preset angle threshold, if the condition is satisfied, the points P5 and P6 are merged into a new point P5+, the distances from the point P5+ to the T1, T2, T3, T4, and T5 surfaces before merging (having the point P6) are calculated, and if the distances are smaller than the preset distance threshold, the two points P5 and P6 may be merged.
Fig. 14 shows a flowchart of an example of a face reduction process in a smoothing method for a voxel model according to an embodiment of the present application.
It should be understood that in the face reduction process, the dots of different colors are not combinable, and in the conventional face reduction algorithm, the dots of different colors are set to be non-combinable. This results in that all the surfaces that could be merged cannot be merged, resulting in much waste, and as described in fig. 15A, there are many triangular surfaces, and the surface reduction effect is not sufficient. Fig. 15A is a schematic diagram showing an effect of an example of a voxel model obtained by the subtractive surface processing in the related art at present.
As shown in fig. 14, in step 1410, it is identified whether there is a color intersection between adjacent voxel faces of the exterior of the voxel model.
In step 1420, auxiliary voxel surfaces are arranged at the color intersections, wherein the included angle between the auxiliary voxel surfaces and the intersected voxel surfaces is larger than the included angle threshold.
In the embodiment of the present application, it is not necessary to define that color points of different colors are not allowed to be combined, but an auxiliary voxel surface (e.g., a vertical voxel surface) is disposed at a position where colors meet, and the surface reduction method as described in fig. 12 is combined, so that the surface reduction operation can be effectively completed, and a better surface reduction effect is achieved.
Fig. 15B is a schematic diagram illustrating an effect of an example of a voxel model obtained by the surface reduction operation according to the embodiment of the present application. As shown in fig. 15B, by providing the vertical plane, there is no additional triangular plane in the same color range area, and more planes are subtracted, which has an excellent plane reduction effect.
It should be noted that these auxiliary voxel surfaces may be simply used in the subtractive merging operation, and cannot be submitted to the graphics card for rendering. Illustratively, the auxiliary voxel surface may be eliminated after the surface reduction operation for the voxel model is completed.
Fig. 16 shows an effect diagram of an example of a smoothed voxel model according to an embodiment of the present application.
Referring to the example in fig. 16, combining the above-mentioned face reduction process, it is necessary to avoid mismerging some points in some application scenarios, for example, although the P1 and P3 have very close normal values and have merging conditions, they should not be easily merged in order to keep a smooth radian.
Therefore, erroneous merging for smooth points in the voxel model can be avoided by setting the weight information. In particular, each of the voxel vertices has a calibration weight for the angle threshold and/or the distance threshold. Moreover, the smoothed voxel vertices may have a lower calibration weight than the non-smoothed voxel vertices. Therefore, the radian of the smooth point can be prevented from being influenced, and the smooth effect of the model is guaranteed. In particular, the calibration weights for the first and second voxel vertices with respect to the angle threshold and/or the distance threshold are reduced.
Illustratively, each point is set to a different weight value according to the smoothed impact point data. Illustratively, the weight value for the unsmoothed points is 1 and the weight value for the smoothed points is set to 0.3. (i.e., the weight of point P1 is 1 and the weight of point P3 is 0.3), which is used to calibrate the thresholds (e.g., the angle threshold and/or the distance threshold) in the subtractive process, then the formula of the true threshold is:
the true threshold value is the preset threshold value and the weighted value
Thus, the P1 and P3 points are not so easily merged by the influence of the weights, and the expected rounding effect can be retained.
Fig. 17 is a block diagram illustrating an example of a storage optimization apparatus for a voxel model according to an embodiment of the present application.
As shown in fig. 17, the storage optimization apparatus 1700 for voxel model includes a computer color value acquisition unit 1710, a color key value configuration unit 1720, a color key value table construction unit 1730, and a color information storage unit 1740.
The computer color value obtaining unit 1710 is configured to obtain color computer representation values corresponding to respective voxel vertices in the voxel model.
The color key value configuration unit 1720 is configured to define respective color key values for different color computer representation values, respectively, and convert the acquired respective color computer representation values into the respective color key values, respectively.
The color key value table construction unit 1730 is configured to construct a color key value table from the different color computer representation values and the corresponding color key values.
The color information storage unit 1740 is configured to store the color key value table and the color key values respectively corresponding to the voxel vertices in a memory space.
Embodiments of a storage optimization method and apparatus for voxel models according to embodiments of the present application are described above with reference to fig. 1 to 17. The details mentioned in the above description of the method embodiments also apply to the embodiments of the apparatus of the present application. The above smoothing means for the voxel model may be implemented in hardware, or may be implemented in software, or a combination of hardware and software.
Fig. 18 is a block diagram illustrating an example of a smoothing apparatus for a voxel model according to an embodiment of the present application.
As shown in fig. 18, the smoothing apparatus 1800 for a voxel model includes a target vertex coordinate determination unit 1810, a smoothed vertex coordinate calculation unit 1820, a normal parameter calculation unit 1830, and a normal parameter replacement unit 1840.
The target vertex coordinate determination unit 1810 is configured to determine coordinate parameters of a first voxel vertex to be smoothed in the voxel model.
The smoothed vertex coordinate calculation unit 1820 is configured to calculate, based on a preset smoothing algorithm, a coordinate parameter of a second voxel vertex corresponding to the smoothed coordinate parameter of the first voxel vertex.
The normal parameter calculation unit 1830 is configured to calculate a normal parameter of the second voxel vertex from a coordinate parameter of the second voxel vertex.
The normal parameter replacing unit 1840 is configured to replace the normal parameter of the first voxel vertex with the normal parameter of the second voxel vertex.
Embodiments of the smoothing method and apparatus for a voxel model according to embodiments of the present application are described above with reference to fig. 1 to 18. The details mentioned in the above description of the method embodiments also apply to the embodiments of the apparatus of the present application. The above smoothing means for the voxel model may be implemented in hardware, or may be implemented in software, or a combination of hardware and software.
In the 90 s of the 20 th century, improvements in a technology could clearly distinguish between improvements in hardware (e.g., improvements in circuit structures such as diodes, transistors, switches, etc.) and improvements in software (improvements in process flow). However, as technology advances, many of today's process flow improvements have been seen as direct improvements in hardware circuit architecture. Designers almost always obtain the corresponding hardware circuit structure by programming an improved method flow into the hardware circuit. Thus, it cannot be said that an improvement in the process flow cannot be realized by hardware physical modules. For example, a Programmable Logic Device (PLD), such as a Field Programmable Gate Array (FPGA), is an integrated circuit whose Logic functions are determined by programming the Device by a user. A digital system is "integrated" on a PLD by the designer's own programming without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Furthermore, nowadays, instead of manually making an Integrated Circuit chip, such Programming is often implemented by "logic compiler" software, which is similar to a software compiler used in program development and writing, but the original code before compiling is also written by a specific Programming Language, which is called Hardware Description Language (HDL), and HDL is not only one but many, such as abel (advanced Boolean Expression Language), ahdl (alternate Hardware Description Language), traffic, pl (core universal Programming Language), HDCal (jhdware Description Language), lang, Lola, HDL, laspam, hardward Description Language (vhr Description Language), vhal (Hardware Description Language), and vhigh-Language, which are currently used in most common. It will also be apparent to those skilled in the art that hardware circuitry that implements the logical method flows can be readily obtained by merely slightly programming the method flows into an integrated circuit using the hardware description languages described above.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functionality of the units may be implemented in one or more software and/or hardware when implementing the present application.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices, or any other non-transmission medium which can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. The use of the phrase "including a" does not exclude the presence of other, identical elements in the process, method, article, or apparatus that comprises the same element, whether or not the same element is present in all of the same element.
Embodiments of the application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The application may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present application are described in a progressive manner, and the same and similar parts among the embodiments can be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims (10)

1. A smoothing method for a voxel model, comprising:
determining coordinate parameters of a first voxel vertex to be subjected to smoothing processing in the voxel model;
calculating a coordinate parameter of a second voxel vertex corresponding to the coordinate parameter of the first voxel vertex after smoothing based on a preset smoothing algorithm;
calculating a normal parameter of the second voxel vertex according to the coordinate parameter of the second voxel vertex;
replacing the normal parameter of the first voxel vertex with the normal parameter of the second voxel vertex.
2. The smoothing method for a voxel model according to claim 1, wherein determining the coordinate parameter of the first voxel vertex to be smoothed in the voxel model specifically comprises:
identifying edges and corners of the voxel model exterior;
and determining the coordinate parameters of the voxel vertexes corresponding to the identified edge part and the corner part as the coordinate parameters of the first voxel vertex to be subjected to smoothing processing.
3. A smoothing method for a voxel model according to claim 1 or 2, further comprising:
and performing surface reduction processing on a plurality of voxel surfaces on the voxel model exterior.
4. The smoothing method for the voxel model according to claim 3, wherein the surface reduction processing is performed on a plurality of voxel surfaces on the exterior of the voxel model, and specifically includes:
judging whether an included angle between respective normal lines of a first voxel top point and a second voxel top point which are adjacent to the voxel model exterior is smaller than an included angle threshold value or not;
when the normal included angle is smaller than the included angle threshold, supposing to subtract one of the first voxel vertex and the second voxel vertex, and judging whether the distances between the unreduced voxel vertex and each voxel surface with the supposing subtracted voxel vertex are smaller than a distance threshold;
and when the distance values are all smaller than the distance threshold value, determining to perform subtraction operation on the supposed subtracted voxel vertex.
5. The smoothing method for a voxel model according to claim 4, wherein each of the voxel vertices has a calibration weight for the angle threshold and/or the distance threshold, after replacing the normal parameter of the first voxel vertex with the normal parameter of the second voxel vertex, the method further comprising:
reducing the calibration weight of the first and second voxel vertices with respect to the angle threshold and/or the distance threshold.
6. The smoothing method for a voxel model according to claim 4, wherein performing surface reduction processing on a plurality of voxel surfaces outside the voxel model specifically comprises:
identifying whether color intersections exist between adjacent voxel faces of an exterior of the voxel model;
and arranging an auxiliary voxel surface at the color intersection, wherein the included angle between the auxiliary voxel surface and each intersected voxel surface is larger than the included angle threshold value.
7. The smoothing method for a voxel model of claim 6, after subjecting a plurality of voxel faces outside the voxel model to a surface reduction process, the method further comprising: and eliminating the auxiliary voxel surface.
8. A smoothing apparatus for a voxel model, comprising:
a target vertex coordinate determination unit configured to determine a coordinate parameter of a first voxel vertex to be subjected to smoothing processing in the voxel model;
the smooth vertex coordinate calculation unit is configured to calculate a coordinate parameter of a second voxel vertex corresponding to the coordinate parameter of the first voxel vertex after smoothing based on a preset smoothing algorithm;
a normal parameter calculation unit configured to calculate a normal parameter of the second voxel vertex from a coordinate parameter of the second voxel vertex;
a normal parameter replacing unit configured to replace the normal parameter of the first voxel vertex with the normal parameter of the second voxel vertex.
9. An electronic device, comprising:
at least one processor; and
a memory storing instructions that, when executed by the at least one processor, cause the at least one processor to perform the method of any one of claims 1 to 7.
10. A machine-readable storage medium storing executable instructions that, when executed, cause the machine to perform the method of any one of claims 1 to 7.
CN202010347774.7A 2020-04-27 2020-04-27 Smoothing method and device for voxel model and electronic equipment Active CN113643191B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010347774.7A CN113643191B (en) 2020-04-27 2020-04-27 Smoothing method and device for voxel model and electronic equipment
CN202310800699.9A CN116797486A (en) 2020-04-27 2020-04-27 Smoothing method and device for voxel model and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010347774.7A CN113643191B (en) 2020-04-27 2020-04-27 Smoothing method and device for voxel model and electronic equipment

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310800699.9A Division CN116797486A (en) 2020-04-27 2020-04-27 Smoothing method and device for voxel model and electronic equipment

Publications (2)

Publication Number Publication Date
CN113643191A true CN113643191A (en) 2021-11-12
CN113643191B CN113643191B (en) 2023-08-15

Family

ID=78415323

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310800699.9A Pending CN116797486A (en) 2020-04-27 2020-04-27 Smoothing method and device for voxel model and electronic equipment
CN202010347774.7A Active CN113643191B (en) 2020-04-27 2020-04-27 Smoothing method and device for voxel model and electronic equipment

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202310800699.9A Pending CN116797486A (en) 2020-04-27 2020-04-27 Smoothing method and device for voxel model and electronic equipment

Country Status (1)

Country Link
CN (2) CN116797486A (en)

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000040163A (en) * 1998-06-30 2000-02-08 Siemens Corporate Res Inc Smoothing method of surface of object
US20040081340A1 (en) * 2002-10-28 2004-04-29 Kabushiki Kaisha Toshiba Image processing apparatus and ultrasound diagnosis apparatus
US6867774B1 (en) * 2002-12-02 2005-03-15 Ngrain (Canada) Corporation Method and apparatus for transforming polygon data to voxel data for general purpose applications
US20050275654A1 (en) * 2004-06-15 2005-12-15 Ziosoft Inc. Method, computer program product, and device for processing projection images
CN102004922A (en) * 2010-12-01 2011-04-06 南京大学 High-resolution remote sensing image plane extraction method based on skeleton characteristic
US20130249914A1 (en) * 2012-03-23 2013-09-26 Daniel Jonathan Ignatoff Method for Manipulating Three-Dimensional Voxel Data for On-Screen Visual
US20150024337A1 (en) * 2013-07-18 2015-01-22 A.Tron3D Gmbh Voxel level new information updates using intelligent weighting
US20160275653A1 (en) * 2015-03-18 2016-09-22 Kabushiki Kaisha Toshiba Medical image processing apparatus and method
CN107316337A (en) * 2016-04-20 2017-11-03 网易(杭州)网络有限公司 The processing method and processing device of vertex normal
CN107689076A (en) * 2017-08-28 2018-02-13 哈尔滨理工大学 A kind of efficient rendering intent during the cutting for system of virtual operation
CN107895401A (en) * 2017-11-23 2018-04-10 塔普翊海(上海)智能科技有限公司 The data reduction system and its method for simplifying of threedimensional model and application
CN108537718A (en) * 2018-04-12 2018-09-14 长沙景美集成电路设计有限公司 A kind of device and method for realizing some pel anti-aliasings in GPU
CN109189725A (en) * 2018-07-23 2019-01-11 广州都市圈网络科技有限公司 The obj file lossless compression method of rule-oriented building
CN109919827A (en) * 2019-02-22 2019-06-21 搜游网络科技(北京)有限公司 A kind of pattern drawing method, device and computer-readable medium, equipment
US20200082618A1 (en) * 2018-09-07 2020-03-12 Canon Usa Inc. Isosurface generation method and visualization system

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000040163A (en) * 1998-06-30 2000-02-08 Siemens Corporate Res Inc Smoothing method of surface of object
US20040081340A1 (en) * 2002-10-28 2004-04-29 Kabushiki Kaisha Toshiba Image processing apparatus and ultrasound diagnosis apparatus
US6867774B1 (en) * 2002-12-02 2005-03-15 Ngrain (Canada) Corporation Method and apparatus for transforming polygon data to voxel data for general purpose applications
US20050275654A1 (en) * 2004-06-15 2005-12-15 Ziosoft Inc. Method, computer program product, and device for processing projection images
CN102004922A (en) * 2010-12-01 2011-04-06 南京大学 High-resolution remote sensing image plane extraction method based on skeleton characteristic
US20130249914A1 (en) * 2012-03-23 2013-09-26 Daniel Jonathan Ignatoff Method for Manipulating Three-Dimensional Voxel Data for On-Screen Visual
US20150024337A1 (en) * 2013-07-18 2015-01-22 A.Tron3D Gmbh Voxel level new information updates using intelligent weighting
US20160275653A1 (en) * 2015-03-18 2016-09-22 Kabushiki Kaisha Toshiba Medical image processing apparatus and method
CN107316337A (en) * 2016-04-20 2017-11-03 网易(杭州)网络有限公司 The processing method and processing device of vertex normal
CN107689076A (en) * 2017-08-28 2018-02-13 哈尔滨理工大学 A kind of efficient rendering intent during the cutting for system of virtual operation
CN107895401A (en) * 2017-11-23 2018-04-10 塔普翊海(上海)智能科技有限公司 The data reduction system and its method for simplifying of threedimensional model and application
CN108537718A (en) * 2018-04-12 2018-09-14 长沙景美集成电路设计有限公司 A kind of device and method for realizing some pel anti-aliasings in GPU
CN109189725A (en) * 2018-07-23 2019-01-11 广州都市圈网络科技有限公司 The obj file lossless compression method of rule-oriented building
US20200082618A1 (en) * 2018-09-07 2020-03-12 Canon Usa Inc. Isosurface generation method and visualization system
CN109919827A (en) * 2019-02-22 2019-06-21 搜游网络科技(北京)有限公司 A kind of pattern drawing method, device and computer-readable medium, equipment

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
RUNE SKOVBO JOHANSEN: "The quest for automatic smooth edges for 3d models", pages 1 - 5 *
刘腾飞: "三维点云数据的预处理研究", no. 4, pages 138 - 1069 *
宅7: "Unity 环境下平滑法线(软化边)方案整理", pages 1 - 5 *
黄炎辉: "基于GPU曲面细分的研究与应用", no. 05, pages 138 - 2050 *

Also Published As

Publication number Publication date
CN113643191B (en) 2023-08-15
CN116797486A (en) 2023-09-22

Similar Documents

Publication Publication Date Title
US11481952B2 (en) Allocation of primitives to primitive blocks
US10049426B2 (en) Draw call visibility stream
US9478002B2 (en) Vertex parameter data compression
US8570322B2 (en) Method, system, and computer program product for efficient ray tracing of micropolygon geometry
US9558586B2 (en) Method for estimating the opacity level in a scene and corresponding device
CN112347546A (en) BIM rendering method, device and computer-readable storage medium based on lightweight device
US20070018994A1 (en) Texture encoding apparatus, texture decoding apparatus, method, and program
US10592242B2 (en) Systems and methods for rendering vector data on static and dynamic-surfaces using screen space decals and a depth texture
US20140176545A1 (en) System, method, and computer program product implementing an algorithm for performing thin voxelization of a three-dimensional model
US9299182B2 (en) Divided-area-based rendering device and divided-area-based rendering method
KR20170038525A (en) Graphic Processing Apparatus and Operating Method thereof
US20230048839A1 (en) Compressing texture data on a per-channel basis
US9607435B2 (en) Method for rendering an image synthesis and corresponding device
CN113570691B (en) Storage optimization method and device for voxel model and electronic equipment
CN115836317A (en) Incremental triple index compression
US20180137671A1 (en) Out-of-core point rendering with dynamic shapes
CN113643191B (en) Smoothing method and device for voxel model and electronic equipment
CN104050619A (en) Stencil then cover path rendering with shared edges
CN112837416A (en) Triangulation-based polygon rendering method and device and storage medium
US11488347B2 (en) Method for instant rendering of voxels
CN111243073B (en) Intersection acceleration method and device of regular grid and computer storage medium
US11869123B2 (en) Anti-aliasing two-dimensional vector graphics using a compressed vertex buffer
FI117579B (en) Process, device and computer program for processing a computer-aided polygon model
CN114037791A (en) Three-dimensional model rendering display system based on webgl and using method
CN116188552A (en) Region-based depth test method, device, equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant