Data structures, rendering devices, storage devices, and shaders
The data structure with a base and extension layer, combined with a shader, addresses the handling of user-defined attributes in 3D graphics, ensuring compatibility and enhancing rendering quality by processing extended attributes.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- NIPPON HOSO KYOKAI
- Filing Date
- 2022-10-11
- Publication Date
- 2026-07-01
AI Technical Summary
Existing 3D computer graphics rendering technologies face issues with handling user-defined detailed attribute values such as normals or material information, leading to unintended results or data loading errors, and UV mapping formats complicate data processing and compression, especially when dealing with deformable objects.
A data structure comprising a base layer with basic attributes and an extension layer with extended attributes, along with a shader, allows for seamless integration of user-defined attributes, ensuring backward compatibility and improved rendering quality by separating and plugging in shaders to process extended attributes.
Ensures backward compatibility and enhances rendering quality by allowing existing renderers to interpret and process user-defined attributes, improving the flexibility and consistency of rendering results.
Smart Images

Figure 0007883423000001 
Figure 0007883423000002 
Figure 0007883423000003
Abstract
Description
Technical Field
[0001] The present invention relates to a data structure, a rendering device, a storage device, and a shader.
Background Art
[0002] As a data format for 3D computer graphics rendering modeling, there is a point cloud format in which a complex number of vertex coordinates are listed. In the point cloud format, for each vertex, pixel values (for example, red, green, and blue luminance values) or normal directions may be multiplexed.
[0003] Also, in the point cloud format, for each vertex, parameters such as a reflection coefficient for representing a texture (material), or pixel values (viewpoint-dependent texture) or surface light field that depend on the viewpoint may be multiplexed.
[0004] In addition to vertices, there is also a data format (polygon mesh format) that uses polygons (polygons) by a vertex list. Furthermore, there is a format called UV mapping in which the polygons constituting the polygon mesh format are developed or projected onto a plane, and each point inside the polygon is associated with a point in the plane. On the plane of the UV mapping destination, local attribute values such as pixel values (texture map) representing a texture, local unevenness (bump map), and local normal direction are recorded.
[0005] Patent Document 1 describes a coordinate data structure that replaces the spherical surface definition by the longitude and latitude method.
Prior Art Documents
Patent Documents
[0006]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0007] Point cloud data has a simple structure, and renderers that perform predetermined operations on vertex coordinates or pixel values to draw 3D computer graphics are common. However, general renderers cannot handle detailed attribute values that users arbitrarily add, such as normals or material information. As a result, attribute values described in the data may be ignored, resulting in unintended results, or the renderer may not accept the data loading as an error.
[0008] Data formats that combine polygon meshes and UV mapping can often reduce data size compared to point cloud formats, and many general-purpose data formats exist. However, UV mapping involves coordinate transformation operations that map the geometry of a polygon mesh to a plane, so operations such as deformation, division, or merging of shapes require changing the map or coordinate mapping, which necessitates complex calculations. Furthermore, because there is flexibility in how UV mapping is performed, the surface attributes of the same object may be represented by completely different maps. Moreover, the quality of the rendering results can vary greatly depending on how UV mapping is performed. In addition, even when modeling 3D objects that move and deform continuously, UV mapping can deform discontinuously, making UV mapping a disadvantageous format for data compression or data processing.
[0009] Furthermore, the combination of polygon mesh format and UV mapping means that user-defined maps cannot be handled by typical renderers, requiring the creation of separate shader plugins and their subsequent loading into the renderer, which is inconvenient.
[0010] Furthermore, the data structure described in Patent Document 1 requires the integration of a phase mapping function into the computer graphics processing unit. The data structure described in Patent Document 1 lacks a mechanism for integrating a phase mapping function into the processing unit, and therefore suffers from a lack of versatility.
[0011] The object of the present invention is to provide a data structure, rendering apparatus, storage device, and shader that can solve the above-mentioned problems, ensure backward compatibility, and improve the quality of rendering results. [Means for solving the problem]
[0012] (1) The data structure relating to this disclosure is a data structure for generating three-dimensional computer graphics by a rendering device, and includes geometric elements that describe geometric information indicating the geometric shape of the three-dimensional computer graphics, attribute information indicating attributes associated with the geometric elements, and a shader, wherein the attribute information includes basic attributes that can be referenced by the rendering device and extended attributes that cannot be referenced by the rendering device, and the rendering device plugs in the shader, performs a predetermined operation by referring to the extended attributes, and generates the three-dimensional computer graphics by referring to at least the result of the operation based on the extended attributes by the shader.
[0013] (2) The data structure described in (1) comprises a base layer containing the basic attributes and an extension layer containing the extension attributes and the shader.
[0014] (3) In the data structure described in (1) or (2), the extended attribute is described for each geometric element in relation to the basic attribute.
[0015] (4) In the data structure described in (1), the basic attribute and the extended attribute are described in different recording areas for each geometric element.
[0016] (5) In the data structure described in (1) or (2), the extended attribute includes an identifier for identifying the geometric element to which the extended attribute corresponds.
[0017] (6) In the data structure described in any of (1) to (5), the geometric element is a vertex that constitutes a point cloud.
[0018] (7) A rendering apparatus that takes a data structure described in any of (1) to (6) as input and generates three-dimensional computer graphics, comprising a separation unit and a rendering unit, wherein the separation unit separates the shaders included in the input data structure and plugs them into the rendering unit, and the rendering unit generates the three-dimensional computer graphics using at least the calculation results based on the extended attributes by the plugged-in shaders.
[0019] (8) A storage device for storing data for generating three-dimensional computer graphics by a rendering device, wherein the data has a data structure including geometric elements that describe geometric information indicating the geometric shape of the three-dimensional computer graphics, attribute information indicating attributes associated with the geometric elements, and a shader, wherein the attribute information includes basic attributes that can be referenced by the rendering device and extended attributes that cannot be referenced by the rendering device, and the rendering device performs a predetermined operation by referencing the extended attributes when plugging in the shader, and generates the three-dimensional computer graphics by referencing at least the result of the operation based on the extended attributes by the shader.
[0020] (9) A shader included in any of the data structures described in (1) to (6), which is input to a rendering device that generates three-dimensional computer graphics, and which, when plugged into the rendering device, performs calculations based on the extended attributes and makes the calculation results accessible to the rendering device. [Effects of the Invention]
[0021] According to the data structure, rendering apparatus, storage device, and shader of the present invention, backward compatibility can be guaranteed, and the quality of rendering results can be improved.
Brief Description of the Drawings
[0022] [Figure 1] It is a diagram showing an example of a data structure according to an embodiment of the present disclosure. [Figure 2] It is a diagram showing an example of the data structure shown in FIG. 1. [Figure 3] It is a diagram showing a specific example of the data structure shown in FIG. 1. [Figure 4] It is a diagram showing another specific example of the data structure shown in FIG. 1. [Figure 5] It is a diagram showing yet another specific example of the data structure shown in FIG. 1. [Figure 6] It is a diagram showing an example of the configuration of a rendering device according to an embodiment of the present disclosure.
Mode for Carrying Out the Invention
[0023] Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0024] FIG. 1 is a diagram showing a configuration example of a data structure 1 according to an embodiment of the present disclosure. The data structure 1 according to the present embodiment is for generating three-dimensional computer graphics by a rendering device 100 described later.
[0025] As shown in FIG. 1, the data structure 1 according to the present embodiment includes a basic layer 2 and an extended layer 3.
[0026] The basic layer 2 includes basic attributes 21. The extended layer 3 includes extended attributes 31 and a shader 32.
[0027] Basic attribute 21 and extended attribute 31 are attribute information that describes geometric elements and attributes associated with geometric elements, which describe geometric information representing the geometric shape of a 3D computer graphic. The format of the description of the geometric information is arbitrary, but it may be any of the following, for example, points, point clouds, polygon meshes, voxels, primitives, metaballs, or implicit function representations, or a combination thereof. Geometric elements are individual mathematical representations that, through their combination, constitute geometric information. For example, when geometric information is described in point cloud format, the geometric elements are vertices. Also, when geometric information is described in polygon mesh format, the geometric elements are polygons. When geometric elements are vertices that make up a point cloud, basic attribute 21 and extended attribute 31 can be described in association with 3D vertices, enabling a highly flexible representation.
[0028] The basic attribute 21 is described and stored in a format that can be referenced by the rendering device 100 described later. The format that can be referenced by the rendering device 100 is a format that is used as an international standard or de facto standard as one that can be interpreted by a computer graphics program implemented in the rendering device 100 described later, and is a format that can record at least geometric shape information. The extended attribute 31 is described and stored in a format that cannot be referenced by the rendering device 100 described later. The extended attribute 31 and the shader 32 are described and stored in a format that does not hinder the reading of the basic attribute 21 by the rendering device 100 described later. The extended attribute 31 is described and stored inside or attached to a known format.
[0029] For example, the extended attribute 31 and shader 32 may be described and stored as user-defined attributes in a known format. Alternatively, the extended attribute 31 and shader 32 may be described and stored as comments in a known format. Furthermore, the extended attribute 31 and shader 32 may be described and stored in a data area extended before or after a data area valid in a known format. Additionally, the extended attribute 31 and shader 32 may be described and stored by embedding them in a data area that is ignored in the known format, even though the data is described in a known format.
[0030] Furthermore, the extended attribute 31 and the shader 32 may be described and stored in different ways. For example, the extended attribute 31 may be described and stored as a user-defined attribute in a known format, and the shader 32 may be described and stored in a data area extended after a valid data area in a known format.
[0031] The shader 32 has the function of performing a predetermined calculation by referring to the extended attribute 31 and making the calculation result accessible to the rendering device 100, which will be described later. The shader 32 may also refer to the basic attribute 21 along with the extended attribute 31 to affect the image to be output by the rendering program.
[0032] Figure 2 shows a specific example of data structure 1 according to this embodiment. In Figure 2, a specific example of data structure 1 is shown when the description format of the geometric shape information is in point cloud format.
[0033] As described above, data structure 1 consists of a base layer 2 and an extension layer 3. Base layer 2 contains one or more basic attributes 21 (in the example in Figure 2, three basic attributes 21-1, 21-2, and 21-3). Extension layer 3 contains one or more extension attributes 31 (in the example in Figure 2, three extension attributes 31-1, 31-2, and 31-3) and a shader 32.
[0034] Basic attribute 21 may include information such as texture, feel, normals, and minute irregularities. If the geometric shape information is composed of multiple points, multiple faces, or multiple solids, such as a point cloud, polygon, or voxel, attribute values may be stored in association with each individual geometric element (each point making up a point cloud, each face making up a polygon mesh, each solid making up a voxel, etc.) (i.e., each of basic attributes 21-1 to 21-3 may have multiple attribute values).
[0035] For example, if the geometric shape information is described in point cloud format, the basic attribute 21 can be described by listing the 3D coordinates of each vertex constituting the point cloud, for the total number of vertices. In Figure 2, the attribute values of basic attributes 21-1 to 21-3 are, for example, the 3D coordinates of vertices 1 to 4. Also, as shown in Figure 2, for each geometric element, an extended attribute 31 is described in association with the basic attribute 20. Therefore, as shown in Figure 2, for the extended attribute 31, the attribute values of the three extended attributes 31-1 to 31-3 are, for example, the 3D coordinates of vertices 1 to 4. In this way, by reusing an existing modeling format that has a user-definable attribute value description area, the basic layer 2 can be recorded in the predefined attribute value recording area of that format, and the extended layer 3 can be recorded in the user-defined attribute value recording area of that format. As a result, backward compatibility regarding the information contained in the basic layer 2 can be easily achieved.
[0036] Shader 32 receives at least one attribute value from the extended attribute 31 included in the extended layer 3. Shader 32 also receives virtual lighting information, which is information about the lighting illuminating the object to be rendered by computer graphics, and virtual camera information, which is information about the position, orientation, and field of view of a virtual camera that captures the object to be rendered. When loaded into the processor, Shader 32 is a program that enables the processor to calculate the pixel values of pixels corresponding to the attribute values in the rendered image, based on the input attribute values, virtual lighting information, and virtual camera information. Shader 32 is designed to be integrated (plugged into) existing rendering programs.
[0037] Figure 3 shows a specific example of data structure 1 according to this embodiment.
[0038] Figure 3 shows an example where geometric shape information is described by a point cloud consisting of P vertices. In Figure 3, the basic attributes 21 include four attributes: 3D coordinates, normal vector, diffuse reflectance coefficient, and specular reflectance coefficient. In addition, the extended attributes 31 include two attributes: subsurface scattering and light field. As shown in Figure 3, both the basic attributes 21 and the extended attributes 31 are described and stored in association with each of the P vertices.
[0039] In the data structure 1 shown in Figure 3, the basic attributes 21 included in the basic layer 2 are attributes that can be rendered by existing techniques (shaders), such as Phong shading. The storage format of the basic layer 2 is arbitrary, but it is preferable that it be described in a known format. Known formats include, for example, general-purpose computer graphics formats such as PLY format (Polygon File Format or Stanford Triangle Format), Alembic format or Wavefront OBJ format, and data description formats such as XML (Extensible Markup Language), MPEG-7 format or JSON (Java Script Object Notation) format.
[0040] On the other hand, the description format of the extended attributes 31 and shaders 32 included in the extended layer 3 is arbitrary. For example, the extended attributes 31 may be described in a publicly known format that allows the user to define any attribute (e.g., PLY format, XML format, MPEG-7 format, JSON format, etc.). The shaders 32 may be described in binary format, text format in which binary values are encoded into ASCII characters, or in a format in which binary data or encoded text data is compressed using a predetermined method. An example of a compression method is the ZIP method. Furthermore, the extended attributes 31 and shaders 32 may be multiplexed into a single file. Also, the extended attributes 31 and shaders 32 may be subjected to the compression and multiplexing described above.
[0041] Furthermore, the basic layer 2 and the extended layer 3 may be described and stored in separate files. Alternatively, the files containing the basic layer 2 and the extended layer 3, described and stored separately, may be duplicated and integrated.
[0042] Alternatively, the recording area may be divided within a single file to describe and store the basic layer 2 and the extended layer 3. In this case, the recording area may be divided into two blocks, such as the first and second halves of the file. Alternatively, as shown in Figure 4, the recording area for each vertex of the point cloud format may be divided, with the basic attributes 21 described and stored in one predetermined area, the extended attributes 31 described and stored in another area, and the shader 32 described and stored in an area separate from the recording area for each vertex of the point cloud format. In other words, as shown in Figure 4, the basic attributes 21 and the extended attributes 31 may be described in different recording areas for each geometric element (vertices in the example shown in Figure 4). This makes it easier to separate the basic layer 2 and the extended layer 3, for example, when transmitting the basic layer 2 and the extended layer 3 on separate transmission paths.
[0043] Furthermore, if each of the basic attribute 21 and the extended attribute 31 can be composed of multiple geometric elements (for example, each vertex constituting a point cloud, each polygon constituting a polygon mesh, etc.), the extended attribute 31 may include an identifier 33 for identifying the geometric elements of the basic attribute 21, as shown in Figure 5. In the example in Figure 5, the identifier 33 is shown to be a vertex number that identifies each point constituting a point cloud. This makes it possible to have a mixture of geometric elements that have both basic attribute 21 and extended attribute 31, and attributes that have basic attribute 21 but not extended attribute 31. Also, if extended attribute 31 does not necessarily exist for all of the multiple geometric elements, the extended attribute 31 can be associated only with the necessary geometric elements, thereby reducing data size.
[0044] Next, the rendering apparatus 100 according to this embodiment will be described. The rendering apparatus 100 according to this embodiment receives the data structure 1 described above as input and generates three-dimensional computer graphics.
[0045] Figure 6 shows an example of the configuration of the rendering apparatus 100 according to this embodiment. As shown in Figure 6, the rendering apparatus 100 according to this embodiment comprises a separation unit 101 and a rendering unit 102.
[0046] The separation unit 101 receives the data structure 1 according to the embodiment described above as input. The separation unit 101 separates the shader 32 included in the input data structure 1 and outputs the basic attributes 21 and extended attributes 31 to the shader 32 to the rendering unit 102.
[0047] The rendering unit 102 is an existing computer graphics device. The rendering unit 102 is equipped with a plug-in interface 102a to which a shader 32 can be plugged in. The shader 32, separated by the separation unit 101, is plugged into the plug-in interface 102a. The rendering unit 102 is realized by loading an existing computer graphics program into one or more processors. The processors are, for example, general-purpose processors or dedicated processors specialized for specific processing, but are not limited to these and can be any processor.
[0048] The rendering unit 102 receives the basic attributes 21 and the extended attributes 31 as input. The rendering unit 102 inputs the extended attributes 31 to the plugged-in shader 32 via the plug-in interface 102a. By being plugged into the rendering device 100 (rendering unit 102), the shader 32 enables the rendering unit 102 to perform calculations based on the extended attributes 31 input via the plug-in interface 102a, and to refer to the calculation results. Here, "to make referable" means that the rendering unit 102 performs calculations such as syntactic analysis so that it can interpret the extended attributes 31, which are written as user-defined areas or comments in the existing data format, as numerical data, and makes it possible for the rendering unit 102 to refer to the said numerical data via memory and input / output interfaces.
[0049] As described above, the basic attributes 21 are described and stored in a format that can be referenced by the rendering device 100 (rendering unit 102). In addition, the extended attributes 31 are made accessible to the rendering unit 102 by the shader 32 plugged into the rendering unit 102.
[0050] The rendering unit 102 generates and outputs 3D computer graphics by referring to the calculation results based on the extended attributes 31 by the shader 32. Specifically, the rendering unit 102 inputs one or more extended attributes 31 that have become accessible by the shader 32, geometric elements included in the basic attributes 21, and, if necessary, other basic attributes 21, virtual viewpoint information, and virtual lighting information to the shader 32 via the plug-in interface 102a, and determines the pixel values of the pixels that constitute the computer graphics. For example, if the geometric shape information is described in point cloud format, the rendering unit 102 calculates the brightness and color of each vertex according to the shading model programmed in the shader 32, based on the 3D coordinates of each vertex, the position, orientation and field of view of a virtual camera, the position, light distribution, color and brightness of a virtual light source, and the extended attributes 31 associated with each vertex (diffuse reflection coefficient and specular reflection coefficient). For example, the Phong shading model can be used as the shading model.
[0051] The rendering unit 102 generates computer graphics using the pixel values calculated by the shader 32 and, if necessary, the results of hidden surface removal, cast shadow calculation, ray tracing calculation, etc., and outputs them to a display device (not shown).
[0052] To describe shader 32 in more detail, shader 32 is a plug-in program that is additionally incorporated into the rendering device 100 or rendering program. Shader 32 may be implemented as a program capable of dynamic linking, such as a dynamic link library, or it may be written in an interpreted language or implemented as an executable file.
[0053] The shader 32 includes a parser that interprets the data structure 1 according to this embodiment and makes it available as numerical data, and a shading program that calculates the light observed in a virtual viewpoint of computer graphics (i.e., pixel values) based on the given geometric elements and attribute information (extended attributes 31 and basic attributes 21).
[0054] The parsing program interprets the non-standard (not standardized, including de facto standards) description portion of the extended attribute 31 written in the extended layer 3 of data structure 1 (e.g., user-defined data or comment statements) and makes it accessible as numerical data from the rendering device 100 or rendering program. "Accessible" means that the rendering device 100 or rendering program can access it via input / output interface (I / O) ports, memory, files, etc. For example, the rendering device 100 or rendering program accesses the extended attribute 31 as numerical data and copies the numerical data of the extended attribute 31 to a predetermined address in the memory space within the rendering device 100 or rendering program.
[0055] The shading program is a program that refers to geometric shape information, extended attributes 31, and basic attributes 21, and calculates the pixel value when viewed from a virtual viewpoint under a certain virtual illumination. The shading program may be implemented using a known algorithm, such as Phong shading.
[0056] As described above, the data structure 1 according to this embodiment includes geometric elements that describe geometric information indicating the geometric shape of a 3D computer graphic, attribute information indicating attributes associated with the geometric elements, and a shader 32. The attribute information includes basic attributes 21 that can be referenced by the rendering device 100 and extended attributes 31 that cannot be referenced by the rendering device 100. The rendering device 100 plugs in the shader 32, performs a predetermined calculation by referring to the extended attributes, and generates a 3D computer graphic by referring to the calculation result based on the extended attributes 31 by the shader 32.
[0057] According to the data structure 1 of this embodiment, backward compatibility with existing renderers can be ensured by the basic attribute 21. Furthermore, by plugging the shader 32 into an existing renderer, the basic attribute 21 and extended attribute 31 can be interpreted by the existing renderer, thereby improving the quality of the rendering results. In addition, it is possible to support any attribute value depending on the shader 32.
[0058] Furthermore, the rendering apparatus 100 according to this embodiment comprises a separation unit 101 and a rendering unit 102. The separation unit 101 separates the shader 32 included in the input data structure 1 and plugs it into the rendering unit 102. The rendering unit 102 generates 3D computer graphics using at least the calculation results based on the extended attributes 31 from the plugged-in shader 32.
[0059] By separating the shader 32 from the data structure 1 and plugging it into the rendering unit 102, the rendering unit 102 can reference the calculation results based on the extended attributes 31 and generate computer graphics using the referenced calculation results. As a result, the quality of the rendering results can be improved. Furthermore, since the rendering unit 102 can still reference the basic attributes 21, backward compatibility can be ensured.
[0060] Furthermore, the shader 32 according to this embodiment is plugged into the rendering device 100, performs calculations based on the extended attributes 31, and makes the calculation results accessible to the rendering device 100.
[0061] By plugging shader 32 into an existing rendering device or rendering program, the extended attributes 31 can be referenced by the existing rendering device or rendering program. As a result, rendering that reflects the extended attributes 31 becomes possible, thus improving the quality of the rendering results.
[0062] In this embodiment, the data structure and the configuration of the rendering device 100 have been described with reference, but the present invention is not limited thereto. For example, a storage device for storing data having the data structure according to this embodiment may be provided. In this case, the storage device stores data for generating 3D computer graphics by the rendering device 100. Here, the data has a data structure that includes geometric elements that describe geometric shape information indicating the geometric shape of the 3D computer graphics, attribute information indicating attributes associated with the geometric elements, and a shader 32. The attribute information also includes basic attributes 21 that can be referenced by the rendering device 100 and extended attributes 31 that cannot be referenced by the rendering device 100. The rendering device 100 then plugs in the shader 32, performs a predetermined calculation by referencing the extended attributes 31, and generates 3D computer graphics by referring at least the calculation result based on the extended attributes 31 by the shader 32.
[0063] Although the embodiments described above are representative examples, it will be apparent to those skilled in the art that many modifications and substitutions are possible within the spirit and scope of the present invention. Therefore, the present invention should not be interpreted as being limited by the embodiments described above, and various modifications and changes are possible without departing from the scope of the claims. For example, it is possible to combine multiple component blocks shown in the configuration diagram of the embodiments into one, or to divide one component block. [Explanation of Symbols]
[0064] 1. Data Structure 2. Basic Layer 3. Extension Layer 21 Basic attributes 31 Extended Attributes 32 shaders 33 Identifiers 100 rendering devices 101 Separation part 102 Rendering section 102a Plugin Interface
Claims
1. A data structure for generating three-dimensional computer graphics using a rendering device, A geometric element that describes geometric shape information representing the geometric shape of the three-dimensional computer graphics, and attribute information that indicates attributes associated with the geometric element, Shaders, and, The aforementioned attribute information is, Basic attributes that can be referenced by the rendering device, Includes an extended attribute that cannot be referenced by the rendering device, A data structure in which the rendering device plugs in the shader, performs a predetermined calculation by referring to the extended attributes, and generates the three-dimensional computer graphics by referring at least the calculation result based on the extended attributes by the shader.
2. In the data structure described in claim 1, A base layer including the aforementioned basic attributes, A data structure comprising an extension layer including the extension attributes and the shader.
3. In the data structure described in claim 1, A data structure in which, for each of the aforementioned geometric elements, the aforementioned extended attributes are described in relation to the aforementioned basic attributes.
4. In the data structure described in claim 1, A data structure in which, for each of the geometric elements, the basic attributes and the extended attributes are described in different recording areas.
5. In the data structure described in claim 1, A data structure in which the extended attribute includes an identifier for identifying the geometric element to which the extended attribute corresponds.
6. In the data structure described in claim 1, The aforementioned geometric elements are data structures that consist of vertices constituting a point cloud.
7. A rendering apparatus that receives the data structure described in claim 1 as input and generates three-dimensional computer graphics, Separation section and It includes a rendering unit, The separation unit separates the shader included in the input data structure and plugs it into the rendering unit. The rendering unit is a rendering device that generates three-dimensional computer graphics using at least the calculation results based on the extended attributes by the plugged-in shader.
8. A memory device for storing data for generating three-dimensional computer graphics using a rendering device, The aforementioned data is A geometric element that describes geometric shape information representing the geometric shape of the three-dimensional computer graphics, and attribute information that indicates attributes associated with the geometric element, It has a data structure that includes shaders, The aforementioned attribute information is, Basic attributes that can be referenced by the rendering device, Includes an extended attribute that cannot be referenced by the rendering device, A storage device that, by plugging in the shader, performs a predetermined calculation by referring to the extended attributes and generates the three-dimensional computer graphics by referring to at least the calculation result based on the extended attributes by the shader.
9. A shader included in the data structure described in claim 1, which is input to a rendering device that generates three-dimensional computer graphics, A shader that, when plugged into the rendering device, performs calculations based on the extended attributes and makes the calculation results accessible to the rendering device.