WO2005069224A1 - Method and tool for modifying a procedural map - Google Patents

Method and tool for modifying a procedural map Download PDF

Info

Publication number
WO2005069224A1
WO2005069224A1 PCT/EP2004/000661 EP2004000661W WO2005069224A1 WO 2005069224 A1 WO2005069224 A1 WO 2005069224A1 EP 2004000661 W EP2004000661 W EP 2004000661W WO 2005069224 A1 WO2005069224 A1 WO 2005069224A1
Authority
WO
WIPO (PCT)
Prior art keywords
map
node
parameter
tool
tree
Prior art date
Application number
PCT/EP2004/000661
Other languages
French (fr)
Inventor
Sébastien DEGUY
Original Assignee
Allegorithmic
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Allegorithmic filed Critical Allegorithmic
Priority to PCT/EP2004/000661 priority Critical patent/WO2005069224A1/en
Priority to EP04701362A priority patent/EP1749280A1/en
Priority to US10/597,087 priority patent/US20070165045A1/en
Priority to PCT/EP2005/000099 priority patent/WO2005069225A2/en
Publication of WO2005069224A1 publication Critical patent/WO2005069224A1/en
Priority to US12/398,883 priority patent/US20090251480A1/en
Priority to US13/267,364 priority patent/US20120229488A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour

Definitions

  • the present invention relates to computer graphics, and in particular to procedural maps, applied in various environments such as shader.
  • Shader relates to the surface properties of a given simulated material. It may for instance define the type of reaction of a surface to its surrounding environment, and in particular to lighting. This reaction may follow a given lighting model such as one of the following: Phong, Gouraud, Blinn, etc. All these properties could be defined using constant values.
  • maps allow to define more complex environments such as 2D or 3D environments, or time dependant parameters. Shaders may be used or applied either in 2D (surface) or 3D (volume) applications. They involve for instance, texture, displacement, bump, reflectivity, specularity, transparency, color, etc.
  • Procedural maps are well known in computer science, in particular in computered design, imaging or drawing. Three main techniques are currently used in the industry in order to produce maps. These techniques are now examplified in the field of textures. However, similar comparisons are possible in other fields of shader.
  • the second technique relates to the uses of photographs of original textures.
  • This technique has the same drawbacks as the first one, that is to say the given (limited) size of the image, and the difficulties to modify a texture. For instance, if an original texture is photographed with a given type of light with a certain angle, this may not be appropriate for the particular further use of the picture. Modifications and corrections may only be made using known type image processing tools and software. However, these tools are rather time consuming. Moreover, the formats used to save the related images require important memory space.
  • the third type of technique relates to the use of known drafting tools such as Adobe Photoshop (TM), allowing to construct a texture.
  • TM Adobe Photoshop
  • the preceding drawbacks do not, in theory, apply to this technique.
  • the time required to produce textures is very important. "Hand-made” textures are thus very expensive to produce because the process is time and resource consuming, and can not be used at large scale at a reasonable cost.
  • the invention provides a method for modifying a procedural map for use with a tree driven procedural map comprising a plurality of levels (at least two levels) each having at least one node associated to at least one parameter, comprising the steps of:
  • the given input may be provided by a user, by a machine or by a computer program working in cooperation with the node selection tool);
  • the modified parameters are recursively affected to the children nodes of said selected node.
  • the tree driven procedural map is represented by the following equation: ⁇ F (2 j x- k) G . k) eT wherein: -F is a function R ⁇ ⁇ R -x is a vector of the type (xi , x 2 ,...., x n ); -T is a tree comprising nodes ( j , k ) and wherein -j indicates the current level, among a total potential number of levels jmax ( j e (0, 1 , 2, altogether jmax ) -k is a displacement vector for each node N and of the type (Xi , x 2 , x n ).
  • the possibility to modify a map on a local basis or scale is possible due to the tree arrangement of the map.
  • Such a structure allows to act locally, for instance on a node or a branch, without affecting the remaining nodes or branches.
  • the tree arrangement allows to provide recursiv or non-recursive modifications.
  • the method and tools of the invention allow to operate either on a local (node) or global (entire map) basis or scale.
  • the modifiable parameters are advantageously selected in the list comprising: the morphlet F, the maximum number of levels (jmax).
  • the tree may comprise an intermittency parameter (p).
  • the tree may also comprise a displacement parameter (D), a Hurst parameter (H) (for instance a roughness value), a random value ( ⁇ ).
  • the tree driven procedural map is represented by the following equation:
  • -F is a function R n ⁇ R -x is a vector of the type (xi , x 2 ,...., x n );
  • - T D ,p represents an tree provided with an intermittency parameter (p), and comprising nodes ( j , k ) and a displacement value (D), wherein -j indicates the current level, among a total potential number of level jmax (j ⁇ (0, 1 , 2, ....Jmax ) -k is a displacement vector for each node N and of the type (xi , x 2 , x n ) -H represents a Hurst parameter, for instance a roughness value; - ⁇ represents a random number.
  • the modifiable parameters are advantageously selected in the list comprising: the morphlet F, the maximum number of levels (jmax), a Hurst parameter (roughness value) (H), a random number ( ⁇ ), an intermittency parameter (p), a displacement value (D).
  • the procedural map may be a texture map, or the procedural map type may be selected from the list comprising: displacement, bump, reflectivity, specularity, ambient color, diffuse color, specular color, transparency, color, shininess, self- emission, anisotropy, refractive index.
  • the map is time dependant: any, or all parameter may be time dependant. This type of map is very important for many types of applications related to animation, video, etc. The present method and tools also apply to these maps.
  • the invention also provides a software product, or computer program product readable by a computer and encoding instructions for executing the above mentioned computer process.
  • the invention also provides a procedural map modification tool for use with a tree driven procedural map comprising a plurality of levels (at least two levels) each having at least one node associated to at least one parameter, comprising : ⁇ a node selection tool allowing the selection of at least one node of one level among the plurality of nodes of a map to be modified; ⁇ a parameter setting tool allowing the modification of at least one parameter of the selected node; ⁇ a processing unit, for the processing of said parameters to generate a map; ⁇ operating instructions, for the operation of said tool and namely of the processing unit.
  • the tool is advantageously adapted for the modification of a tree driven procedural map represented by the following equation: 0 , k) eT wherein: -F is a function R n ⁇ R -x is a vector of the type (xi , x 2 ,...., x n ); -T is a tree comprising nodes ( j , k ) and wherein -j indicates the current level, among a total potential number of levels jmax ( j ⁇ (0, 1 , 2, jmax ) -k is a displacement vector for each node N and of the type (xi , x 2 ,...., Xn )-
  • the tool is dvantageously adapted for the modification of at least one parameter selected in the list comprising: the morphlet F, the maximum number of levels (jmax).
  • the tool is advantageously adapted for the modification of a tree driven procedural map represented by the following equation:
  • -F is a function R n ⁇ R -x is a vector of the type (xi , x 2 ,...., x n );
  • - TD P represents an tree provided with an intermittency parameter (p), and comprising nodes ( j , k ) and a displacement value (D), wherein -j indicates the current level, among a total potential number of level jmax, j ⁇ (0, 1 , 2, ....Jmax );
  • -k is a displacement vector for each node N and of the type (xi , x 2 ,...., x n );
  • -H represents a Hurst parameter (for instance a roughness value);
  • - ⁇ represents a random number.
  • the tool is advantegeously adapted for the modification of at least one parameter selected in the list comprising: the function F, the current level ), the maximum number of levels Gmax), a Hurst parameter (H) (roughness value), a random value ( ⁇ ), an intermittency parameter (p), a displacement value (D).
  • the node selection tool is advantageously provided with a "deepness" selection unit allowing the selection of a given level (j) of said tree.
  • the node selection tool advantegeously comprises a movable screen target, for the localisation and/or selection of a node-object.
  • the movable screen target may be operable with a computer cursor displacement device.
  • the map modification tool is advantegeously comprised in a tree driven procedural map generation tool.
  • the invention alos provides a procedural map generation tool, for the generation of tree driven procedural maps comprising a plurality of levels (at least two levels) each having at least one node associated to at least one parameter, comprising: ⁇ a map parameter input unit, for the input of the procedural map parameters; ⁇ a map processing unit, for the processing of the parameters, (to obtain a map); ⁇ operating instructions, for the operation of said tool and namely of the processing unit; ⁇ a map modification tool, comprising: - a node selection tool allowing the selection of at least one node of one level among the plurality of nodes of a map to be modified; - a parameter modification tool allowing the modification of at least one parameter of the selected node.
  • the procedural map generation tool advantegeously comprises an output for a map display unit, allowing the presentation of said map on a display.
  • -figures 1 to 20 illustrate different examples of layers and maps; -figures 21 to 25 illustrate examples of local modifications on maps; -figures 26 to 30 show examples of different trees: figure 26 shows a basic tree and the other figures show how a tree may be modified with the modification of at least one of its parameters; -figure 31 show the two main types of parameters; -figures 32 to 37 illustrates examples of interfaces of the tool of the invention.
  • n 2 for an image
  • n 1 for a curve
  • at j 0, a single node is provided.
  • the function F providing a major contribution to define the basic shape of the node-object, is also called in this document a "morphlet” . This word takes its origin from the Greek prefix "morph” and the word "wavelet”.
  • a morplet can be of almost any type of shape.
  • Such a tree driven map may be represented by the following equation:
  • -F is a function or morphlet R ⁇ ⁇ R -x is a vector of the type (xi , x 2 , x n );
  • -T is a tree comprising nodes ( j , k ) and wherein -j indicates the current level, among a total potential number of levels jmax (j e (0, 1 , 2 Jmax ) ;
  • -k is a displacement vector for each node N and of the type (x-i , x 2 , Xn ).
  • Figures 1 , 2 et 3 illustrate different steps for the generation of a tree driven procedural map according to the basic, or simplified, mathematical equation, as previously described.
  • a single node-object NO is provided, in the form of a uniform and centered disk.
  • the layer is provided with four node-objects, in this example, four disks of smaller size, each one being of uniform size and shape.
  • the layer is divided in four sections, each forming a node-object. Each section fills one quarter of the initial map size, according to a uniform and symmetrical quadratic arrangement.
  • each parameter from one level to another one, is thus clearly visible.
  • the parameter j indicates the current level
  • the parameter k allows the displacement of a node-object, in this example from the center of the map to the center of a quarter.
  • the morphlet F remains unchanged from one level to the other.
  • each node-object of the previous level is divided into 4 sections. Each quarter is provided with a node-object, in this example similar to the disks of the previous level, but four times smaller.
  • Figure 5 illustrates a similar sum of multiples sub-maps, using the same morphlet as figures 1 to 4, but with a larger number of levels, thus involving a higher number of node-objects.
  • jmax log 2 (display resolution), which means that the number of levels Gmax) is a function of the display resolution.
  • the size of a node-object is limited to the size of a pixel. Though the sum could be provided for a larger number of levels, the result could not be visible on the display. In this case, such a "deeper" map is thus in practice of theoretical interest.
  • the resulting node-object is then a two dimensional Gauss type function, instead of a disk.
  • the support size is divided by two. If the amplitude of the function or morphlet to sum is kept unchanged, the energy level in the node-object is doubled. To avoid this situation, and to control the energy level from one level to the other, the equation may be adapted (adding 2 "j to the equation), with the following result: ⁇ 2- j F (2 J' x - k) G . k)eT
  • Figure 12 is similar to figure 5, but based on a Gauss type morphlet.
  • the maps are always configurated with a uniform structure, systematically repeated at each level or layer.
  • the resulting maps in particular when used to define procedural textures, may sometimes have a tendancy to look rather « artificial cheese This is mainly due to the fact that natural objects are in general not based on such uniform, and rigourously repetitive structures.
  • the mathematical equation in a further variant, may be completed with a random number ⁇ (j , k).
  • Figure 13 illustrates a procedural map obtained with such an equation, provided with a random number. It can clearly be observed that the typical quadratic regular structure of the preceding examples is no longer reproduced in this example. The orientation and structure of the map is partly influenced by a random number. The importance of this influence may be adjusted by the selection of a higher or lower value of the parameter. For instance, the example of figure 13 corresponds to the example of figure 11 , with ⁇ ( j , k). being a random variable of uniform law comprised between -1 and +1.
  • the mathematical equation may still be optimised with the use of a HURST parameter, designated H.
  • H is advantageously a constant.
  • H ⁇ [ 0 , 1 ].
  • This parameter contributes to the management of scale laws in self-similar processes. With the use of this parameter, the tree driven sum process is then self-similar by itself. Following such a law, even after a change of scale, a similar object is observable as before the scale modification. For instance, a cloud fragment looks like a complete cloud.
  • H is also linearly linked to the fractal dimension. For a low value of H, the signal is irregular, and the fractal dimension is high.
  • the Hurst parameter corresponds in practice to a roughness parameter. With H ⁇ 1 , the surface is smoother; with H ⁇ O, the surface becomes rougher, as illustrated in figures 14 to 16.
  • Figure 22 illustrates an example of a tree comprising nodes having different H values.
  • -F is a function R n ⁇ R -x is a vector of the type (xi , x 2 ,...., x n );
  • - T represents an tree comprising nodes (j , k), wherein -j indicates the current level, among a total potential number of level jmax(je(0, 1,2, jmax) -k is a displacement vector for each node N and of the type (xi , x 2 ,...., Xn) -H represents the Hurst parameter;
  • - ⁇ represents a random number;
  • the mathematical equation may be further improved with the addition of T p representing a tree provided with an intermittency parameter (p), and comprising nodes ( j , k ), with the resulting equation:
  • -F is a function R n ⁇ R -x is a vector of the type (xi , x 2 ,...., x n );
  • - T p represents an tree provided with an intermittency parameter (p), and comprising nodes (j , k), wherein -j indicates the current level, among a total potential number of level jmax (j ⁇ (0, 1,2, ....Jmax) -k is a displacement vector for each node N and of the type (xi , x 2 ,...., Xn) -H represents a roughness parameter;
  • - ⁇ represents a random parameter.
  • Figure 24 illustrates an example of a tree influenced with a given value of a parameter p. The example shows that some nodes have been suppressed, or are not existing.
  • the tree structure or configuration also allows to provide a further specific effect or map modification, with a further parameter, D, corresponding to a displacement of one of more nodes from their original positions.
  • D a further parameter
  • Figure 19 and 20 illustrate this possibility.
  • D 0.5.
  • the comparison between the two figures clearly shows the stronger displacement of some of the node-objects, based on a random law.
  • Figure 25 illustrate an exampe of a tree influenced with the use of a displacement D.
  • Figure 31 illustrates a different definition of the nodes of a tree based on the type of effect of each parameter.
  • action such as intermittency p and displacement D
  • structural such as the Hurst parameter H, the morphlet F and the random parameter ⁇ .
  • Figure 32 illustrates an example of a working interface provided by a map generation/modification tool 10 according to the invention. According to different variants of the invention, such a tool may be provided either for the modification of maps, or for the generation and modifications of maps.
  • the map generation/modification tool 10 comprises a node selection tool 20, having a level (J) selection unit 21 and a node selection unit 22, which allows the selection of a node in the selected level.
  • a node selection tool 20 having a level (J) selection unit 21 and a node selection unit 22, which allows the selection of a node in the selected level.
  • the user will select a layer (corresponding to a given level G)) and a node-object (corresponding to a node (k)).
  • the map generation/modification tool 10 also comprises a parameter setting tool 30 allowing to select a parameter to modify and set its value (either new or modified). To perform a modification of a given map 50, a node 41 or a plurality of nodes shall first be selected.
  • the node selection tool 20 provides this possibility.
  • Such a tool is advantageously provided with at least two features or functions : a level selection unit 21 , such as a cursor, as in figure 27, and a node selection unit 22.
  • the node selection unit is provided with a mobile screen target 23.
  • the movable screen target 23 is advantageously shaped in order to delimit at least one node- object 51 in a given layer.
  • the display 23 is of a substantially square shape.
  • the tool is advantageously provided with a displacement mode such as to allow the automatic positioning of the display on a node-object or a set of nodes, for instance the nearest ones, when the movable screen target is not properly positioned on a given node-object.
  • the movable screen target may be controlled with any known computer command such as a mouse, a pointer, keyboard keys such as for instance the arrows, or a remote control unit such as a command software, circuit or machine. It may also be controlled directly from the interface of the node selection tool 20, for instance with a cursor 24 controlling the positioning of the movable screen target 23 in the map.
  • figure 22 illustrates the node selection unit 22 provided with a movable screen target 23.
  • the size and shape of the movable screen target 23 is adapted to the size and shape of the node-object 51 of the selected level.
  • the movable screen target allows to select any node of the selected level.
  • the node selection tool 20 is advantageously provided with a node enhancement feature, allowing to indicate to the user which nodes are selected. Such an indication may be provided either with a change of color or brightness or with a flashing mode, or any other visual indication.
  • the map modification tool 10 is also preferably provided with a deepness selection unit 26, allowing to user to indicate if the modifications relate only to the nodes of the given level, or if the sub-trees shall also be modified accordingly. In such a case, all dependent nodes, or a certain proportion or percentage of them are modified with the selected nodes with the same modifications.
  • the parameter setting tool 30 allows first to select which parameter shall be modified, and the new value of this parameter.
  • the parameter setting tool 30 allows the selection and modification of at least one parameter, and preferably of many parameters, such as, for instance the parameters previously described in this document: F: 34, H: 35, ⁇ : 36, p: 33, D(x): 31 , D(y): 32.
  • the map modification tool 10 preferably comprises two modes: Global (G) / Local (L).
  • the global mode is selected with selector 37 to modify an entire map.
  • the level and node selection units are then either not used or desactiviated.
  • the modification of one or more parameters is performed as described earlier, but, according to this mode, it applies to the complete map, and the step relating to the selection of a level and a node-object are not required.
  • the modification tool 10 may provide the possibility to delete or suppress a node or a set of nodes.
  • Figures 21 to 25 illustrate examples of map modifications, performed on a local scale, with the tool and method according to the invention.
  • the morphlet below (F21) relates to this figure : F21
  • Figures 24 and 25 show the selection of a node-object 51 (figure 24), and its modification (figure 25).
  • the modification consist in a modification of the morplet or function F, as shown herebelow: F25
  • Figures 35, 36 and 37 provide variants of the interfece 10.
  • a 2D/3D selector 60 is added, to select the value of n.
  • a timeline 70 is also added, to allow a time value to any time-dependant parameter. These modified interfaces may be helpfull to allow to work with different types of shaders.
  • Figures 36 and 37 also illustrate a modification of some parameters similar to the modifications of figures 33 and 34.
  • Figure 38 illustrates an example of the use of procedural maps. In this example, different maps are combined to provided a virtual representation of a complex material, such as a wall, provided with stones of different sizes and shapes.
  • the method and device of the invention could also be implemented for use with other types of maps.
  • the method and devices of the invention also applies to the following types of maps: displacement, bump, reflectivity, specularity, ambient color, diffuse color, specular color, transparency, color, shininess, self-emission, anisotropy, refractive index, etc.
  • the present invention could also be provided as a plug-in to an existing software.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Method for modifying a procedural map for use with a tree driven procedural map comprising a plurality of levels (at least two levels) each having at least one node associated to at least one parameter, comprising the steps of: • providing a node selection tool allowing the selection of at least one node of one level among the plurality of nodes of a map to be modified; • select a given node according to a given input; • provide a parameter modification tool allowing the modification of at least one parameter of the selected node; • modify said parameter of said node based on a given input; • calculate a modified map based on the modified parameters.The invention also provides the map generation and modification tools for the implementation of this method.

Description

Method and tool for modifying a procedural map
FIELD OF THE INVENTION
The present invention relates to computer graphics, and in particular to procedural maps, applied in various environments such as shader. Shader relates to the surface properties of a given simulated material. It may for instance define the type of reaction of a surface to its surrounding environment, and in particular to lighting. This reaction may follow a given lighting model such as one of the following: Phong, Gouraud, Blinn, etc. All these properties could be defined using constant values. However, maps allow to define more complex environments such as 2D or 3D environments, or time dependant parameters. Shaders may be used or applied either in 2D (surface) or 3D (volume) applications. They involve for instance, texture, displacement, bump, reflectivity, specularity, transparency, color, etc.
BACKGROUND OF THE INVENTION
Procedural maps are well known in computer science, in particular in computered design, imaging or drawing. Three main techniques are currently used in the industry in order to produce maps. These techniques are now examplified in the field of textures. However, similar comparisons are possible in other fields of shader.
First, the use of libraries. Depending on the type of design to prepare, specialized libraries are available to provide a wide selection of existing textures, in various fields, such as wood, stone, clouds, terrain, etc. These "of the shelf textures are easy to use, and easy to install in a wide variety of different applications. However, they are of a given (finite) dimension. If the application relates to the use of a large size texture, in particular larger than the current size of the standard existing texture of the library, the user has to duplicate the texture a certain number of times, depending on the size of its application. If many duplications are necessary, the resulting "enlarged" texture could look like a kind of puzzle or "patchwork", using a unique tile or path many times. The resulting effect may be far away from the original intention to provide a uniform and homogeneous wide size texture. In addition to this, the possibilities to modify the resulting large size texture are very limited and necessitate an important amount of work.
The second technique relates to the uses of photographs of original textures. This technique has the same drawbacks as the first one, that is to say the given (limited) size of the image, and the difficulties to modify a texture. For instance, if an original texture is photographed with a given type of light with a certain angle, this may not be appropriate for the particular further use of the picture. Modifications and corrections may only be made using known type image processing tools and software. However, these tools are rather time consuming. Moreover, the formats used to save the related images require important memory space.
The third type of technique relates to the use of known drafting tools such as Adobe Photoshop (TM), allowing to construct a texture. The preceding drawbacks (except the required memory space) do not, in theory, apply to this technique. However, the time required to produce textures is very important. "Hand-made" textures are thus very expensive to produce because the process is time and resource consuming, and can not be used at large scale at a reasonable cost.
Shaders and textures using procedural maps have been developed in recent years to try to avoid these various drawbacks. However, with current methods, it is not possible to modify the resulting maps, shaders or textures. SUMMARY OF THE INVENTION
To avoid these (and further) drawbacks, the invention provides a method for modifying a procedural map for use with a tree driven procedural map comprising a plurality of levels (at least two levels) each having at least one node associated to at least one parameter, comprising the steps of:
• providing a node selection tool allowing the selection of at least one node of one level among the plurality of nodes of a map to be modified;
• select a given node according to a given input; (the given input may be provided by a user, by a machine or by a computer program working in cooperation with the node selection tool);
• provide a parameter modification tool allowing the modification of at least one parameter of the selected node;
• modify said parameter of said node based on a given input; (the given input may be provided by a user, by a machine or by a computer program working in cooperation with the node selection tool);
• calculate a modified map based on the modified parameters.
In a variant, the modified parameters are recursively affected to the children nodes of said selected node.
According to an example of the invention, the tree driven procedural map is represented by the following equation: ∑ F (2jx- k) G . k) eT wherein: -F is a function Rπ →R -x is a vector of the type (xi , x2 ,...., xn ); -T is a tree comprising nodes ( j , k ) and wherein -j indicates the current level, among a total potential number of levels jmax ( j e (0, 1 , 2, ..... jmax ) -k is a displacement vector for each node N and of the type (Xi , x2 , xn ).
The possibility to modify a map on a local basis or scale, is possible due to the tree arrangement of the map. Such a structure allows to act locally, for instance on a node or a branch, without affecting the remaining nodes or branches. Moreover, the tree arrangement allows to provide recursiv or non-recursive modifications. The method and tools of the invention allow to operate either on a local (node) or global (entire map) basis or scale.
The modifiable parameters are advantageously selected in the list comprising: the morphlet F, the maximum number of levels (jmax).
In a variant, the tree may comprise an intermittency parameter (p). In a further variants, the tree may also comprise a displacement parameter (D), a Hurst parameter (H) (for instance a roughness value), a random value (ξ).
In another example, the tree driven procedural map is represented by the following equation:
∑ 2-jH F (2j x - ) ξα , k) 0 , k)eTDιP wherein: -F is a function Rn →R -x is a vector of the type (xi , x2 ,...., xn); - TD,p represents an tree provided with an intermittency parameter (p), and comprising nodes ( j , k ) and a displacement value (D), wherein -j indicates the current level, among a total potential number of level jmax (j ε (0, 1 , 2, ....Jmax ) -k is a displacement vector for each node N and of the type (xi , x2 , xn) -H represents a Hurst parameter, for instance a roughness value; -ξ represents a random number.
According to this equation, the modifiable parameters are advantageously selected in the list comprising: the morphlet F, the maximum number of levels (jmax), a Hurst parameter (roughness value) (H), a random number (ξ), an intermittency parameter (p), a displacement value (D).
The procedural map may be a texture map, or the procedural map type may be selected from the list comprising: displacement, bump, reflectivity, specularity, ambient color, diffuse color, specular color, transparency, color, shininess, self- emission, anisotropy, refractive index.
The sum (of the above equations) is advantageously a generalised sum. Thus, any type of operation or function may be provided, such as substraction, maximum, multiplication, etc.
In another variant, the map is time dependant: any, or all parameter may be time dependant. This type of map is very important for many types of applications related to animation, video, etc. The present method and tools also apply to these maps.
The invention also provides a software product, or computer program product readable by a computer and encoding instructions for executing the above mentioned computer process. The invention also provides a procedural map modification tool for use with a tree driven procedural map comprising a plurality of levels (at least two levels) each having at least one node associated to at least one parameter, comprising : ❖ a node selection tool allowing the selection of at least one node of one level among the plurality of nodes of a map to be modified; ❖ a parameter setting tool allowing the modification of at least one parameter of the selected node; ❖ a processing unit, for the processing of said parameters to generate a map; ❖ operating instructions, for the operation of said tool and namely of the processing unit.
In a variant, the tool is advantageously adapted for the modification of a tree driven procedural map represented by the following equation:
Figure imgf000007_0001
0 , k) eT wherein: -F is a function Rn→R -x is a vector of the type (xi , x2 ,...., xn); -T is a tree comprising nodes ( j , k ) and wherein -j indicates the current level, among a total potential number of levels jmax ( j ε (0, 1 , 2, jmax ) -k is a displacement vector for each node N and of the type (xi , x2 ,...., Xn )-
The tool is dvantageously adapted for the modification of at least one parameter selected in the list comprising: the morphlet F, the maximum number of levels (jmax). In another variant, the tool is advantageously adapted for the modification of a tree driven procedural map represented by the following equation:
∑ 2-jH F (2j x - k) ξ0 , k) 0 . k)eT ιP wherein: -F is a function Rn →R -x is a vector of the type (xi , x2 ,...., xn); - TD,P represents an tree provided with an intermittency parameter (p), and comprising nodes ( j , k ) and a displacement value (D), wherein -j indicates the current level, among a total potential number of level jmax, j ε (0, 1 , 2, ....Jmax ); -k is a displacement vector for each node N and of the type (xi , x2 ,...., xn); -H represents a Hurst parameter (for instance a roughness value); -ξ represents a random number.
In a variant, the tool is advantegeously adapted for the modification of at least one parameter selected in the list comprising: the function F, the current level ), the maximum number of levels Gmax), a Hurst parameter (H) (roughness value), a random value (ξ), an intermittency parameter (p), a displacement value (D).
The node selection tool is advantageously provided with a "deepness" selection unit allowing the selection of a given level (j) of said tree.
The node selection tool advantegeously comprises a movable screen target, for the localisation and/or selection of a node-object. The movable screen target may be operable with a computer cursor displacement device. The map modification tool is advantegeously comprised in a tree driven procedural map generation tool.
The invention alos provides a procedural map generation tool, for the generation of tree driven procedural maps comprising a plurality of levels (at least two levels) each having at least one node associated to at least one parameter, comprising: ❖ a map parameter input unit, for the input of the procedural map parameters; ❖ a map processing unit, for the processing of the parameters, (to obtain a map); ❖ operating instructions, for the operation of said tool and namely of the processing unit; ❖ a map modification tool, comprising: - a node selection tool allowing the selection of at least one node of one level among the plurality of nodes of a map to be modified; - a parameter modification tool allowing the modification of at least one parameter of the selected node.
The procedural map generation tool advantegeously comprises an output for a map display unit, allowing the presentation of said map on a display.
BRIEF DESCRIPTION OF THE DRAWINGS
Objects, features, advantages and alternative aspects of the invention will become apparent to those skilled in the art from a consideration of the following detailed description taken in combination with the accompanying drawings, which illustrate:
-figures 1 to 20 illustrate different examples of layers and maps; -figures 21 to 25 illustrate examples of local modifications on maps; -figures 26 to 30 show examples of different trees: figure 26 shows a basic tree and the other figures show how a tree may be modified with the modification of at least one of its parameters; -figure 31 show the two main types of parameters; -figures 32 to 37 illustrates examples of interfaces of the tool of the invention.
DETAILED DESCRIPTION
The present invention is based on the use of tree driven procedural maps. Figures 21 to 25 illustrate examples of structures of such a tree (in the specific case for which n=1 , wherein n is the dimension of the support. For instance, n = 2 for an image, n = 1 for a curve, n = 3 for a volume). In the example of figure 21 , at j = 0, a single node is provided. Two children nodes are provided at level j = 1, and four at level j = 2. All nodes are similar. The function F, providing a major contribution to define the basic shape of the node-object, is also called in this document a "morphlet" . This word takes its origin from the Greek prefix "morph" and the word "wavelet". A morplet can be of almost any type of shape. Such a tree driven map may be represented by the following equation:
∑ ∑ F (2jx - k) , ( j , k ) j k
forming a tree T, and also represented in this document by :
Figure imgf000010_0001
0' , k) GT wherein: -F is a function or morphlet Rπ →R -x is a vector of the type (xi , x2 , xn ); -T is a tree comprising nodes ( j , k ) and wherein -j indicates the current level, among a total potential number of levels jmax (j e (0, 1 , 2 Jmax ) ; -k is a displacement vector for each node N and of the type (x-i , x2 , Xn ).
Figures 1 , 2 et 3 illustrate different steps for the generation of a tree driven procedural map according to the basic, or simplified, mathematical equation, as previously described. Figure 1 illustrates the layer formed at the first level G = 0), with the following morphlet F = 1 if x2+y2 < 1 , otherwise F = 0. At j = 0, with a single node, a single node-object (NO) is provided, in the form of a uniform and centered disk.
Figure 2 illustrates the second layer, formed at the second level G = 1) for the same morphlet F. The layer is provided with four node-objects, in this example, four disks of smaller size, each one being of uniform size and shape. The layer is divided in four sections, each forming a node-object. Each section fills one quarter of the initial map size, according to a uniform and symmetrical quadratic arrangement. In each node-object, a disk, similar to the disk of the previous level (j = 0 ) in figure 1 , but four times smaller, is provided.
The effect of each parameter, from one level to another one, is thus clearly visible. The parameter j indicates the current level, the parameter k allows the displacement of a node-object, in this example from the center of the map to the center of a quarter. The morphlet F remains unchanged from one level to the other.
Figure 3 illustrates the third layer (j = 2) also for the same morphlet F. Once again, each node-object of the previous level is divided into 4 sections. Each quarter is provided with a node-object, in this example similar to the disks of the previous level, but four times smaller. Figure 4 illustrates the sum of these three layers. Due to the very simple shape of each node-object of each layer, provided by this examplified morphlet, it is possible to see in figure 4 the various disks of various sizes corresponding to the different levels from j = 0 to j = 2. Of course, if a complex function is used, or if more levels are considered, the probability to be able to distinguish each node- object of each level is then reduced.
Figure 5 illustrates a similar sum of multiples sub-maps, using the same morphlet as figures 1 to 4, but with a larger number of levels, thus involving a higher number of node-objects. In fact, in this example, jmax = log2 (display resolution), which means that the number of levels Gmax) is a function of the display resolution. The size of a node-object is limited to the size of a pixel. Though the sum could be provided for a larger number of levels, the result could not be visible on the display. In this case, such a "deeper" map is thus in practice of theoretical interest.
Figures 6 to 10 are comparable to figures 1 to 4, but with a different morphlet: F(x,y) = exp ( -x2 - y2 ). The resulting node-object is then a two dimensional Gauss type function, instead of a disk. The comparison of the figures of similar layers, for instance figures 1 and 6 for j =0, figures 2 and 7, for j = 1 , figures 3 and 8 for j = 2, allows to observe the effect of the mophlet modification. Similar structures are provided, with node-objects having a different look or aspect.
The comparison of figures 4 and 5 respectiviely with figures 9 and 10 reveals similar effects, first with a low number of levels ( jmax = 2) in figure 4 and 9, and then, in figures 5 and 10, with a number of levels adjusted to correspond to the size of a pixel.
In the previous examples, from level j to level j+1 , the support size is divided by two. If the amplitude of the function or morphlet to sum is kept unchanged, the energy level in the node-object is doubled. To avoid this situation, and to control the energy level from one level to the other, the equation may be adapted (adding 2"j to the equation), with the following result: ∑ 2-j F (2J' x - k) G . k)eT
Figure 11 illustrates a disk shaped morphlet, with j = jmax, with the modified equation to consider the energy levels. The resulting map is clearer as compared with figure 5. Figure 12 is similar to figure 5, but based on a Gauss type morphlet.
In the previous examples, the maps are always configurated with a uniform structure, systematically repeated at each level or layer. The resulting maps, in particular when used to define procedural textures, may sometimes have a tendancy to look rather « artificial ». This is mainly due to the fact that natural objects are in general not based on such uniform, and rigourously repetitive structures. Thus, in order to better simulate natural objects, the mathematical equation, in a further variant, may be completed with a random number ξ(j , k).
The resulting mathematical equation is thus :
∑ 2-J' F (2j x - k) ξα , k) G , k)eT
where ξ is a random number.
In the case of a map having of a tree structure including a random number, the tree is no longer homogeneous and the distribution of the different node-objects is based on a given random law for ξϋ ι k). Figure 13 illustrates a procedural map obtained with such an equation, provided with a random number. It can clearly be observed that the typical quadratic regular structure of the preceding examples is no longer reproduced in this example. The orientation and structure of the map is partly influenced by a random number. The importance of this influence may be adjusted by the selection of a higher or lower value of the parameter. For instance, the example of figure 13 corresponds to the example of figure 11 , with ξ(j , k). being a random variable of uniform law comprised between -1 and +1.
In a further variant, the mathematical equation may still be optimised with the use of a HURST parameter, designated H. For a given map, H is advantageously a constant. For example, H ε [ 0 , 1 ]. This parameter contributes to the management of scale laws in self-similar processes. With the use of this parameter, the tree driven sum process is then self-similar by itself. Following such a law, even after a change of scale, a similar object is observable as before the scale modification. For instance, a cloud fragment looks like a complete cloud. H is also linearly linked to the fractal dimension. For a low value of H, the signal is irregular, and the fractal dimension is high. In texture maps, the Hurst parameter corresponds in practice to a roughness parameter. With H →1 , the surface is smoother; with H→O, the surface becomes rougher, as illustrated in figures 14 to 16. Figure 22 illustrates an example of a tree comprising nodes having different H values.
In figure 14, the example of figure 13 is used, with H=0.2. In figure 15, the example of figure 13 is used, with H=0.5. In figure 16, the example of figure 13 is used, with H=0.8.
The resulting mathematical equation is then :
∑ 2-jH F (2j x - k) ξ(j ι k) G k)eT wherein: -F is a function Rn →R -x is a vector of the type (xi , x2 ,...., xn ); - T represents an tree comprising nodes (j , k), wherein -j indicates the current level, among a total potential number of level jmax(je(0, 1,2, jmax) -k is a displacement vector for each node N and of the type (xi , x2 ,...., Xn) -H represents the Hurst parameter; -ξ represents a random number;
In another variant, the mathematical equation may be further improved with the addition of Tp representing a tree provided with an intermittency parameter (p), and comprising nodes ( j , k ), with the resulting equation:
∑ 2-jHF(2jx-k)ξ(jιk) G > k)eTp wherein: -F is a function Rn →R -x is a vector of the type (xi , x2 ,...., xn ); - Tp represents an tree provided with an intermittency parameter (p), and comprising nodes (j , k), wherein -j indicates the current level, among a total potential number of level jmax (jε(0, 1,2, ....Jmax) -k is a displacement vector for each node N and of the type (xi , x2 ,...., Xn) -H represents a roughness parameter; -ξ represents a random parameter. p represents a probability to suppress branches of the tree T. For instance, in figure 17, p=0.2, meaning a probability of 0.2 to suppress branches (or sub-trees) of the tree T. In figure 18, p=0.8, meaning a probability of 0.8 to suppress branches (or sub-trees) of the tree T. Figure 24 illustrates an example of a tree influenced with a given value of a parameter p. The exemple shows that some nodes have been suppressed, or are not existing.
The tree structure or configuration also allows to provide a further specific effect or map modification, with a further parameter, D, corresponding to a displacement of one of more nodes from their original positions. Figure 19 and 20 illustrate this possibility. In these figures, using a similar example as figure 15, p = 0 and D = 0.2. That is to say, the probability to displace a node-object is between 0 and 20 %. In figure 20, D = 0.5. The comparison between the two figures clearly shows the stronger displacement of some of the node-objects, based on a random law. Figure 25 illustrate an exampe of a tree influenced with the use of a displacement D.
The corresponding equation is then : ∑ 2-jH F (2j x - k) ξ0 , k) 0 , k)eTD>p wherein: -F is a function Rn →R -x is a vector of the type (xi , x2 ,...., xn ); - TD,P represents an tree provided with an intermittency parameter (p), and comprising nodes (j , k ), and a displacement D, wherein -j indicates the current level, among a total potential number of level jmax ( j ε (0, 1 , 2, ....Jmax ) -k is a displacement vector for each node N and of the type (x1 , x2 ,...., Xn ) -H represents a roughness value; -ξ represents a random number;
Of course, different equations are also possible, by the suppression or addition of one or more parameters, for instance in the different sequence than the one presented in the previous examples. Any other equation using a different combination of these parameters is also considered within the scope of the present invention.
Figure 31 illustrates a different definition of the nodes of a tree based on the type of effect of each parameter. Two families or categories of parameters are illustrated: "action" parameters, such as intermittency p and displacement D, and "structural" parameters, such as the Hurst parameter H, the morphlet F and the random parameter ξ.
MODIFICATIONS OF AN EXISTING MAP
Figure 32 illustrates an example of a working interface provided by a map generation/modification tool 10 according to the invention. According to different variants of the invention, such a tool may be provided either for the modification of maps, or for the generation and modifications of maps.
According to the invention, the map generation/modification tool 10 comprises a node selection tool 20, having a level (J) selection unit 21 and a node selection unit 22, which allows the selection of a node in the selected level. In practice, as described herebelow, the user will select a layer (corresponding to a given level G)) and a node-object (corresponding to a node (k)).
The map generation/modification tool 10 also comprises a parameter setting tool 30 allowing to select a parameter to modify and set its value (either new or modified). To perform a modification of a given map 50, a node 41 or a plurality of nodes shall first be selected. The node selection tool 20 provides this possibility. Such a tool is advantageously provided with at least two features or functions : a level selection unit 21 , such as a cursor, as in figure 27, and a node selection unit 22.
The node selection unit is provided with a mobile screen target 23. The movable screen target 23 is advantageously shaped in order to delimit at least one node- object 51 in a given layer. In the various examples, the display 23 is of a substantially square shape. To make easier the selection of nodes, the tool is advantageously provided with a displacement mode such as to allow the automatic positioning of the display on a node-object or a set of nodes, for instance the nearest ones, when the movable screen target is not properly positioned on a given node-object. The movable screen target may be controlled with any known computer command such as a mouse, a pointer, keyboard keys such as for instance the arrows, or a remote control unit such as a command software, circuit or machine. It may also be controlled directly from the interface of the node selection tool 20, for instance with a cursor 24 controlling the positioning of the movable screen target 23 in the map.
In addition to figures 32, 33 and 34, the example of figure 22 illustrates the node selection unit 22 provided with a movable screen target 23. Once a level is selected, the size and shape of the movable screen target 23 is adapted to the size and shape of the node-object 51 of the selected level. The movable screen target allows to select any node of the selected level.
The node selection tool 20 is advantageously provided with a node enhancement feature, allowing to indicate to the user which nodes are selected. Such an indication may be provided either with a change of color or brightness or with a flashing mode, or any other visual indication. The map modification tool 10 is also preferably provided with a deepness selection unit 26, allowing to user to indicate if the modifications relate only to the nodes of the given level, or if the sub-trees shall also be modified accordingly. In such a case, all dependent nodes, or a certain proportion or percentage of them are modified with the selected nodes with the same modifications.
The parameter setting tool 30 allows first to select which parameter shall be modified, and the new value of this parameter. The parameter setting tool 30 allows the selection and modification of at least one parameter, and preferably of many parameters, such as, for instance the parameters previously described in this document: F: 34, H: 35, ξ: 36, p: 33, D(x): 31 , D(y): 32.
The map modification tool 10 preferably comprises two modes: Global (G) / Local (L). The global mode is selected with selector 37 to modify an entire map. The level and node selection units are then either not used or desactiviated. The modification of one or more parameters is performed as described earlier, but, according to this mode, it applies to the complete map, and the step relating to the selection of a level and a node-object are not required. If the local mode is selected, local modifications are possible. Local modifications means modification performed at the scale of the node-objects, for at least one node- object.
As a variant, the modification tool 10 may provide the possibility to delete or suppress a node or a set of nodes. Figures 22 and 23 illustrate an example of such a nodes suppression: in figure 22, the node-object is selected, and then, in figure 23, it is suppressed. Suppression of a node-object may also be provided with the use of a morphlet F = 0.
Figures 21 to 25 illustrate examples of map modifications, performed on a local scale, with the tool and method according to the invention. Figure 21 is based on the example of figure 15, but in figure 21 intermittency is set to p=0.2, and only three levels are added. The morphlet below (F21) relates to this figure : F21
\Morphlet MOl { Function ( (X*X+Y*Y) <=1?1 : 0.0) ; Somm /*!80*/ OLDVALUE+=NEWVALUE; }
\ParamsNode Pi { Morphlet MOl; H 0.5; Ksi 1 ; Intermit RAND ( 1 . ) <0 .2 ; Dec 0 ; }
\ParamsNode nulll { H O ;
}
\Map Ml { Width 512; Height 512; Level 11; Wrap 3; Seed 100; Default nulll; Nodeset PI /* ! 10(0} {2}*/ (nPROF>=(0) && nPROF<=(2)); }
Further local modifications are performed. In figure 22, the node-object is selected with the screen target 23. The modification consists in the suppression of the selected node and its dependant nodes. Figure 23 illustrates the resulting map. The following morphlet corresponds to figure 23: F23
\Morphlet MOl { Function ( (X*X+Y*Y) <=1?1 : 0.0) ; Somm /*!80*/ OLDVALUE+=NEWVALUE;
} \ParamsNode PI { Morphlet MOl; H 0.5; Ksi 1; Intermit RAND (1. ) <0.2; Dec 0; }
\ParamsNode nulll { H 0; }
\Map Ml { Width 512; Height 512; Level 11; Wrap 3; Seed 100; Default nulll; Nodeset Pi /* ! 10{0} {2}*/ (nPROF>=(0) && nPROF<=(2)); Modifier 21* Node { Morphlet _NIL_; }
}
Figures 24 and 25 show the selection of a node-object 51 (figure 24), and its modification (figure 25). The modification consist in a modification of the morplet or function F, as shown herebelow: F25
\Morphlet MOl { Function ( (X*X+Y*Y) <=1?1 : 0.0) ; Somm /*!80*/ OLDVALUE+=NEWVALUE; }
\Morphlet MaD_5acd58e { Function ( (X*X+Y*Y) <=1?1 : 0.0) ; Somm /*!80*/ OLDVALUE+=NEWVALUE; SigmaX 0.98 ; SigmaY 0 . 98 ; }
\Morphlet MaD_700ef62e { Function ( (X*X+Y*Y) <=1?1 : 0.0) ; Somm /*!80*/ OLDVALUE+=NEWVALUE; SigmaX 0.98 ; SigmaY 0.1176 ; }
\ParamsNode PI { Morphlet MOl; H 0.5; Ksi 1; Intermit RAND (1. )<0.2; Dec 0; }
\ParamsNode nulll { H 0; }
\Map Ml { Width 512; Height 512; Level 3; Wrap 3; Seed 100; Default nulll; Nodeset PI /* ! 10{0} {2}*/ (nPROF>=(0) && nPROF<=(2)); Modifier 1* Node { Morphlet MaD_700ef62e; RecY 0.1176;
} Modifier 21* Node Morphlet NIL ; Modifier 1* SubTree { Morphlet MaD_700ef62e; RecY 0.1176; Further examples of modifications are provided in figures 33 to 37. In figure 33; the vamues of D are modified from the original values (zero) of figure 32. In figure 34, the value of H is also modified.
Figures 35, 36 and 37 provide variants of the interfece 10. A 2D/3D selector 60 is added, to select the value of n. A timeline 70 is also added, to allow a time value to any time-dependant parameter. These modified interfaces may be helpfull to allow to work with different types of shaders. Figures 36 and 37 also illustrate a modification of some parameters similar to the modifications of figures 33 and 34. Figure 38 illustrates an example of the use of procedural maps. In this example, different maps are combined to provided a virtual representation of a complex material, such as a wall, provided with stones of different sizes and shapes.
It should be realized that while the preferred embodiment of this invention is described and illustrated with texture maps, the method and device of the invention could also be implemented for use with other types of maps. For instance, in the field of shader, the method and devices of the invention also applies to the following types of maps: displacement, bump, reflectivity, specularity, ambient color, diffuse color, specular color, transparency, color, shininess, self-emission, anisotropy, refractive index, etc.
In an alternative embodiment, the present invention could also be provided as a plug-in to an existing software.
The above described arrangements are only used for example only. Modifications and alternative arrangements could be provided by those skilled in the art without departing from the spirit and scope of the present invention. The appended claims are intended to cover such modifications and arrangements.
*****************************

Claims

1. A method for modifying a procedural map for use with a tree driven procedural map comprising a plurality of levels (at least two levels) each having at least one node associated to at least one parameter, comprising the steps of:
• providing a node selection tool allowing the selection of at least one node of one level among the plurality of nodes of a map to be modified;
• select a given node according to a given input; • provide a parameter modification tool allowing the modification of at least one parameter of the selected node;
• modify said parameter of said node based on a given input;
• calculate a modified map based on the modified parameters.
2. The method of claim 1 , wherein the modified parameters are recursively affected to the children nodes of said selected node.
3. The method of claim 1 , wherein the tree driven procedural map is represented by the following equation:
Figure imgf000024_0001
G . k) eT wherein: -F is a function Rn →R -x is a vector of the type (x-i , x2 ,...., xn); -T is a tree comprising nodes ( j , k ) and wherein -j indicates the current level, among a total potential number of levels jmax ( j e (0, 1 , 2, ....Jmax ) -k is a displacement vector for each node N and of the type (x , x2 , Xn )
4. The method of claim 3, wherein the modifiable parameters are selected in the list comprising: the morphlet F, the maximum number of levels Gmax).
5. The method of claim 3, wherein said procedural map is a texture map.
6. The method of claim 3, wherein said procedural map type is selected from the list comprising: displacement, bump, reflectivity, specularity, ambient color, diffuse color, specular color, transparency, color, shininess, self-emission, anisotropy, refractive index.
7. The method of claim 3, wherein the tree comprises an intermittency parameter (p).ln a further variant, the tree may also comprise a displacement parameter (D).
8. The method of claim 3, further comprising a Hurst parameter (H), (for instance a roughness value).
9. The method of claim 3, further comprising a random value (ξ).
10. The method of claim 3, wherein the sum is a generalised sum.
11. The method of claim 3, wherein the map is time dependant: any, or all parameter may be time dependant.
12. The method of claim 1 , wherein the tree driven procedural map is represented by the following equation:
∑ 2-jH F (2j x - k) ξα , k) G . k)eTD,P wherein: -F is a function Rn →R -x is a vector of the type (xi , x2 ,...., xn); - TD,p represents an tree provided with an intermittency parameter (p), and comprising nodes ( j , k ) and a displacement value (D), wherein -j indicates the current level, among a total potential number of level jmax (j e (0, 1 , 2 Jmax ) -k is a displacement vector for each node N and of the type (xi , x2 ,...., Xn ) -H represents a Hurst parameter, for instance a roughness value; -ξ represents a random number.
13. The method of claim 12, wherein the modifiable parameters are selected in the list comprising: the morphlet F, the maximum number of levels Gma )> a Hurst parameter (roughness value) (H), a random number (ξ), an intermittency parameter (p), a displacement value (D).
14. The method of claim 12, wherein said procedural map is a texture map.
15. The method of claim 12, wherein said procedural map type is selected from the list comprising: displacement, bump, reflectivity, specularity, ambient color, diffuse color, specular color, transparency, color, shininess, self-emission, anisotropy, refractive index.
16. The method of claim 12, wherein said sum is a generalised sum.
17. The method of claim 12, wherein the map is time dependant.
18. A software product readable by a computer and encoding instructions for executing the computer process according to any one of preceeding claims.
19. A procedural map modification tool for use with a tree driven procedural map comprising a plurality of levels each having at least one node associated to at least one parameter, comprising : ❖ a node selection tool allowing the selection of at least one node of one level among the plurality of nodes of a map to be modified; ❖ a parameter setting tool allowing the modification of at least one parameter of the selected node; ❖ a processing unit, for the processing of said parameters to generate a map; ❖ operating instructions, for the operation of said tool and namely of the processing unit.
20. The tool of claim 19, adapted for the modification of a tree driven procedural map represented by the following equation:
∑ F (2J x - k) 0' ■ k) eT wherein: -F is a function Rn →R -x is a vector of the type (xi , x2 , xn); -T is a tree comprising nodes ( j , k ) and wherein -j indicates the current level, among a total potential number of levels jmax ( j ε (0, 1 , 2, ...., jmax ) -k is a displacement vector for each node N and of the type (xi , x2 ,...., Xn )
21. The tool of claim 20, being adapted for the modification of at least one parameter selected in the list comprising: the morphlet F, the maximum number of levels Gmax).
22. The tool of claim 20, wherein said node selection tool is provided with a "deepness" selection unit allowing the selection of a given level G) of said tree.
23. The tool of claim 20, said node selection tool comprising a movable screen target, for the localisation and/or selection of a node-object.
24. The tool of claim 23, wherein said movable screen target is operable with a computer cursor displacement device.
25. The tool of claim 19, adapted for the modification of a tree driven procedural map represented by the following equation:
∑ 2-jH F (2j x - k) ξG , k) G . k)eTDιP wherein: -F is a function Rn →R -x is a vector of the type (xi , x2 ,...., xn); - TD,p represents an tree provided with an intermittency parameter (p), and comprising nodes ( j , k ) and a displacement value (D), wherein -j indicates the current level, among a total potential number of level jmax, j e (0, 1 , 2, ....Jmax ); -k is a displacement vector for each node N and of the type (xi , x2 ,...., χn ); -H represents a Hurst parameter (for instance a roughness value); -ξ represents a random number.
26. The tool of claim 25, being adapted for the modification of at least one parameter selected in the list comprising: the function F, the current level G), the maximum number of levels Gmax). a Hurst parameter (H) (roughness value), a random value (ξ), an intermittency parameter (p), a displacement value (D).
27. The too! of claim 25, wherein said node selection tool is provided with a "deepness" selection unit allowing the selection of a given level G) of said tree.
28. The tool of claim 25, said node selection tool comprising a movable screen target, for the localisation and/or selection of a node-object.
29. The tool of claim 28, wherein said movable screen target is operable with a computer cursor displacement device.
30. The tool of claim 25, said map modification tool being comprised in a tree driven procedural map generation tool.
31. A procedural map generation tool, for the generation of tree driven procedural maps comprising a plurality of levels each having at least one node associated to at least one parameter, comprising: ❖ a map parameter input unit, for the input of the procedural map parameters; ❖ a map processing unit, for the processing of the parameters, (to obtain a map); ❖ operating instructions, for the operation of said tool and namely of the processing unit; ❖ a map modification tool, comprising: - a node selection tool allowing the selection of at least one node of one level among the plurality of nodes of a map to be modified; - a parameter modification tool allowing the modification of at least one parameter of the selected node.
2. The procedural map generation tool of claim 31, further comprising an output for a map display unit, allowing the presentation of said map on a display.
PCT/EP2004/000661 2004-01-12 2004-01-12 Method and tool for modifying a procedural map WO2005069224A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
PCT/EP2004/000661 WO2005069224A1 (en) 2004-01-12 2004-01-12 Method and tool for modifying a procedural map
EP04701362A EP1749280A1 (en) 2004-01-12 2004-01-12 Method and tool for modifying a procedural map
US10/597,087 US20070165045A1 (en) 2004-01-12 2004-01-12 Method and tool for modifying a procedural map
PCT/EP2005/000099 WO2005069225A2 (en) 2004-01-12 2005-01-07 Method and tool for the generation or the modification of image processing procedural maps
US12/398,883 US20090251480A1 (en) 2004-01-12 2009-03-05 Method and Tool for Modifying a Procedural Map
US13/267,364 US20120229488A1 (en) 2004-01-12 2011-10-06 Method and Tool for Modifying a Procedural Map

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2004/000661 WO2005069224A1 (en) 2004-01-12 2004-01-12 Method and tool for modifying a procedural map

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/398,883 Continuation US20090251480A1 (en) 2004-01-12 2009-03-05 Method and Tool for Modifying a Procedural Map

Publications (1)

Publication Number Publication Date
WO2005069224A1 true WO2005069224A1 (en) 2005-07-28

Family

ID=34778254

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2004/000661 WO2005069224A1 (en) 2004-01-12 2004-01-12 Method and tool for modifying a procedural map

Country Status (3)

Country Link
US (3) US20070165045A1 (en)
EP (1) EP1749280A1 (en)
WO (1) WO2005069224A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5060169A (en) * 1987-07-01 1991-10-22 Ampex Corporation Video simulation of an airbrush spray pattern
US5680475A (en) * 1992-09-16 1997-10-21 U.S. Philips Corporation System for processing textured images, texture analyser and texture synthesizer

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2287303A1 (en) * 1997-04-30 1998-11-05 Geodesic Systems L.L.C. Automatically-maintained customizable user interfaces
US6496190B1 (en) * 1997-07-02 2002-12-17 Mental Images Gmbh & Co Kg. System and method for generating and using systems of cooperating and encapsulated shaders and shader DAGs for use in a computer graphics system
US6509898B2 (en) * 1998-04-17 2003-01-21 Xerox Corporation Usage based methods of traversing and displaying generalized graph structures
US6396522B1 (en) * 1999-03-08 2002-05-28 Dassault Systemes Selection navigator
US6714936B1 (en) * 1999-05-25 2004-03-30 Nevin, Iii Rocky Harry W. Method and apparatus for displaying data stored in linked nodes
US6823495B1 (en) * 2000-09-14 2004-11-23 Microsoft Corporation Mapping tool graphical user interface
US20020178184A1 (en) * 2001-05-22 2002-11-28 Allan Kuchinsky Software system for biological storytelling
EP1347418A3 (en) * 2002-02-28 2005-11-23 Canon Europa N.V. Texture map editing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5060169A (en) * 1987-07-01 1991-10-22 Ampex Corporation Video simulation of an airbrush spray pattern
US5680475A (en) * 1992-09-16 1997-10-21 U.S. Philips Corporation System for processing textured images, texture analyser and texture synthesizer

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DEGUY S ET AL: "A FLEXIBLE NOISE MODEL FOR DESIGNING MAPS", INTERNATIONAL WORKSHOP ON VISION, MODELING AND VISUALIZATION. PROCEEDINGS, XX, XX, 21 November 2001 (2001-11-21), pages 299 - 307, XP008033245 *
DEGUY S ET AL: "CLASSIFICATION OF TEXTURE IMAGES USING MULTI-SCALE STATISTICAL ESTIMATORS OF FRACTAL PARAMETERS", PROCEEDINGS OF THE BRITISH MACHINE VISION CONFERENCE, XX, XX, vol. 1, 14 September 2000 (2000-09-14), pages 192 - 201, XP008033243 *

Also Published As

Publication number Publication date
EP1749280A1 (en) 2007-02-07
US20120229488A1 (en) 2012-09-13
US20070165045A1 (en) 2007-07-19
US20090251480A1 (en) 2009-10-08

Similar Documents

Publication Publication Date Title
Kelly et al. A survey of procedural techniques for city generation
EP0817132A2 (en) System and method for modification of the visual characteristics of digital 3D objects
US10380790B2 (en) System and methods for generating procedural window lighting effects
Haegler et al. Grammar‐based encoding of facades
Zeller Cloth simulation on the gpu
US20130265310A1 (en) Method for estimation of information representative of a pixel of a virtual object
WO2005069225A2 (en) Method and tool for the generation or the modification of image processing procedural maps
EP1749280A1 (en) Method and tool for modifying a procedural map
Day et al. Combining polygonal and subdivision surface approaches to modelling and rendering of urban environments
Callieri et al. A realtime immersive application with realistic lighting: The Parthenon
Olajos Real-time rendering of volumetric clouds
Malhotra Issues involved in real-time rendering of virtual environments
Nordahl Enhancing the hpc-lab snow simulator with more realistic terrains and other interactive features
Lu Unreal engine nanite foliage shadow imposter
Blythe et al. Lighting and shading techniques for interactive applications
Izani et al. Photorealistic rendering for the Prophet Mosque in 3D Media: Issues and solutions
Alkaim Procedural Generation for Architecture
Gün Interactive editing of complex terrains on parallel graphics architectures
Havemann et al. New Approaches to Efficient Rendering of Complex Reconstructed Environments.
Jing et al. A post-processing decal texture mapping algorithm on graphics hardware
Havemann et al. Combining Polygonal and Subdivision Surface approaches to Modelling and Rendering of Urban Environments
Bender et al. HW3D: A tool for interactive real-time 3D visualization in GIS supported flood modelling
Day et al. The CHARISMATIC Project: New Approaches to Modelling and Rendering of Urban Environments
Hirvonen Procedural Generation of Infinite Formations
Ramamoorthi et al. Acquiring material models using inverse rendering

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2007165045

Country of ref document: US

Ref document number: 10597087

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2004701362

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWP Wipo information: published in national office

Ref document number: 2004701362

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 10597087

Country of ref document: US