CN113643191B - Smoothing method and device for voxel model and electronic equipment - Google Patents
Smoothing method and device for voxel model and electronic equipment Download PDFInfo
- Publication number
- CN113643191B CN113643191B CN202010347774.7A CN202010347774A CN113643191B CN 113643191 B CN113643191 B CN 113643191B CN 202010347774 A CN202010347774 A CN 202010347774A CN 113643191 B CN113643191 B CN 113643191B
- Authority
- CN
- China
- Prior art keywords
- voxel
- vertex
- model
- smoothing
- normal
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000009499 grossing Methods 0.000 title claims abstract description 62
- 230000000694 effects Effects 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims abstract description 22
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 14
- 238000003860 storage Methods 0.000 claims description 47
- 238000009877 rendering Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000009467 reduction Effects 0.000 claims description 9
- 238000003672 processing method Methods 0.000 claims 4
- 238000010586 diagram Methods 0.000 description 23
- 239000003086 colorant Substances 0.000 description 20
- 101000901617 Notophthalmus viridescens Homeobox protein DLX-3 Proteins 0.000 description 13
- 238000005457 optimization Methods 0.000 description 13
- 230000006872 improvement Effects 0.000 description 8
- 238000009826 distribution Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 244000035744 Hura crepitans Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Generation (AREA)
Abstract
The embodiment of the application discloses a smoothing method, a smoothing device and electronic equipment for a voxel model, wherein in the method, coordinate parameters of a first voxel vertex to be subjected to smoothing processing in the voxel model are determined; calculating coordinate parameters of a second voxel vertex corresponding to the smoothed coordinate parameters of the first voxel vertex based on a preset smoothing algorithm; calculating normal parameters of the second voxel vertex according to the coordinate parameters of the second voxel vertex; the normal parameters of the first voxel vertex are replaced by the normal parameters of the second voxel vertex, so that the original framework of the voxel model is not required to be modified, and meanwhile, the voxel model has smooth and graceful effects.
Description
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 on three-dimensional space division, and is used in the fields of 3D imaging, game design, scientific data, medical images and the like, which can be similar to a basic unit of two-dimensional space in concept by one pixel, and the pixel is used on the image data of a two-dimensional computer image.
Through 3D voxel editing, 3D voxels can be spliced to construct corresponding scene models, such as various electronic buildings, figures, 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, and the user only needs to assemble with a simple cube box (i.e. a representation of the 3D voxels), and like placing building blocks, does not need to understand what is the points, lines and faces forming the cube box, does not need to program codes by the user, can reduce the game development threshold, and is oriented to popular creators.
Currently, voxel models built with 3D voxels may result in "pixelated" or "mosaic" like visual effects (as shown in fig. 1), and some specialized software built models may not be smooth in visual impression.
Therefore, after the voxel model is manufactured by using the voxel editing operation mode, how to make the voxel model smoother without showing mosaic effect without using extra special professional software is a difficult problem to be solved in the industry.
Disclosure of Invention
In view of this, the embodiments of the present application provide a smoothing method, a device and an electronic apparatus for a voxel model, which are used for at least solving the problem that the smoothing effect of the voxel model achieved by voxel editing in the related art 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 treatment in the voxel model; calculating coordinate parameters of a second voxel vertex corresponding to the smoothed coordinate parameters of the first voxel vertex based on a preset smoothing algorithm; calculating normal parameters of the second voxel vertex according to the coordinate parameters of the second voxel vertex; and replacing the normal parameters of the first voxel vertex with the normal parameters of the second voxel vertex.
The embodiment of the application also provides a smoothing device for the voxel model, which comprises the following steps: a target vertex coordinate determining unit configured to determine coordinate parameters of a first voxel vertex to be subjected to smoothing processing in the voxel model; a smooth vertex coordinate calculation unit configured to calculate coordinate parameters of a second voxel vertex corresponding to the smoothed coordinate parameters of the first voxel vertex 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; and a normal parameter replacement unit configured to replace a normal parameter of the first voxel vertex with a normal parameter of the second voxel vertex.
The embodiment of the application also provides electronic equipment, which comprises: 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 a method as described above.
Embodiments of the present application also provide a machine-readable storage medium storing executable instructions that, when executed, cause the machine to perform a method as described above
The above at least one technical scheme adopted by the embodiment of the application can achieve the following beneficial effects:
the smoothing effect is skillfully realized by changing the normal and illumination, the original architecture of the voxel model is not changed, and the follow-up operation of the voxel model is facilitated.
Drawings
The accompanying drawings, which are included to provide a further understanding of embodiments of the application and are incorporated in and constitute a part of this specification, illustrate embodiments of the application and together with the description serve to explain the application and without limitation to the application. In the drawings:
FIG. 1 shows an effect diagram of an example of a voxel model in the current related art;
FIG. 2 illustrates a flow chart of an example of a storage optimization method for a voxel model in accordance with an embodiment of the application;
FIG. 3 illustrates a flowchart of an example of implementing a storage optimization method for voxel models by distributed storage according to an embodiment of the application;
FIG. 4 shows a schematic diagram of an example of a cube hierarchical partition for a voxel model in accordance with an embodiment of the application;
FIG. 5A shows a flowchart of an example of a storage optimization method for a voxel model in an external memory, according to an embodiment of the application;
FIG. 5B shows an effect diagram of an example of Box4 distribution in a voxel model according to an embodiment of the application;
FIG. 6 illustrates a flowchart of an example of a method of storage optimization for voxel models in a video memory, in accordance with an embodiment of the present application;
FIG. 7 shows a schematic diagram of an example of smoothing a voxel model composed of voxel edits;
FIG. 8 shows a flowchart 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 effect of an example of a voxel model after smoothing and face reduction by application of an embodiment of the application;
FIG. 11A illustrates an effect schematic of an example of a lossless subtraction surface;
FIG. 11B illustrates an effect diagram of an example of a lossy face;
FIG. 12 shows a flowchart of an example of a face-subtracting process in a smoothing method for voxel models according to an embodiment of the application;
FIG. 13 illustrates an effect diagram of an example of a face-reduction merge operation according to an embodiment of the application;
FIG. 14 shows a flowchart of an example of a face-subtracting procedure in a smoothing method for voxel models according to an embodiment of the application;
FIG. 15A shows an effect diagram of an example of a voxel model obtained by face-subtracting processing in the related art at present;
FIG. 15B illustrates an effect diagram of an example of a voxel model obtained by a face-down operation of an embodiment of the application;
FIG. 16 shows an effect diagram of an example of a smoothed voxel model in accordance with an embodiment of the application;
FIG. 17 shows a block diagram of an example of a storage optimization apparatus for voxel models in accordance with an embodiment of the application;
fig. 18 shows a block diagram of an example of a smoothing apparatus for voxel models according to an embodiment of the application.
Detailed Description
At present, the traditional scheme is difficult to store the voxel model under the ultra-large scene, and limits the application range of the voxel model and the customer population. Specifically, in the conventional scheme, the coordinate information and the color information of each voxel are stored (x, y, z, color), and the total memory is calculated according to 4 bytes of each information, and the total memory is occupied=16 bytes×2.6 hundred million×3GB, so that the operation cannot be performed at all on the mobile terminal device.
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 clearly and completely described below with reference to specific embodiments of the present application and corresponding drawings. It will be apparent that the described embodiments are only some, but not all, embodiments of the application. All other embodiments, which are apparent to those of ordinary skill in the art based on the embodiments of the application without undue burden, are within the scope of the application.
As used herein, the term "comprising" and variations thereof mean open-ended terms, meaning "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. Unless the context clearly indicates otherwise, the definition of a term is consistent throughout this application.
The term "vertex" may denote each vertex of a voxel. The term "normal" may denote a point normal, a line normal or a surface normal, in a voxel model the normal depends on the type of voxel object illuminated, and the illumination direction corresponds to the normal direction.
FIG. 2 shows a flowchart of an example of a storage optimization method for a voxel model according to an embodiment of the application.
In step 210, color computer representation values corresponding to the respective voxel vertices in the voxel model are obtained. Here, the color computer representation value may be a numerical value corresponding to the color information in the computer, and the color may be represented by using the uint32, which includes RGBA information. For example, 0 xffffffff=white, 0xffff 0000=red.
Thus, in the storage format of the computer, if the color of each voxel vertex is stored with uint32, it would take 4 bytes.
In step 220, respective color key values are defined for the different color computer representation values, and the acquired respective color computer representation values are converted into respective color key values, respectively. Here, the respective color key values are defined according to the differences in the color computer representation values, for example, when 4 colors exist in the voxel model, the respective color key values may be defined as 0, 1, 2, and 3 for the 4 colors, respectively.
In step 230, a color key value table is constructed from the different color computer representation values and the corresponding color key values.
The color key value table shown in the following table 1 can be obtained by way of 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 corresponding to the voxel vertices are stored in the memory space.
In this way, compared with the color computer representation value storage mode 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 different numbers of color calculation representing values) in the voxel model does not exceed 28, the memory occupied by the key value is 1 byte, and the corresponding key value can be stored using byte data type, saving 3 bytes. When the number of colors in the voxel model is not more than 216, the memory occupied by the key value is 2 bytes, and the corresponding key value can be stored by using the short data type, so that 2 bytes are saved.
Conditions (conditions) | The number of colors is less than or equal to 256 | The number of colors is less than or equal to 65536 | The number of colors is greater than 65536 |
Key value storage mode | Using byte storage | Using short stores | Without building a key value table |
Occupying memory | 1 byte | 2 bytes | 4 bytes |
TABLE 2
The number of colors of a single voxel model is generally not more than 256 (the ratio 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 is stored by only one byte (1 byte), and the color key value table is searched when the voxel model is actually used, so that the memory consumption is greatly reduced, and the voxel model of an oversized scene can be supported.
FIG. 3 illustrates a flowchart of an example of implementing a storage optimization method for voxel models by distributed storage, according to an embodiment of the application.
The model in some 3D voxel scenes (such as 3D voxel sand box games), the blocks with a large number of repetitions in the building and the coordinates of the 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 at corresponding set positions of each voxel cube in the voxel model are determined, each voxel cube being a cube composed of a set number of voxels. Here, the set position may be a predefined, for example, a position of a voxel vertex corresponding to the upper left corner of the main view plane of the cube.
In particular, the entire model may be divided into multiple layers of storage structures (two or more layers) by a voxel cube. In some examples of embodiments of the present application, the entire model may be divided into a plurality of boxes 4, where each Box4 is formed by combining 4×4×4=64 voxels, and thus, the whole model is divided into two storage structures. In other examples of embodiments of the present application, the entire model may be divided into three layers of storage structures, where a plurality of boxes 32 are included in the model, and a plurality of boxes 4 are included in the boxes 32. The number of boxes (or the number of voxels included in the side length) may be varied and may be adjusted according to the service requirement, and should not be limited herein.
In step 320, it is determined, for each voxel cube, whether the colors of the vertices of each voxel in the voxel cube are the same.
The determination in step 320 indicates that there are voxel vertices in one or more voxel cubes (also referred to as first voxel cubes) of the same color, and the step in step 331 is skipped. When the determination in step 320 indicates that there are voxel vertices in one or more voxel cubes (also referred to as second voxel cubes) that are not the same color (i.e., there are multiple colors in the voxel cubes), the step in step 333 is skipped.
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 complete number of voxel units, e.g., there are cases where corner voxels of the voxel cube at the edge are missing.
When the determination result in step 331 indicates that the first voxel cube has a set number of voxel vertices, the process goes 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), the process proceeds 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 value corresponding to the first voxel cube are stored in the memory space.
In step 343, the identification codes of the voxels in the first voxel cube and the color key values 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 corresponding color key value of each voxel in the second voxel cube is stored into memory space.
According to the embodiment of the application, the three-dimensional coordinates (x, y and z) of each voxel in the voxel model are not required to be stored, only the integral coordinate parameters (namely, the coordinate parameters of the voxel vertex at the set position of the cube) and the color values of the voxel cube are required to be stored, and different voxels in the voxel cube are identified through the identification code, so that 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 a cube hierarchical partition for a voxel model according to an embodiment of the application.
As shown in fig. 4, the entire model is divided into three layers of storage structures, and a plurality of boxes 32 are included in the model, and a plurality of boxes 4 are included in the boxes 32.
In connection with the distributed storage manner described in fig. 3, only the global coordinate information (x, y, z) of Box32 needs to be stored, the start coordinate of specific Box4 and the coordinates of each voxel in Box4, and the specific coordinate value of each voxel can be directly calculated according to index in the container.
Specifically, a storage example in combination with Box4 may also be described with reference to table 3 below:
TABLE 3 Table 3
Referring to the example in table 3, when the colors of the respective voxels in the voxel cube (or Box 4) are identical and complete (having 64 voxels), it is only necessary to store the color value corresponding to the voxel cube whole (Box 4). When the color of each voxel in the voxel cube (or Box 4) is identical but incomplete (less than 64 voxels), it is necessary to store the color value corresponding to the voxel cube as a whole (Box 4) and the identification codes of each voxel, each of which may correspond to a voxel at a unique location on the cube (e.g., 64 identification codes to represent different voxels in Box4, respectively), thereby marking which voxels in Box4 are missing.
In some implementations of the embodiments of the present application, a Box4 object with the same color may be constructed by using a distributed storage and a data template, and the object template may be quickly located by a key value, so that repeated construction of the object and the memory may be avoided, and efficiency may be improved.
TABLE 4 Table 4
Fig. 5A shows a flowchart of an example of a storage optimization method for a voxel model in an external memory according to an embodiment of the application.
It should be noted that, when the user builds the voxel model in the memory through the voxel editing operation, the voxel model needs to be generated into a corresponding file to be stored in an external memory (e.g., a hard disk, etc.), so as to facilitate the later uploading to a server or other uses.
Therefore, in addition to optimizing the memory space, very large-scale scenes are also very important in terms of file storage, and extremely optimizing the file size is also a problem to be considered. Here, the small file size not only can reduce the storage pressure and network flow of the server, but also can improve the file loading and analysis efficiency.
As shown in fig. 5A, in step 510, the voxel model is partitioned by voxel cube. For details of step 510, reference is made to the description above with reference to step 310 in fig. 3, which is not repeated 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, each of which is preconfigured with a unique corresponding voxel compression scheme.
In step 530, for each voxel cube satisfying the first voxel distribution rule, the voxel compression method corresponding to the first voxel distribution rule is used to compress the voxel compression method into a storage file.
In step 540, the storage file is saved to an external memory.
In embodiments of the present application, the rule of occurrence of the same voxel cube may be utilized for compressed storage. Because, in the scene of voxel editing, there is a phenomenon of large-scale repetition, for example, a large region is repeated to be Box4 storing green Full, and the normal storage mode needs to store information of each Box4, but the size of the file can be further reduced by a rule compression mode. In connection with the example depicted in fig. 5B, where the boxes 4 are all identical, 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 consecutively distributed voxel cubes with the same color exceeding a first set number threshold and/or there are consecutively spaced voxel cubes with corresponding two colors exceeding a second set number threshold.
Refer to the following example of file optimization for Box4 in conjunction with table 5:
TABLE 5
Illustratively, when Box4 having an ID number=x continuously appears from position N to position M, only "N to M, box4, X" need to be stored, and the IDs of the respective boxes 4 need not be stored, so that the file size can be effectively reduced.
FIG. 6 shows a flowchart of an example of a method for storage optimization of voxel models in a video memory, according to an embodiment of the application.
In rendering an image, it is necessary to use a draw call, which calls a graphics programming interface for the CPU, capable of commanding a GPU (graphics card processor) to perform rendering operations. Before each call to DrawCall, the CPU needs to send much content to the GPU, including data, state, commands, etc. At this stage, the CPU needs to do much work, such as organizing data, checking rendering status, etc. Once the CPU has completed these preparations, the GPU may begin the current rendering. The rendering capability of the GPU is very strong, 300 and 3000 triangular grids are rendered without distinction, the rendering capability of the GPU is effectively utilized, the number of DrawCall is reduced, and the running efficiency of a program can be effectively improved.
In 3D rendering, the shape of all objects depends on a point in three-dimensional space, the points are connected (the connection mode is divided into points, lines and planes) so as to form a three-dimensional model with different shapes seen by us, and the vertex buffer is vertex data of the model and is called a vertex buffer, the vertex buffer is uploaded to a graphics card, and the graphics card is drawn through some rules.
The index buffer is used in conjunction with the VertexBuffer, i.e. the GPU is informed of which points to use for drawing by the value of the index buffer.
For example, if the following vertex data (v 1, v2, v3, v4, v 5) is stored in the vertex buffer, and the data in the index buffer is (014), the graphics card will draw a triangle by combining the three points v1, v2, v5 in the vertex buffer.
The data in the video memory for each voxel vertex according to the rendering requirements is generally composed of coordinate parameters (x, y, z), normal parameters (normalX, normalY, normalZ) and color parameters (R, G, B, A), and is generally indicated by float (occupying 4 bytes of the video memory) at present, and occupies 40 bytes in total. If the oversized scene model has 2.6 hundred million voxels, each voxel is composed of 6 faces, 4 vertices per face, and the calculated occupancy of the next video memory is huge (e.g., 2.6 hundred million by 6 by 4 by 40).
Here, in order to support oversized models or scenes, the video memory must also be optimized very much.
As shown in fig. 6, in step 610, the color key values corresponding to the voxel vertices in the voxel model are restored to the corresponding color computer representation values according to the color key value table.
In some examples, the CPU may restore the color key values to original color computer representation values and pass them to the graphics card processor when rendering of the model is required.
In step 620, the color corresponding to the restored computer representation value of each voxel is compared with the pre-stored color texture map array to determine the 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 formed by a plurality of color texture maps (for example, 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 color texture map two-dimensional array.
In some examples, the graphics card processor may be invoked to determine corresponding array location information by comparing a pre-stored color texture map array to various colors in the voxel model.
In step 630, the array position information corresponding to each voxel vertex is stored in the video memory space for calling in the color rendering stage for the voxel model. Therefore, the corresponding colors of the voxel vertexes can be determined by only storing the array position information, color information (RGBA) of each voxel vertex is not required to be recorded, and the video memory occupation space of the voxel model data is greatly reduced.
Specifically, the value of 4 float (RGBA) can be reduced to 2 bytes by:
1) A 256 x 256 texture map is created, colors used in the whole model scene are uploaded into the texture by occupying one pixel point for each color, and 65536 colors can be contained in total.
2) Using byte to represent the value of UV, between 0-256, the UV coordinates of floating point numbers are calculated by UV/256 in the loader language of the graphics card, where U may represent the abscissa and V may represent the ordinate.
3) By UV de-sampling the texture map, the effect of the corresponding color can be achieved.
In some implementations of embodiments of the application, byte may also be used to describe the coordinate information to optimize the video memory space.
In order to reduce the video memory occupation of the ultra-large model scene, the byte can be used for replacing the information of the float representing the coordinates, but the value range of the byte is between-128 and 127.
Since each voxel in the 3D voxel system has a certain rule, 128 x 128 voxels are used as a drawCall in the present application, and in combination with the distributed storage in fig. 3, the coordinate information of the start of the voxel cube (i.e., coordinate parameters of voxel vertexes corresponding to the set positions) are transmitted into a display card in a uniform mode of a loader, and then real coordinates of each voxel vertex are calculated through a loader language calculation of the display card, for example, definition of the position of the loader representative whole is as follows:
vec3u_vertextPostin; three float values represent the overall location information.
The coordinates of each vertex change the command word into
Byt3a_position; (this value is between-127-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 found accurately by 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 application, normal information (or normal parameters) may also be described using byte.
In conventional 3D rendering, normal (normal x, y, z) information of each point is also represented by three float values. In order to save the display 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 loader language of the display card, normal/128 is further used to obtain a floating point number to represent normal information of the vertex.
In the embodiment of the application, the three video memory optimization modes can be combined, 40 bytes occupied by the conventional x, y, z, normalX, normalY, normalZ, R, G, G, A are compressed to 8 bytes, and the occupied bytes only occupy 1/5 of the original memory space, thereby saving the video memory space.
Fig. 7 shows a schematic diagram of an example of smoothing a voxel model edited by voxels.
As shown in fig. 7, the points of the black solid circles (i.e., 701) are smoothed to obtain the points of the hollow circles (i.e., 703) in the graph, so that new vertices are generated, the original regular voxel (or Cube) data is changed into a special shape instead of the actual Cube, the original Cube operation mode is broken, and secondary editing (for example, a new Cube cannot be stacked) is inconvenient.
FIG. 8 shows a flowchart 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, coordinate parameters of a first voxel vertex to be smoothed in the voxel model are determined.
In step 820, based on a preset smoothing algorithm, the coordinate parameters of the second voxel vertex corresponding to the smoothed coordinate parameters of the first voxel vertex are calculated. Here, various existing or potential smoothing calculation algorithms may be employed, and smoothing may be performed using a calculation method as shown in fig. 7, for example.
In step 830, normal parameters for the second voxel vertex are calculated based on the coordinate parameters for the second voxel vertex.
In step 840, the normal parameters of the first voxel vertex are replaced with the normal parameters of 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 as in fig. 9, the smoothing effect can be achieved by the following operation:
1) The two points A, B can 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 the A, B point are not modified, and only the normal information of the A, B point is modified to NC.
4) With the lighting effect, the model is made to look a smooth effect.
In the embodiment of the application, the smoothing effect is skillfully realized by changing the normal and illumination, the original structure of the voxel is not changed, and the subsequent operation on the voxel model is facilitated.
In the smoothing process of the voxel model, not all the surfaces should be smoothed at the same time, and smoothing processing may be performed only for corners and edges of the voxel model. Specifically, edge portions and corner portions of the voxel model exterior may be identified, and coordinate parameters of voxel vertices corresponding to the identified edge portions and corner portions may be determined as coordinate parameters of a first voxel vertex to be subjected to smoothing.
Furthermore, if the voxel model is smoothed by the technical scheme as described in fig. 9, the number of faces of the voxel model is very large, and easily exceeds 10 ten thousand triangular faces. Because the display card cannot be used in large batches due to the performance limitation, the display card needs to be subjected to surface reduction treatment.
As some preferred implementations of embodiments of the present application, the face-subtracting process may be performed for a plurality of voxel faces of the voxel model exterior. It should be understood that it is also possible to perform the smoothing process after the surface subtraction operation, so long as the smoothing process is performed before the rendering operation, which falls within the protection scope covered by the present application.
Fig. 10 shows an example of a voxel model after smoothing and subtracting by applying an embodiment of the application. It is apparent that when the face is subtracted to 7000 faces, the voxel model can achieve a better smoothing effect than the existing voxel model in fig. 1, almost eliminating the mosaic style.
It should be noted that, the face-subtracting algorithm is divided into a lossless face-subtracting algorithm and a lossy face-subtracting algorithm, and the most basic principle of the lossless face-subtracting algorithm is to combine points on the same horizontal plane, but not affect the display effect, as shown in fig. 11A below, many points are combined on one plane, so that the final display effect and shape are not affected at all. The lossy face is to add a certain tolerance threshold, and points below this threshold can be merged, as shown in fig. 11B below, even if many points are not completely in one plane, but are still merged due to the less tolerance value. FIG. 11A illustrates an effect diagram of an example of lossless subtraction surface. Fig. 11B shows an effect schematic of an example of a lossy face.
FIG. 12 shows a flowchart of an example of a face-subtracting process in a smoothing method for voxel models according to an embodiment of the application.
As shown in fig. 12, in step 1210, it is determined whether an included angle between respective normals of adjacent first voxel vertex and second voxel vertex on the voxel model exterior is less than an included angle threshold.
In step 1220, when the normal angle is less 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 non-subtracted voxel vertices and the respective voxel faces with the assumed subtracted voxel vertices are each less than a distance threshold.
In step 1230, it is determined that the voxel vertices that are supposed to be subtracted are subtracted when both are smaller than the distance threshold.
In the embodiment of the application, an included angle threshold value and a distance threshold value are preset, the included angle between the normals of two vertexes is compared with the included angle threshold value to determine whether to perform hypothesis merging (or reduction), and finally, whether to perform vertex merging operation is determined by comparing the distance between the non-merged voxel vertexes and each voxel surface with the hypothetically merged voxel vertexes. Therefore, the combination of planes with larger phase difference between the two directions can be avoided, and the model effect after the plane reduction is ensured.
FIG. 13 illustrates an effect diagram of an example of a face-reduction merge operation according to an embodiment of the present application.
Referring to the example of fig. 13, it may be first determined whether the normals of the two points P5 and P6 are smaller than a preset angle threshold, if the conditions are satisfied, the points P5 and P6 are combined to form new p5+, and then the distances between the P5+ point and the surfaces T1, T2, T3, T4, and T5 before the combination (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 combined.
FIG. 14 shows a flowchart of an example of a face-subtracting procedure in a smoothing method for voxel models according to an embodiment of the application.
It will be appreciated that during the subtraction process, the differently colored points are not combinable, and in conventional subtraction algorithms, the differently colored points are set to be non-combinable. In this way, the merging surfaces cannot be merged, so that a lot of waste is caused, as shown in fig. 15A, a lot of triangular surfaces exist, and the effect of reducing the surfaces is insufficient. Fig. 15A shows an effect diagram of an example of a voxel model obtained by the face subtraction 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, an auxiliary voxel surface is set at the color intersection, wherein an angle between the auxiliary voxel surface and each of the intersected voxel surfaces is greater than the angle threshold.
In the embodiment of the present application, it is not necessary to define that different color points are not allowed to be combined, but an auxiliary voxel surface (for example, a vertical voxel surface) is provided at the position where the colors meet, and in combination with the surface reduction method as described in fig. 12, the surface reduction operation can be more effectively completed, and the surface reduction effect is better.
FIG. 15B illustrates an effect diagram of an example of a voxel model obtained by a face-down operation of an embodiment of the application. As shown in fig. 15B, by providing the vertical surface so that no additional triangular surface exists in the same-color range area, more surfaces are subtracted, with excellent surface subtraction effect.
It should be noted that these auxiliary voxel surfaces may be used simply in the face-reduction merging operation, and cannot be submitted to the graphics card for rendering. Illustratively, the auxiliary voxel surface may be eliminated after the face-subtracting operation for the voxel model is completed.
FIG. 16 shows an effect diagram of an example of a smoothed voxel model in accordance with an embodiment of the application.
Referring to the example in fig. 16, in combination with the above-described face-subtracting procedure, in some application scenarios, it is necessary to avoid mismerging points, for example, although the values of the P1 and P3 normals are very close and also have merging conditions, they should not be easily merged in order to preserve a smooth arc.
Thus, erroneous merging for smooth points in the voxel model can be avoided by setting the weight information. Specifically, each of the voxel vertices has a calibration weight for the angle threshold and/or the distance threshold. And, the calibration weight corresponding to the voxel vertex subjected to smoothing may be lower than the calibration weight corresponding to the voxel vertex not subjected to smoothing. Therefore, the radian of the smooth point can be prevented from being influenced, and the smooth effect of the model is guaranteed. Specifically, the calibration weights of 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 based on the smoothed point of influence data. Illustratively, the weight value of the unsmoothed point is 1, and the weight value of the smoothed point is set to 0.3. (i.e., the weight of the point P1 is 1, the weight of the point P3 is 0.3), and the threshold value (e.g., the included angle threshold value and/or the distance threshold value) in the face subtraction process is calibrated by using the weight value, then the actual threshold value is now expressed as follows:
Actually used threshold = preset threshold weight value
Thus, the P1 and P3 points are not easily combined by the influence of the weight, and the expected smooth effect can be kept.
Fig. 17 shows a block diagram of an example of a storage optimization apparatus for voxel models according to an embodiment of the application.
As shown in fig. 17, the storage optimizing apparatus 1700 for a 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 acquisition unit 1710 is configured to acquire color computer representation values respectively 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 value corresponding to each voxel vertex in the 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 apply equally to the embodiments of the device according to the application. The above smoothing means for voxel models may be implemented in hardware, or in software or a combination of hardware and software.
Fig. 18 shows a block diagram of an example of a smoothing apparatus for voxel models according to an embodiment of the application.
As shown in fig. 18, the smoothing apparatus 1800 for the 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 substitution 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 smooth vertex coordinate calculating unit 1820 is configured to calculate coordinate parameters of the second voxel vertex corresponding to the smoothed coordinate parameters of the first voxel vertex based on a preset smoothing algorithm.
The normal parameter calculation unit 1830 is configured to calculate a normal parameter of the second voxel vertex from the coordinate parameters of the second voxel vertex.
The normal parameter replacement 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 a smoothing method and apparatus for voxel models 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 apply equally to the embodiments of the device according to the application. The above smoothing means for voxel models may be implemented in hardware, or in software or a combination of hardware and software.
In the 90 s of the 20 th century, improvements to one technology could clearly be distinguished as improvements in hardware (e.g., improvements to circuit structures such as diodes, transistors, switches, etc.) or software (improvements to the process flow). However, with the development of technology, many improvements of the current method flows can be regarded as direct improvements of hardware circuit structures. Designers almost always obtain corresponding hardware circuit structures by programming improved method flows into hardware circuits. Therefore, an improvement of a method flow cannot be said to be realized by a hardware entity module. For example, a programmable logic device (Programmable Logic Device, PLD) (e.g., field programmable gate array (Field Programmable Gate Array, FPGA)) is an integrated circuit whose logic function is determined by the programming of the device by a user. A designer programs to "integrate" a digital system onto a PLD without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Moreover, nowadays, instead of manually manufacturing integrated circuit chips, such programming is mostly implemented by using "logic compiler" software, which is similar to the software compiler used in program development and writing, and the original code before the compiling is also written in a specific programming language, which is called hardware description language (Hardware Description Language, HDL), but not just one of the hdds, but a plurality of kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), lava, lola, myHDL, PALASM, RHDL (Ruby Hardware Description Language), etc., VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog are currently most commonly used. It will also be apparent to those skilled in the art that a hardware circuit implementing the logic method flow can be readily obtained by merely slightly programming the method flow into an integrated circuit using several of the hardware description languages described above.
The system, apparatus, module or unit set forth in the above embodiments may be implemented in particular by a computer chip or entity, or by a product having a certain function. One typical implementation is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smart phone, 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 functionally divided into various units, respectively. Of course, the functions of each element may be implemented in the same piece or pieces of software and/or hardware when implementing the present application.
It will be appreciated by those skilled in the art that 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 application may take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) 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 one typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include volatile memory in a computer-readable medium, random Access Memory (RAM) and/or nonvolatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
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 storage media for a computer 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 Disks (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. Computer-readable media, as defined herein, does not include transitory computer-readable media (transmission media), such as modulated data signals and carrier waves.
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. Without further limitation, an element defined by the phrase "comprising one does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises an 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 of the present application are described in a progressive manner, and the same and similar parts of the embodiments are all referred to each other, and each embodiment is mainly described in the differences from the other embodiments. In particular, for system embodiments, since they are substantially similar to method embodiments, the description is relatively simple, as relevant to see a section of the description of method embodiments.
The foregoing is merely exemplary of the present application and is not intended to limit the present application. Various modifications and variations of the present application will be apparent to those skilled in the art. Any modification, equivalent replacement, improvement, etc. which come within the spirit and principles of the application are to be included in the scope of the claims of the present application.
Claims (7)
1. A face-subtracting processing method for a voxel model constructed by 3D voxels, comprising:
performing surface reduction processing on a plurality of voxel surfaces on the appearance of the voxel model after smoothing processing before rendering operation, or performing smoothing processing after performing surface reduction processing on a plurality of voxel surfaces on the appearance of the voxel model before rendering operation;
the smoothing process includes:
determining coordinate parameters of a first voxel vertex to be subjected to smoothing treatment in the voxel model;
calculating coordinate parameters of a second voxel vertex corresponding to the smoothed coordinate parameters of the first voxel vertex based on a preset smoothing algorithm;
calculating normal parameters of the second voxel vertex according to the coordinate parameters of the second voxel vertex;
replacing the normal parameters of the first voxel vertex with the normal parameters of the second voxel vertex so as to realize a smoothing effect through the replaced normal parameters;
the method for determining the coordinate parameters of the first voxel vertex to be subjected to smoothing in the voxel model specifically comprises the following steps: identifying edges and corners of the voxel model appearance; determining coordinate parameters of voxel vertexes corresponding to the identified edge and corner as coordinate parameters of a first voxel vertex to be subjected to smoothing;
The subtracting the surface for a plurality of voxel surfaces of the voxel model surface comprises the following steps:
identifying whether a color intersection exists between adjacent voxel surfaces of the appearance of the voxel model; and setting auxiliary voxel surfaces at the color intersection, wherein the included angle between the auxiliary voxel surfaces and each intersected voxel surface is larger than an included angle threshold value.
2. The face-subtracting processing method for voxel model as set forth in claim 1, wherein the face-subtracting processing is performed for a plurality of voxel faces of the voxel model exterior, specifically comprising:
judging whether the included angle between the normals of the adjacent first voxel vertex and the third voxel vertex on the appearance of the voxel model is smaller than an included angle threshold value or not;
when the normal angle is smaller than the angle threshold, assuming that one of the first voxel vertex and the third voxel vertex is subtracted, and judging whether the distances between the non-subtracted voxel vertex and each voxel surface with the assumed subtracted voxel vertex are smaller than a distance threshold;
and when the distance values are smaller than the distance threshold value, determining to perform subtraction operation on the voxel vertex which is supposed to be subtracted.
3. A face-subtracting processing method for a voxel model as set forth in claim 2, wherein each of the voxel vertices has a calibration weight for the angle threshold and/or the distance threshold, the method further comprising, after replacing a normal parameter of the first voxel vertex with a normal parameter of the second voxel vertex:
Reducing calibration weights of the first and third voxel vertices with respect to the angle threshold and/or the distance threshold.
4. The face-subtracting processing method for voxel model as set forth in claim 1, after face-subtracting processing is performed on a plurality of voxel faces of the voxel model exterior, the method further comprising: and eliminating the auxiliary voxel surface.
5. A face-subtracting processing apparatus for a voxel model constructed by 3D voxels, comprising:
the target vertex coordinate determining unit is configured to determine coordinate parameters of a first voxel vertex to be subjected to smoothing processing in the voxel model, and specifically comprises the following steps: identifying edges and corners of the voxel model appearance; determining coordinate parameters of voxel vertexes corresponding to the identified edge and corner as coordinate parameters of a first voxel vertex to be subjected to smoothing;
a smooth vertex coordinate calculation unit configured to calculate coordinate parameters of a second voxel vertex corresponding to the smoothed coordinate parameters of the first voxel vertex 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 replacement unit configured to replace a normal parameter of the first voxel vertex with a normal parameter of the second voxel vertex so as to achieve a smoothing effect by the replaced normal parameter;
the surface-subtracting processing device is further configured to perform surface-subtracting processing on the plurality of voxel surfaces of the voxel model surface subjected to the smoothing processing before the rendering operation, or perform smoothing processing after performing surface-subtracting processing on the plurality of voxel surfaces of the voxel model surface before the rendering operation; the subtracting face processing of the plurality of voxel faces of the voxel model appearance comprises: identifying whether a color intersection exists between adjacent voxel surfaces of the appearance of the voxel model; and setting auxiliary voxel surfaces at the color intersection, wherein the included angle between the auxiliary voxel surfaces and each intersected voxel surface is larger than an included angle threshold value.
6. 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 of claims 1 to 4.
7. 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 4.
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 CN113643191A (en) | 2021-11-12 |
CN113643191B true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114186317A (en) * | 2021-12-14 | 2022-03-15 | 博锐尚格科技股份有限公司 | Model lightweight storage method and device based on optimized geometric information storage |
Citations (9)
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 |
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 |
CN102004922A (en) * | 2010-12-01 | 2011-04-06 | 南京大学 | High-resolution remote sensing image plane extraction method based on skeleton characteristic |
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 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004141514A (en) * | 2002-10-28 | 2004-05-20 | Toshiba Corp | Image processing apparatus and ultrasonic diagnostic apparatus |
JP4122314B2 (en) * | 2004-06-15 | 2008-07-23 | ザイオソフト株式会社 | Projection image processing method, projection image processing program, and projection image processing apparatus |
US9082218B2 (en) * | 2012-03-23 | 2015-07-14 | Roblox Corporation | 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 |
US10019784B2 (en) * | 2015-03-18 | 2018-07-10 | Toshiba Medical Systems Corporation | Medical image processing apparatus and method |
US10650587B2 (en) * | 2018-09-07 | 2020-05-12 | Canon U.S.A., Inc. | Isosurface generation method and visualization system |
-
2020
- 2020-04-27 CN CN202310800699.9A patent/CN116797486A/en active Pending
- 2020-04-27 CN CN202010347774.7A patent/CN113643191B/en active Active
Patent Citations (9)
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 |
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 |
CN102004922A (en) * | 2010-12-01 | 2011-04-06 | 南京大学 | High-resolution remote sensing image plane extraction method based on skeleton characteristic |
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 |
Non-Patent Citations (1)
Title |
---|
刘腾飞.三维点云数据的预处理研究.《中国优秀硕士学位论文全文数据库 信息科技辑》.2016,(第4期),I138-1069. * |
Also Published As
Publication number | Publication date |
---|---|
CN116797486A (en) | 2023-09-22 |
CN113643191A (en) | 2021-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102527255B1 (en) | Ortho-projection-based texture atlas packing of 3D meshes | |
US8570322B2 (en) | Method, system, and computer program product for efficient ray tracing of micropolygon geometry | |
US8482560B2 (en) | Image forming techniques | |
US8725466B2 (en) | System and method for hybrid solid and surface modeling for computer-aided design environments | |
US20240078740A1 (en) | Compressed ray direction data in a ray tracing system | |
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 | |
US9449419B2 (en) | Post tessellation edge cache | |
CN113643191B (en) | Smoothing method and device for voxel model and electronic equipment | |
CN115984506A (en) | Method and related device for establishing model | |
CN113570691B (en) | Storage optimization method and device for voxel model and electronic equipment | |
CN117710551A (en) | Entity rendering method and device, electronic equipment and storage medium | |
CN112837416A (en) | Triangulation-based polygon rendering method and device and storage medium | |
CN116030176A (en) | Three-dimensional model rendering method, device, equipment and medium based on cluster division | |
CN114119831A (en) | Snow accumulation model rendering method and device, electronic equipment and readable medium | |
CN115619915A (en) | Three-dimensional model mapping method and device, storage medium and electronic equipment | |
CN115049531A (en) | Image rendering method and device, graphic processing equipment and storage medium | |
US11488347B2 (en) | Method for instant rendering of voxels | |
CN117541744B (en) | Rendering method and device for urban live-action three-dimensional image | |
US20230269357A1 (en) | Stereoscopic Graphics Processing | |
US20240203030A1 (en) | 3d model rendering method and apparatus, electronic device, and storage medium | |
CN111243073B (en) | Intersection acceleration method and device of regular grid and computer storage medium | |
CN117851704A (en) | Method, device, equipment and medium for loading mass model | |
FI117579B (en) | Process, device and computer program for processing a computer-aided polygon model |
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 |