Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
VIRTUAL RENDERING OF DIGITAL MATERIALS
Document Type and Number:
WIPO Patent Application WO/2024/030749
Kind Code:
A1
Abstract:
A computer system renders a three-dimensional environment. The three-dimensional environment comprises a target object. The computer system renders the target object with a first digital material applied to a viewable surface of the target object. The first digital material comprises a representation of a first physical coating and is associated with a known formula for creating the first physical coating. Additionally, the computer system displays to a user a digital material adjustment interface for adjusting one or more attributes of the first digital material. The computer system receives one or more adjustment attribute variables. The computer system identifies, based upon the one or more adjustment attribute variables, a second digital material and a second coating formula for the second digital material. Further, the computer system renders the target object with the second digital material applied to the viewable surface of the target object.

Inventors:
GRIESBECK SABINE JULITTA (DE)
NORRIS ALISON M (US)
Application Number:
PCT/US2023/070561
Publication Date:
February 08, 2024
Filing Date:
July 20, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
PPG IND OHIO INC (US)
International Classes:
G06T15/04
Foreign References:
US20050081161A12005-04-14
US20180114369A12018-04-26
US20140200858A12014-07-17
US20110292034A12011-12-01
Attorney, Agent or Firm:
TREBILCOCK, Christine W. et al. (US)
Download PDF:
Claims:
CLAIMS

What is claimed is:

1. A computer system for rendering digital materials within a three-dimensional environment, comprising: one or more processors; and one or more computer-readable media having stored thereon executable instructions that when executed by the one or more processors configure the computer system to: render a three-dimensional environment, wherein the three-dimensional environment comprises a target object; render the target object with a first digital material applied to a viewable surface of the target object, wherein the first digital material comprises a representation of a first physical coating and is associated with a known formula for creating the first physical coating; display to a user a digital material adjustment interface for adjusting one or more attributes of the first digital material; receive, from the digital material adjustment interface, one or more adjustment attribute variables; identify, based upon the one or more adjustment attribute variables, a second digital material and a second coating formula for the second digital material, wherein the second coating formula is configured to physically create the second digital material; and render the target object with the second digital material applied to the viewable surface of the target object.

2. The computer system of claim 1, wherein the executable instructions for adjusting the one or more attributes of the first digital material include instructions that are executable to configure the computer system to adjust a color of the first digital material.

3. The computer system of any of claims 1 to 2, wherein the executable instructions for adjusting the one or more attributes of the first digital material include instructions that are executable to configure the computer system to adjust a texture of the first digital material.

4. The computer system of any of claims 1 to 3, wherein the executable instructions for identifying, based upon the one or more adjustment attribute variables, the second digital material and the second coating formula for the second digital material include instructions that are executable to configure the computer system to: identify, within a digital material database, a closest match to the second digital material, wherein the second coating formula comprises a coating formulation stored within the digital material database in association with the closest match to the second digital material.

5. The computer system of any of claims 1 to 4, wherein the closest match to the second digital material is identified using a Kubelka-Munk algorithm.

6. The computer system of any of claims 1 to 5, wherein the closest match to the second digital material is identified using a machine learning algorithm.

7. The computer system of any of claims 1 to 6, wherein the executable instructions further include instructions that are executable to configure the computer system to: display to the user a command interface for applying the first digital material to the target object; and receive, through the command interface, a user selection of the first digital material.

8. The computer system of any of claims 1 to 7, wherein the executable instructions further include instructions that are executable to configure the computer system to: communicate, to a digital material database, a request for the first digital material; and receive, from the digital material database, a digital file containing the first digital material.

9. The computer system of any of claims 1 to 8, wherein the executable instructions further include instructions that are executable to configure the computer system to: display to the user an environment adjustment interface for adjusting one or more environment attributes of the three-dimensional environment; receive, from the environment adjustment interface, one or more environmental adjustment variables; and render the target object with the one or more environmental adjustment variables applied to the three-dimensional environment.

10. The computer system of any of claims 1 to 9, wherein the executable instructions further include instructions that are executable to configure the computer system to: receive an inspiration image from the user; extract color information from the inspiration image; and identify the first digital material within a digital material database by searching the digital material database for a digital material that is a closest match to the color information from the inspiration image.

11. A computer-implemented method, executed by one or more processors, for rendering digital materials within a three-dimensional environment, the computer-implemented method comprising: rendering a three-dimensional environment, wherein the three-dimensional environment comprises a target object; rendering the target object with a first digital material applied to a viewable surface of the target object, wherein the first digital material comprises a representation of a first physical coating and is associated with a known formula for creating the first physical coating; displaying to a user a digital material adjustment interface for adjusting one or more attributes of the first digital material; receiving, from the digital material adjustment interface, one or more adjustment attribute variables; identifying, based upon the one or more adjustment attribute variables, a second digital material and a second coating formula for the second digital material, wherein the second coating formula is configured to physically create the second digital material; and rendering the target object with the second digital material applied to the viewable surface of the target object.

12. The computer-implemented method of claim 11, wherein adjusting the one or more attributes of the first digital material further comprises adjusting a color of the first digital material.

13. The computer-implemented method of claims 11 to 12, wherein adjusting the one or more attributes of the first digital material further comprises adjusting a texture of the first digital material.

14. The computer-implemented method of claims 11 to 13, wherein identifying, based upon the one or more adjustment attribute variables, the second digital material and the second coating formula for the second digital material further comprises: identifying, within a digital material database, a closest match to the second digital material, wherein the second coating formula comprises a coating formulation stored within the digital material database in association with the closest match to the second digital material.

15. The computer-implemented method of claims 11 to 14, wherein the closest match to the second digital material is identified using a Kubelka-Munk algorithm.

16. The computer-implemented method of claims 11 to 15, wherein the closest match to the second digital material is identified using a machine learning algorithm.

17. The computer-implemented method of claims 11 to 16, further comprising: displaying to the user a command interface for applying the first digital material to the target object; and receiving, through the command interface, a user selection of the first digital material.

18. The computer-implemented method of claims 11 to 17, further comprising: communicating, to a digital material database, a request for the first digital material; and receiving, from the digital material database, a digital file containing the first digital material.

19. The computer-implemented method of claims 11 to 18, further comprising: displaying to the user an environment adjustment interface for adjusting one or more environment attributes of the three-dimensional environment; receiving, from the environment adjustment interface, one or more environmental adjustment variables; and rendering the target object with the one or more environmental adjustment variables applied to the three-dimensional environment.

20. A computer-readable media comprising one or more physical computer-readable storage media having stored thereon computer-executable instructions that, when executed at a processor, cause a computer system to perform a method for rendering digital materials within a three- dimensional environment, the method comprising: rendering a three-dimensional environment, wherein the three-dimensional environment comprises a target object; rendering the target object with a first digital material applied to a viewable surface of the target object, wherein the first digital material comprises a representation of a first physical coating and is associated with a known formula for creating the first physical coating; displaying to a user a digital material adjustment interface for adjusting one or more attributes of the first digital material; receiving, from the digital material adjustment interface, one or more adjustment attribute variables; identifying, based upon the one or more adjustment attribute variables, a second digital material and a second coating formula for the second digital material, wherein the second coating formula is configured to physically create the second digital material; and rendering the target object with the second digital material applied to the viewable surface of the target object.

Description:
VIRTUAL RENDERING OF DIGITAL MATERIALS

TECHNICAL FIELD

[0001] The present disclosure relates to computer-implemented methods and systems for utilizing technological improvements to aid in displaying desired materials.

BACKGROUND

[0002] The modern economy and society are increasingly turning to digital means for communicating both in personal and in business functions. As increasingly more commerce is taking place digitally, it has become more important to provide consumers with the digital tools necessary to fully explore and examine products and services provided by a company. For example, when selling coatings (such as paints), it is useful for customers to be able to accurately view and experience the coatings.

[0003] In view of the wide-range of different materials, including coating types and colors, it is often challenging for customers to identify a material. For instance, a customer may wish to identify one or more paints for an automobile or a garden shed. It can be challenging, especially when viewing the color digitally, to appreciate how the coating will look when applied to its intended purpose.

[0004] Accordingly, there are several deficiencies within the art that can be benefited by technical advancements. The disclosed subject matter herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one exemplary technology area where some embodiments described herein may be practiced.

SUMMARY

[0005] A disclosed computer system for rendering digital materials within a three-dimensional environment comprises one or more processors and one or more computer-readable media having stored thereon executable instructions that when executed by the one or more processors configure the computer system to perform various acts. The computer system renders a three-dimensional environment. The three-dimensional environment comprises a target object. The computer system renders the target object with a first digital material applied to a viewable surface of the target object. The first digital material comprises a representation of a first physical coating and is associated with a known formula for creating the first physical coating. Additionally, the computer system displays to a user a digital material adjustment interface for adjusting one or more attributes of the first digital material. The computer system also receives, from the digital material adjustment interface, one or more adjustment attribute variables. In addition, the computer system identifies, based upon the one or more adjustment attribute variables, a second digital material and a second coating formula for the second digital material. The second coating formula is configured to physically create the second digital material. Further, the computer system renders the target object with the second digital material applied to the viewable surface of the target object.

[0006] A disclosed computer-implemented method, executed by one or more processors, for rendering digital materials within a three-dimensional environment renders a three-dimensional environment. The three-dimensional environment comprises a target object. The computer- implemented method renders the target object with a first digital material applied to a viewable surface of the target object. The first digital material comprises a representation of a first physical coating and is associated with a known formula for creating the first physical coating. Additionally, the computer-implemented method displays to a user a digital material adjustment interface for adjusting one or more attributes of the first digital material. The computer-implemented method also receives, from the digital material adjustment interface, one or more adjustment attribute variables. In addition, the computer-implemented method identifies, based upon the one or more adjustment attribute variables, a second digital material and a second coating formula forthe second digital material. The second coating formula is configured to physically create the second digital material. Further, the computer-implemented method renders the target object with the second digital material applied to the viewable surface of the target object.

[0007] A computer-readable media comprising one or more physical computer-readable storage media having stored thereon computer-executable instructions that, when executed at a processor, cause a computer system to perform a method for rendering digital materials within a three- dimensional environment, and renders a three-dimensional environment. The three-dimensional environment comprises a target object. The computer-implemented method renders the target object with a first digital material applied to a viewable surface of the target object. The first digital material comprises a representation of a first physical coating and is associated with a known formula for creating the first physical coating. Additionally, the computer-implemented method displays to a user a digital material adjustment interface for adjusting one or more attributes of the first digital material. The computer-implemented method also receives, from the digital material adjustment interface, one or more adjustment attribute variables. In addition, the computer-implemented method identifies, based upon the one or more adjustment attribute variables, a second digital material and a second coating formula for the second digital material. The second coating formula is configured to physically create the second digital material. Further, the computer-implemented method renders the target object with the second digital material applied to the viewable surface of the target object.

[0008] Additional features and advantages of exemplary implementations of the disclosure will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of such exemplary implementations. The features and advantages of such implementations may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features will become more fully apparent from the following description and appended claims, or may be learned by the practice of such exemplary implementations as set forth hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

[0009] In order to describe the manner in which the above recited and other advantages and features of the disclosure can be obtained, a more particular description of the computer- implemented methods, systems, and computer-readable media briefly described above will be rendered by reference to specific embodiments thereof, which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the disclosure and are not therefore to be considered to be limiting of its scope, the disclosure will be described and explained with additional specificity and detail through the use of the accompanying drawings described below.

[0010] Figure 1 illustrates a computer system for rendering digital materials.

[0011] Figure 2 illustrates a user interface for adjusting a rendering of digital materials.

[0012] Figure 3 illustrates a user interface showing an adjusted digital material.

[0013] Figure 4 illustrates a user interface for adjusting an environmental attribute of a rendering of a digital material.

[0014] Figure 5 illustrates a user interface for selecting a digital material.

[0015] Figure 6 illustrates a flowchart of a method for rendering digital materials. DETAILED DESCRIPTION

[0016] A computer system for dynamically virtually rendering digital materials, also referred to herein as "physical based renders," provides an end user with a technically improved system for viewing materials in three-dimensions and adjusting the digital material in three-dimensional space. The resulting adjustments are then used to provide the user with a formulation to create the adjusted digital material in the physical world. As used herein, a "material," comprises any physical medium that can be displayed digitally. For example, a material may comprise a coating applied to a digitally rendered surface. The coating may comprise a paint, stain, ink, or other coating substance that impacts the visual appearance of a material. Additionally, the material may comprise only a coating that has not been applied to a particular digitally rendered surface. A "digital material" is a visually correct rendering of a physical material.

[0017] The computer system provides innovative and unique systems for displaying multiple physical based renders simultaneously. Additionally, as used herein a "physical based render," or "digital material," refers to a rendering of a material that uses 1) the bidirectional reflectance distribution function (BRDF), or a simplified model of the BRDF, and/or 2) a Bidirectional Texture Function (BTF) to calculate the reflection of light off an opaque surface of the material. In some examples, the BRDF and/or BTF is directly acquired for the digital rendering of the material by performing BRDF and/or BTF measurements on the material in the physical world and then rendering the physical based render using the measurements.

[0018] The BRDF comprises:

[0019] where L is radiance, or power per unit solid-angle-in-the-direction-of-a-ray per unit projected-area-perpendicular-to-the-ray, E is irradiance, or power per unit surface area, and 0/ is the angle between and the surface normal, n. The BTF is a 6D function whose variables are the 2D position and the viewing and lighting directions. The BTF can be captured via mechanically imaging a surface from multiple different angles under multiple light wavelengths.

[0020] The BRDF and/or BTF measurements may be taken using a gonioreflectometer in the physical world. For example, BRDF and/or BTF measurements may be taken of a particular coating on multiple different materials. The different materials may include, but are not limited to, different types of wood, wallboard, metal, plastic, base coatings (e.g., primer), and various other materials that are commonly coated in industrial, commercial, and residential uses. Each coating-material combination is associated with a unique physical based render. Accordingly, when a physical based render is displayed to an end user, the end user may be able to view a particular coating on multiple different materials.

[0021] The computer system may allow an end user to view a rendering of a digital material on a target object in three-dimensional space. The rendering may be displayed on a computer screen, a mobile device screen, on a head-mounted display within a virtual reality or mixed reality environment, or through any other means capable of displaying a three-dimensional environment. The user can then manipulate the physical based render in ways that change the visual appearance of the physical based render. In response, the computer system can generate one or more adjustment attribute variables that are used to identify a formulation for creating the adjusted physical based render in the physical world.

[0022] Figure 1 illustrates a computer system 100 for communicating through virtual renderings of digital materials. As used herein, a computer system 100 is used to refer to both a personal computer 100a, a head-mounted display device 100b, a mobile computing device, a server, or any other computing device or combination of computing devices. For instance, at least a portion of the rendering engine 122 may be located on the user's device, while the digital material database 128 may be stored and processed within a cloud server. The depicted computer system 100 comprises one or more processors 140 and computer-storage media 130. The computer-storage media 130 comprises executable instructions that when executed by the one or more processors 140 configure the computer system 100 to initiate virtual digital material software 120. The virtual digital material software 120 comprises a rendering engine 122, an import/export interface 124, a coating match engine 126, and a physical based render database 128.

[0023] As used herein, a "module" comprises computer executable code and/or computer hardware that performs a particular function. One of skill in the art will appreciate that the distinction between different modules is at least in part arbitrary and that modules may be otherwise combined and divided and still remain within the scope of the present disclosure. As such, the description of a component as being a "module" is provided only for the sake of clarity and explanation and should not be interpreted to indicate that any division between functions of computer executable code and/or computer hardware is required, unless expressly stated otherwise. In this description, the terms "component", "agent", "manager", "service", "engine", "virtual machine" or the like may also similarly be used.

[0024] Additionally, one will appreciate that the various components and modules depicted in Figure 1 may be located and/orexecuted on local processors and/or remote processors. Forexample, some modules may be executed locally on a personal computing device (e.g., the personal computer system 100a, a mobile computing device, a head-mounted display device 100b), while other modules may be located and/or executed on a remote server.

[0025] The computer system 100 is configured to render a three-dimensional environment that comprises a target object. For example, Figure 2 illustrates a user interface 200 for adjusting a rendering of digital materials. The depicted user interface 200 comprises an interface that may be shown on a personal computer or a mobile device. Additionally or alternatively, the user interface 200 may be displayed as an immersive virtual reality or augmented reality environment.

[0026] The user interface 200 comprises a target object 210 in the form of a rendering of an automobile. While the depicted target object 210 comprises an automobile, in additional or alternative embodiments, any number of different types of target objects may be rendered, including but not limited to, planes, boats, house exteriors, house interiors, industrial equipment, and any other object to which a coating can be applied.

[0027] In Figure 2, the computer system 100 renders the target object 210 with a first digital material 220 applied to a viewable surface of the target object 210 within the three-dimensional environment 240. The first digital material 220 comprises a representation of a first physical coating and is associated with a known formula for creating the first physical coating. For example, the first digital material 220 may comprise a red automotive paint with associated aluminum texture flakes in the coating. As described above, within the rendered three-dimensional environment, the digital material rendering may comprise a BRDF and/or BTF such that the rendered digital material is a correct representation of the physical coating.

[0028] Additionally, the user interface 200 may display to a user a digital material adjustment interface 230 for adjusting one or more attributes of the first digital material 220. For example, the digital material adjustment interface 230 depicts sliders for adjusting lightness, chroma, flop, and coarseness of the first digital material 220. In additional or alternative examples, a user may be able to adjust color, texture, finish, substrate, and various other visual aspects of the digital material. In the case that the digital material adjustment interface 230 is rendered within a virtual or mixed- reality environment, the digital material adjustment interface 230 may be displayed as an interface hanging in the air near the target object.

[0029] The computer system 100 receives, from the digital material adjustment interface 230, one or more adjustment attribute variables. As used herein, an "adjustment attribute variable" comprises information describing the changes that the user made to a first digital material using the digital material adjustment interface 230. For example, the adjustment attribute variable may comprise a chroma value, a lightness value, a color value, a texture value, a substrate type, or any number of changes to the appears of the first digital material 220. The digital material adjustments are applied to the first digital material 220, including the adjustment of BRDF or BTF data used in rendering the digital material. In some cases, the first digital material 220 on the target object 210 changes in real-time as the user makes changes in the digital material adjustment interface 230.

[0030] The computer system 100 may then identify, based upon the one or more adjustment attribute variables and/or the adjusted BRDF or adjusted BTF file, a second digital material 300 (as illustrated in Figure 3) and a second coating formula for the second digital material 300. One or more digital materials stored in the digital material database 128 may be stored with a formula for creating the respective digital material in the physical world. As such, the second coating formula may be stored within the digital material database 128 in association with the closest match to the second digital material 300.

[0031] In one example, the coating match engine 126 within the virtual digital material software 120 identifies, within the digital material database 128, a closest match to the second digital material 300. The coating match engine 126 may utilize a Kubelka-Munk algorithm to identify a closest matching digital material. Additionally or alternatively, the coating match engine 126 may comprise a machine learning algorithm that has been trained to match received color variables to colors stored within the digital material database 128. The machine learning algorithm may comprise a convolutional neural network (CNN) that has been trained using the labelled data entries within the digital material database 128.

[0032] Once the second digital material 300 is identified, the computer system 100 may render the target object 210 with the second digital material 300 applied to the viewable surface of the target object 210, as illustrated in Figure 3. In some cases, the second digital material 300 identified in the digital material database 128 may comprise an exact match. In such a case, the user may already be viewing a correct depiction of the second digital material 300 based upon the adjustments the user made to the first digital material 220. In contrast, in some cases the nearest match found within the digital material database 128 may not exactly match the adjustments that the user made to the first digital material 220. In such a case, a display prompt may be displayed to the user notifying them that the target product needs to be re-rendered to show the closest matching color. If the user approves the re-render, the rendering engine 122 may render the target object 210 with the second digital material 300 that is the nearest match within the digital material database 128. For example, Figure 3 illustrates the user interface 200 showing an adjusted digital material, referred to here as the second digital material 300.

[0033] In some examples, a user may choose the first digital material 220 applied to a target object 210. For example, Figure 5 depicts a user interface where the computer system 100 display to thes user a command interface 500, depicted as "Digital Material Selector," for applying the first digital material 220 to the target object 210. In the command interface 500, the user may select the target object 210 and then select a color from a visual display of color or type in a text identification of a color. Additionally or alternatively, the import/export interface 124 of the computer system 100 may receive an inspiration image from the user. As used herein, an "inspiration image" comprises an image provided by a user to initiate a digital material search. For example, the image may comprise a picture of a scene, a room, or a color that the user finds attractive and wishes to leverage in identifying a digital material.

[0034] The computer system 100 may extract color information from the inspiration image. Extracting color information may comprise identifying the predominant color in the inspiration image, identifying colors that contrast or complement one or more colors in the inspiration image, or processing the inspiration image through a machine learning algorithm to identify a digital material. The coating match engine 126 may then identify the first digital material 220 within the digital material database 128 by searching the digital material database 128 for a digital material that is a closest match to the color information from the inspiration image. The closest match search may utilize the same process or processes describe above.

[0035] Once the first digital material 220 is identified, the computer system 100 requests, from the digital material database 128, a digital file containing the first digital material 220. The computer system 100 then receives, through the command interface, the digital file representing the first digital material 220. The rendering engine 122 then renders the first digital material 220 onto the target object 210. [0036] In addition to adjusting aspects of the digital material, a user may also be able to adjust environmental aspects of the three-dimensional environment 240. For example, Figure 4 illustrates a user interface for adjusting an environmental attribute of a rendering of a digital material. The computer system 100 may display to the user an environment adjustment interface 400 for adjusting one or more environment attributes of the three-dimensional environment 240. The depicted environmental adjustments include adjustments to the lighting such as collimated light, diffuse light, sunlight, or dusk. By selecting any of these options, the user is able to adjust the lighting within the three-dimensional environment 240. Additional or alternative examples of environmental adjustments may include light direction, number of light sources, background images, and various other environmental variables.

[0037] The computer system 100 receives, from the environment adjustment interface 400, one or more environmental adjustment variables. In response, the rendering engine 122 renders the target object with the one or more environmental adjustment variables applied to the three- dimensional environment 240.

[0038] Figure 6 illustrates a flowchart of a method 600 for rendering digital materials. The method 600 includes an act 610 of rendering a 3D environment. Act 610 comprises rendering a three- dimensional environment, wherein the three-dimensional environment comprises a target object. For example, as depicted and described with respect to Figure 2, a 3D environment 240 may be rendered on a computer screen or in a virtual reality headset. The 3D environment 240 further includes a target object 210, in this case a car.

[0039] Method 600 also includes an act 620 for rendering a target object with a digital material. Act 620 comprises rendering the target object 210 with a first digital material 220 applied to a viewable surface of the target object 210, wherein the first digital material 220 comprises a representation of a first physical coating and is associated with a known formula for creating the first physical coating. For example, as depicted and described with respect to Figures 1 and 2, the target object 210 is rendered with a first digital material 220, in this case an automotive paint. The first digital material 220 is stored within the digital material database 128, which also stores a formula for creating the coating in the physical world.

[0040] Additionally, method 600 includes an act 630 of displaying a digital material adjustment interface. Act 630 comprises displaying to a user a digital material adjustment interface 230 for adjusting one or more attributes of the first digital material 220. For example, as depicted and described with respect to Figure 2, the digital material adjustment interface 230 provides the user with options of adjusting various color attributes of the first digital material 220.

[0041] Method 600 also includes an act 640 of receiving adjustment attribute variables. Act 640 comprises receiving, from the digital material adjustment interface 230, one or more adjustment attribute variables. For example, as depicted and described with respect to Figure 2, the user can make various adjustments using the digital material adjustment interface 230. These adjustments are communicated to the computer system 100.

[0042] Further, method 600 includes an act 650 of identifying a second digital material. Act 650 comprises identifying, based upon the one or more adjustment attribute variables, a second digital material and a second coating formula for the second digital material, wherein the second coating formula is configured to physically create the second digital material. For example, as depicted and described with respect to Figure 1, the coating match engine 126 receives the adjustment attribute variables and uses that information to identify a matching coating within the digital material database 128. The identified coating comprises an associated formula stored with the digital material file within the digital material database 128.

[0043] Further still, method 600 includes an act 660 of rendering the target object with the second digital material. Act 660 comprises rendering the target object 210 with the second digital material 300 applied to the viewable surface of the target object 210. For example, as depicted and described with respect to Figure 3, the target object 210 has been rendered with a new automotive coating (i.e., the second digital material 300) applied to a viewable surface of the car.

[0044] One will appreciate in view of the above, the disclosed computer system is configured to render realistic images of coatings applied to target objects. Further, disclosed embodiments provide end users with a means for viewing and adjusting the rendered digital material. Once adjusted, the computer system can provide the user with a formula that can recreate the digital material in the physical world. Accordingly, the present disclosure provides improvements in both the rendering of coatings and in the ability of a user to translate changes to the digital renderings into true-to-the- renderings coatings in the physical world.

[0045] Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the described features or acts described above, or the order of the acts described above. Rather, the described features and acts are disclosed as example forms of implementing the claims.

[0046] The present disclosure may comprise or utilize a special-purpose or general-purpose computer system that includes computer hardware, such as, for example, one or more processors and system memory, as discussed in greater detail below. Embodiments within the scope of the present disclsoure also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures. Such computer-readable media can be any available media that can be accessed by a general-purpose or special-purpose computer system. Computer-readable media that store computer-executable instructions and/or data structures are computer storage media. Computer-readable media that carry computer-executable instructions and/or data structures are transmission media. Thus, by way of example, and not limitation, embodiments of the disclosure can comprise at least two distinctly different kinds of computer- readable media: computer storage media and transmission media.

[0047] Computer storage media are physical storage media that store computer-executable instructions and/or data structures. Physical storage media include computer hardware, such as RAM, ROM, EEPROM, solid state drives ("SSDs"), flash memory, phase-change memory ("PCM"), optical disk storage, magnetic disk storage or other magnetic storage devices, or any other hardware storage device(s) which can be used to store program code in the form of computer-executable instructions or data structures, which can be accessed and executed by a general-purpose or specialpurpose computer system to implement the disclosed functionality of the disclosure.

[0048] Transmission media can include a network and/or data links that can be used to carry program code in the form of computer-executable instructions or data structures, and which can be accessed by a general-purpose or special-purpose computer system. A "network" is defined as one or more data links that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer system, the computer system may view the connection as transmission media. Combinations of the above should also be included within the scope of computer-readable media.

[0049] Further, upon reaching various computer system components, program code in the form of computer-executable instructions or data structures can be transferred automatically from transmission media to computer storage media (or vice versa). For example, computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface module (e.g., a "NIC"), and then eventually transferred to computer system RAM and/or to less volatile computer storage media at a computer system. Thus, it should be understood that computer storage media can be included in computer system components that also (or even primarily) utilize transmission media.

[0050] Computer-executable instructions comprise, for example, instructions and data which, when executed at one or more processors, cause a general-purpose computer system, specialpurpose computer system, or special-purpose processing device to perform a certain function or group of functions. Computer-executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code.

[0051] Those skilled in the art will appreciate that the disclosure may be practiced in network computing environments with many types of computer system configurations, including, personal computers, desktop computers, laptop computers, message processors, hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, tablets, pagers, routers, switches, and the like. The disclosure may also be practiced in distributed system environments where local and remote computer systems, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks. As such, in a distributed system environment, a computer system may include a plurality of constituent computer systems. In a distributed system environment, program modules may be located in both local and remote memory storage devices.

[0052] Those skilled in the art will also appreciate that the disclosure may be practiced in a cloudcomputing environment. Cloud computing environments may be distributed, although this is not required. When distributed, cloud computing environments may be distributed internationally within an organization and/or have components possessed across multiple organizations. In this description and the following claims, "cloud computing" is defined as a model for enabling on- demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services). The definition of "cloud computing" is not limited to any of the other numerous advantages that can be obtained from such a model when properly deployed. [0053] A cloud-computing model can be composed of various characteristics, such as on-demand self-service, broad network access, resource pooling, rapid elasticity, measured service, and so forth. A cloud-computing model may also come in the form of various service models such as, for example, Software as a Service ("SaaS"), Platform as a Service ("PaaS"), and Infrastructure as a Service ("laaS"). The cloud-computing model may also be deployed using different deployment models such as private cloud, community cloud, public cloud, hybrid cloud, and so forth.

[0054] Some embodiments, such as a cloud-computing environment, may comprise a system that includes one or more hosts that are each capable of running one or more virtual machines. During operation, virtual machines emulate an operational computing system, supporting an operating system and perhaps one or more other applications as well. In some embodiments, each host includes a hypervisor that emulates virtual resources for the virtual machines using physical resources that are abstracted from view of the virtual machines. The hypervisor also provides proper isolation between the virtual machines. Thus, from the perspective of any given virtual machine, the hypervisor provides the illusion that the virtual machine is interfacing with a physical resource, even though the virtual machine only interfaces with the appearance (e.g., a virtual resource) of a physical resource. Examples of physical resources including processing capacity, memory, disk space, network bandwidth, media drives, and so forth.

[0055] The invention is further described by the following aspects.

[0056] In a first aspect, a computer system for rendering digital materials within a three- dimensional environment is provided, comprising: one or more processors; and one or more computer-readable media having stored thereon executable instructions, preferably as defined in any one of the aspects fourteen to twenty-two, that when executed by the one or more processors configure the computer system to: render a three-dimensional environment, wherein the three- dimensional environment comprises a target object; render the target object with a first digital material applied to a viewable surface of the target object, wherein the first digital material comprises a representation of a first physical coating and is associated with a known formula for creating the first physical coating; display to a user a digital material adjustment interface for adjusting one or more attributes of the first digital material; receive, from the digital material adjustment interface, one or more adjustment attribute variables; identify, based upon the one or more adjustment attribute variables, a second digital material and a second coating formula for the second digital material, wherein the second coating formula is configured to physically create the second digital material; and render the target object with the second digital material applied to the viewable surface of the target object.

[0057] Aspect two relates to the computer system of aspect one, wherein the executable instructions for adjusting the one or more attributes of the first digital material include instructions that are executable to configure the computer system to adjust a color of the first digital material.

[0058] Aspect three relates to the computer system of any one of aspects one or two, wherein the executable instructions for adjusting the one or more attributes of the first digital material include instructions that are executable to configure the computer system to adjust a texture of the first digital material.

[0059] Aspect four relates to the computer system of any one of aspects one to three, wherein the executable instructions for identifying, based upon the one or more adjustment attribute variables, the second digital material and the second coating formula for the second digital material include instructions that are executable to configure the computer system to: identify, within a digital material database, a closest match to the second digital material, wherein the second coating formula comprises a coating formulation stored within the digital material database in association with the closest match to the second digital material.

[0060] Aspect five relates to the computer system of aspect four, wherein the closest match to the second digital material is identified using a Kubelka-Munk algorithm.

[0061] Aspect six relates to the computer system of any one of aspects four or five, wherein the closest match to the second digital material is identified using a machine learning algorithm.

[0062] Aspect seven relates to the computer system of any one of aspects one to six, wherein the executable instructions further include instructions that are executable to configure the computer system to: display to the user a command interface for applying the first digital material to the target object; and receive, through the command interface, a user selection of the first digital material.

[0063] Aspect eight relates to the computer system of any one of aspects one to seven, wherein the executable instructions further include instructions that are executable to configure the computer system to: communicate, to a digital material database, a request for the first digital material; and receive, from the digital material database, a digital file containing the first digital material. [0064] Aspect nine relates to the computer system of any one of aspects one to eight, wherein the executable instructions further include instructions that are executable to configure the computer system to: display to the user an environment adjustment interface for adjusting one or more environment attributes of the three-dimensional environment; receive, from the environment adjustment interface, one or more environmental adjustment variables; and render the target object with the one or more environmental adjustment variables applied to the three- dimensional environment.

[0065] Aspect ten relates to the computer system of any one of aspects one to nine, wherein the executable instructions further include instructions that are executable to configure the computer system to: receive an inspiration image from the user; extract color information from the inspiration image; and identify the first digital material within a digital material database by searching the digital material database for a digital material that is a closest match to the color information from the inspiration image.

[0066] Aspect eleven relates to the computer system of any one of aspects one to ten, wherein the first digital material is rendered by performing BRDF and/or BTF measurements on the material in the physical world and then rendering the physical based render using the measurements.

[0067] Aspect twelve relates to the computer system of any one of aspects one to eleven, wherein the second digital material is identified based upon an adjustment of BRDF or BTF data used in rendering the first digital material.

[0068] Aspect thirteen relates to the computer system of any one of aspects one to twelve, wherein the target object comprises an automobile, planes, boats, house exteriors, house interiors or a combination thereof.

[0069] In a fourteenth aspect a computer-implemented method is provided, executed by one or more processors, for rendering digital materials within a three-dimensional environment, preferably as defined in any one of the aspects one to thirteen, the computer-implemented method comprising: rendering a three-dimensional environment, wherein the three-dimensional environment comprises a target object; rendering the target object with a first digital material applied to a viewable surface of the target object, wherein the first digital material comprises a representation of a first physical coating and is associated with a known formula for creating the first physical coating; displaying to a user a digital material adjustment interface for adjusting one or more attributes of the first digital material; receiving, from the digital material adjustment interface, one or more adjustment attribute variables; identifying, based upon the one or more adjustment attribute variables, a second digital material and a second coating formula for the second digital material, wherein the second coating formula is configured to physically create the second digital material; and rendering the target object with the second digital material applied to the viewable surface of the target object.

[0070] Aspect fifteen relates to the computer system of aspect fourteen, wherein adjusting the one or more attributes of the first digital material further comprises adjusting a color of the first digital material.

[0071] Aspect sixteen relates to the method of any one of aspects fourteen or fifteen, wherein adjusting the one or more attributes of the first digital material further comprises adjusting a texture of the first digital material.

[0072] Aspect seventeen relates to the method of any one of aspects fourteen to sixteen, wherein identifying, based upon the one or more adjustment attribute variables, the second digital material and the second coating formula for the second digital material further comprises: identifying, within a digital material database, a closest match to the second digital material, wherein the second coating formula comprises a coating formulation stored within the digital material database in association with the closest match to the second digital material.

[0073] Aspect eighteen relates to the method of aspect seventeen, wherein the closest match to the second digital material is identified using a Kubelka-Munk algorithm.

[0074] Aspect nineteen relates to the method of any one of aspects seventeen or eighteen, wherein the closest match to the second digital material is identified using a machine learning algorithm.

[0075] Aspect twenty relates to the method of any one of aspects fourteen to nineteen, further comprising: displaying to the user a command interface for applying the first digital material to the target object; and receiving, through the command interface, a user selection of the first digital material.

[0076] Aspect twenty-one relates to the method of any one of aspects fourteen to twenty, further comprising: communicating, to a digital material database, a request for the first digital material; and receiving, from the digital material database, a digital file containing the first digital material.

[0077] Aspect twenty-two relates to the method of any one of aspects fourteen to twenty- one, further comprising: displaying to the user an environment adjustment interface for adjusting one or more environment attributes of the three-dimensional environment; receiving, from the environment adjustment interface, one or more environmental adjustment variables; and rendering the target object with the one or more environmental adjustment variables applied to the three-dimensional environment.

[0078] In an twenty-third aspect a computer-readable media is provided comprising one or more physical computer-readable storage media having stored thereon computer-executable instructions that, when executed at a processor, cause a computer system, preferably a system according to any one of aspects one to thirteen, to perform a method for rendering digital materials within a three- dimensional environment, the method comprising: rendering a three-dimensional environment, wherein the three-dimensional environment comprises a target object; rendering the target object with a first digital material applied to a viewable surface of the target object, wherein the first digital material comprises a representation of a first physical coating and is associated with a known formula for creating the first physical coating; displaying to a user a digital material adjustment interface for adjusting one or more attributes of the first digital material; receiving, from the digital material adjustment interface, one or more adjustment attribute variables; identifying, based upon the one or more adjustment attribute variables, a second digital material and a second coating formula for the second digital material, wherein the second coating formula is configured to physically create the second digital material; and rendering the target object with the second digital material applied to the viewable surface of the target object.

[0079] The present disclosure may be embodied in other specific forms without departing from its spirit or characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the disclosure is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.