SYSTEM FOR AND METHOD OF IMPLEMENTING REFRACTION MAPPING

Abstract: A system for implementing a refraction mapping is arranged that a refracted texture address is determined, as a normal vector at an intersection point of a boundary surface of at least two different media and a visual line vector is defined to be n, and as a visual line unit vector is defined to be v, a variable k is determined so that the sum (n + kv) of the normal vector n and a value kv of which the visual line unit vector v is multiplied by a variable k becomes parallel to the texture plane. At least two different media are an air, water or a glass. In such system, an object has a portion projecting from the water surface, and a portion sinking under the water, and for at least a portion of the texture associated with the portion sinking under the water, a refracted texture address that is to be displaced according to a refraction phenomena can be determined.

Description: DESCRIPTION SYSTEM FOR AND METHOD OF IMPLEMENTING REFRACTION MAPPING BACKGROUND OF THE INVENTION Field of the Invention The present invention relates to a refraction mapping technique for producing an image as if looking an object through a refraction phenomena, for example, in an information equipment which includes an entertainment system such as a video game device and the like. Description of the Related Art For example, in the video game device, when looking at the bottom of the sea through the water surface, it looks like the bottom of the sea to be distorted due to the refraction phenomena. A refraction mapping is known as a method of producing a realistic picture by simulating the phenomena as described above. It is required in a conventional refraction mapping for a land portion protruding from the water surface and a portion sinking under the water sinking to implement separately a parallel projection rendering, in a vertical direction onto the water surface, thereby making the burdens for a central processing unit (CPU), a graphic processing unit (GPU) and the likes to be large. SUMMARY OF THE INVENTION Accordingly, in the light of the above-mentioned problems, it is an object of the present invention to provide a system for and a method of implementing a refraction mapping with an easy method, as well as a recording medium for the method. A system for implementing a refraction mapping according to the present invention, includes means for perspective-projecting an object, and for producing a two-dimensional texture of the object for a texture plane; and means for determining a refracted texture address that displaces according to a refraction phenomena, for at least a portion of the texture, wherein the refracted texture address is determined, depending on a normal vector at a boundary surface of different media and a visual line vector. It is preferable that, in the above-described system for implementing the refraction mapping according to the present invention, the refracted texture address is determined by an angle formed with the normal vector and the visual line vector or a component of the normal vector that is parallel to the texture plane. Preferably, in the above-described system for implementing the refraction mapping according to the present invention, as a normal vector at an intersection point of the boundary surface of at least two different media and the visual line vector is defined to be n, and as the visual line unit vector is defined to be v, determining a variable k so that the sum (n + kv) of the normal vector n and the value kv of which the visual line unit vector v is multiplied by a variable k becomes parallel to the texture plane, and the texture address is displaced by an amount of a constant multiplication of (n + kv), that is L (n + kv). Further, the texture address may be displaced with only an amount of L (n χ , n y ) of which two components (n χ , n y ) parallel to the texture plane of the normal vector n are multiplied by a constant L. At this moment, at least two different media may represent the ones with different refractive indices such as an air, water or a glass. It is preferable that, the above-described system for implementing the refraction mapping according to the present invention, further includes means for displacing at least a portion of a texture, based on the refracted texture address; and means for perspective-transforming on a screen, using this displaced texture. In such system, the object has a portion projecting from the water surface, and a portion sinking under the water, and for at least a portion of the texture associated with the portion sinking under the water, a refracted texture address that is to be displaced according to a refraction phenomena can be determined. Further, such system is preferably provided in a video game device. In the above-described system for implementing the refraction mapping, the texture plane is defined on a plane perpendicular to the Z-axis that is in a visual line direction of a view point coordinate system, and for example, it makes possible to rendering the part (the water bottom part) under the water surface with the same procedure as the perspective projection of the land part protruding from the water surface of the topography, and as a result, a creation of a texture for use in a refraction can be made by implementing collectively the land part and the water bottom part with just one rendering. According to this system for implementing the rendering, an amount of a displacement generated by a refraction phenomena will not satisfy the Snell's law exactly, regarding the picture of the water bottom part under the water. However, as obtaining an amount of a displacement that is an approximate to the Snell's law using an easy method, it makes possible to qualitatively rendering the water bottom part under the water. Further, a method of implementing a refraction mapping according to the present invention includes the steps of: perspective-projecting an object, and producing a two-dimensional texture of the object for a texture plane; and determining a refracted texture address that displaces according to a refraction phenomena, for at least a portion of the texture, wherein the refracted texture address is determined, depending on a normal vector at a boundary surface of different media and a visual line vector. Preferably, in the method of implementing the refraction mapping according to the present invention, the refracted texture address is determined by an angle formed with the normal vector and the visual line vector or a component of the normal vector that is parallel to the texture plane. In the method of implementing the refraction mapping according to the present invention, as a normal vector at an intersection point of the boundary surface of at least two different media and the visual line vector is defined to be n, and as the visual line unit vector is defined to be v, determining a variable k so that the sum (n + kv) of the normal vector n and the value kv of which the visual line unit vector v is multiplied by a variable k becomes parallel to the texture plane, the refracted texture address is displaced by an amount of a constant multiplication of (n + kv), that is L (n + kv). Moreover, the refracted texture address may be displaced with only an amount of L (n χ , n y ) of which two components (n x , n y ) parallel to the texture plane of the normal vector n are multiplied by a constant L. Further objects and advantages of the invention can be more fully understood from the following detailed description taken in conjunction with the accompanying drawings in which: BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a plane view showing an appearance of an entertainment system including a master machine (a video game machine) and a slave machine (a portable electronics equipment); Fig. 2 is a backside view of the master machine (the video game machine); Fig. 3 is an appearance perspective view of the master machine (the video game machine); Fig. 4 is a block diagram showing a configuration of the main part of the master machine (the video game machine); Fig. 5 is a diagram illustrating a situation in which one's eye from a view point generates a refraction phenomena at a boundary between an air and water, Fig. 6 is a diagram illustrating a refraction mapping that is implemented at the present time; Fig. 7 is a diagram showing an image of a texture along with a procedure of the refraction mapping that is implemented at the present time; Fig. 8 is a diagram illustrating a situation in which a line of sight from a view point generates a refraction phenomena at a boundary between an air and water, when an angle formed between a line of sight and a normal is relatively small comparing to the one in Fig. 5; Fig. 9 is, together with Fig. 10, a diagram illustrating a technique for refraction mapping an object with an uneven that is partially sunk under the water; Fig. 10 is together with Fig. 9, a diagram illustrating a technique for refraction mapping an object with an uneven that is partially sunk under the water; Fig. 11 is a diagram illustrating the refraction mapping when waves are occurred on the water surface; Fig. 12 is a diagram illustrating a relation between a normal of the water surface and an amount of a displacement that is generated by a refraction; and Fig. 13 is diagram showing an image of a texture along with a procedure of the refraction mapping according to the present embodiment. DESCRIPTION OF THE PREFERRED EMBODIMENTS [System For Implementing The Present Invention] At first, an entertainment system, which is capable of implementing a refraction mapping according to the present invention, will be described briefly with reference to the accompanying drawings. Fig. 1 shows an appearance of a video game device, as one example of the entertainment system. This video game device 1 is for reading a game program recorded in an optical disk and the likes, for example, and for implementing it in response to an instruction from a user (a game player). Further, an implementation of the game means mainly to control an advance of the game, and a display or a voice (audio) thereof. The main body 2 of the video game device 1 is configured, for example, to include a disk mounting unit 3 in which an optical disk such as a CD-ROM and the likes is attached to a central portion thereof, said optical disk being a recording medium for supplying an application program such as a video game and the likes, a reset switch 4 for optionally resetting the game, a power supply switch 5, a disk operation switch 6 for operating a mounting of the optical disk, and two slot units 7A, 7B. To the slot units 7A, 7B, it enables to connect two operation devices 20, so that two users can play a match game and the likes. Further, to these slot units 7A, 7B, it enables to insert a memory card device which is capable of saving (storing) or reading a game data, and/or a portable electronics equipment which is capable of implementing a game by detaching from the main body. An operation device 20 includes a first and a second operation units 21, 22, a L button 23L, a R button 23R, a start button 24, a selection button 25, and further includes operation units 31, 32 with which it enables analogue operations, a mode selection switch 33 for selecting operation modes of these operation units 31, 32, and a display unit 34 for displaying the operation modes selected Fig. 2 shows the states of the slot units 7A, 7B provided at the front of the main body 2 in the video game device 1. The slot units 7A, 7B are formed in two stages, respectively, and memory card insertion units 8A, 8B into which memory cards 10 and/or portable electronics equipments 100 are inserted are provided in the upper stages thereof, as well as controller connection units (jacks) 9A, 9B to which connection terminal units (connectors) 26 of controllers 20 are provided in the lower stages thereof. The insertion holes (slots) of the memory card insertion units 8A, 8B are formed slightly non-symmetrical, so it is configured as the memory cards are not miss-inserted. On the other hand, the controller connection units 9A, 9B are also formed slightly non-symmetrical, so it is configured as the connection terminals 26 of the controllers 20 are not miss-connected, and further the insertion holes thereof are configured as to have the different shapes from the memory card insertion units 8A, 8B so that the memory cards are not miss-inserted. Fig. 3 shows a state in which the portable electronics equipment 100 is inserted into the memory card insertion unit 8A of the slot unit 7A at the front of the video game machine 1. Then, Fig. 4 is a block diagram showing one example of a schematic circuit configuration of the main part of the video game device 1. This video game device 1 is configured as to include a control system 50 composing of a central processing unit (CPU) 51 and the peripheral devices and the likes thereof, a graphic system 60 composing of a graphic processing unit (GPU) 62 and the likes for performing drawings onto a frame buffer 63, a sound system 70 composing of a sound processing unit (SPU) and the likes for generating a musical sound, a sound effect and the likes, an optical disk control unit 80 for performing a control of the optical disk into which application programs are recorded, a communication control unit 90 for controlling the memory card 10 which stores a signal from the controller 20 in which an instruction from a user and the settings and the likes of the data, and the input/output of data from the portable electronics equipment 100 to be described below, and a bus BUS and the likes to which each of the above-mentioned units is connected. The control system 50 includes the CPU 51, a peripheral device control unit 52 for performing a control of an interruption and a control of a dynamic memory access (DMA) and the likes, a main memory 53 composing of a random access memory (RAM), and a read only memory (ROM) 54 which stores a program such as a so-called operating system and the likes that performs a management of the main memory 53, the graphic system 60, the sound system 70 and the likes. Further, the main memory herein is to be the one that enables to execute a program on its memory. The CPU 51 is the one that controls an entire of this video game device 1, by executing the operating system stored in the ROM 54, and is composed of a 32-bit RISC-CPU. Then, this video game device 1 is configured that when being energized, as the CPU 51 in the control system 50 executes the operating system stored in the ROM 54, the CPU 51 implements a control of the graphic system 60, the sound system 70 and the likes. Further, when the operating system is executed, the CPU 51 controls the optical disk control unit 80 so as to execute the application program such as the game recorded in the optical disk, after having initialized an entire of the video game device 1 such as an operation confirmation and the likes. Executing the program of such as this game and the likes, the CPU 51 controls the graphic system 60, the sound system 70 and the likes in response to an input from a user, so as to control a display of an image and generations of a sound effect, a musical sound. Moreover, the graphic system 60 includes a geometry transfer engine (GTE) 61 for implementing a process of an coordinate transfer and the likes, a GPU for implementing a drawing in accordance with a drawing instruction from the CPU 51, a frame buffer 63 for storing an image drawn by this GPU 62, and an image decoder 64 for decoding an image data that is compressed and encoded by an orthogonal transform such as a discrete cosine transformation (DCT) and the likes. The GTE 61 includes a parallel arithmetic mechanism for executing a multiple of arithmetic in parallel, for example, and is configured as enabling to implement an arithmetic such as a coordinate transformation, a light source calculation, a matrix and a vector in response to an arithmetic demand from the CPU 51 in a high speed. Concretely, this GTE 61 is configured as enabling to implement a coordinate arithmetic for a maximum of 1500,000 polygons/second, in case of an arithmetic of implementing a flat shading that draws the one triangle-shaped polygon with an identical color, for example, and as a result, with this video game device, it is configured as enabling to reduce a load of the CPU 51 as well as to implement a high speed coordinate arithmetic. Further, the GPU 62 implements a drawing of a polygon and the likes for the frame buffer 63, in accordance with the drawing command from the CPU 51. This GPU 62 is configured as enabling to implement a drawing for a maximum of 360,000 polygons/second. Moreover, the frame buffer 63 is composed of a so-called dual port RAM, and is configure as enabling to implement a drawing from the GPU 62, a transfer from the main memory, as well as a reading for a display simultaneously. This frame buffer 63, for example, has a capacity of 1 M bytes, each of which is treated as a 16 bits matrix with a row of 1024 pixels and a column of 512 pixels. Furthermore, in this frame buffer 63, besides a display area to be outputted as a video output, a CLUT area into which a color look up table that is to be referred at a time when the GPU 62 implements a drawing of a polygon and the likes is stored, and a texture area into which a material (texture) that is inserted (mapped) into a polygon and the likes that are drawn by the GPU 62 as being coordinate-transformed at a time of drawing, are provided. These CLUT area and texture area are configured as being dynamically changed in accordance with a change of the display area and the likes. Further, the GPU 62 is configured as enabling to implement a glow shading that determines a color within a polygon by complementing from a color at a vertex of the polygon besides the above-described flat shading, as well as a texture mapping for pasting a texture stored in the texture area onto a polygon. When implementing these glow shading or texture mapping, the GTE 61 is enabled to implement a coordinate arithmetic of a maximum 500,000 polygons/second. Moreover, the image decoder 64 decodes an image data of a still picture or animation stored in the main memory 53 and stores it into the main memory 53. according to a control from the CPU 51. Further, it is arranged that this reproduced image data can be used as a background scene of an image that is drawn by the above-described GPU 62, by storing it into the frame buffer 63 through the GPU 62. The sound system 70 includes a SPU 71 for generating a musical sound, a sound effect and the likes, based on an instruction from the CPU 51, a sound buffer 72 into which a wave form data and the likes are recorded according to the SPU 71, and a speaker 73 for outputting the musical sound, the sound effect and the likes that are generated by the SPU 71. The SPU 71 is composed of an ADPCM (Adaptive Differential PCM) decoding function for reproducing a voice data of which, for example, a 16-bits voice data is adaptive predictive coded as a 4-bits differential signal, a reproducing function for generating the sound effect and the likes by reproducing the wave form data stored in the sound buffer 72, and a modulating function for modulating and reproducing the wave form data stored in the sound buffer 72, and the likes. As being provided with these functions, this sound system 70 is configured as enabling to be used as a so-called sampling sound source that generates a musical sound, a sound effect and the likes based on the wave form data recorded in the sound buffer 72 in accordance with an instruction from the CPU 51. The optical disk control unit 80 includes an optical disk device 81 for reproducing a program and a data and the likes recorded in the optical disk, a decoder 82 for decoding the program, the data and the likes recorded as an error correction code being added thereto, for example, and a buffer 83 for speeding up a reading of the data from the optical disk by temporarily storing the data from the optical disk device 81. A sub CPU 84 is connected to the decoder 82. Further, as a voice data stored in the optical disk, that is to be read with the optical disk device 81, besides the above-described ADPCM data, there is a so-called PCM data of which the voice signal is analogue/digital converted. As the ADPCM data, for example, a voice data that is recorded by indicating a differential of 16-bits digital data by 4-bits is supplied to the above-described SPU 71 after having decoded in the decoder 82, and then is used for driving the speaker 73, after the processes of the digital/analogue conversion and the likes have been implemented in the SPU 71. Moreover, as the PCM data, for example, a voice data that is recorded as 16-bits digital data is used for driving the speaker 73, after having been decoded in the decoder 82. Furthermore, the communication control unit 90 includes a communication controller 91 for implementing a control of a communication with the CPU 51 through the bus BUS, and a controller connection unit 9 to which a controller 20 for inputting an instruction from a user is connected, a memory card 10 as a supplemental storage device for storing the setting data and the likes of the game, and memory card insertion units 8A, 8B to which a portable electronics equipment 100 to be described below is to be connected, are provided in the communication controller 91. The controller 20 connected to the controller connection unit 9 has 16 instruction keys, for example, for inputting an instruction from a user, and transmits a state of this instruction key to the communication controller 91 about 60 times/second, with a synchronous communication, in accordance with the instruction from the communication controller 91. Then, the communication controller 91 transmits a state of the instruction key of the controller 20 to the CPU 51. As a result, an instruction from a user is inputted into the CPU 51, and the CPU 51 performs a process in accordance with an instruction from a user, based on the game program and the likes that are being executed. Herein, among the main memory 53, the GPU 62, the image decoder 64 and the decoder 82 and the likes, it is necessary to transfer a large quantity of the image data in a high speed at a time when implementing a reading of a program, a display of an image or a drawing and the likes. Thus, in this video game device, it is configured as enabling to implement a so-called DMA transfer that implement directly a transfer of the data among the main memory 53, the GPU 62, the image decoder 64 and the decoder 82 and the likes according to a control from the peripheral device control unit 52 without going through the CPU 51 as described above. As a result, it enables to reduce a load of the CPU 51, and to implement a high speed data transfer. Further, if it is necessary to store the setting data and the likes of the game that is being executed, the CPU 51 transmits the data that is to be stored to the communication controller 91, and the communication controller 91 writes the data from the CPU 51 into the memory card 10 or the portable electronics equipment 100 that is inserted into a slot of the memory card insertion unit 8A or of the memory card insertion unit 8B. Herein, in the communication controller 91, a protection circuit for preventing an electrical destruction is installed. The memory card 10 and/or the portable electronics equipment 100 are separated from the bus BUS, and they can be attached/detached in a state that the main body of the device is being energized. Accordingly, when the storage capacities of the memory card 10 and/or the portable electronics equipment 100 run short, and the likes, it enables to insert a new memory card, without shutting down the power supply of the main body of the device. As a result, without losing the game data necessary to be backed up, by inserting a new memory card, the necessary data can be written into the new memory card. A parallel I/O interface (PIO) 96, and a serial I/O interface (SIO) 97 are interfaces for connecting the memory card 10 and/or the portable electronics equipment 100 with the video game device 1. In the entertainment system as described above, the refraction mapping according to the present embodiment is implemented. [Refraction Mapping] Then, in the entertainment system according to the present embodiment, the embodiments of the system for and method of implementing the refraction mapping will be described in detail with reference to the accompanying drawings. Various kinds of techniques are known regarding to the mapping. When a man is looking at the water bottom WB through the water surface, as standing by a waterside of a pond or a swimming pool, an object at the water bottom WB looks as being distorted by refraction. A method of producing a realistic picture of the object being at the water bottom WB, by simulating the phenomena such as described above, is called as a refraction mapping. A similar refraction phenomenon is also occurred when observing an object through a transparent glass and the likes, other than the water surface. That is, when looking at an object, through two or more kinds of transparency or semi-transparency media, the object looks as being displaced by an effect of a refraction phenomena of a light that is generated at a boundary surface of these media. Accordingly, when producing such a picture of the object, the refraction mapping technique is utilized. The refraction mapping is a CG (Computer Graphics) technique for mapping, by calculating how an object looks, when a refraction phenomena intervenes on a line of sight between a view point NP and the object. (The refraction mapping that is presently implemented) In order to make the refraction mapping according to the present embodiment more easily understandable, at first, the procedure of the refraction mapping that is presently implemented will be simply described. In the CG image, projecting an object shape onto a two-dimensional screen (a rendering), and mapping a texture for the object shape obtained (a texture mapping). In Fig. 5 there are shown the water surface WL and the water bottom WB. Water of a depth DPT is filled in just a gap between the water surface and the water bottom WB. There is an air above the water. Herein, it is assumed that a refractive index of an air is nl, and a refractive index of water is n2. It is further assumed that the view point NP is at the upper left, and there is a screen SC in front thereof. The view point NP means that there is a human eye at this location, and looking at the water bottom (object) therefrom. Fig. 5 shows a state in which there is a line of sight NL toward a point A on the water of the surface from the view point NP, and looking at this point A. In the figure, there are shown a case in which the line of sight NL travels straight when there is no water, and a case in which the line of sight NL is refracted, as there is water. Further, in the description herein, it is assumed that the water bottom WB is a flat. In Fig. 5, when there is no water, the line of sight NL toward the point A from the view point NP travels straight as it is, and then reaches to a point D at the water bottom WB. That is, looking at the point D. Accordingly, when drawing the water bottom WB on the screen SC, perspective-transforming the point D that constitutes a 3-dimensional object so as to display it as a 2-demensional figure on the screen SC, rendering, and then texture mapping. That is, when texture mapping, drawing a texture of the point D at where the line of sight is across the water bottom WB, at the P on the screen SC. In the following, when the water is stored only with the water depth DPT from the water bottom WB, the line of sight NL toward the point A from the view point NP reaches to a point C at the water bottom, as a refraction is occurred at a point A of the boundary surface of an air and the water surface. When looking at the point A on the water surface from the view point NP, the point C at the water bottom is to be seen. Accordingly, the texture of the point C has to be mapped on the point P on the screen SC. In other words, a light emitted from the point C that exists at the water bottom (the point C that constitutes the object that exists at the water bottom) is entered into the view point VP as following the visual line NL, as being refracted at the point A on the water surface WL. Because the man's eye can not sensuously understand this refraction, it is under an illusion as the visual line NL toward the point A from the view point NP travels straight as it is, and it looks as if the point C at the water bottom WB exists at the point D. Now, it is to quantitatively calculate a location of the point C that can be seen when looking at the point A on the water surface from the view point VP. The location of the point C is calculated from the Snell's Law as follows. Herein, at the point A, a normal n is defined as being perpendicularly from the water surface WL. Assuming an angle formed by the visual line VL and the normal n to be . Assuming an angle formed by the refracted visual line VL-1 and the normal n to be β. Further, assuming a depth of the water to be DPT. At this moment, the following equations hold according to the Snell's law. nl- sinα = n2- sinβ (1) Herein, as considering a triangle ADB and a triangle ACB, the following relations hold. sin = BD/AD (2) tanβ =BC/AB = BC/DPT (3) From these relations, transforming the equation (1), and substituting the equation (2), then it forms the following equation. sinβ = (nl/n2)- sinα = (nl/n2 (BD/AD) (4) Further, between sin and cos, there is the following relation. (sinβ) 2 + (cosβ) 2 = 1 (5) Transforming the equation (3), and substituting the equations (4) and (5), then it becomes as follows. BC = DPT tanβ = DPT- (sinβ/cosβ) = DPT sinβ- {1 - (sinβ) 2 } 1 2 = DPT- (nl/n2)- (BD/AD)- {l-(nl/n2) 2 - (BD/AD) 2 } 1 2 (6) Looking at the equation (6), DPT is a depth of the water, nl and n2 are the refractive indices of the air and the water, respectively, BD and AD are the values that are determined by the visual line VL, and thus enabling to calculate the value of BC. Accordingly, with the equation (6), the location of the point C that constitutes the object at the water bottom at a time when the water exists can be determined. As a result, at the point P on the screen SC on which the point D is drawn when there is no water, the point C is drawn in place of the point D when there is water. Accordingly, it makes possible of rendering the water bottom WB. It is assumed in the above description that the water bottom WB is to be flat. However, in general, an actual topography is not a simple plane, but there is usually an unevenness on the surface thereof. It is necessary to draw such the water bottom WB in a three-dimensional graphics. When rendering the topography constituted of such unevenness, the topography texture is not a sheet of texture, but it becomes a polyhedron configured in three-dimensionally. For such case, in Fig. 6, a topographic texture located parallel to the water surface WL is defined beneath the water bottom WB. Next, for the topography in a case of assuming that no water exists, in advance, a two-dimensional texture is produced on this texture plane. Concretely, performing a three-dimension calculation for the topography having an unevenness, implementing a shading, pasting it on a texture plane by parallel-projecting from a direction which is perpendicular to the water surface WL, so as to produce a two-dimensional (flat) texture of this topography. Then, the refraction mapping is implemented by using this two-dimensional topographic texture. In this moment, this topography may be continued with the land that is higher than the water surface WL. For the land protruding from the water surface WL, no refraction is occurred, so that a rendering has to be made by executing a calculation of a perspective transformation that uses a rotation and a coordinate transformation, from a direction of the view point VP. On the other hand, for the topography under the water (the water bottom WB), because a displacement by a refraction phenomenon is occurred, the refracted texture address is obtained by calculating an amount of its displacement using the equation (6) in regard with each of the points that constitute the water bottom WB. As described above, the method that is presently implemented is owing to such complex procedures. Fig. 7 is a drawing showing one example of an actual refraction mapping. At first, in the first step, implementing a parallel-projection or a parallel paste to the entire topography, for a texture plane which is parallel to the water surface WL. Fig. 7 A shows a state in which a rendering is made for the water bottom WB having no water with the parallel-projection. This rendering is executed in the GPU 62, and it is drawn on a texture area other than a display area of the frame buffer 63, with the data obtained. In the second step, because it seems to be refracted when looking at the topographic part under the water in the air, a rendering is made as obtaining the refracted texture address, using the Snell's law described above. Fig. 7 B shows a state in which an image of the water surface (an image of the water bottom WB that is seen through the water) is produced in a display area of the frame buffer 63, by implementing the refraction mapping, taking the memory image of Fig. 7 A as the texture. In the third step, because no refraction phenomenon is occurred in the topographic part protruding from the water surface WL, a rendering is made to this topographic part by obtaining a texture address using a perspective transformation technique. Fig. 7 C shows a state in which the one on which the water is rendering the land part with the perspective projection is drawn on an image of the water surface that is produced in the display area illustrated in Fig. 7 B and thus it is superimposed. Accordingly, after the parallel projection, it is required to implement the renderings in two directions with the perspective projection. Because this drawing method at the present time implements the renderings in two directions, and superimposes them, the work becomes more complex, and the loads of the CPU and the GPU become much heavier, and the drawing time becomes also longer. (The Refraction Mapping According to The Present Embodiment) In the following, it is described about a method of implementing refraction mapping according to the present embodiment. This method of implementing the refraction mapping may be programmed, and thus may be provided in a state of being recorded solely into a recording medium such as an optical disk, or may be provided along with a game software as a part of the game software. This program for implementing the refraction mapping is activated on the entertainment system, and is executed with the CPU 51 thereof. The meaning of that the program for implementing the refraction mapping is provided as being solely recorded in the recording medium is to be prepared for the software engineers in advance as a library, for use in an application program development such as a game software and the likes. As is well known, it is required an enormous time to produce all functions of the software anew, at a time of developing software. However, in general, when decomposing the functions that constitute a software into the classes of the functions, it is appreciated that there includes the functions commonly used for the various kinds of software such as a parallel movement of an object, for example. Thus, it becomes significant to provide the function of implementing the refraction mapping according to the present embodiment, as a library program, for a software engineer, in advance. As receiving a supply as a program from an outside in advance, for these common functions, the software engineer enables to concentrate on producing only an essential part peculiar to that program other than the common functions. Fig. 8 shows a case in which an angle l formed by the visual line VL and the normal n is relatively smaller, comparing to Fig. 5. In such case, refraction at the surface the water WL becomes smaller comparing to the one in Fig. 5. In the present embodiment, as paying attention to a character such that if the angle α formed by the visual line VL and the normal n is large, an amount of a refraction occurred at the boundary of the air and the water is also large, and on the contrary, if the angle α formed by the visual line VL and the normal n is small, the amount of the refraction is also small, it is intended to implement the refraction mapping with a simple calculation method by qualitatively imitating the above character. This rendering method is, strictly speaking, not matched with the Snell's law, regarding the picture of the water bottom part under the water. That is, at a time of the rendering, an amount of a displacement generated by refraction phenomena will not satisfy the Snell's law exactly. However, as obtaining an amount of a displacement that is an approximate to the Snell's law using an easy method to be described below, qualitatively rendering the water bottom part under the water becomes possible. In Fig. 9, a view point coordinate system is set to be a Y-Z plane as shown on the paper of the drawing, and the X-axis is set in a direction perpendicular to the paper. The present embodiment is, as shown in Fig. 9, a method that defines a texture plane on a plane perpendicular to the Z-axis, and makes it possible to rendering the part (the water bottom part) under the water surface WL with the same procedure as the perspective projection of the land part protruding from the water surface WL of the topography, and as a result, implementing collectively the land part and the water bottom part with just one rendering. As shown in Fig. 9, in advance, the one on which an entire topography is drawn by perspective-transforming in the visual line direction is set to be a topographic texture. The topographic texture is placed perpendicular to the Z-axis of the viewpoint coordinate system. Further, the topographic texture plane and the screen surface SC are in a parallel positional relation. At first, in a state that there is no water, the topography is perspective-projected on the texture plane. A three-dimensional topography is perspective-projected for the texture plane from the view point VP. Concretely, the texture address of the point a that constitutes the topography is set to be the point A on the topographic texture plane, the texture address of the point b that constitutes the topography is set to be the point B on the topographic texture plane, and the texture address of the point c that constitutes the topography is set to be the point C on the topographic texture plane. In the next step, for this topography, it is considered a state in which there is water, and a portion of the topography shown in Fig. 9 is under the water. As shown in Fig. 10, it is a case in which there is water up to the water surface WL, and a portion of the topography remains as a land. In such case, the topography under the water (the part of the water bottom) looks as if being displaced, according to the refraction phenomena occurred at the boundary of the air and the water. In the present embodiment, an amount of this displacement is calculated using an easy calculation method. In the model as show in Fig. 10, at an intersection point of the visual line vector and the water surface WL, a normal vector for the water surface WL is set to be n, and the one in which the visual line vector is normalized is set to be a visual line unit vector v. A variable k is determined so that the sum (n + kv) of the normal vector n and the value kv of which the visual line unit vector v is multiplied by a variable k becomes perpendicular to the Z-axis. As illustrating by using Fig. 10, the variable k is determined so that the vector (n + kv) is parallel to the texture plane. Since the texture plane is placed perpendicular to the Z-axis, if the vector (n + kv) is parallel to the texture plane (i.e., it is on the texture plane), the Z coordinate of the vector (n + kv) becomes zero. Accordingly, the following equation (7) holds. n z + kv z = 0 (7) Herein, n z represents Z value (scalar quantity) of the normal vector n, and kv z represents Z value (scalar quantity) of the vector kv. Transforming the equation (7), the following equation (8) is obtained. k = - n z / v z (8) Looking at the equation (8), n z is Z value of the normal vector, and v z is Z value of the visual line unit vector, and both are known values. Accordingly, the k can be determined from the equation (8). The visual line VL from the air into the water is, as described in relation to Fig. 5, refracted in a clockwise direction at the boundary surface thereof. Accordingly, obtaining (n + kv) using such k, and by adding a negative (-) symbol thereto, - (n + kv) is set to be a displacement address of a texture. Herein, in general, L (n + kv) is used, in which a constant L is multiplied according to the sizes of two kinds of the refractive indices. Further, as a more easy method, among three components (n χ , n y , n z ) of the normal vector n, L (n χ , n y ) in which two components (n χ , n y ) parallel to the texture plane are multiplied by a constant L, may be used as the displacement address. Mapping the water bottom WB using the displacement address obtained as described above, the rendering is made to the refracted part of the water bottom. Since the land part was finished of the rendering at a time when the perspective projection to the texture plane was performed, by superimposing with this image, the rendering can be made to both parts of the water bottom and the land. As described above, this rendering method is such that an amount of a displacement occurred by a refraction phenomena will not satisfy the Snell's law precisely, regarding to the picture of the water bottom under the water. However, by obtaining an amount of a displacement that is an approximate to the Snell's law using an easy method, the rendering can be made qualitatively to the part of the water bottom under the water. In the above-described refraction mapping that is implemented at the present time, it is necessary to perform two directional renderings for a parallel projection and a perspective projection. However, the refraction mapping described in the present embodiment can be implemented by only one directional rendering, by performing the refraction mapping using the water bottom texture produced by the perspective projection and the texture displacement quantity that can be calculated from the normal of the water surface WL and the visual line vector. Further, as shown in Fig. 10, it is not necessarily true that the water surface WL always forms a flat plane. The water surface such as an ocean surface is, usually in a state of which waves are formed. Fig. 11 shows the water surface WL of which such waves are formed. In this case, when the waves are formed on the water surface WL, the angle α formed by the normal n and the visual line VL becomes smaller as the normal n approaching to be parallel to the visual line VL, and as a consequence, an amount of a displacement of the displacement address - (n + kv) becomes smaller, and on the contrary, the angle oc formed by the normal n and the visual line VL becomes larger as the normal n approaching to be a right-angle with respect to the visual line VL, and as a consequence, an amount of a displacement of the displacement address - (n + kv) becomes larger. As a result of this, the one that is an approximate to the displacement according to the refraction phenomena occurred at the boundary of the air and the water can be obtained. Fig. 11 is a diagram illustrating this relation. The normal vector is such that a direction thereof varies according to a state of a wave. Herein, there are exemplified the normal vector nl that is approximately perpendicular to the visual line VL, and the normal vector n2 that is approximately in parallel therewith. For the normal vector nl, kl is determined so that the vector (nl + klv) is parallel to the texture plane. Similarly, for the normal vector n2, k2 is determined so that the vector (n2 + k2v) is parallel to the texture plane. As described above, by setting the amount of displacement to be - (nl + klv), - (n2 + k2v), depending on the states of waves, it enables to make the amount of displacement to be relatively large in the normal vector nl that is approximately perpendicular to the visual line VL, and to be relatively small in the normal vector n2 that is approximately parallel to the visual line VL. The state of the normal vector nl that is approximately perpendicular to the visual line VL is a case in which the amount of displacement is relatively large because the angle α is relatively large as shown in Fig. 5, and on the other hand, the state of the normal vector n2 that is approximately parallel to the visual line VL is a case in which the amount of displacement is relatively small because the angle α is relatively small as shown in Fig. 8. As a result, at the water surface WL on which the waves are formed, it also makes possible to implement the refraction mapping that follows the Snell's law qualitatively. Fig. 12 is a diagram showing one example of the refraction mapping according to the present embodiment. Fig. 12 A shows that, in a state of being no water, the one on which a rendering is made to a topography with a perspective projection is drawn to a display area at where it is outputted as a video output of the frame buffer 63. Fig. 12 B shows a state in which, with an image of the display area produced in Fig. 12 A as a texture, for the water bottom WB under the water surface WL, an image of the water surface (an image of the water bottom WB under the water surface WL) that is produced by implementing the refraction mapping, as an amount of displacement being obtained by a refraction with the above-described easy method, is superimposed with an image of the display area that is drawn in Fig. 12 A. Consequently, at a time when implementing the refraction mapping, without preparing an orthogonal projection of an image that is displayed as being refracted, by modifying the image that is perspective-projected on the screen SC, it can be represented with a simple method. According to the present invention, it makes possible to provide a system for and a method of implementing refraction mapping with an easy method, as well as a recording media in which this method is recorded. The invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The present embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than by foregoing description and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein.

Claims: CLAIMS WHAT IS CLAIMED IS: 1. A system for implementing a refraction mapping, comprising: means for perspective-projecting an object, and for producing a two-dimensional texture of said object for a texture plane; and means for determining a refracted texture address that displaces according to refraction phenomena, for at least a portion of said texture, wherein said refracted texture address is determined, depending on a normal vector at a boundary surface of different media and a visual line vector. 2. The system for implementing a refraction mapping according to claim 1, wherein said refracted texture address is determined by an angle formed with said normal vector and said visual line vector or a component of said normal vector that is parallel to said texture plane. 3. The system for implementing a refraction mapping according to claim 1, wherein as a normal vector at an intersection point of the boundary surface of at least two different media and the visual line vector is defined to be n, and as the visual line unit vector is defined to be v, determining a variable k so that the sum (n + kv) of the normal vector n and the value kv of which the visual line unit vector v is multiplied by a variable k becomes parallel to said texture plane, said refracted texture address is determined by displacing said texture address by an amount of a constant multiplication of (n + kv), that is L (n + kv). 4. The system for implementing a refraction mapping according to claim 1, wherein as a normal vector at an intersection point of the boundary surface of at least two different media and the visual line vector is defined to be n, said refracted texture address is determined by displacing a texture address with only an amount of L (n χ , n y ) of which two components (n χ , n y ) parallel to the texture plane of said normal vector n are multiplied by a constant L. 5. The system for implementing a refraction mapping according to claim 1, further comprising: means for displacing at least a portion of a texture, based on said refracted texture address; and means for perspective-transforming on a screen, using this displaced texture. 6. The system for implementing a refraction mapping according to claim 1, wherein said object has a portion projecting from the water surface, and a portion sinking under the water, and for at least a portion of said texture associated with said portion sinking under the water, a refracted texture address that is to be displaced according to refraction phenomena is determined. 7. The system for implementing refraction mapping according to claim 1, wherein, said system for implementing said refraction mapping is provided in a video game device. 8. A method of implementing a refraction mapping, comprising the steps of: perspective-projecting an object, and producing a two-dimensional texture of said object for a texture plane; and determining a refracted texture address that displaces according to a refraction phenomena, for at least a portion of said texture, wherein said refracted texture address is determined, depending on a normal vector at a boundary surface of different media and a visual line vector. 9. The method of implementing a refraction mapping according to claim 8, wherein said refracted texture address is determined by an angle formed with said normal vector and said visual line vector or a component of said normal vector that is parallel to said texture plane. 10. The method of implementing a refraction mapping according to claim 8, wherein as a normal vector at an intersection point of the boundary surface of at least two different media and the visual line vector is defined to be n, and as the visual line unit vector is defined to be v, determining a variable k so that the sum (n + kv) of the normal vector n and the value kv of which the visual line unit vector v is multiplied by a variable k becomes parallel to said texture plane, said refracted texture address is determined by displacing said texture address by an amount of a constant multiplication of (n + kv), that is L (n + kv). 11. The method of implementing a refraction mapping according to claim 8, wherein as a normal vector at an intersection point of the boundary surface of at least two different media and the visual line vector is defined to be n, said refracted texture address is determined by displacing a texture address with only an amount of L (n χ , n y ) of which two components (n χ , n y ) parallel to the texture plane of said normal vector n are multiplied by a constant L. 12. The method of implementing a refraction mapping according to claim 8, further comprising the steps of: displacing at least a portion of a texture, based on said refracted texture address; and perspective-transforming on a screen, using this displaced texture. 13. The method of implementing a refraction mapping according to claim 8, wherein said object has a portion projecting from the water surface, and a portion sinking under the water, and for at least a portion of said texture associated with said portion sinking under the water, a refracted texture address that is to be displaced according to refraction phenomena is determined. 14. A recording medium in which a program of implementing a refraction mapping is recorded so that it can be read and executed by a computer, said program comprising the steps of: perspective-projecting an object, and producing a two-dimensional texture of said object for a texture plane; and determining a refracted texture address that displaces according to a refraction phenomena, for at least a portion of said texture, wherein said refracted texture address is determined, depending on a normal vector at a boundary surface of different media and a visual line vector. 15. The recording medium according to claim 14, wherein said program is a processing program including the step of, said refracted texture address is determined by an angle formed with said normal vector and said visual line vector or a component of said normal vector that is parallel to said texture plane. 16. The recording medium according to claim 14, wherein said program is a processing program including the step of, as a normal vector at an intersection point of the boundary surface of at least two different media and the visual line vector is defined to be n, and as the visual line unit vector is defined to be v, determining a variable k so that the sum (n + kv) of the normal vector n and the value kv of which the visual line unit vector v is multiplied by a variable k becomes parallel to said texture plane, said refracted texture address is determined by displacing said texture address by an amount of a constant multiplication of (n + kv), that is L (n + kv). 17. The recording medium according to claim 14, wherein said program is a processing program including the step of, as a normal vector at an intersection point of the boundary surface of at least two different media and the visual line vector is defined to be n, said refracted texture address is determined by displacing a texture address with only an amount of L (n χ , n y ) of which two components (n χ , n y ) parallel to the texture plane of said normal vector n are multiplied by a constant L. 18. The recording medium according to claim 14, wherein said program is a processing program further comprising the steps of: displacing at least a portion of a texture, based on said refracted texture address; and perspective-transforming on a screen, using this displaced texture. 19. The recording medium according to claim 14, wherein said program is a processing program including the step of, said object has a portion projecting from the water surface, and a portion sinking under the water, and for at least a portion of said texture associated with said portion sinking under the water, a refracted texture address that is to be displaced according to refraction phenomena is determined.

Inventors: OKA MASAAKI, OKA, MASAAKI
Applicants: SONY COMP ENTERTAINMENT INC, SONY COMPUTER ENTERTAINMENT INC.
Application year: 2000
Main classification: G06T15
IPC codes: A63F13, G06T15, G06T17