Room shader for animated films

By generating multiple plane and wall layers, combining parallax offset and pattern multiplication technology, the problem of complex room rendering in animated movies is solved, real-life room effects and depth illusions are achieved.

CN113170073BActive Publication Date: 2025-02-18SONY GROUP CORP +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN201980078408.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-12-06
Filing Date
2019-12-05
Publication Date
2025-02-18
Estimated Expiration
2039-12-05

AI Technical Summary

Technical Problem

The prior art has difficulty rendering complex room interior geometry effectively, resulting in difficulty in creating realistic room effects in animated movies.

Method used

Create multiple room image versions by generating multiple plane and wall layers along depth, combining parallax offset calculation and pattern multiplication techniques, and apply them to building surfaces to create a depth illusion.

Benefits of technology

It realizes the creation of realistic room effects in animated movies, solves the problem of difficult rendering of complex geometric shapes, and provides flexible pattern adjustments and depth illusion effects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113170073B_ABST
    Figure CN113170073B_ABST
Patent Text Reader

Abstract

Generating image data for a room image includes: generating at least one plane layer along depth for a first room image; generating at least one wall layer for a wall in the first room image; creating a second room image by copying one or more of at least one plane layer for the first room image, and copying one or more of at least one wall layer for the first room image, and modifying at least one copied plane layer and at least one copied wall layer; and applying the first room image and the second room image as a pattern to a surface of a building image.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to animated films, and more particularly, to room shaders for animated films. Background Art

[0002] In computer graphics, shading is the rendering of photorealistic or stylized surfaces on mathematically defined objects. Software written specifically for this purpose is called a shader, which is executed by the computer to calculate the color and brightness of each pixel in the final image.

[0003] In the past, shaders were written to simulate the look of room interiors in buildings to create the illusion of the room in place of actual geometry that was too cumbersome to render due to memory limitations. Therefore, the goal was to match the look of real building interiors or surface reflections visible in real life. However, in some cases, creating an abstract look to match specific artwork for comic books and movies may be desirable. Summary of the invention

[0004] The present disclosure provides for generating image data for a room image.

[0005] In one implementation, a method for generating image data for a room image is disclosed. The method includes: generating at least one plane layer along depth for a first room image; generating at least one wall layer for a wall in the first room image; creating a second room image by copying one or more of the at least one plane layer for the first room image, and copying one or more of the at least one wall layer for the first room image, and modifying at least one copied plane layer and at least one copied wall layer; and applying the first room image and the second room image as a pattern to a surface of a building image.

[0006] In one implementation, generating at least one plane layer along the depth for the first room image includes: conveying a room interior effect of a room visible through a window in a surface of the building image. In one implementation, the method also includes defining each plane layer by specifying a color and a transparency for each plane layer. In one implementation, the color of each plane layer is specified using at least one region of uniform color. In one implementation, the method also includes verifying each plane layer, wherein each plane layer is tested to be substantially parallel to at least one other plane layer. In one implementation, the method also includes generating a ceiling layer for a ceiling in the room image and a floor layer for a floor in the room image. In one implementation, the method also includes verifying that the wall layer is substantially perpendicular to one or more of the at least one plane layer. In one implementation, the method also includes generating at least one plane layer along the depth for the third room image; generating at least one plane layer along the depth for the fourth room image, wherein the third room image and the fourth room image represent a single connected room visible through two corresponding windows; calculating a parallax offset between the plane layer for the third room image and the plane layer for the fourth room image; and for at least one surface in the third room image, using the parallax offset to calculate a shaded reflection. In one implementation, the method further includes creating a plurality of room images from the first room image by replicating at least one plane layer and at least one wall layer; and modifying at least one replicated plane layer and at least one replicated wall layer for each of the plurality of room images.

[0007] In another implementation, a room shader for generating image data for a room image is disclosed. The room shader includes: a layer generator to generate at least one plane layer along a depth for a first room image; a wall generator to generate at least one wall layer for a wall in the first room image; a pattern multiplier to create a second room image by copying one or more of the at least one plane layer for the first room image and copying one or more of the at least one wall layer for the first room image, the pattern multiplier to modify at least one copied plane layer and at least one copied wall layer; and a pattern applicator to apply the first room image and the second room image as a pattern to a surface of a building image.

[0008] In one implementation, a layer generator conveys a room interior effect of a room visible through a window in a surface of a building image. In one implementation, the room shader also includes a define layer unit to define each planar layer by specifying a color and a transparency of each planar layer. In one implementation, the color of each planar layer is specified using at least one area of ​​uniform color. In one implementation, the room shader also includes a verify layer unit to verify each planar layer, wherein each planar layer is tested to be substantially parallel to at least one other planar layer. In one implementation, the verify layer unit also verifies that the wall layer is substantially perpendicular to one or more of the at least one planar layer. In one implementation, the room shader also includes a ceiling generator to generate a ceiling layer for a ceiling in a room image; and a floor generator to generate a floor layer for a floor in a room image. In one implementation, the room shader further includes a parallax offset calculator; and a reflection shader, wherein the layer generator further generates at least one plane layer along the depth for a third room image and generates at least one plane layer along the depth for a fourth room image, wherein the third room image and the fourth room image represent a single connected room visible through two corresponding windows, a parallax offset calculator to calculate a parallax offset between the plane layer for the third room image and the plane layer for the fourth room image, and a reflection shader to calculate a shaded reflection using the parallax offset for at least one surface in the third room image. In one implementation, the room shader further includes a pattern multiplier to create multiple room images from the first room image by replicating at least one plane layer and at least one wall layer; and a pattern applicator to modify at least one replicated plane layer and at least one replicated wall layer for each of the multiple room images.

[0009] In another implementation, a non-transitory computer-readable storage medium is disclosed, which stores a computer program for generating image data for a room image. The computer program includes executable instructions for causing a computer to perform the following operations: generating at least one plane layer along the depth for a first room image; generating at least one wall layer for a wall in the first room image; creating a second room image by copying one or more of at least one plane layer for the first room image and copying at least one wall layer for the first room image, and modifying one or more of at least one copied plane layer and at least one copied wall layer; and applying the first room image and the second room image as a pattern to a surface of a building image.

[0010] In one implementation, executable instructions that cause a computer to generate at least one planar layer along depth for the first room image include executable instructions that cause a computer to convey room interior effects of rooms visible through windows in a surface of the building image.

[0011] Other features and advantages will be apparent from the description of the invention, which illustrates by way of example various aspects of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The details of the present disclosure, both as to its structure and operation, may be gathered in part by the accompanying drawings, in which like reference numerals refer to like parts, and in which:

[0013] Figure 1 is a block diagram of a room shader for an animated film according to one implementation of the present disclosure.

[0014] Figure 2 is a flow chart of a room shading process for an animated film that creates the illusion of depth on a flat surface, according to one implementation of the present disclosure.

[0015] Figure 3A are representations of computer systems and users according to implementations of the present disclosure;

[0016] Figure 3B is a functional block diagram illustrating a computer system hosting a room coloring application according to an implementation of the present disclosure; and

[0017] Figure 4 An example image of a building with a flat surface is shown, wherein the building is inserted into a ( Figure 2 The room coloring process in Figure 1 The room interior made with the room shader in . DETAILED DESCRIPTION

[0018] As mentioned above, in the past, shaders for animated films were written to simulate the appearance of room interiors in buildings to create the illusion of rooms in place of actual geometry that was too cumbersome to render. Therefore, the goal was to match the appearance of real building interiors or surface reflections visible in real life. However, in some cases, it may be desirable to create an abstract look to match comic book and movie specific artwork.

[0019] Certain implementations of the present disclosure provide a room shader for animated films that creates an illusion of depth on a flat surface that is applied to all room interior geometry within a building with windows. In one implementation, the room shader conveys a graphically shown room interior effect through multiple layers along the depth. In another implementation, an alternative shader is provided to illustrate graphical reflections. After reading these descriptions, it will become apparent how to implement the present disclosure in various implementations and applications. Although various implementations of the present disclosure will be described herein, it will be understood that these implementations are given by way of example only and not limitation. As such, this detailed description of the various implementations should not be construed as limiting the scope or breadth of the present disclosure.

[0020] In one implementation, the room shader provides for conveying the effect of a graphically shown room interior through multiple planar layers along depth for each room image. In one implementation, the room shader also inserts the ceiling, floor, and walls as layers for each room image. Multiple versions of room images are created to depict patterns for commercial, residential, and retail interiors. The frequency and size of the patterns can be adjusted, and window shades and curtains can be added.

[0021] In one implementation, the room shader depicts the interior of a room as a series of planar layers behind window glass to provide a classic animation style. In one implementation, each layer is depicted in a plane substantially parallel to the window. In another implementation, the ceiling, floor, and walls (collectively referred to as "walls") are depicted in a plane substantially perpendicular to the window. In this implementation, the term "substantially perpendicular" means that each layer has less than 1 degree deviation from 90 degrees between the layer and the window.

[0022] In further implementations, each layer is depicted as a solid stroke of uniform color. As buildings recede into the distance, the strokes are simplified into larger shapes until each room remains only a single color. In further implementations, in order to depict patterns representing connected rooms that typically span multiple adjacent windows, the room shader starts as a stripped-down version of the standard room interior shader with the side walls removed. However, in some implementations, because multiple layers are required, a UV offset is used to calculate the parallax offset.

[0023] In another implementation, in addition to using the above method for room interiors, alternative shaders are used to illustrate graphic reflections. For reflections, specific graphic shapes are drawn, which are then "layered" and "dialed" along the depth on the surface of the reflective material. These shapes and the environment (e.g., on glass and metal) are then reflected using shaders.

[0024] Figure 1 is a block diagram of a room shader 100 for an animated film according to one implementation of the present disclosure. In one implementation, the room shader 100 includes a layer generator 110, a wall generator 120, a parallax offset calculator 130, a reflection shader 140, a pattern multiplier 150, and a pattern applicator 160. The layer generator 110 may include at least a define layer unit 112 and a verify layer unit 114.

[0025] exist Figure 1 In an illustrated implementation of , a room shader 100 for an animated film is configured to create an illusion of depth of a room interior on a flat surface, such as the side of a building with windows. In one implementation, a layer generator 110 conveys the graphically shown room interior effect with at least one layer along the depth. In one implementation, a define layer unit 112 defines each layer as a plane. In another implementation, the define layer unit 112 defines each of the at least one layer by specifying a color and transparency for each layer. Thus, in one implementation, each layer is painted with a solid brush stroke of uniform color. As the buildings recede into the distance, the brush strokes are simplified into larger shapes until each room retains only one color.

[0026] In one implementation, the verifying layer unit 114 verifies the feasibility of each layer when combined into at least one layer. In one implementation, the verifying layer unit 114 also verifies that each layer is substantially parallel to a window of the room (i.e., the frontmost layer). In this implementation, the term “substantially parallel” means that the deviation of each layer from 0 degrees between the layer and the window is less than 1 degree.

[0027] In one implementation, the wall generator 120 inserts the ceiling, floor, and wall as layers for each room image. Therefore, the wall generator 120 includes a wall generator 122 to generate a wall layer for the walls in the room image; a ceiling generator 124 to generate a ceiling layer for the ceiling in the room image; and a floor generator 126 to generate a floor layer for the floor in the room image. In one implementation, the ceiling, floor, and wall generated by the wall generator 120 are verified by the verification layer unit 114 to be substantially perpendicular to the windows of the room.

[0028] Once all layers (and walls) have been defined and verified, the pattern multiplier 150 and pattern applicator 160 work together to create multiple versions of the room image as the layers and walls are defined and verified. Thus, multiple versions of the room image are created for depicting patterns for commercial, residential, and retail interiors. In one implementation, the pattern multiplier 150 adjusts the frequency and size of the pattern, and the pattern applicator 160 applies the pattern to the flat surface of the building to create the illusion of depth.

[0029] In further implementations, in order to depict patterns representing connected rooms that typically span several adjacent windows, the room shader starts with a stripped-down version of the standard room interior shader. However, in some implementations, the disparity offset calculator 130 uses the UV offset to calculate the disparity offset.

[0030] In another implementation, the room shader 100 includes a reflection shader 140 that is used to illustrate graphic reflections. For reflections, specific graphic shapes are drawn, which are then "layered" and "marked" along the depth of the surface of the reflective material. These shapes and the environment are then reflected using the reflection shader 140 (e.g., on glass and metal).

[0031] Figure 2 2 is a flow chart of a room shading process 200 for an animated film that creates an illusion of depth on a flat surface according to one implementation of the present disclosure. In one implementation, the room shading process 200 includes the following steps: generation of plane layers, generation of walls, calculation of parallax offset, shading reflections, pattern multiplication, and pattern application. In addition, the plane layer generation step may include at least a layer definition and a layer verification step.

[0032] In one implementation, at step 210, at least one planar layer along the depth is used to convey the graphically shown room interior effect. In one implementation, step 210 includes step 212 to define each layer of at least one planar layer by specifying the color and transparency of each layer. Therefore, in one implementation, each layer is painted with a solid brushstroke of uniform color. As the buildings recede into the distance, the brushstrokes are simplified into larger shapes until each room retains only one color. Step 210 also includes step 214 to verify the feasibility of each layer when combined into at least one layer. In one implementation, each layer is verified to be substantially parallel to the window of the room (i.e., the front-most layer).

[0033] In one implementation, the room coloring process 200 also inserts the ceiling, floor, and walls as layers for each room image at step 220. It is then verified at step 222 that the inserted ceiling, floor, and walls are substantially perpendicular to the windows of the room.

[0034] In further implementations, to depict patterns representing connected rooms that typically span several adjacent windows, the room shading process 200 begins with a stripped-down version of a standard room interior shader. However, in some implementations, a UV offset is used to calculate a parallax offset at step 230 .

[0035] In another implementation, the room shading process 200 uses the calculated parallax offset to illustrate graphic reflections at step 232. For reflections, specific graphic shapes are drawn, which are then "layered" and "marked" along the depth on the surface of the reflective material. The shapes and the environment (e.g., on glass and metal) are reflected at step 234.

[0036] Once all layers (and walls) have been defined and verified, the room coloring process 200 creates multiple versions of the room image pattern at step 240, as the layers and walls are defined and verified. Thus, multiple versions of the room image pattern are created for depicting patterns for commercial, residential, and retail interiors. In one implementation, the frequency and size of the pattern are adjusted at step 250, and the pattern is applied to the flat surface of the building at step 252 to create the illusion of depth.

[0037] Figure 3A 300 and user 302 according to an implementation of the present disclosure. User 302 uses computer system 300 to implement Figure 1 and Figure 2 The room shader 100 and the room shader process 200 illustrated and described in FIG. 3 are room shader applications 390 .

[0038] The computer system 300 stores and executes Figure 3B The computer system 300 may also include a room coloring application 390. In addition, the computer system 300 may be in communication with a software program 304. The software program 304 may include software code for the room coloring application 390. The software program 304 may be loaded on an external medium such as a CD, DVD, or storage device drive, as will be further described below.

[0039] In addition, the computer system 300 can be connected to a network 380. The network 380 can be connected in a variety of different architectures, such as a client-server architecture, a peer-to-peer network architecture, or other types of architectures. For example, the network 380 can communicate with a server 385 that coordinates engines and data used within the room coloring application 390. The network can also be a different type of network. For example, the network 380 can be the Internet, a local area network or any variation of a local area network, a wide area network, a metropolitan area network, an intranet or extranet, or a wireless network.

[0040] Figure 3B3 is a functional block diagram illustrating a computer system 300 hosting a room coloring application 390 according to an implementation of the present disclosure. A controller 310 is a programmable processor and controls the operation of the computer system 300 and its components. The controller 310 loads instructions (e.g., in the form of a computer program) from a memory 320 or an embedded controller memory (not shown) and executes these instructions to control the system. In its execution, the controller 310 provides a software system to the room coloring application 390, such that the creation and configuration of engines and data extractors within the room coloring application 390 is enabled. Alternatively, this service may be implemented as a separate hardware component in the controller 310 or computer system 300.

[0041] The memory 320 temporarily stores data for use by other components of the computer system 300. In one implementation, the memory 320 is implemented as RAM. In one implementation, the memory 320 also includes long-term or permanent storage, such as flash memory and / or ROM.

[0042] The storage device 330 stores data temporarily or long term for use by other components of the computer system 300. For example, the storage device 330 stores data used by the room coloring application 390. In one implementation, the storage device 330 is a hard drive.

[0043] The media device 340 receives removable media and reads and / or writes data to the inserted media. In one implementation, for example, the media device 340 is an optical disk drive.

[0044] User interface 350 includes components for accepting user input from a user of computer system 300 and presenting information to user 302. In one implementation, user interface 350 includes a keyboard, a mouse, audio speakers, and a display. Controller 310 uses input from user 302 to adjust the operation of computer system 300.

[0045] The I / O interface 360 ​​includes one or more I / O ports to connect to corresponding I / O devices, such as external storage devices or auxiliary devices (e.g., printers or PDAs). In one implementation, the ports of the I / O interface 360 ​​include ports such as USB ports, PCMCIA ports, serial ports, and / or parallel ports. In another implementation, the I / O interface 360 ​​includes a wireless interface for wireless communication with external devices.

[0046] Network interface 370 includes a wired and / or wireless network connection supporting an Ethernet connection, such as an RJ-45 or "Wi-Fi" interface (including but not limited to 802.11).

[0047] Computer system 300 includes additional hardware and software typical of computer systems (e.g., power, cooling, operating system), although for simplicity these components are not shown in the figure. Figure 3B In other implementations, different configurations of the computer system (eg, different bus or storage device configurations or multi-processor configurations) may be used.

[0048] Figure 4 An example image of a building with flat surfaces inserted into a room interior made by the room shader 100 using the room shader process 200 according to one implementation of the present disclosure is shown.

[0049] The description of the implementation disclosed herein is provided to enable any person skilled in the art to make or use the present disclosure. Multiple modifications to these implementations will be apparent to those skilled in the art, and the principles defined herein may be applied to other implementations without departing from the spirit or scope of the present disclosure. Therefore, the present disclosure is not intended to be limited to the implementations shown herein, but should be given the widest scope consistent with the principles and novel features disclosed herein.

[0050] Various implementations of the present disclosure are implemented in electronic hardware, computer software, or a combination of these technologies. Some implementations include one or more computer programs executed by one or more computing devices. Typically, a computing device includes one or more processors, one or more data storage device components (e.g., volatile or non-volatile memory modules and permanent optical and magnetic storage devices, such as hard disk and floppy disk drives, CD-ROM drives, and tape drives), one or more input devices (e.g., game controllers, mice, and keyboards), and one or more output devices (e.g., display devices).

[0051] A computer program includes executable code that is typically stored in a persistent storage device medium and then copied to memory at run time. At least one processor executes the code by retrieving program instructions from memory in a predetermined order. When executing the program code, the computer receives data from input and / or storage devices, performs operations on the data, and then delivers the resulting data to output and / or storage devices.

[0052] In a further implementation, quantization of surface normals is disclosed. Artists often simplify complex forms into simple planes to convey the form in a more graphical way. However, the simplification of the form needs to be done in 3-D. Although patterns can be drawn into the model, the patterns look like any texture because the underlying shading is still smooth. Although building a plane into the model may work, the shape may not work when deformed or viewed at different distances. Therefore, what is needed is a solution that shades as if it were a model, but is flexible enough to be modified at render time. The solution to the above problem is to create a shader that enables the surface to be rendered as if it were made of planes.

[0053] Tools are written to simplify geometry at render time by tricking normals into being flat. That is, normals are quantized on each axis. In one implementation, the tool includes four methods: step size (or modulus), 3-D rounding (aligned to grid points), "latitude and longitude" mapping of normals, and cell noise. To increase complexity (especially simple step size and rounding that tend to characterize patterns of horizontal and vertical edges), inputs are added that allow other upstream functions to affect the final quantization. For the step size method, this usually means either tilting the normal before quantization or biasing the frequency along each axis. For the rounding and cell noise methods, a common method for adding irregularities is to manipulate the length of the vector. Extending the vector refines precision because as the length of N increases, the angle between N and the new vector (created by aligning the endpoints of N to the nearest grid point) will decrease. In addition, the ability to multiply is increased by changing the frequency of each axis through the changing vector, thereby expanding the search range (also used to increase precision) and the ability to allow only a percentage of cell points to affect the normal (reducing precision). Additionally, Cell Noise provides options for jitter, arrays of secondary position and distance metrics. Lat / Long mapping provides a way to get into more specific mappings, and also (because it supports filtering) provides a means to round the edges of virtual planes.

[0054] Those skilled in the art will appreciate that the various illustrative modules and method steps described herein can be implemented as electronic hardware, software, firmware or aforesaid combination. In order to clearly illustrate this interchangeability of hardware and software, various illustrative modules and method steps are generally described herein according to their functionality. Whether this functionality is implemented as hardware or software depends on specific applications and the design constraints imposed on the entire system. The technician can implement the described functionality in various ways for each specific application, but this implementation decision should not be interpreted as causing departure from the scope of the present disclosure. In addition, the functional grouping in the module or step is for ease of description. Specific functions can be moved from one module or step to another module or step without departing from the present disclosure.

[0055] In a specific implementation of the present disclosure, not all features of each of the above examples are necessarily required. In addition, it is to be understood that the description and drawings presented herein are representative of the subject matter broadly contemplated by the present disclosure. It is also to be understood that the scope of the present disclosure fully encompasses other implementations that will become apparent to those skilled in the art, and the scope of the present disclosure is accordingly limited only by the appended claims.

Claims

1. A method for generating image data of a room image for an animated film, the method comprising: generating at least one planar layer along the depth for the first room image, including conveying a room interior effect of a room visible through a window in the planar surface of the building image by assigning a color and a transparency to each of the at least one planar layer to create an illusion of depth on the planar surface; wherein each of the at least one planar layers along the depth is depicted in a plane substantially parallel to the window and behind the window glass, and the ceiling layers, floor layers, and wall layers are depicted in a plane substantially perpendicular to the window, wherein substantially parallel means that the angle between each of the at least one planar layer and the window deviates by less than 1 degree from 0 degrees, and substantially perpendicular means that the angle between each of the ceiling layers, floor layers, and wall layers and the window deviates by less than 1 degree from 90 degrees; wherein the at least one planar layer is depicted behind window glass to provide a classic animation style of an animated film; generating at least one wall layer for a wall in the first room image; creating a plurality of versions of the first room image as defined and verified layers and walls to depict a pattern inside the building by replicating one or more of the at least one planar layer for the first room image and replicating one or more of the at least one wall layer for the first room image, and creating a second room image by modifying at least one replicated planar layer and at least one replicated wall layer by adjusting a frequency and size of the pattern; and The first room image and the second room image are applied as a pattern onto a flat surface of the building image to create an illusion of depth.

2. The method according to claim 1, wherein: At least one region of uniform color is used to specify the color of each planar layer.

3. The method according to claim 1, further comprising: Each planar layer is verified, wherein each planar layer is tested to be parallel to at least one other planar layer.

4. The method according to claim 1, further comprising: A ceiling layer is generated for the ceiling in the room image, and a floor layer is generated for the floor in the room image.

5. The method according to claim 1, further comprising: Verify that the wall layer is perpendicular to one or more of the at least one planar layer.

6. The method according to claim 1, further comprising: generating at least one planar layer along depth for a third room image; generating at least one plane layer along depth for a fourth room image, wherein the third room image and the fourth room image represent a single connected room visible through two corresponding windows; calculating a disparity offset between a planar layer for the third room image and a planar layer for the fourth room image; and For at least one surface in the third room image, a shaded reflection is calculated using the parallax offset.

7. The method according to claim 1, further comprising: creating a plurality of room images from the first room image by replicating at least one plan layer and at least one wall layer; and At least one replicated plane layer and at least one replicated wall layer for each of the plurality of room images are modified.

8. A room shader for generating image data of a room image for an animated film, the room shader comprising: a layer generator to generate at least one planar layer along the depth for the first room image, conveying a room interior effect of a room visible through a window in the planar surface of the building image by specifying a color and a transparency of each of the at least one planar layer to create an illusion of depth on the planar surface; wherein each of the at least one planar layers along the depth is depicted in a plane substantially parallel to the window and behind the window glass, and the ceiling layers, floor layers, and wall layers are depicted in a plane substantially perpendicular to the window, wherein substantially parallel means that the angle between each of the at least one planar layer and the window deviates by less than 1 degree from 0 degrees, and substantially perpendicular means that the angle between each of the ceiling layers, floor layers, and wall layers and the window deviates by less than 1 degree from 90 degrees; wherein the at least one planar layer is depicted behind window glass to provide a classic animation style of an animated film; a wall generator for generating at least one wall layer for a wall in the first room image; a pattern multiplier to create multiple versions of the first room image as defined and verified as layers and walls by replicating one or more of the at least one planar layers for the first room image and replicating one or more of the at least one wall layers for the first room image to depict a pattern of the interior of the building, and to modify at least one replicated planar layer and at least one replicated wall layer by adjusting a frequency and size of the pattern to create a second room image; A pattern applicator is configured to apply the first room image and the second room image as a pattern to a flat surface of the building image to create an illusion of depth.

9. The room shader of claim 8, wherein: At least one region of uniform color is used to specify the color of each planar layer.

10. The room shader of claim 8, further comprising: The verification layer unit is used to verify each plane layer, wherein each plane layer is tested to be parallel to at least one other plane layer.

11. The room shader of claim 10, wherein: The verifying layer unit further verifies that the wall layer is perpendicular to one or more of the at least one planar layer.

12. The room shader of claim 8, further comprising: a ceiling generator for generating a ceiling layer for a ceiling in the room image; and A floor generator is used to generate a floor layer for a floor in the room image.

13. The room shader of claim 8, further comprising: Parallax shift calculator; and Reflection shader, wherein the layer generator further generates at least one plane layer along the depth for the third room image and generates at least one plane layer along the depth for the fourth room image, wherein the third room image and the fourth room image represent a single connected room visible through two corresponding windows, a parallax offset calculator for calculating a parallax offset between a plane layer for the third room image and a plane layer for the fourth room image, and A reflection shader is configured to calculate a shaded reflection for at least one surface in the third room image using the parallax offset.

14. The room shader of claim 8, wherein: The pattern multiplier is further configured to create a plurality of room images from the first room image by replicating at least one plane layer and at least one wall layer; and The pattern applicator is also used to modify at least one replicated plane layer and at least one replicated wall layer for each of the plurality of room images.

15. A non-transitory computer-readable storage medium storing a computer program for generating image data for a room image, the computer program comprising executable instructions for causing a computer to: generating at least one planar layer along the depth for the first room image, including conveying a room interior effect of a room visible through a window in the planar surface of the building image by assigning a color and a transparency to each of the at least one planar layer to create an illusion of depth on the planar surface; wherein each of the at least one planar layers along the depth is depicted in a plane substantially parallel to the window and behind the window glass, and the ceiling layers, floor layers, and wall layers are depicted in a plane substantially perpendicular to the window, wherein substantially parallel means that the angle between each of the at least one planar layer and the window deviates by less than 1 degree from 0 degrees, and substantially perpendicular means that the angle between each of the ceiling layers, floor layers, and wall layers and the window deviates by less than 1 degree from 90 degrees; wherein the at least one planar layer is depicted behind window glass to provide a classic animation style of an animated film; generating at least one wall layer for a wall in the first room image; creating multiple versions of the first room image as defined and verified layers and walls to depict a pattern inside the building by replicating the at least one plan layer for the first room image and replicating one or more of the at least one wall layer for the first room image, and modifying one or more of the at least one replicated plan layer and the at least one replicated wall layer by adjusting a frequency and size of the pattern to create a second room image; and The first room image and the second room image are applied as a pattern onto a surface of a building image to create an illusion of depth.

Citation Information

Patent Citations

  • System and Methods for Generating Procedural Window Lighting Effects

    US20170372512A1