US6917371B1 - Game device, picture data forming method and medium - Google Patents

Game device, picture data forming method and medium Download PDF

Info

Publication number
US6917371B1
US6917371B1 US09/415,920 US41592099A US6917371B1 US 6917371 B1 US6917371 B1 US 6917371B1 US 41592099 A US41592099 A US 41592099A US 6917371 B1 US6917371 B1 US 6917371B1
Authority
US
United States
Prior art keywords
trace mark
mark
trace
game
game device
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
US09/415,920
Inventor
Toshihiro Nagoshi
Takuji Masuda
Koki Koiwa
Takayuki Kazama
Ryo Ikawa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sega Corp
Original Assignee
Sega Enterprises Ltd
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
Priority claimed from US08/975,966 external-priority patent/US6234901B1/en
Application filed by Sega Enterprises Ltd filed Critical Sega Enterprises Ltd
Priority to US09/415,920 priority Critical patent/US6917371B1/en
Application granted granted Critical
Publication of US6917371B1 publication Critical patent/US6917371B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/10
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/803Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8017Driving on land or water; Flying

Definitions

  • the present invention relates to a video game device. More particularly, this invention relates to a game device which is installed at amusement centers or at home and which is capable of expressing more realistic pictures.
  • a game device of the present invention displays a picture of a scene that has come into view by moving a visual point of a virtual camera in a three-dimensional virtual space, and the game device comprises a flare processing means (S 102 through S 118 ) for forming a flare in a picture when a light source exists within view.
  • the flare processing means comprises: a line-of-sight vector generating means (S 106 ) for obtaining a line-of-sight vector which shows a line-of-sight direction of the visual point; a ray vector generating means (S 104 ) for obtaining a ray vector which shows a direction of the light source from the visual point; an inner product calculating means (S 108 ) for calculating an inner product of the line-of-sight vector and the ray vector, and a flare forming means (S 112 through S 118 ) for forming a flare having intensity according to the inner product in the picture.
  • This makes it possible to form a flare in accordance with the position of the light source from the visual point and/or the intensity of the light source. Expressions are made more closer to real scenes and it is possible to form game pictures with strengthened image effects, thereby making game more amusing.
  • the game device of this invention further comprises a determining means (S 110 ) for activating the flare forming means on the basis of the results of comparison of the inner product with a reference value.
  • the flare forming means increases a degree of whiteness of the picture in accordance with the inner product (S 112 ). This causes an influence (or flare effect) of the flares upon the picture to be expressed.
  • the flare forming means forms a picture of flare polygons having transparency according to the inner product (S 114 , S 118 ). This makes it possible to express flares of a camera lens.
  • the flare forming means conducts, with the inner product being between a predetermined upper limit and a predetermined lower limit, at least any one of the processing to add whiteness to the picture according to the inner product and the processing to form a flare polygon having transparency according to the inner product. This makes it possible to avoid formation of flares with a light source having weak intensity and to avoid excessive flare processing with a light source having strong intensity.
  • the fare forming means forms the flare on a straight line linking the visual point with the light source ( 5116 , S 118 ). This makes it possible to express the incidence of rays into a virtual camera.
  • a game device of this invention is a game device for displaying, as a picture, a scene having come into view by moving a visual point in a three-dimensional virtual space.
  • the game device comprises a flare processing means for forming a flare in the picture when a light source exists within view of the visual point.
  • the flare processing means determines a flare degree in accordance with the likes of a position of the light source within view and intensity of the light source. In doing so, it is possible to determine the flare degree at an appropriate value by using a table or a function in consideration of the above-mentioned upper limit and lower limit or the like.
  • the flares re expressed by, for example, displaying on a screen a flat figure having a comparatively higher degree of whiteness than that of the background or a hollow flat figure. Repeating display and no display of the flares in a short period of time, that is, flashing makes it possible to make it look like a real situation of flare formation. Moreover, it is possible to avoid continuous obstruction on a picture of the background by flares (particularly, flare pictures which are not hollow), thereby avoiding interruption with operation of a game.
  • the flares look like real ones by displaying a plurality of flares on a straight line corresponding to an incident ray. In doing so, it is possible to reduce a burden on arithmetic operation by forming a plurality of flares to be displayed by using similar figures.
  • the light source is a virtual sun located in the three-dimensional virtual space.
  • the virtual sun is relocated from a normal position to a position within view of a predetermined scene in order to generate the flare in the picture on the predetermined scene. This makes it possible to dramatically present a game scene by intentionally causing the light source to exist in the game scene and by generating flares.
  • a game device of this invention is a game device for displaying, as a picture, an object moving in accordance with developments of a game.
  • the game device comprises: a means (S 132 ) for reading a present position of the object; and a trace mark drawing means (S 132 through S 158 ) for drawing a trace mark in length within a predetermined range from the present position and for extinguishing a bottom position of the trace mark by making it gradually lighter in color with the lapse of time.
  • the trace mark consist of plural portions, each portion having an assigned pattern which becomes lighter in color from a top position of the trace mark toward a bottom position of the trace mark.
  • the trace pattern assigned to each portion a previously formed pattern can be used. It is possible to change the transparency of a basic trace pattern and use it as a pattern for each portion.
  • the trace mark drawing means extends only the top position of the trace mark (S 142 through S 152 ) when the present position of said object is located less than a predetermined value apart from the top position of the drawn trace mark (S 134 ), and the trace mark drawing means moves, by the predetermined value, the trace mark in its entirety toward the present position of the object (S 136 through S 158 ) when the present position of the object is located not less than the predetermined value apart from the top position of the drawn trace mark.
  • This makes it possible to draw the trace mark which will not give a sense of incompatibility to a game player, and to limit the length of the trace mark in its entirety to a constant length and restrain the amount of operation for the picture processing from increasing.
  • the trace ma k drawing means adjusts the timing to extinguish the drawn trace according to a moving speed of the object (S 132 through S 158 ).
  • the trace mark drawing means does not extinguish the drawn trace mark when the object stands still, while the trace mark drawing means extinguishes the drawn trace mark quickly at a speed according to a moving speed of the object when the object is moving (S 132 through S 158 ). This allows the trace mark to follow the movements of the object.
  • the trace mark drawing means delete the drawn trace mark when the object stops and a predetermined amount of time has passed. This makes it possible to reduce the number of display polygons (or slip traces) and to lessen a burden on the operation of the CPU.
  • the trace mark drawing means has: a cyclic register (as shown in FIG. 10 ) for retaining positions of respective portions of a mark, which consists of the plural portions (as shown in FIG. 9 ), in a plurality of storage regions which respectively correspond to the respective portions of the mark; and a mark top position indicating means (as shown in FIGS. 6 and 8 ) for indicating a storage region of the cyclic register, which corresponds to the top position of a mark.
  • a medium of this invention stores a program for making a computer system function as a game device as described above.
  • a method of forming picture data of this invention comprises the steps of: locating an object composed of polygons in a three-dimensional virtual space (S 202 ); setting a visual point in the three-dimensional virtual space and forming a projected picture by projecting polygons in a display region as seen from this visual point on a plane of projection (S 254 ); identifying whether each polygon is visible or invisible from the visual point according to the projected picture formed on the plane of projection (S 256 ); forming object data from data showing whether each polygon is visible or invisible ( 5212 ); and relating the visual point with the object data (S 216 ).
  • a method of forming picture data of this invention comprises the steps of: locating all objects composed of polygons in a three-dimensional space (S 202 ); setting a plurality of visual points in the three-dimensional space (S 204 ); forming a projected picture for each visual point by projecting, on a plane of projection for each visual point, the polygons within a display region as seen from each visual point (S 252 , S 254 ); identifying whether each polygon is visible or invisible from each visual point according to the projected picture formed on the plane of projection (S 256 ); forming data showing whether each polygon is visible or invisible from visual point on the basis of the results of the identification (S 258 ); forming a plurality of object data by making the same or similar patterns into a group in accordance with a data pattern of each polygon, the data representing whether the polygon is visible or invisible from each visual point (S 212 ); and forming an object table representing object data which can be seen from each visual point (S 216 ).
  • a medium of this invention stores a program for having a computer system execute each step of the above-described method of forming picture data
  • FIG. 1 is a functional block diagram of a game device according to an embodiment of the present invention.
  • FIG. 2 is a flowchart which explains an algorithm of flare formation.
  • FIG. 3 describes conditions of flare generation.
  • FIG. 4 shows an example of a flare generated screen.
  • FIG. 5 is a flowchart which explains another algorithm of flare formation.
  • FIG. 6 is a graph which explains the algorithm shown in FIG. 5 .
  • FIG. 7 describes an example in which a flare degree is found by referring to a table.
  • FIG. 8 describes an example in which a flare is intentionally generated by moving a light source.
  • FIG. 9 is a flowchart which describes an algorithm to display a tire mark.
  • FIG. 10 describes the content of RAM.
  • FIG. 11 describes the state of RAM when one round of writing has been finished.
  • FIG. 12 describes tire marks drawn by RAM as shown in FIG. 11 .
  • FIG. 13 describes a correspondence relationship between the RAM number and the tire mark patterns.
  • FIG. 14 shows a picture in which slip marks are drawn.
  • FIG. 15 shows an example of objects located in a three-dimensional virtual space.
  • FIG. 16 shows an example in which the object includes invisible portions in a display region.
  • FIG. 17 shows an example in which the invisible portions (polygons) of the object have been deleted.
  • FIG. 18 is a block diagram which explains the outline of a picture data processing device.
  • FIG. 19 is a flowchart explaining an example of formation of an object data base by deleting polygons which are invisible from a camera in the display region.
  • FIG. 20 is a flowchart explaining an example in which it is determined whether the polygons are visible or invisible.
  • FIG. 21 is a table showing whether the polygons are visible or invisible.
  • FIG. 22 explains how polygon data are made into object groups.
  • FIG. 23 explains a transformation table according to which objects to be drawn are selected according to the camera ID.
  • FIG. 24 shows a picture drawn in a three-dimensional mode as seen from a normal visual point.
  • FIG. 25 shows a picture when the visual point is moved upward in the same three-dimensional virtual space as that of FIG. 24 .
  • FIG. 1 is a block diagram showing the outline of a video game device. This device is composed of: a CPU block 10 for controlling the device in its entirety; a video block 11 for controlling the display of a game screen; a sound block 12 for generating effect sound or the like; a subsystem 13 for reading a CD-ROM; and other elements.
  • the CPU block 10 is composed of an SCU (System Control Unit) 100 , a main CPU 101 , a RAN 102 , a ROM 103 , a cartridge I/F la, a sub-CPU 104 , a CPU bus 103 and other elements.
  • the main CPU 101 controls the device in its entirety.
  • This main CPU 101 comprises the same operating function inside as that of a DSP (Digital Signal Processor) and is capable of executing application software at a high speed.
  • DSP Digital Signal Processor
  • the RAM 102 is used as a work area for the main CPU 101 .
  • the ROM 103 has, for example, an initial program for initialization written thereon.
  • the SCU 100 is designed to perform smooth input and output of data between, for example, the main CPU 101 , a VDP 120 and 130 , a DSP 140 , and a CPU 141 .
  • the SCU 100 comprises a DMA controller inside and is capable of transmitting object (or sprite) data during a game to a VRAM within the video block 11 . This makes it possible to execute application software of, for example, a game at a high speed.
  • the cartridge I/F is designed to input application software which is supplied in a ROM cartridge form.
  • the sub-CPU 104 is called an SMPC (System Manager & Peripheral Control) and is provided with, for example, a function to collect peripheral data from an input device 2 b through a connector 2 a upon request of the main CPU 101 .
  • the main CPU 101 conducts processing to move, for example, a car (or object) on a game screen on the basis of the peripheral data received from the sub-CPU 104 .
  • An operating unit which comprises a handle, an accelerator and a break, is connected to the connector 2 a . It is also possible to connect optional peripherals such as a pad, a joystick or a keyboard to the connector 2 a Connecting two operating units 2 b to the connector 2 a makes it possible to perform a car race for plural game players.
  • the sub-CPU 104 is provided with a function to automatically recognize the type of peripheral connected to the connector 2 a (at a terminal on the main fame side) and to collect peripheral data or the like in a communication format in accordance with the type of peripheral.
  • the video block 11 comprises: a VDP (Video Display Processor) 120 which mainly performs drawing of, for example, objects composed of polygon data in a video game; and a VDP 130 which mainly performs drawing of background pictures, synthesis of polygon picture data (of objects) with the background pictures, and clipping processing.
  • VDP Video Display Processor
  • the VDP 120 is connected to a VRAM 121 and a plurality of frame buffers (two buffers 122 and 123 are shown in FIG. 1 ).
  • a command to draw polygons which represent objects for a video game device is sent from the main CPU 101 to the SCU 100 and then to the VDP 120 and is then written on the VRAM 121 .
  • the VDP 120 reads the drawing command prom the VRAM into a system register inside and writes drawing data into the frame buffer. Drawing data of the frame buffer 122 or 123 is sent to the YDP 130 .
  • the VDP 120 is provided with, for example, the functions of: texture parts display to display objects in fixed forms, expanded or contracted objects, deformed objects or the like; formless objects display to display quadrilateral polygons, polylines, lines or the like; color operations such as semitransparent operation between parts, semiluminance operation, shadow operation, graduation operation, mesh operation or shading operation; mesh processing; and operation to perform clipping in order to avoid drawing in regions other than the display region which has been set.
  • the VDP 120 also comprises a geometrizer which performs matrix operations and is capable of quickly performing operations such as expansion, contraction, rotation, deformation or coordinate transformation.
  • the VDP 130 is connected to a VRAM 131 and it is constructed in a manner such that picture data outputted from the VDP 130 is outputted to an encoder 160 through a memory 132 .
  • the VDP 130 is provided with, for example, a scrolling function to control a scroll picture display and a priority function to determine the priority order to display objects and pictures.
  • the encoder 160 adds synchronization signals or the like to the picture data, thereby generating video signals which are then outputted to a TV picture receiver 5 (or projector).
  • the sound block 12 is composed of a DSP 140 for synthesizing sound in the PCM format or the FM format, and the CPU 141 for, for example, controlling the DSP 140 .
  • Sound data generated by the DSP 140 are converted into two-channel signals by a D/A converter 170 , which are then outputted to a speaker 5 b.
  • the subsystem 13 is composed of a CD-ROM drive 1 b , a CD I/F 180 , a CPU 181 , an MPEG AUDIO 182 , an MPEG VIDEO 183 and other elements.
  • This subsystem 13 has functions, for example, to read application software supplied in the CD-ROM form and to reproduce animation.
  • the CD-ROM drive lb is designed to read data from a CD-ROM.
  • the CPU 181 performs processing such as control of the CD-ROM drive lb and correction of errors in the read data
  • the data read from a CD-ROM are supplied to the main CPU 101 through the CD I/F 180 , a bus 106 and the SCU 100 and are utilized as application software.
  • the MPEG AUDIO 182 and the MPEG VIDEO 183 are devices for restoring data which are compressed in the MPEG (Motion Picture Expert Group) standards. Restoration of the MPEG compressed data, which are written on a CD-ROM, by using these MPEG AUDIO 182 and MPEG VIDEO 183 makes it possible to reproduce animation.
  • MPEG Motion Picture Expert Group
  • FIGS. 2 , 3 and 4 A first embodiment of special effects in pictures of this invention is hereinafter explained with reference to FIGS. 2 , 3 and 4 .
  • FIG. 2 is a flowchart which explains an algorithm of flare formation.
  • FIG. 3 explains how conditions on the flare formation are determined.
  • FIG. 4 shows an example of a picture in which flares are generated.
  • the CPU 101 develops a car race game in a three-dimensional virtual space in accordance with a main game program and data of driving operation (not shown).
  • the main game program and data are supplied by means of an information storage medium such as a ROM cartridge, CD-ROM or floppy disk, and are previously loaded on the memory.
  • the program and data may be downloaded through the medium of communication networks such as the Internet, personal computer communication or satellite communication, or broadcasting.
  • the CPU 101 locates objects such as cars and background in the three-dimensional virtual space and controls positions, movements or the like of the objects in synchronization with frame cycles of the TV picture receiver.
  • FIG. 3 shows a situation where the three-dimensional virtual space is observed from a virtual camera which corresponds to a visual point of a game player or driver.
  • the reference numeral 21 is a virtual camera (or a visual point)
  • the reference numeral 22 is a plane of projection which corresponds to a screen of a television monitor
  • the reference numeral 23 is the three-dimensional virtual space where a game is developed
  • the reference numeral 124 is a virtual light source located in the three-dimensional virtual space
  • the reference numeral 25 is a range of view the virtual camera.
  • the letter “A” indicates a unit vector on a line linking a camera position and the light source.
  • the letter “B” indicates a unit vector existing in a facing direction of the virtual camera.
  • the letter “ ⁇ ” is an angle formed by the vectors A and B.
  • the vector is not limited to the unit vector.
  • the CPU 101 determines whether or not a light source polygon 24 of the sun, street lights or the like is within view (or a screen) 25 of the virtual camera during the execution of the main game program (S 102 ). Objects to be located in the virtual space for each scene are previously made into data bases and, therefore, it is possible to acknowledge the existence of the light source object according to the individual number of objects listed up for the relevant scene.
  • the value of the vector A is set as not the unit length “1,” but a value corresponding to the intensity of the light source.
  • the vector A corresponds to an incident light having a direction and size (or strength of light).
  • the CPU 101 compares the inner product with a reference value which is previously determined as a condition of flare generation. It determines whether or not the inner product C exceeds the reference value (or threshold value) (S 110 ). If the inner product C does not exceed the reference value, flares are not generated or it is determined that the circumstances do not require the generation of flares.
  • this picture processing is terminated and returns to the main program.
  • the flare processing should be performed to the extent that a game player can recognize that a picture is influenced by the light source. Otherwise, the flare processing (for example, a fog effect as described below) may cause a kind of deterioration of picture quality. Such deterioration of picture quality can be avoided by the above-described determination (S 110 ).
  • the CPU 101 performs the flare processing.
  • the value C of the inner product is larger, it means that a ray comes straight from the light source and enters the camera lens, thereby stronger flares are generated. Accordingly, whiteness is added to a picture in proportion to the value C, thereby causing a so-called “fog effect.” This can be realized by changing luminance and chromaticity parameters for color operations of the VDP 120 and 130 (S 112 ). Subsequently, a transparency D in proportion to the value C is found (S 114 ). A line linking the camera position with the light source object is converted into a line E on a two-dimensional screen and a route of the ray in a screen picture is specified (S 116 ).
  • Flare polygons having the transparency D are drawn at appropriate positions along the line E. For example, if the transparency D is semitransparent, half of the luminance of a ground picture is added to half of the luminance of the flare polygons, and the results of addition are drawn on the frame buffer, thereby obtaining a flare picture (S 118 ). If a plurality of light source polygons which have a large quantity of light exist within view, the above-described flare generation processing is performed for each polygon
  • the fog effect and the flare polygon processing may be performed. If the light source exists within view (S 102 :Yes), the light source exerts some influence. The degree of influence is controlled by the inner product C. Accordingly, it is not indispensable to set a threshold value (S 110 ). For example, if the light source exists within view, the transparency of the flare polygons r may be adjusted according to the inner product C. In addition, once the inner product C exceeds the threshold value, the fog effect may be caused in proportion to the inner product C. Moreover, it is possible to adjust the whiteness and transparency of the picture by considering the type of the light source such as the sun or street light, and the intensity of the light source.
  • FIG. 4 shows a situation where flares are generated in a picture during a race.
  • the light source object exists on the upper right side of the screen and ring-shaped flare polygons and circle-shaped flare polygons are displayed along the line E (not shown).
  • the shape of the flare polygons is not limited to generally circular contours as shown in FIG. 4 .
  • the flare polygons may have polygonal contours.
  • the flare polygons which have been previously formed may be displayed as they are without performing the semitransparent processing. If such flare polygons are displayed in the expression form of flashing by repeatedly displaying and extinguishing the flare polygons, the backside of the flare polygons can be seen intermittently.
  • the same effect can be obtained as in the case where a figure with its inside not extinct, that is, the figure which is not hollow or annular is made into a figure without its inside, or as in the case where the flare polygons are made semitransparent. Therefore, the background can be seen and the operations of a game will not be obstructed. It is also possible to make the flare polygons look like real flares.
  • Display of flares is not limited to the display of the flare polygons.
  • Flat figures representing flares may be used to perform picture synthesis.
  • flare flashing as described above, it is possible to use flares formed with flat figures (or preferably hollow figures, or generally circular or polygonal figures corresponding to lens flares) which are tinted color with higher whiteness than the background because of the fog effect, to perform the picture synthesis, and to display a plurality of figures similar to such flat figures on a line which corresponds to an incident light and which links the visual point with the light source. In this case, a burden on operations is comparatively small.
  • FIGS. 5 and 6 show another embodiment of the flare processing.
  • Step S 110 of the flowchart shown in FIG. 2 is modified.
  • an upper limit CU and a lower limit CL are set in using the value C of the inner product. If the inner product C exceeds the upper limit CU (S 110 a : CU ⁇ C), the inner product is set at the value CU (S 110 d ). This makes it possible to prevent a picture from becoming too white because of the flares. If the inner product C is less than the lower limit (S 110 a : C ⁇ CL), the inner product C is set at the value CL (S 110 b ) in order to produce a constant flare effect.
  • the inner product C is utilized to determine the flare degree.
  • FIG. 7 shows two examples in which the flare degree is determined by referring to tables.
  • the flare degree is also represented as C for convenience.
  • the flare value C corresponding to a position of the virtual light source (for example, an angle ⁇ formed by the vector A and the vector B) can be decided by referring to a table shown in FIG. 7 ( a ).
  • the position of the virtual light source may have a coordinate value (x, y) on the screen or within view 25 . It is possible to previously store such a table on a CD-ROM 1 b as a data base and to read it when starting a game and retain it on the RAN 102 .
  • a flare value Cnn corresponding t a position of the light source ⁇ n and intensity Pn by referring to a table for finding the intensity of flares corresponding to the intensity of the light source.
  • the table which retains the flare value C which conforms only to the intensity of the light source may be used.
  • the flare value C so obtained can be used in the same manner as the inner product C at and after step S 100 . It is also possible to perform the same flare processing.
  • the flare degree is determined by referring to a table, anything (such as morning, evening, rain, fog, or existence of clouds) can be included as parameters in addition to the position and intensity of the light source as described above.
  • the content of the table is not limited to what is shown in FIG. 7 .
  • FIGS. 9 through 14 An algorithm of a second special effects picture is hereinafter explained with reference to FIGS. 9 through 14 .
  • This algorithm is to express car spinning, tire slips, driving on a bad road, etc. more realistically by leaving traces of tires on a road.
  • the amount of operations for the picture processing is decreased by. reducing polygons (or traces of tires) on the screen by deleting the traces of tires after a certain amount of time has elapsed. Since the traces of tires themselves are not necessary as driving information for a game, the traces are gradually deleted from their bottoms in a natural manner so that the amount of information will not become excessive.
  • FIG. 9 is a flowchart which explains an algorithm to display tire traces (or tire marks).
  • FIGS. 10 through 13 explain reading of data, display of the tire marks, etc.
  • FIG. 14 shows an example where the tire marks are drawn.
  • each pattern is stored in a data base (ROM).
  • ROM data base
  • Five storage regions of the RAM or registers as shown in FIG. 10 are used in order to cause the tire traces to follow the movements of car tires and to gradually extinguish the traces.
  • the main program determines whether or not display conditions of the tire marks are satisfied.
  • a tire mark display routine is executed by determining, for example, whether or not tire slips have occurred due to spinning of a car or abrupt pressing on the accelerator or whether or not a car is running on a bad road by referring to the relevant functions or flags which indicate driving conditions.
  • the position X n ⁇ 1 and the position T xn herein used mean coordinate values in the three-dimensional virtual space.
  • the CPU 101 determines whether or not the tire mark length L exceeds a maximum length 1 of a basic pattern of the tire mark (S 134 ).
  • the CPU 101 causes the top mark RAM to store the present tire position T xn as an ending position of the tire mark (S 144 ).
  • the tire mark length L is stored in the top mark RAM (S 146 ).
  • the CPU 101 causes the number of the top mark RAM to be retained as it is without updating the content of the flag register for storing the number of the RAM at which the topmark flag should be set (S 148 ).
  • the RAN number is matched with the patterns as shown in FIG. 13 .
  • Data is read from the top mark RAM in a cyclic manner, thereby drawing the tire mark.
  • the top mark RAM No. 0 is matched with the pattern 4
  • the top mark RAM No. 1 is matched with the pattern 3
  • tie top mark RAM No. 2 is matched with the pattern 2
  • the top mark RAM No. 3 is matched with the pattern 1
  • the top mark RAM No. 4 is matched with the pattern 0 .
  • density of the tire mark changes from a light color to a dark color.
  • the number of the top mark RAM represents a newest tire trace in terms of time.
  • the CPU 101 reads out the darkest pattern (pattern 4 ) (S 150 ). It reads a tire mark beginning position X n ⁇ 1 , a tire mark ending position T xn and a length L from the RAM and displays the patterns on the screen (S 152 ). It determines whether or not display of all the patterns for the number of RAMs has been completed (S 154 ).
  • the CPU 101 designates that the RAM number be checked in a cyclic manner in the downstream order (S 156 ), and reads the tire mark patterns which become lighter in color step by step or gradually in the downstream order in accordance with the RAM number (S 158 ).
  • display of the patterns for the number of RAMS have been finished (S 154 : Yes)
  • the CPU 101 once returns to the main program.
  • steps S 132 , 5134 , S 144 through S 154 are repeated and the tire marks are drawn in a manner such that the darkest pattern immediately follows the tire.
  • the number of the top mark RAM is increased by one. If the RAM number exceeds a maximum value (“4” in this case), the RAM number returns to zero (S 138 ).
  • the mark beginning position Pe is stored in a new top mark RAM (S 140 ).
  • the present tire position T xn is stored as the mark ending position in the top mark RAM (S 144 ).
  • the tire mark length L is stored in the top mark RAM (S 146 ).
  • the RAM number to be stored in the flag register is set at the number of the top mark RAM updated at S 138 (S 148 ).
  • the darkest pattern (pattern 4 ) is read out (S 150 ).
  • the tire mark beginning position Pe, ending position T xn and length L are read from the RAM and the patterns are displayed on the screen (S 152 ). It is determined whether or not display of all the patterns for the number of RAMs have been finished (S 154 ).
  • the CPU 101 designates that the RAM number be checked in a cyclic manner in the downstream order ( 5156 ), and reads the tire mark patterns which become lighter in color step by step or gradually in the downstream order in accordance with the RAM number (S 158 ).
  • the above-described tire mark drawing processing is executed and the tire marks are drawn on the screen while the tire mark display conditions are satisfied upon the execution of the main program.
  • FIGS. 10 ( a ) through 10 ( e ) An explanation is hereinafter given with reference to FIGS. 10 ( a ) through 10 ( e ) about data retained in RAM 0 through RAM 4 and updating of the retained data in the flag register by means of the above-described algorithm.
  • FIG. 10 ( a ) explains the case where the length L of the tire mark caused by a slip is ⁇ 1 , that is, less than the mark reference value 1 (S 134 : No).
  • the top mark indicates RAM 0
  • the initial tire mark beginning position X 0 is the tire position when a slip starts. These values are stored in RAM 0 (S 144 through S 146 ).
  • RAM 0 is made the number of the top mark RAM to be retained in the flag register (S 148 ). As shown in FIG. 13 , the number of the top mark RAM corresponds to the darkest pattern 4 .
  • the beginning, ending and length of the tire mark are read from RAM 0 and the tire mark is drawn according to the pattern 4 (S 152 ).
  • the top mark RAM is made RAM 1 (S 138 ).
  • the present tire position T x1 is made the mark ending position and is stored in RAM 1 (S 144 ).
  • the number of the top mark RAM to be retained in the flag register and to be read out in a cyclic manner is set as RAM 1 (S 148 ).
  • Data of the pattern 4 is made to correspond to RAM 1 (S 150 ).
  • the dark tire mark of the pattern 4 is drawn according to the data of RAM 1 (S 152 ).
  • the tire mark of the pattern 3 is drawn according to the data stored in RAM 0 (S 154 , S 156 , S 158 and S 152 ). Then the CPU returns to the main program.
  • drawing data of the tire mark (the beginning, ending and length of the tire mark) are retained in RAM 0 through RAM 4 .
  • FIG. 11 shows an example where one round of data preservation onto RAM 0 through RAM 4 have been completed. Since there are five RAMs in this embodiment, rewriting is conducted in serial order.
  • FIG. 11 ( a ) shows a situation where one round of rewriting is completed and the top position of the tire mark corresponds to RAM 2 .
  • FIG. 11 ( b ) shows a situation where one round of rewriting is completed and the top position is located at RAM 3 . Since the previous data portion of the tire mark which has been rewritten is not displayed, the relevant pattern drawn on the screen is extinguished. If the position coordinate X n is located out of view of the virtual camera, such a position will be regarded as being not subject to the picture processing and, therefore, will not be displayed by means of clipping.
  • FIG. 12 ( a ) explains the case where the data shown in FIG. 11 ( a ) is drawn as a tire mark.
  • the pattern 4 is drawn in a pattern length of ⁇ 1 and each of the patterns 3 , 2 , 1 and 0 is drawn in a pattern length of 1. Drawing density becomes lighter from the pattern 4 to the pattern 0 .
  • FIG. 12 ( b ) shows a tire mark drawn by using the data shown in FIG. 11 ( b ).
  • a drawing range of the tire mark has moved from the position X j through T x8 of FIG. 12 ( a ) to the position X 4 through T x9 , following the tire object of a car.
  • the tire mark of the position range X 3 through X 4 has been extinguished. This limits the tire trace to a predetermined length and prevents the amount of operations necessary to display the tire mark from increasing too much.
  • Such a method of drawing pictures makes it possible to save memory consumption, compared to a conventional method of preparing various pictures with tire traces drawn in advance (which requires an enormous amount of memory) and of selecting an appropriate picture out of such pictures.
  • a racing car moves at a high speed.
  • the number of polygons of a game players car and opponent cars within view can be reduced and a burden on the operational processing for picture drawing can be lessened.
  • the tire marks continue to be displayed indefinitely, it will interfere with the game. However, there is no fear of such interference regarding the present application because the tire marks are extinguished at an appropriate time.
  • a plurality of tire trace patterns (or polygons of traces) of different density are prepared in advance ( FIG. 13 ) and appropriate trace patterns are selected to draw the entire traces.
  • a trace mark of predetermined density may be obtained by performing the processing to make the darkest tire trace mark (which is a basic pattern) semitransparent.
  • transparency for the transparency processing at the above-mentioned step is selected from a plurality of transparencies which are set by steps according to the number of execution of the routine (S 152 through S 158 ).
  • Respective trace marks which have undergone the semitransparent processing with different transparencies are combined to form the entire trace.
  • This method gives rise to the same results as those in the aforementioned case where a plurality of tire trace patters of different density are prepared to form the entire trace of density gradually changing from the top to the bottom.
  • the trace mark consisting of a plurality of polygons which is displayed according to the routine as shown in FIG. 9 , the polygons are made gradually lighter in color by means of the semitransparent processing and are then extinguished in the order first displayed the size of polygons does not change at the step of making them lighter), and when the polygons become no longer visible in the end, such polygons themselves are removed out of the object of t processing (step S 154 , FIG. 12 ( b )).
  • FIG. 14 shows an example where a car spins and tire marks (or slip traces) are drawn on the screen. A portion of the marks closer to the tires are drawn in dark color and the beginning positions of the tire marks are drawn in light color.
  • Concerning objects to be projected on a monitor by means of so-called three-dimensional graphics the arithmetic processing is performed such as placement of the objects into the three-dimensional virtual space, projection transformation for drawing the objects on a plane of projection, modeling transformation, and viewing transformation, thereby forming monitor pictures.
  • a clipping is performed by forming a view pyramid and by removing and not displaying the portions outside the display region to be actually projected on the plane of projection. This clipping contributes to a reduction of the amount of operations.
  • Another embodiment of this invention performs the clipping even in the display region and is intended to further reduce the amount of operations.
  • FIG. 15 shows objects A and B located in the three-dimensional virtual space.
  • Objects A and B are respectively composed of a plurality of polygons.
  • objects in the display regions are read front a data base and are located in the original shape at relevant positions. Textures (or patterns) are pasted on the surface of polygons.
  • FIG. 16 shows an example where object B is placed behind object A when a camera position (or visual point) for projection transformation is located at the back off to the left.
  • a portion of object B (the portion which is located behind object A) is invisible from the camera position. Accordingly, if a data base of the objects is constructed by omitting polygons of the invisible portion, the amount of operations for the three-dimensional graphics display decreases.
  • FIG. 17 shows an example where polygons of object B are partly omitted. Even if such omission of polygons is conducted, a resultant picture on the plane of projection as seen from the camera is the same as that of FIG. 16 .
  • a data base is previously made in the form of, for example, background and a set of objects, and data of a relevant scene is read out according to the position of a car and is displayed as background, etc. on the screen. Accordingly, it is possible to provide a data base which requires a smaller amount of operations with a game device by reducing the polygons which cannot be actually seen from the camera.
  • the picture data processing device is composed of a computer system, which is divided roughly into: a data processing portion 200 ; an operational portion 201 ; a storage portion 202 for retaining data bases such as object tables and polygon data; and a CRT display portion 203 for displaying pictures.
  • the data processing portion 200 is composed of: an arithmetic processing control portion 21 1 for controlling respective parts in accordance with programs retained in a memory 212 ; a camera position control portion 213 for setting coordinates of a camera (or visual point) position in the three-dimensional virtual space in accordance with movements of a car or game programs; an object table deciding portion 214 for deciding an object table corresponding to the camera position by referring to the camera position; a coordinate transformation matrix generating portion 215 for generating a matrix of coordinate transformation corresponding to the camera position; a polygon memory control portion 216 for designating relevant polygons by referring to the object table; a polygon memory 217 for outputting the designated polygon data; a texture memory 218 for retaining textures to be pasted on the polygons; a coordinate transformation portion 219 for locating the polygons in the three-dimensional virtual space, pasting the textures on the polygons, and performing, for example, projection transformation by means of the above-mentioned transformation matrix to transform the polygons into an
  • FIG. 19 is a flowchart which explains an algorithm to construct a data base of objects with some polygons which cannot be seen being omitted, by using a conventional object data base.
  • a data base of three-dimensional graphics is composed by a conventional method or a data base of three-dimensional graphics which has already been composed is prepared.
  • Data of all polygons is loaded from the data base onto a work area of a CPU memory.
  • the polygon data includes coordinate data (S 202 ).
  • a number for identification (or polygon ID) is given to each polygon. For example, the polygons are numbered in the order of loading (S 204 ).
  • the camera position data includes coordinates and a facing direction (or vector) of the camera (S 206 ).
  • the number for identification (or camera ID) is given to the camera position data. For example, the camera position is numbered in the order of loading (S 208 ).
  • FIG. 20 is a flowchart showing an algorithm of the visibility determining processing.
  • This processing locates all the objects in the three-dimensional virtual space formed in the computer system and draws all the polygons. In doing so, it gives a relevant polygon ID number to picture elements of each polygon (S 252 ). It performs coordinate transformation, etc. at each camera position (or camera ID) and then draws a projected picture as seen from the camera.
  • a method such as the so-called Z buffer method is used to draw, among overlapping polygons in the display regions, the polygons located in front as visible polygons and not to draw the polygons located in the back (S 254 ).
  • FIG. 21 shows an example of the visible flag table. It shows, regarding all polygons at all the camera positions (or camera ID), whether or not a relevant polygon can be seen from a relevant camera position (or camera ID). If it can be seen, a flag “1” is displayed. If it cannot be seen, a flag “0” is displayed.
  • polygons with similar flag patterns to those of the object data are extracted and incorporated into the relevant object data (FIG. 22 ( c )). For example, polygons with flag patterns which are different by one bit from a pattern obtained by a logical sum of flag patterns of the respective polygons in the object data are extracted and incorporated into the object data. The same procedure is repeated and the polygons are made into groups (or object data) until the flag patterns which are different by predetermined bits are checked.
  • FIG. 23 shows an example of this transformation table. Objects to be located at each camera position (or camera ID) in the three-dimensional virtual space can be found immediately by referring to this table.
  • object data OBJ 0 , OBJ 1 , OBJ 3 arid so on are located at camera position 0 .
  • object data OBJ 0 , OBJ 3 and so on are located at camera position 1 .
  • the camera position is selected in accordance with developments of a game, and relevant object data groups are read from the transformation table and polygons composing each object are drawn, thereby drawing each scene.
  • the object data are stored in a data base (S 218 ).
  • the transformation table of the objects is stored in a data base (S 220 ).
  • FIGS. 24 and 25 show examples of pictures drawn by using object data with polygons which cannot be seen in the display region being omitted.
  • FIG. 24 shows an example of one scene at a regular camera position luring a car race with cars running in a game field formed in the three-dimensional virtual space.
  • FIG. 25 shows the sane scene as seen from above. In the region indicated with oblique lines in FIG. 25 , no polygons are drawn and no picture exists. Accordingly, the amount of operations necessary to, for example, construct the virtual space or transform pictures for such a region is reduced.
  • clipping to objects existing in view as described above is not limited to video games like the above-described embodiments.
  • it can be applied to anything which displays the state of the three-dimensional virtual space by transforming it into two-dimensional pictures, such as various kinds of simulation for virtual experience.
  • this invention is capable of expressing flares caused by incident rays from a light source, it is possible to enjoy dazzling scenes or dramatically presented scenes.
  • this invention makes it possible to draw traces of moving objects such as cars or skis without comparatively increasing the number of polygons, which is a desirable feature.
  • an object data base is formed by clipping invisible polygons in the display region. Therefore, it is possible to draw the same pictures as those drawn by conventional methods by spending a smaller amount of operations than that of the conventional methods.

Abstract

It is an object of the present invention to provide special effects which will make a video game more realistic. When a virtual light source exists in a three-dimensional virtual space, if a light from the light source extends toward a camera, a flare is generated on a screen because of incidence of the ray of light into a camera lens, thereby forming a dazzling picture in accordance with the state of backlight.

Description

This application is a division of Ser. No. 08/975,966 filed Nov. 21, 1997 now U.S. Pat. No. 6,234,901.
BACKGROUND OF THE INVENTION
The present invention relates to a video game device. More particularly, this invention relates to a game device which is installed at amusement centers or at home and which is capable of expressing more realistic pictures.
With the progress of computer technology, video game devices utilizing computer graphics technology have come to be widely used. This type of video game devices are widely accepted by users. A large number of various kinds of game devices have been devised and various game software products which run on such game devices have been supplied.
It is desirable that pictures be displayed in more realistic expressions on a screen so that users would be able to enjoy video games fully. Foe example, with a vehicle race such as a car race, it is desirable that movements of cars and the background be expressed naturally and that anything which may occur during the drive, for example, reflection of light on a windshield be expressed as special effects on a screen. Moreover, it will be interesting if traces of tire slips of a car appear.
On the other hand, since complicated arithmetic operations such as coordinate transformation are repeated for three-dimensional screen display, the amount of operation borne by CPU becomes enormous. Accordingly, if special effects or the like of picture expressions are performed, the number of polygons to be displayed on the screen must be decreased by the amount of operation to be used for such special effects.
Therefore, it is a first object of this invention to provide a video game device capable of expressing a picture with which a game player can perceive dazzling light from a light source.
It is a second object of this invention to provide a game device capable of expressing, on a screen, traces of a moving object in a video game.
It is a third object of this invention to provide a method of decreasing the amount of operation in a drawing routine when developments of a game in the three-dimensional virtual space are displayed on a two-dimensional screen so that pictures on the screen may seem to be three-dimensional.
SUMMARY OF THE INVENTION
In order to achieve the above-mentioned objects, a game device of the present invention displays a picture of a scene that has come into view by moving a visual point of a virtual camera in a three-dimensional virtual space, and the game device comprises a flare processing means (S102 through S118) for forming a flare in a picture when a light source exists within view. The flare processing means comprises: a line-of-sight vector generating means (S106) for obtaining a line-of-sight vector which shows a line-of-sight direction of the visual point; a ray vector generating means (S104) for obtaining a ray vector which shows a direction of the light source from the visual point; an inner product calculating means (S108) for calculating an inner product of the line-of-sight vector and the ray vector, and a flare forming means (S112 through S118) for forming a flare having intensity according to the inner product in the picture. This makes it possible to form a flare in accordance with the position of the light source from the visual point and/or the intensity of the light source. Expressions are made more closer to real scenes and it is possible to form game pictures with strengthened image effects, thereby making game more amusing.
The game device of this invention further comprises a determining means (S110) for activating the flare forming means on the basis of the results of comparison of the inner product with a reference value. This makes it possible to prevent lowering of the picture quality by avoiding the formation of flares and performing flare processing when the intensity of the light source is not strong enough to generate flares.
The flare forming means increases a degree of whiteness of the picture in accordance with the inner product (S112). This causes an influence (or flare effect) of the flares upon the picture to be expressed.
The flare forming means forms a picture of flare polygons having transparency according to the inner product (S114, S118). This makes it possible to express flares of a camera lens.
The flare forming means conducts, with the inner product being between a predetermined upper limit and a predetermined lower limit, at least any one of the processing to add whiteness to the picture according to the inner product and the processing to form a flare polygon having transparency according to the inner product. This makes it possible to avoid formation of flares with a light source having weak intensity and to avoid excessive flare processing with a light source having strong intensity.
The fare forming means forms the flare on a straight line linking the visual point with the light source (5116, S118). This makes it possible to express the incidence of rays into a virtual camera.
A game device of this invention is a game device for displaying, as a picture, a scene having come into view by moving a visual point in a three-dimensional virtual space. The game device comprises a flare processing means for forming a flare in the picture when a light source exists within view of the visual point. The flare processing means determines a flare degree in accordance with the likes of a position of the light source within view and intensity of the light source. In doing so, it is possible to determine the flare degree at an appropriate value by using a table or a function in consideration of the above-mentioned upper limit and lower limit or the like.
The flares re expressed by, for example, displaying on a screen a flat figure having a comparatively higher degree of whiteness than that of the background or a hollow flat figure. Repeating display and no display of the flares in a short period of time, that is, flashing makes it possible to make it look like a real situation of flare formation. Moreover, it is possible to avoid continuous obstruction on a picture of the background by flares (particularly, flare pictures which are not hollow), thereby avoiding interruption with operation of a game.
It is possible to make the flares look like real ones by displaying a plurality of flares on a straight line corresponding to an incident ray. In doing so, it is possible to reduce a burden on arithmetic operation by forming a plurality of flares to be displayed by using similar figures.
The light source is a virtual sun located in the three-dimensional virtual space. The virtual sun is relocated from a normal position to a position within view of a predetermined scene in order to generate the flare in the picture on the predetermined scene. This makes it possible to dramatically present a game scene by intentionally causing the light source to exist in the game scene and by generating flares.
A game device of this invention is a game device for displaying, as a picture, an object moving in accordance with developments of a game. The game device comprises: a means (S132) for reading a present position of the object; and a trace mark drawing means (S132 through S158) for drawing a trace mark in length within a predetermined range from the present position and for extinguishing a bottom position of the trace mark by making it gradually lighter in color with the lapse of time. This makes it possible to reduce the amount of operation for picture processing by reducing trace polygons of, for example, tires.
It is preferable that the trace mark consist of plural portions, each portion having an assigned pattern which becomes lighter in color from a top position of the trace mark toward a bottom position of the trace mark. As the trace pattern assigned to each portion, a previously formed pattern can be used. It is possible to change the transparency of a basic trace pattern and use it as a pattern for each portion.
The trace mark drawing means extends only the top position of the trace mark (S142 through S152) when the present position of said object is located less than a predetermined value apart from the top position of the drawn trace mark (S134), and the trace mark drawing means moves, by the predetermined value, the trace mark in its entirety toward the present position of the object (S136 through S158) when the present position of the object is located not less than the predetermined value apart from the top position of the drawn trace mark. This makes it possible to draw the trace mark which will not give a sense of incompatibility to a game player, and to limit the length of the trace mark in its entirety to a constant length and restrain the amount of operation for the picture processing from increasing.
The trace ma k drawing means adjusts the timing to extinguish the drawn trace according to a moving speed of the object (S132 through S158).
The trace mark drawing means does not extinguish the drawn trace mark when the object stands still, while the trace mark drawing means extinguishes the drawn trace mark quickly at a speed according to a moving speed of the object when the object is moving (S132 through S158). This allows the trace mark to follow the movements of the object.
Moreover, it is preferable that the trace mark drawing means delete the drawn trace mark when the object stops and a predetermined amount of time has passed. This makes it possible to reduce the number of display polygons (or slip traces) and to lessen a burden on the operation of the CPU.
The trace mark drawing means has: a cyclic register (as shown in FIG. 10) for retaining positions of respective portions of a mark, which consists of the plural portions (as shown in FIG. 9), in a plurality of storage regions which respectively correspond to the respective portions of the mark; and a mark top position indicating means (as shown in FIGS. 6 and 8) for indicating a storage region of the cyclic register, which corresponds to the top position of a mark.
A medium of this invention stores a program for making a computer system function as a game device as described above.
A method of forming picture data of this invention comprises the steps of: locating an object composed of polygons in a three-dimensional virtual space (S202); setting a visual point in the three-dimensional virtual space and forming a projected picture by projecting polygons in a display region as seen from this visual point on a plane of projection (S254); identifying whether each polygon is visible or invisible from the visual point according to the projected picture formed on the plane of projection (S256); forming object data from data showing whether each polygon is visible or invisible (5212); and relating the visual point with the object data (S216).
A method of forming picture data of this invention comprises the steps of: locating all objects composed of polygons in a three-dimensional space (S202); setting a plurality of visual points in the three-dimensional space (S204); forming a projected picture for each visual point by projecting, on a plane of projection for each visual point, the polygons within a display region as seen from each visual point (S252, S254); identifying whether each polygon is visible or invisible from each visual point according to the projected picture formed on the plane of projection (S256); forming data showing whether each polygon is visible or invisible from visual point on the basis of the results of the identification (S258); forming a plurality of object data by making the same or similar patterns into a group in accordance with a data pattern of each polygon, the data representing whether the polygon is visible or invisible from each visual point (S212); and forming an object table representing object data which can be seen from each visual point (S216).
A medium of this invention stores a program for having a computer system execute each step of the above-described method of forming picture data
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a functional block diagram of a game device according to an embodiment of the present invention.
FIG. 2 is a flowchart which explains an algorithm of flare formation.
FIG. 3 describes conditions of flare generation.
FIG. 4 shows an example of a flare generated screen.
FIG. 5 is a flowchart which explains another algorithm of flare formation.
FIG. 6 is a graph which explains the algorithm shown in FIG. 5.
FIG. 7 describes an example in which a flare degree is found by referring to a table.
FIG. 8 describes an example in which a flare is intentionally generated by moving a light source.
FIG. 9 is a flowchart which describes an algorithm to display a tire mark.
FIG. 10 describes the content of RAM.
FIG. 11 describes the state of RAM when one round of writing has been finished.
FIG. 12 describes tire marks drawn by RAM as shown in FIG. 11.
FIG. 13 describes a correspondence relationship between the RAM number and the tire mark patterns.
FIG. 14 shows a picture in which slip marks are drawn.
FIG. 15 shows an example of objects located in a three-dimensional virtual space.
FIG. 16 shows an example in which the object includes invisible portions in a display region.
FIG. 17 shows an example in which the invisible portions (polygons) of the object have been deleted.
FIG. 18 is a block diagram which explains the outline of a picture data processing device.
FIG. 19 is a flowchart explaining an example of formation of an object data base by deleting polygons which are invisible from a camera in the display region.
FIG. 20 is a flowchart explaining an example in which it is determined whether the polygons are visible or invisible.
FIG. 21 is a table showing whether the polygons are visible or invisible.
FIG. 22 explains how polygon data are made into object groups.
FIG. 23 explains a transformation table according to which objects to be drawn are selected according to the camera ID.
FIG. 24 shows a picture drawn in a three-dimensional mode as seen from a normal visual point.
FIG. 25 shows a picture when the visual point is moved upward in the same three-dimensional virtual space as that of FIG. 24.
DETAILED DESCRIPTION OF THE INVENTION
The construction of a game device capable of executing an algorithm concerning pictures of special effects according to this invention is hereinafter explained with reference to drawings.
FIG. 1 is a block diagram showing the outline of a video game device. This device is composed of: a CPU block 10 for controlling the device in its entirety; a video block 11 for controlling the display of a game screen; a sound block 12 for generating effect sound or the like; a subsystem 13 for reading a CD-ROM; and other elements.
The CPU block 10 is composed of an SCU (System Control Unit) 100, a main CPU 101, a RAN 102, a ROM 103, a cartridge I/F la, a sub-CPU 104, a CPU bus 103 and other elements. The main CPU 101 controls the device in its entirety. This main CPU 101 comprises the same operating function inside as that of a DSP (Digital Signal Processor) and is capable of executing application software at a high speed.
The RAM 102 is used as a work area for the main CPU 101. the ROM 103 has, for example, an initial program for initialization written thereon. The SCU 100 is designed to perform smooth input and output of data between, for example, the main CPU 101, a VDP 120 and 130, a DSP 140, and a CPU 141. The SCU 100 comprises a DMA controller inside and is capable of transmitting object (or sprite) data during a game to a VRAM within the video block 11. This makes it possible to execute application software of, for example, a game at a high speed. The cartridge I/F is designed to input application software which is supplied in a ROM cartridge form.
The sub-CPU 104 is called an SMPC (System Manager & Peripheral Control) and is provided with, for example, a function to collect peripheral data from an input device 2 b through a connector 2 a upon request of the main CPU 101. The main CPU 101 conducts processing to move, for example, a car (or object) on a game screen on the basis of the peripheral data received from the sub-CPU 104. An operating unit, which comprises a handle, an accelerator and a break, is connected to the connector 2 a. It is also possible to connect optional peripherals such as a pad, a joystick or a keyboard to the connector 2 a Connecting two operating units 2 b to the connector 2 a makes it possible to perform a car race for plural game players. The sub-CPU 104 is provided with a function to automatically recognize the type of peripheral connected to the connector 2 a (at a terminal on the main fame side) and to collect peripheral data or the like in a communication format in accordance with the type of peripheral.
The video block 11 comprises: a VDP (Video Display Processor) 120 which mainly performs drawing of, for example, objects composed of polygon data in a video game; and a VDP 130 which mainly performs drawing of background pictures, synthesis of polygon picture data (of objects) with the background pictures, and clipping processing.
The VDP 120 is connected to a VRAM 121 and a plurality of frame buffers (two buffers 122 and 123 are shown in FIG. 1). A command to draw polygons which represent objects for a video game device is sent from the main CPU 101 to the SCU 100 and then to the VDP 120 and is then written on the VRAM 121. The VDP 120 reads the drawing command prom the VRAM into a system register inside and writes drawing data into the frame buffer. Drawing data of the frame buffer 122 or 123 is sent to the YDP 130. The VDP 120 is provided with, for example, the functions of: texture parts display to display objects in fixed forms, expanded or contracted objects, deformed objects or the like; formless objects display to display quadrilateral polygons, polylines, lines or the like; color operations such as semitransparent operation between parts, semiluminance operation, shadow operation, graduation operation, mesh operation or shading operation; mesh processing; and operation to perform clipping in order to avoid drawing in regions other than the display region which has been set. The VDP 120 also comprises a geometrizer which performs matrix operations and is capable of quickly performing operations such as expansion, contraction, rotation, deformation or coordinate transformation.
The VDP 130 is connected to a VRAM 131 and it is constructed in a manner such that picture data outputted from the VDP 130 is outputted to an encoder 160 through a memory 132.
In addition to the functions that the VDP 120 has, the VDP 130 is provided with, for example, a scrolling function to control a scroll picture display and a priority function to determine the priority order to display objects and pictures.
The encoder 160 adds synchronization signals or the like to the picture data, thereby generating video signals which are then outputted to a TV picture receiver 5 (or projector).
Accordingly, pictures of van us kinds of games are displayed on the TV picture receiver 5.
The sound block 12 is composed of a DSP 140 for synthesizing sound in the PCM format or the FM format, and the CPU 141 for, for example, controlling the DSP 140. Sound data generated by the DSP 140 are converted into two-channel signals by a D/A converter 170, which are then outputted to a speaker 5 b.
The subsystem 13 is composed of a CD-ROM drive 1 b, a CD I/F 180, a CPU 181, an MPEG AUDIO 182, an MPEG VIDEO 183 and other elements. This subsystem 13 has functions, for example, to read application software supplied in the CD-ROM form and to reproduce animation. The CD-ROM drive lb is designed to read data from a CD-ROM. The CPU 181 performs processing such as control of the CD-ROM drive lb and correction of errors in the read data The data read from a CD-ROM are supplied to the main CPU 101 through the CD I/F 180, a bus 106 and the SCU 100 and are utilized as application software. The MPEG AUDIO 182 and the MPEG VIDEO 183 are devices for restoring data which are compressed in the MPEG (Motion Picture Expert Group) standards. Restoration of the MPEG compressed data, which are written on a CD-ROM, by using these MPEG AUDIO 182 and MPEG VIDEO 183 makes it possible to reproduce animation.
A first embodiment of special effects in pictures of this invention is hereinafter explained with reference to FIGS. 2, 3 and 4.
In this embodiment, when a ray enters a so-called virtual camera from a light source in course of developments of a game, flares from the ray are generated in pictures, thereby providing more realistic pictures. FIG. 2 is a flowchart which explains an algorithm of flare formation. FIG. 3 explains how conditions on the flare formation are determined. FIG. 4 shows an example of a picture in which flares are generated.
The CPU 101 develops a car race game in a three-dimensional virtual space in accordance with a main game program and data of driving operation (not shown). The main game program and data are supplied by means of an information storage medium such as a ROM cartridge, CD-ROM or floppy disk, and are previously loaded on the memory. Moreover, the program and data may be downloaded through the medium of communication networks such as the Internet, personal computer communication or satellite communication, or broadcasting. The CPU 101 locates objects such as cars and background in the three-dimensional virtual space and controls positions, movements or the like of the objects in synchronization with frame cycles of the TV picture receiver.
FIG. 3 shows a situation where the three-dimensional virtual space is observed from a virtual camera which corresponds to a visual point of a game player or driver. In FIG. 3, the reference numeral 21 is a virtual camera (or a visual point), the reference numeral 22 is a plane of projection which corresponds to a screen of a television monitor, the reference numeral 23 is the three-dimensional virtual space where a game is developed, the reference numeral 124 is a virtual light source located in the three-dimensional virtual space, and the reference numeral 25 is a range of view the virtual camera. The letter “A” indicates a unit vector on a line linking a camera position and the light source. The letter “B” indicates a unit vector existing in a facing direction of the virtual camera. The letter “θ” is an angle formed by the vectors A and B. However, as described below, the vector is not limited to the unit vector.
The CPU 101 determines whether or not a light source polygon 24 of the sun, street lights or the like is within view (or a screen) 25 of the virtual camera during the execution of the main game program (S102). Objects to be located in the virtual space for each scene are previously made into data bases and, therefore, it is possible to acknowledge the existence of the light source object according to the individual number of objects listed up for the relevant scene.
If the light source object does not exist within view, flares are not generated and this picture processing is terminated.
If the light source object exists, the CPU 101 determines to what extent the camera is facing in the direction of the light source or in what position relationship the light source is located within view in order to determine, for example, whether or not rays from the light source may enter the camera lens or the degree of influence of incident light. For this purpose, a segment linking the camera position with the light source object in the three-dimensional virtual space is found and then the vector A in unit length is obtained (S104). A facing direction of the camera 21 in the three-dimensional virtual space on this scene is found from the data base and then the unit vector B which represents the facing direction of the camera is obtained (S 106). An inner product C of the unit vectors A and B, that is, C=|A|·|B| cos θ is calculated. If the directions of both unit vectors A and B coincide with each other, θ is 0 degrees and the inner product is 1. On the contrary, as the directions of both vectors become wider apart, the inner product becomes closer to 0 (S108). In order to reflect the intensity of the light source on the inner product C, the value of the vector A is set as not the unit length “1,” but a value corresponding to the intensity of the light source. In this case, the vector A corresponds to an incident light having a direction and size (or strength of light).
The CPU 101 compares the inner product with a reference value which is previously determined as a condition of flare generation. It determines whether or not the inner product C exceeds the reference value (or threshold value) (S110). If the inner product C does not exceed the reference value, flares are not generated or it is determined that the circumstances do not require the generation of flares.
Accordingly, this picture processing is terminated and returns to the main program. The flare processing should be performed to the extent that a game player can recognize that a picture is influenced by the light source. Otherwise, the flare processing (for example, a fog effect as described below) may cause a kind of deterioration of picture quality. Such deterioration of picture quality can be avoided by the above-described determination (S110).
If the inner product C exceeds the reference value, the CPU 101 performs the flare processing. As the value C of the inner product is larger, it means that a ray comes straight from the light source and enters the camera lens, thereby stronger flares are generated. Accordingly, whiteness is added to a picture in proportion to the value C, thereby causing a so-called “fog effect.” This can be realized by changing luminance and chromaticity parameters for color operations of the VDP 120 and 130 (S112). Subsequently, a transparency D in proportion to the value C is found (S114). A line linking the camera position with the light source object is converted into a line E on a two-dimensional screen and a route of the ray in a screen picture is specified (S116). Flare polygons having the transparency D are drawn at appropriate positions along the line E. For example, if the transparency D is semitransparent, half of the luminance of a ground picture is added to half of the luminance of the flare polygons, and the results of addition are drawn on the frame buffer, thereby obtaining a flare picture (S118). If a plurality of light source polygons which have a large quantity of light exist within view, the above-described flare generation processing is performed for each polygon
Only one of the fog effect and the flare polygon processing may be performed. If the light source exists within view (S102:Yes), the light source exerts some influence. The degree of influence is controlled by the inner product C. Accordingly, it is not indispensable to set a threshold value (S110). For example, if the light source exists within view, the transparency of the flare polygons r may be adjusted according to the inner product C. In addition, once the inner product C exceeds the threshold value, the fog effect may be caused in proportion to the inner product C. Moreover, it is possible to adjust the whiteness and transparency of the picture by considering the type of the light source such as the sun or street light, and the intensity of the light source.
FIG. 4 shows a situation where flares are generated in a picture during a race. In this example, the light source object exists on the upper right side of the screen and ring-shaped flare polygons and circle-shaped flare polygons are displayed along the line E (not shown). The shape of the flare polygons is not limited to generally circular contours as shown in FIG. 4. For example, the flare polygons may have polygonal contours. Other than the semitransparent processing of the flare polygons, the flare polygons which have been previously formed may be displayed as they are without performing the semitransparent processing. If such flare polygons are displayed in the expression form of flashing by repeatedly displaying and extinguishing the flare polygons, the backside of the flare polygons can be seen intermittently. Accordingly, the same effect can be obtained as in the case where a figure with its inside not extinct, that is, the figure which is not hollow or annular is made into a figure without its inside, or as in the case where the flare polygons are made semitransparent. Therefore, the background can be seen and the operations of a game will not be obstructed. It is also possible to make the flare polygons look like real flares.
Display of flares is not limited to the display of the flare polygons. Flat figures representing flares may be used to perform picture synthesis. In the case of flare flashing as described above, it is possible to use flares formed with flat figures (or preferably hollow figures, or generally circular or polygonal figures corresponding to lens flares) which are tinted color with higher whiteness than the background because of the fog effect, to perform the picture synthesis, and to display a plurality of figures similar to such flat figures on a line which corresponds to an incident light and which links the visual point with the light source. In this case, a burden on operations is comparatively small.
FIGS. 5 and 6 show another embodiment of the flare processing. In this example, Step S110 of the flowchart shown in FIG. 2 is modified. As shown in FIG. 6, an upper limit CU and a lower limit CL are set in using the value C of the inner product. If the inner product C exceeds the upper limit CU (S110 a: CU<C), the inner product is set at the value CU (S110 d). This makes it possible to prevent a picture from becoming too white because of the flares. If the inner product C is less than the lower limit (S110 a: C<CL), the inner product C is set at the value CL (S110 b) in order to produce a constant flare effect. Moreover, if the inner product C is between the upper limit CU and the lower limit CL (S100 a: CL≦C≦CU), a modification function f(C) is used to obtain a modified value C′=f(C). As described above, it is possible to perform the flare processing more effectively by modifying the inner product as appropriate.
In the example as shown in FIG. 2, the inner product C is utilized to determine the flare degree. However, it is possible to perform similar processing without necessarily calculating the inner product C.
FIG. 7 shows two examples in which the flare degree is determined by referring to tables. The flare degree is also represented as C for convenience.
If a virtual light source exists on the screen at the aforementioned step S102 (S102: Yes), the flare value C corresponding to a position of the virtual light source (for example, an angle θ formed by the vector A and the vector B) can be decided by referring to a table shown in FIG. 7(a). The position of the virtual light source may have a coordinate value (x, y) on the screen or within view 25. It is possible to previously store such a table on a CD-ROM 1 b as a data base and to read it when starting a game and retain it on the RAN 102.
Moreover, it is possible to obtain a flare value Cnn corresponding t a position of the light source θn and intensity Pn by referring to a table for finding the intensity of flares corresponding to the intensity of the light source. Although not specifically shown in the drawing, if the flare degree is determined in accordance with the intensity of the light source, the table which retains the flare value C which conforms only to the intensity of the light source may be used. The flare value C so obtained can be used in the same manner as the inner product C at and after step S100. It is also possible to perform the same flare processing. If the flare degree is determined by referring to a table, anything (such as morning, evening, rain, fog, or existence of clouds) can be included as parameters in addition to the position and intensity of the light source as described above. The content of the table is not limited to what is shown in FIG. 7.
Instead of the above-described table, functions which serve similarly to the able, such as Cg(θ, P), C=h(θ), C=i(P) or C=j(x, y), may be used.
An explanation is hereinafter given concerning the case where flares are utilized. A position of the virtual sun in a so-called world coordinate system is originally settled. However, in order to make it easy to play a race game, it is possible to move the position of the virtual sun as appropriate so that backlight will not be generated. On the contrary, in order to enhance the stage effect of a game, it is possible to place the virtual sun where the virtual sun originally does not exist and intentionally create a backlight situation, thereby causing flares.
For example, as shown in FIG. 8, it is possible to produce the climax of a game by intentionally moving the virtual sun from the regular position of the virtual sun to a position to come into view after a goal and by generating flares in pictures after the goal.
An algorithm of a second special effects picture is hereinafter explained with reference to FIGS. 9 through 14. This algorithm is to express car spinning, tire slips, driving on a bad road, etc. more realistically by leaving traces of tires on a road. Moreover, the amount of operations for the picture processing is decreased by. reducing polygons (or traces of tires) on the screen by deleting the traces of tires after a certain amount of time has elapsed. Since the traces of tires themselves are not necessary as driving information for a game, the traces are gradually deleted from their bottoms in a natural manner so that the amount of information will not become excessive.
FIG. 9 is a flowchart which explains an algorithm to display tire traces (or tire marks). FIGS. 10 through 13 explain reading of data, display of the tire marks, etc. FIG. 14 shows an example where the tire marks are drawn.
In this embodiment, for example, five kinds of tire marks concerning which density becomes gradually higher, that is, patterns 0 through 4 are used to express the tire traces realistically. Each pattern is stored in a data base (ROM). Five storage regions of the RAM or registers as shown in FIG. 10 are used in order to cause the tire traces to follow the movements of car tires and to gradually extinguish the traces.
At first, the main program determines whether or not display conditions of the tire marks are satisfied. In other words, a tire mark display routine is executed by determining, for example, whether or not tire slips have occurred due to spinning of a car or abrupt pressing on the accelerator or whether or not a car is running on a bad road by referring to the relevant functions or flags which indicate driving conditions.
Once a tire slip starts, the CPU 101 reads a previous tire position Xn−1 from, among five RAMs, a top mark RAM at which a top mark flag representing a top position of a tire mark is set, and calculates a distance L(=Txn−X−1) between the previous tire position and a present tire position Txn displayed on the screen, thereby making a new mark length L (S132). The position Xn−1 and the position Txn herein used mean coordinate values in the three-dimensional virtual space. The CPU 101 determines whether or not the tire mark length L exceeds a maximum length 1 of a basic pattern of the tire mark (S134).
If the tire ark length L does not exceed the maximum length 1 (S134: No), the CPU 101 causes the top mark RAM to store the present tire position Txn as an ending position of the tire mark (S144). The tire mark length L is stored in the top mark RAM (S146). The CPU 101 causes the number of the top mark RAM to be retained as it is without updating the content of the flag register for storing the number of the RAM at which the topmark flag should be set (S148).
The RAN number is matched with the patterns as shown in FIG. 13. Data is read from the top mark RAM in a cyclic manner, thereby drawing the tire mark. In other words, the top mark RAM No. 0 is matched with the pattern 4, the top mark RAM No. 1 is matched with the pattern 3, tie top mark RAM No.2 is matched with the pattern 2, the top mark RAM No. 3 is matched with the pattern 1, and the top mark RAM No. 4 is matched with the pattern 0. As the pattern changes from pattern 0 to pattern 4, density of the tire mark changes from a light color to a dark color. The number of the top mark RAM represents a newest tire trace in terms of time.
The CPU 101 reads out the darkest pattern (pattern 4) (S150). It reads a tire mark beginning position Xn−1, a tire mark ending position Txn and a length L from the RAM and displays the patterns on the screen (S152). It determines whether or not display of all the patterns for the number of RAMs has been completed (S154).
If the tire mark beginning, ending and length are stored in a plurality of RAMs by the preceding tire mark processing (S154:No), the CPU 101 designates that the RAM number be checked in a cyclic manner in the downstream order (S156), and reads the tire mark patterns which become lighter in color step by step or gradually in the downstream order in accordance with the RAM number (S158). When display of the patterns for the number of RAMS have been finished (S154: Yes), the CPU 101 once returns to the main program.
While the tire mark display conditions are satisfied and until the tire mark length L exceeds the maximum tire mark length 1, steps S132, 5134, S144 through S154 are repeated and the tire marks are drawn in a manner such that the darkest pattern immediately follows the tire.
If the mark length L exceeds the maximum mark length 1 (S134: Yes), a mark position Pe(=Xn−1+1) corresponding to the maximum mark length 1 is stored as the mark ending position (S136). The number of the top mark RAM is increased by one. If the RAM number exceeds a maximum value (“4” in this case), the RAM number returns to zero (S138). The mark beginning position Pe is stored in a new top mark RAM (S140). The present tire position Txn and the tire mark beginning position Pe are used to find the tire mark length L(=Txn−Pe) by calculation (S142). The present tire position Txn is stored as the mark ending position in the top mark RAM (S144). The tire mark length L is stored in the top mark RAM (S146). The RAM number to be stored in the flag register is set at the number of the top mark RAM updated at S138 (S148). The darkest pattern (pattern 4) is read out (S150). The tire mark beginning position Pe, ending position Txn and length L are read from the RAM and the patterns are displayed on the screen (S152). It is determined whether or not display of all the patterns for the number of RAMs have been finished (S154).
If the tire mark beginning, ending and length are stored in a plurality of RAMS by the preceding tire mark processing (S154: No), the CPU 101 designates that the RAM number be checked in a cyclic manner in the downstream order (5156), and reads the tire mark patterns which become lighter in color step by step or gradually in the downstream order in accordance with the RAM number (S158).
The above-described tire mark drawing processing is executed and the tire marks are drawn on the screen while the tire mark display conditions are satisfied upon the execution of the main program.
An explanation is hereinafter given with reference to FIGS. 10(a) through 10(e) about data retained in RAM0 through RAM4 and updating of the retained data in the flag register by means of the above-described algorithm.
FIG. 10(a) explains the case where the length L of the tire mark caused by a slip is Δ1, that is, less than the mark reference value 1 (S134: No).
It the top mark indicates RAM0, the tire mark beginning position X0 and the present position Tx1 are read in at step S132 and the length L=Δll(=Tx1−X0) is calculated. The initial tire mark beginning position X0 is the tire position when a slip starts. These values are stored in RAM0 (S144 through S146). RAM0 is made the number of the top mark RAM to be retained in the flag register (S148). As shown in FIG. 13, the number of the top mark RAM corresponds to the darkest pattern 4. The beginning, ending and length of the tire mark are read from RAM0 and the tire mark is drawn according to the pattern 4(S152). In this case, there is one RAM in which data are written (S154: Yes), this routine is terminated to ref urn to the main program. If the tire mark display conditions are satisfied, until the mark length L exceeds the maximum length 1, the above-described processing is repeated and the tire mark of the pattern 4 is extended.
As shown in FIG. 10(b), the present tire position becomes Tx2 and the length L(=Tx2−X0=1+Δ1) exceeds the maximum mark length 1 (S134: Yes). X1=X0+1(=Pe) is found and the position X1 is stored as the mark ending position in RAM0 (S136). The top mark RAM is made RAM1 (S138). The present tire position Tx2 and the mark beginning position X1 are used to calculate the mark length L (=Δ1=Tx2−X1) (S142). The present tire position Tx1 is made the mark ending position and is stored in RAM1 (S144). The mark length L(=Δ1=Tx1−X1) is stored in RAM1. The number of the top mark RAM to be retained in the flag register and to be read out in a cyclic manner is set as RAM1 (S148). Data of the pattern 4 is made to correspond to RAM1 (S150). The dark tire mark of the pattern 4 is drawn according to the data of RAM1 (S152). Moreover, the tire mark of the pattern 3 is drawn according to the data stored in RAM0 (S154, S156, S158 and S152). Then the CPU returns to the main program.
As shown in FIGS. 10(c) through 10(e), by repeating the above-described processing in the same way, drawing data of the tire mark (the beginning, ending and length of the tire mark) are retained in RAM0 through RAM4.
FIG. 11 shows an example where one round of data preservation onto RAM0 through RAM4 have been completed. Since there are five RAMs in this embodiment, rewriting is conducted in serial order. FIG. 11(a) shows a situation where one round of rewriting is completed and the top position of the tire mark corresponds to RAM2. FIG. 11(b) shows a situation where one round of rewriting is completed and the top position is located at RAM3. Since the previous data portion of the tire mark which has been rewritten is not displayed, the relevant pattern drawn on the screen is extinguished. If the position coordinate Xn is located out of view of the virtual camera, such a position will be regarded as being not subject to the picture processing and, therefore, will not be displayed by means of clipping.
FIG. 12(a) explains the case where the data shown in FIG. 11(a) is drawn as a tire mark. The pattern 4 is drawn in a pattern length of Δ1 and each of the patterns 3, 2, 1 and 0 is drawn in a pattern length of 1. Drawing density becomes lighter from the pattern 4 to the pattern 0. FIG. 12(b) shows a tire mark drawn by using the data shown in FIG. 11(b). A drawing range of the tire mark has moved from the position Xj through Tx8 of FIG. 12(a) to the position X4 through Tx9, following the tire object of a car. The tire mark of the position range X3 through X4 has been extinguished. This limits the tire trace to a predetermined length and prevents the amount of operations necessary to display the tire mark from increasing too much.
According to the algorithm explained with reference to the flowchart of FIG. 9, when a car stands still, the position information in RAM0 through RAM4 is retained and, therefore, the tire mark is being displayed on the screen. On the other hand, when the car is moving, the tire mark is drawn, following the tire. This tire mark becomes lighter in color at its bottom. If a moving speed of the car is fast, a travel amount L of tires from the position where sampling was performed the last time exceeds the maximum mark length 1 in a short period of time. This causes the position information in RAM0 through RAM4 to shift and the bottom of the tire mark is quickly extinguished. As a result, the timing to extinguish the drawn tire traces is adjusted in accordance with the moving speed of the car. Such a method of drawing pictures makes it possible to save memory consumption, compared to a conventional method of preparing various pictures with tire traces drawn in advance (which requires an enormous amount of memory) and of selecting an appropriate picture out of such pictures. A racing car moves at a high speed. In such a situation, if it is set to quickly extinguish the tire marks on a course, the number of polygons of a game players car and opponent cars within view can be reduced and a burden on the operational processing for picture drawing can be lessened. If the tire marks continue to be displayed indefinitely, it will interfere with the game. However, there is no fear of such interference regarding the present application because the tire marks are extinguished at an appropriate time.
In the above-described example, a plurality of tire trace patterns (or polygons of traces) of different density are prepared in advance (FIG. 13) and appropriate trace patterns are selected to draw the entire traces. However, it is possible to adopt other methods. For example, at the step of drawing a tire mark which gradually becomes lighter in color (step S158), a trace mark of predetermined density may be obtained by performing the processing to make the darkest tire trace mark (which is a basic pattern) semitransparent. Specifically speaking, transparency for the transparency processing at the above-mentioned step is selected from a plurality of transparencies which are set by steps according to the number of execution of the routine (S152 through S158). Respective trace marks which have undergone the semitransparent processing with different transparencies are combined to form the entire trace. This method gives rise to the same results as those in the aforementioned case where a plurality of tire trace patters of different density are prepared to form the entire trace of density gradually changing from the top to the bottom. Furthermore, concerning the trace mark consisting of a plurality of polygons, which is displayed according to the routine as shown in FIG. 9, the polygons are made gradually lighter in color by means of the semitransparent processing and are then extinguished in the order first displayed the size of polygons does not change at the step of making them lighter), and when the polygons become no longer visible in the end, such polygons themselves are removed out of the object of t processing (step S154, FIG. 12(b)).
FIG. 14 shows an example where a car spins and tire marks (or slip traces) are drawn on the screen. A portion of the marks closer to the tires are drawn in dark color and the beginning positions of the tire marks are drawn in light color.
When a tire slip occurs due to, for example, a spin of a car (or object), if tire slip traces are displayed immediately after the slip, a game player will perceive the realistic expression. However, if a certain amount of time has passed from the occurrence of the slip, the game player's attention to the slip traces will decrease. Accordingly, after the car stops moving and a predetermined amount of time has elapsed, it may be decided to extinguish the slip traces actively. This makes it possible to reduce the number of display polygons (or slip traces) and to lessen the burden on operations of the CPU.
In the above-described embodiment, an explanation has been give with regard to the tire marks. However, this embodiment can be also applied to, for example, running traces of a car running on a bad road in a rally, running traces of skis (or track of skis in the snow), traces of jet skis, or wakes behind a ship.
An explanation is hereinafter given about a reduction in the amount of operations with a video game device. Concerning objects to be projected on a monitor by means of so-called three-dimensional graphics, the arithmetic processing is performed such as placement of the objects into the three-dimensional virtual space, projection transformation for drawing the objects on a plane of projection, modeling transformation, and viewing transformation, thereby forming monitor pictures. Upon perspective transformation, a clipping is performed by forming a view pyramid and by removing and not displaying the portions outside the display region to be actually projected on the plane of projection. This clipping contributes to a reduction of the amount of operations.
Another embodiment of this invention performs the clipping even in the display region and is intended to further reduce the amount of operations.
The outline f such an embodiment is explained with reference to FIGS. 15 through 17. FIG. 15 shows objects A and B located in the three-dimensional virtual space. Objects A and B are respectively composed of a plurality of polygons. As in conventional cases, objects in the display regions are read front a data base and are located in the original shape at relevant positions. Textures (or patterns) are pasted on the surface of polygons.
FIG. 16 shows an example where object B is placed behind object A when a camera position (or visual point) for projection transformation is located at the back off to the left. In this case, a portion of object B (the portion which is located behind object A) is invisible from the camera position. Accordingly, if a data base of the objects is constructed by omitting polygons of the invisible portion, the amount of operations for the three-dimensional graphics display decreases.
FIG. 17 shows an example where polygons of object B are partly omitted. Even if such omission of polygons is conducted, a resultant picture on the plane of projection as seen from the camera is the same as that of FIG. 16.
For example, in a car race, cars run on a previously determined course. The course is divided into portions in unit length. Concerning scenes which can be seen from the camera for each unit, a data base is previously made in the form of, for example, background and a set of objects, and data of a relevant scene is read out according to the position of a car and is displayed as background, etc. on the screen. Accordingly, it is possible to provide a data base which requires a smaller amount of operations with a game device by reducing the polygons which cannot be actually seen from the camera.
An explanation is hereinafter given with reference to drawings about a method of constructing a data base of objects with some polygons which cannot be seen from the camera position within the display region being omitted.
First, the outline of a picture data processing device for executing an algorithm described below is explained by referring to FIG. 18. The picture data processing device is composed of a computer system, which is divided roughly into: a data processing portion 200; an operational portion 201; a storage portion 202 for retaining data bases such as object tables and polygon data; and a CRT display portion 203 for displaying pictures. The data processing portion 200 is composed of: an arithmetic processing control portion 21 1 for controlling respective parts in accordance with programs retained in a memory 212; a camera position control portion 213 for setting coordinates of a camera (or visual point) position in the three-dimensional virtual space in accordance with movements of a car or game programs; an object table deciding portion 214 for deciding an object table corresponding to the camera position by referring to the camera position; a coordinate transformation matrix generating portion 215 for generating a matrix of coordinate transformation corresponding to the camera position; a polygon memory control portion 216 for designating relevant polygons by referring to the object table; a polygon memory 217 for outputting the designated polygon data; a texture memory 218 for retaining textures to be pasted on the polygons; a coordinate transformation portion 219 for locating the polygons in the three-dimensional virtual space, pasting the textures on the polygons, and performing, for example, projection transformation by means of the above-mentioned transformation matrix to transform the polygons into an image on the two-dimensional screen; a drawing portion 220 for outputting a screen picture to a picture memory 221; a picture display control circuit 222 for outputting picture data retained in the picture memory 221 as picture signals to a CRT display.
FIG. 19 is a flowchart which explains an algorithm to construct a data base of objects with some polygons which cannot be seen being omitted, by using a conventional object data base.
At first, a data base of three-dimensional graphics is composed by a conventional method or a data base of three-dimensional graphics which has already been composed is prepared. Data of all polygons is loaded from the data base onto a work area of a CPU memory. The polygon data includes coordinate data (S202). A number for identification (or polygon ID) is given to each polygon. For example, the polygons are numbered in the order of loading (S204).
Data of the camera position is loaded onto the work area. The camera position data includes coordinates and a facing direction (or vector) of the camera (S206). The number for identification (or camera ID) is given to the camera position data. For example, the camera position is numbered in the order of loading (S208).
Subsequently, concerning all the camera positions, a visibility determining processing as to whether each polygon can be seen from the camera positions is performed (S210).
FIG. 20 is a flowchart showing an algorithm of the visibility determining processing. This processing locates all the objects in the three-dimensional virtual space formed in the computer system and draws all the polygons. In doing so, it gives a relevant polygon ID number to picture elements of each polygon (S252). It performs coordinate transformation, etc. at each camera position (or camera ID) and then draws a projected picture as seen from the camera. At this time, a method such as the so-called Z buffer method is used to draw, among overlapping polygons in the display regions, the polygons located in front as visible polygons and not to draw the polygons located in the back (S254). It is determined at each camera position according to the polygon ID given to the drawn picture element which polygons are to be drawn or not to be drawn on the screen (S256). A visible flag table showing which polygons are visible or invisible at all the camera positions (or camera ID) is prepared (S258). Then, the processing returns to the original routine.
FIG. 21 shows an example of the visible flag table. It shows, regarding all polygons at all the camera positions (or camera ID), whether or not a relevant polygon can be seen from a relevant camera position (or camera ID). If it can be seen, a flag “1” is displayed. If it cannot be seen, a flag “0” is displayed.
Subsequently, in order to obtain a data base which represents objects to be drawn at each camera position, polygons which have the same or similar patterns of visible flags in the visible flag table are made into a group and each group constitutes object data (S212). An identification number (or object ID) is given to each object data (S214).
This procedure is hereinafter explained. Firstly, since a polygon (for example, POLY4) having a flag pattern with all “0” cannot be seen on the screen, it is unnecessary to consider it as an object to be drawn. Such a polygon is extinguished. Secondly, as shown in FIG. 22(a), a first polygon POLY0 is put in object data OBJ0. Thirdly, all polygons with flag patterns which coincide with the flag pattern of the polygon POLY0 are extracted and added to the object data OBJ0 (FIG. 22(b)). The above steps 2 and 3 are repeated regarding the rest of the polygons, and polygons having the same flag patterns are gathered and made into groups and the respective groups are named object data OBJ1, OBJ2 and so on.
Next, polygons with similar flag patterns to those of the object data are extracted and incorporated into the relevant object data (FIG. 22(c)). For example, polygons with flag patterns which are different by one bit from a pattern obtained by a logical sum of flag patterns of the respective polygons in the object data are extracted and incorporated into the object data. The same procedure is repeated and the polygons are made into groups (or object data) until the flag patterns which are different by predetermined bits are checked.
Subsequently, a transformation table showing object data which are to be drawn (or can be seen) at each camera position is prepared (S216). FIG. 23 shows an example of this transformation table. Objects to be located at each camera position (or camera ID) in the three-dimensional virtual space can be found immediately by referring to this table.
For example, at camera position 0, object data OBJ0, OBJ1, OBJ3 arid so on are located. At camera position 1, object data OBJ0, OBJ3 and so on are located. With a game device, the camera position is selected in accordance with developments of a game, and relevant object data groups are read from the transformation table and polygons composing each object are drawn, thereby drawing each scene.
Moreover, the object data are stored in a data base (S218). The transformation table of the objects is stored in a data base (S220).
It is also possible to execute the above-described algorithm at a high speed by using a picture processing computer system separate from a video game device and to store, on an information storage medium, the resultant data base of object data as game software together with programs.
FIGS. 24 and 25 show examples of pictures drawn by using object data with polygons which cannot be seen in the display region being omitted. FIG. 24 shows an example of one scene at a regular camera position luring a car race with cars running in a game field formed in the three-dimensional virtual space. FIG. 25 shows the sane scene as seen from above. In the region indicated with oblique lines in FIG. 25, no polygons are drawn and no picture exists. Accordingly, the amount of operations necessary to, for example, construct the virtual space or transform pictures for such a region is reduced.
Application of clipping to objects existing in view as described above is not limited to video games like the above-described embodiments. For example, it can be applied to anything which displays the state of the three-dimensional virtual space by transforming it into two-dimensional pictures, such as various kinds of simulation for virtual experience. As described above, since this invention is capable of expressing flares caused by incident rays from a light source, it is possible to enjoy dazzling scenes or dramatically presented scenes.
Moreover, this invention makes it possible to draw traces of moving objects such as cars or skis without comparatively increasing the number of polygons, which is a desirable feature.
Furthermore, by a picture forming method of this invention, an object data base is formed by clipping invisible polygons in the display region. Therefore, it is possible to draw the same pictures as those drawn by conventional methods by spending a smaller amount of operations than that of the conventional methods.

Claims (19)

1. A game device for displaying, as a picture, an object moving in accordance with developments of a game, said game device comprising:
displaying means for displaying an object moving virtually in a three-dimensional virtual space;
means for calculating a present position of said object; and
trace mark drawing means for drawing a trace mark in length within a predetermined range from said present position according to a movement of said object, said trace mark comprising a plurality of polygons, and for gradually extinguishing said trace mark starting from a rear section of said trace mark by progressively making said rear section lighter in color and moving toward a front section of said trace mark with a lapse of time, wherein said polygons toward the rear of said trace mark disappear first, said trace mark drawing means extending only a top position of said trace mark when said present position of said object is located less than a predetermined value apart from the top position of a drawn trace mark, each polygon constituting a trace mark being continuously adjacent to each other.
2. The game device according to claim 1, wherein a trace pattern assigned to said plurality of polygons is previously stored as a pattern having different density in storage means.
3. The game device according to claim 2 wherein said trace pattern assigned to said plurality of polygons is obtained by changing the transparency of a basic trace pattern.
4. A game device for displaying, as a picture, an object moving in accordance with developments of a game, said game device comprising:
means for reading a present position of said object; and
trace mark drawing means for drawing a trace mark in length within a predetermined range from said present position according to a movement of said object, said trace mark having a plurality of portions, and for extinguishing said trace mark from a rear section of each portion by making said rear section of each portion lighter in color with lapse of time, wherein said trace mark drawing means extends only a top position of said trace mark when the present position of said object is located less than a predetermined value apart from the top position of a drawn trace mark, and said trace mark drawing means moves, by said predetermined value, said trace mark in its entirety toward the present position of said object when the present position of said object is located not less than said predetermined value apart from the top position of the drawn trace mark.
5. The game device according to any one of claims 1, 2, or 3, wherein said trace mark drawing means adjusts a timing to extinguish the drawn trace mark according to a moving speed of said object.
6. The game device according to claim 5, wherein said trace mark drawing means does not extinguish the drawn trace mark when said object stands still, while said trace mark drawing means extinguishes the drawn trace mark at a speed according to a moving speed of said object when said object is moving.
7. A game device according to claim 1, wherein said trace mark drawing means deletes the drawn trace mark when said object stops and a predetermined time has passed.
8. A game device for displaying, as a picture, an object moving in accordance with developments of a game, said game device comprising:
means for reading a present position of said object; and
trace mark drawing means for drawing a trace mark in length within a predetermined range from said present position according to a movement of said object, said trace mark having a plurality of portions, and for extinguishing said trace mark from a rear section of each portion by making said rear section of each portion lighter in color with lapse of time, wherein said trace mark drawing means comprises:
a cyclic register for retaining positions of respective portions of the trace mark, which consists of said plurality of portions, in a plurality of storage regions which respectively relate to the respective portions of the trace mark; and
mark top position indicating means for indicating a storage region of the cyclic register, which corresponds to a top position of the trace mark.
9. A game device for displaying, as a picture, an object moving in a virtual space in accordance with developments of a game, said game device comprising:
processing and displaying means for processing and displaying a trace mark according to said object moving virtually in a three-dimensional virtual space during the processing of said game, and a past trace mark, said trace mark comprising a plurality of polygons, and for gradually extinguishing said trace mark starting from a rear section of said trace mark by progressively making said rear section lighter in color and moving toward a front section of said trace mark with a lapse of time, wherein said polygons toward the rear of said trace mark disappear first, said processing and displaying means extending only a top position of said trace mark when a present position of said object is located less than a predetermined value apart from the top position of the past trace mark, each polygon constituting a trace mark being continuously adjacent to each other;
first storage means for storing said trace mark after said game ends; and
read out means for reading from said first storage means said trace mark that is stored in the first storage means before a beginning of said game and for providing said trace mark as said past trace mark to said processing and displaying means.
10. A game device for displaying, as a picture, an object moving in a virtual space in accordance with developments of a game, said game device comprising:
processing and displaying means for processing and displaying a trace mark according to movements of said object during the processing of said game, and a past trace mark, wherein said processing and displaying means comprises:
first display means for processing and displaying said trace mark according to the movements of said object;
first storage means for storing the trace marks which have been generated up to present including said past trace mark;
sorting means for sorting the trace mark which is stored in the first storage means; and
second display means for processing and displaying said trace mark on a basis of the sorting result of the sorting means;
second storage means for storing said trace mark after said game ends; and
read out means for reading from said second storage means said trace mark that is stored in the second storage means before a beginning of said game and for providing said trace mark as said past trace mark to said processing and displaying means.
11. The game device according to claim 10, wherein said second display means comprises:
sorting means for sorting said trace mark according to its size and density; and
memory means for storing the trace mark which is newly generated by deleting the trace mark which has low priority according to a sorting result.
12. The game device according to claim 10, wherein said sorting means conducts sorting in said virtual space according to a distance between a virtual camera and said trace mark.
13. The game device according to claim 10, wherein said second display means displays said trace mark by considering a maximum displayable number of polygons of the trace mark.
14. A game device for displaying, as a picture, an object moving in a virtual space in accordance with developments of a game, said game device comprising:
processing and displaying means for processing and displaying a trace mark according to movements of said object during the processing of said game, and a past trace mark;
first storage means for storing said trace mark after said game ends, wherein said first storage means comprises:
judging means for judging a display value of said trace mark;
sorting means for sorting said trace mark on the basis of the judging result of the judging means; and
memory means for storing only a predetermined number of the trace marks from a one which has high priority according to a sorting result of the sorting means; and
read out means for reading from said first storage means said trace mark that is stored in the first storage means before a beginning of said game and for providing said trace mark as said past trace mark to said processing and displaying means.
15. The game device according to claim 14, wherein a set of judging conditions of said display value includes at least one of length, position, and density of said trace mark.
16. The game device according to claim 9, wherein said processing and display means comprises:
means for reading a present position of said object; and
trace mark drawing means for drawing the trace mark in length within a predetermined range from the present position.
17. A medium with a program stored thereon, the program for making a computer system function as a game device according to any one of claims 1, 2-3, or 9-16.
18. A game device according to claim 11, wherein said first storage means performs a simple sorting during the processing of the game, and said second storage means performs another sorting that is more complicated than said simple sorting after the game ends.
19. A method of forming picture data for a game device for displaying, as a picture, an object moving in accordance with developments of a game, said method comprising:
displaying an object moving virtually in a three-dimensional virtual space;
calculating a present position of said object; and
drawing a trace mark in length within a predetermined range from said present position according to the movements of said object, said trace mark comprising a plurality of polygons; and
gradually extinguishing said trace mark starting from a rear section of said trace mark by progressively making said rear section lighter in color and moving toward a front section of said trace mark with a lapse of time, wherein said polygons toward the rear of said trace mark disappear first, extending only a top position of said trace mark when the present position of said object is located less than a predetermined value apart from the top position of a drawn trace mark, each polygon constituting a trace mark being continuously adjacent to each other.
US09/415,920 1996-11-22 1999-10-12 Game device, picture data forming method and medium Expired - Fee Related US6917371B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/415,920 US6917371B1 (en) 1996-11-22 1999-10-12 Game device, picture data forming method and medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP31245996 1996-11-22
US08/975,966 US6234901B1 (en) 1996-11-22 1997-11-21 Game device, picture data and flare forming method
US09/415,920 US6917371B1 (en) 1996-11-22 1999-10-12 Game device, picture data forming method and medium

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US08/975,966 Division US6234901B1 (en) 1996-11-22 1997-11-21 Game device, picture data and flare forming method

Publications (1)

Publication Number Publication Date
US6917371B1 true US6917371B1 (en) 2005-07-12

Family

ID=32715354

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/415,920 Expired - Fee Related US6917371B1 (en) 1996-11-22 1999-10-12 Game device, picture data forming method and medium
US09/415,919 Expired - Fee Related US6767286B1 (en) 1996-11-22 1999-10-12 Game device, picture data forming method and medium

Family Applications After (1)

Application Number Title Priority Date Filing Date
US09/415,919 Expired - Fee Related US6767286B1 (en) 1996-11-22 1999-10-12 Game device, picture data forming method and medium

Country Status (1)

Country Link
US (2) US6917371B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040127288A1 (en) * 2002-07-29 2004-07-01 Shinichi Furuhashi Communication game equipment
US20040263512A1 (en) * 2002-03-11 2004-12-30 Microsoft Corporation Efficient scenery object rendering
US20050066275A1 (en) * 2003-09-23 2005-03-24 Gannon Aaron James Methods and apparatus for displaying multiple data categories
US20050107146A1 (en) * 2001-05-16 2005-05-19 Konami Corporation Game device, game region expansion and contraction method, game program and information storage medium
US20060221076A1 (en) * 2005-03-31 2006-10-05 Namco Bandai Games Inc. Program, information storage medium, image generation system, and image generation method
US20060258453A1 (en) * 2005-05-10 2006-11-16 Nintendo Co., Ltd. Game program and game device

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6912293B1 (en) * 1998-06-26 2005-06-28 Carl P. Korobkin Photogrammetry engine for model construction
JP2001149642A (en) * 1999-12-01 2001-06-05 Namco Ltd Game device and after image display method for the same
JP2002102532A (en) * 2000-06-06 2002-04-09 Sony Computer Entertainment Inc Information processing system and method, computer program, storage medium and semiconductor device
JP4479003B2 (en) * 2004-06-03 2010-06-09 株式会社セガ Image processing
CN105608664B (en) * 2014-11-19 2019-08-06 深圳市腾讯计算机系统有限公司 A kind of photo processing method and terminal
CN106296621B (en) * 2015-05-22 2019-08-23 腾讯科技(深圳)有限公司 Image processing method and device
JP6446079B2 (en) 2017-03-09 2018-12-26 株式会社カプコン Game program and game system

Citations (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4214263A (en) * 1978-09-20 1980-07-22 Cbs Inc. Television system for displaying and recording paths of motion
US4233631A (en) * 1978-10-04 1980-11-11 Cbs Inc. Television system for displaying and recording paths of motion
JPS63155370A (en) * 1986-12-19 1988-06-28 Fujitsu Ltd Inter-feedback frame arithmetic circuit
US4865423A (en) 1987-07-16 1989-09-12 International Business Machines Corporation Method for generating images
US4918530A (en) * 1986-09-19 1990-04-17 Questech Limited Processing of video image signals
EP0367405A2 (en) * 1988-10-04 1990-05-09 Stephen Brian Willan Graphics system
US4951144A (en) * 1989-04-12 1990-08-21 The Grass Valley Group, Inc. Recursive video blur effect
US5101436A (en) 1990-05-11 1992-03-31 Optigraphics Corporation Hybrid image editor
US5237650A (en) * 1989-07-26 1993-08-17 Sun Microsystems, Inc. Method and apparatus for spatial anti-aliased depth cueing
US5249264A (en) 1988-11-14 1993-09-28 International Business Machines Corporation Image display method and apparatus
US5252953A (en) * 1990-05-22 1993-10-12 American Film Technologies, Inc. Computergraphic animation system
US5254983A (en) * 1991-02-05 1993-10-19 Hewlett-Packard Company Digitally synthesized gray scale for raster scan oscilloscope displays
US5260695A (en) * 1990-03-14 1993-11-09 Hewlett-Packard Company Color map image fader for graphics window subsystem
US5268996A (en) 1990-12-20 1993-12-07 General Electric Company Computer image generation method for determination of total pixel illumination due to plural light sources
US5270688A (en) * 1990-12-12 1993-12-14 Apple Computer, Inc. Apparatus for generating a cursor or other overlay which contrasts with the background on a computer output display
US5283596A (en) * 1991-02-05 1994-02-01 Hewlett-Packard Company Digitally synthesized gray scale for raster scan oscilloscope color display of overlapping multichannel waveforms
US5303334A (en) * 1992-03-05 1994-04-12 Adobe Systems Incorporated System for generating a rasterized graphic image
US5422986A (en) * 1993-05-12 1995-06-06 Pacific Data Images, Inc. Method for generating soft-edge mattes for visual elements of images
US5428716A (en) 1991-12-26 1995-06-27 International Business Machines Corporation Solid-clip methodology and architecture for clipping solid models and displaying cross-sections using depth-buffers
US5455900A (en) 1992-10-20 1995-10-03 Ricoh Company, Ltd. Image processing apparatus
US5467442A (en) * 1992-09-30 1995-11-14 Hudson Soft Co., Ltd. Image processing apparatus
US5509663A (en) 1990-11-17 1996-04-23 Nintendo Co., Ltd. Image processing apparatus and external storage unit
US5524195A (en) * 1993-05-24 1996-06-04 Sun Microsystems, Inc. Graphical user interface for interactive television with an animated agent
US5568598A (en) * 1994-09-09 1996-10-22 Intel Corporation Displaying images using progressive fade-in
US5616079A (en) 1993-06-16 1997-04-01 Namco Ltd. Three-dimensional games machine
US5634850A (en) 1993-05-21 1997-06-03 Sega Enterprises, Ltd. Image processing device and method
US5636340A (en) * 1994-11-03 1997-06-03 Microsoft Corporation System and method for special effects for text objects
US5734807A (en) 1994-07-21 1998-03-31 Kabushiki Kaisha Sega Enterprises Image processing devices and methods
US5751376A (en) * 1994-11-15 1998-05-12 Matsushita Electric Ind. Image forming apparatus and method for creating motion blur
US5777620A (en) 1992-10-02 1998-07-07 Canon Kabushiki Kaisha 3D graphics system grouping surface primitives with and without specularity
US5786822A (en) 1994-01-26 1998-07-28 Hitachi, Ltd. Method and apparatus for mapping texture on an object displayed at a varying view angle from an observer
US5809219A (en) * 1996-04-15 1998-09-15 Silicon Graphics, Inc. Analytic motion blur coverage in the generation of computer graphics imagery
US5926182A (en) 1996-11-19 1999-07-20 International Business Machines Corporation Efficient rendering utilizing user defined shields and windows
US5949428A (en) 1995-08-04 1999-09-07 Microsoft Corporation Method and apparatus for resolving pixel data in a graphics rendering system
US5947823A (en) 1995-02-17 1999-09-07 Namco Ltd. Three-dimensional game apparatus and image synthesizing method
US5959618A (en) * 1993-06-01 1999-09-28 Canon Kabushiki Kaisha Image display apparatus
US5999189A (en) 1995-08-04 1999-12-07 Microsoft Corporation Image compression to reduce pixel and texture memory requirements in a real-time image generator
US6005967A (en) 1994-02-18 1999-12-21 Matushita Electric Industrial Co., Ltd. Picture synthesizing apparatus and method
US6018350A (en) 1996-10-29 2000-01-25 Real 3D, Inc. Illumination and shadow simulation in a computer graphics/imaging system
US6130672A (en) 1996-04-24 2000-10-10 Canon Kabushiki Kaisha Image processing apparatus
US6234901B1 (en) * 1996-11-22 2001-05-22 Kabushiki Kaisha Sega Enterprises Game device, picture data and flare forming method
US6329991B1 (en) * 1995-04-18 2001-12-11 Canon Kabushiki Kaisha Data processing method and apparatus
US6411289B1 (en) * 1996-08-07 2002-06-25 Franklin B. Zimmerman Music visualization system utilizing three dimensional graphical representations of musical characteristics

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5777608A (en) * 1989-03-10 1998-07-07 Board Of Regents, The University Of Texas System Apparatus and method for in-parallel scan-line graphics rendering using content-searchable memories
DE69233717T2 (en) * 1991-06-28 2008-10-30 Lim, Hong Lip, Darlington IMPROVEMENTS IN VISIBILITY CALCULATIONS FOR 3D CALCULATORS
US5751289A (en) * 1992-10-01 1998-05-12 University Corporation For Atmospheric Research Virtual reality imaging system with image replay
GB9222767D0 (en) * 1992-10-30 1992-12-09 Canon Res Ct Europe Ltd Processing image data
JPH08329276A (en) * 1995-06-01 1996-12-13 Ricoh Co Ltd Three-dimensional graphic processor
JPH0916806A (en) * 1995-07-04 1997-01-17 Ricoh Co Ltd Stereoscopic image processor
US6331856B1 (en) * 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
US6348919B1 (en) * 1995-12-18 2002-02-19 3Dlabs Inc, Ltd. Graphics system with optimized use of unified local and frame buffers

Patent Citations (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4214263A (en) * 1978-09-20 1980-07-22 Cbs Inc. Television system for displaying and recording paths of motion
US4233631A (en) * 1978-10-04 1980-11-11 Cbs Inc. Television system for displaying and recording paths of motion
US4918530A (en) * 1986-09-19 1990-04-17 Questech Limited Processing of video image signals
JPS63155370A (en) * 1986-12-19 1988-06-28 Fujitsu Ltd Inter-feedback frame arithmetic circuit
US4865423A (en) 1987-07-16 1989-09-12 International Business Machines Corporation Method for generating images
EP0367405A2 (en) * 1988-10-04 1990-05-09 Stephen Brian Willan Graphics system
US5249264A (en) 1988-11-14 1993-09-28 International Business Machines Corporation Image display method and apparatus
US4951144A (en) * 1989-04-12 1990-08-21 The Grass Valley Group, Inc. Recursive video blur effect
US5237650A (en) * 1989-07-26 1993-08-17 Sun Microsystems, Inc. Method and apparatus for spatial anti-aliased depth cueing
US5260695A (en) * 1990-03-14 1993-11-09 Hewlett-Packard Company Color map image fader for graphics window subsystem
US5101436A (en) 1990-05-11 1992-03-31 Optigraphics Corporation Hybrid image editor
US5252953A (en) * 1990-05-22 1993-10-12 American Film Technologies, Inc. Computergraphic animation system
US5509663A (en) 1990-11-17 1996-04-23 Nintendo Co., Ltd. Image processing apparatus and external storage unit
US5270688A (en) * 1990-12-12 1993-12-14 Apple Computer, Inc. Apparatus for generating a cursor or other overlay which contrasts with the background on a computer output display
US5268996A (en) 1990-12-20 1993-12-07 General Electric Company Computer image generation method for determination of total pixel illumination due to plural light sources
US5254983A (en) * 1991-02-05 1993-10-19 Hewlett-Packard Company Digitally synthesized gray scale for raster scan oscilloscope displays
US5283596A (en) * 1991-02-05 1994-02-01 Hewlett-Packard Company Digitally synthesized gray scale for raster scan oscilloscope color display of overlapping multichannel waveforms
US5428716A (en) 1991-12-26 1995-06-27 International Business Machines Corporation Solid-clip methodology and architecture for clipping solid models and displaying cross-sections using depth-buffers
US5303334A (en) * 1992-03-05 1994-04-12 Adobe Systems Incorporated System for generating a rasterized graphic image
US5467442A (en) * 1992-09-30 1995-11-14 Hudson Soft Co., Ltd. Image processing apparatus
US5777620A (en) 1992-10-02 1998-07-07 Canon Kabushiki Kaisha 3D graphics system grouping surface primitives with and without specularity
US5455900A (en) 1992-10-20 1995-10-03 Ricoh Company, Ltd. Image processing apparatus
US5422986A (en) * 1993-05-12 1995-06-06 Pacific Data Images, Inc. Method for generating soft-edge mattes for visual elements of images
US5634850A (en) 1993-05-21 1997-06-03 Sega Enterprises, Ltd. Image processing device and method
US5524195A (en) * 1993-05-24 1996-06-04 Sun Microsystems, Inc. Graphical user interface for interactive television with an animated agent
US5959618A (en) * 1993-06-01 1999-09-28 Canon Kabushiki Kaisha Image display apparatus
US5616079A (en) 1993-06-16 1997-04-01 Namco Ltd. Three-dimensional games machine
US5786822A (en) 1994-01-26 1998-07-28 Hitachi, Ltd. Method and apparatus for mapping texture on an object displayed at a varying view angle from an observer
US6005967A (en) 1994-02-18 1999-12-21 Matushita Electric Industrial Co., Ltd. Picture synthesizing apparatus and method
US5734807A (en) 1994-07-21 1998-03-31 Kabushiki Kaisha Sega Enterprises Image processing devices and methods
US5568598A (en) * 1994-09-09 1996-10-22 Intel Corporation Displaying images using progressive fade-in
US5636340A (en) * 1994-11-03 1997-06-03 Microsoft Corporation System and method for special effects for text objects
US5751376A (en) * 1994-11-15 1998-05-12 Matsushita Electric Ind. Image forming apparatus and method for creating motion blur
US5947823A (en) 1995-02-17 1999-09-07 Namco Ltd. Three-dimensional game apparatus and image synthesizing method
US6329991B1 (en) * 1995-04-18 2001-12-11 Canon Kabushiki Kaisha Data processing method and apparatus
US5949428A (en) 1995-08-04 1999-09-07 Microsoft Corporation Method and apparatus for resolving pixel data in a graphics rendering system
US5999189A (en) 1995-08-04 1999-12-07 Microsoft Corporation Image compression to reduce pixel and texture memory requirements in a real-time image generator
US5809219A (en) * 1996-04-15 1998-09-15 Silicon Graphics, Inc. Analytic motion blur coverage in the generation of computer graphics imagery
US6130672A (en) 1996-04-24 2000-10-10 Canon Kabushiki Kaisha Image processing apparatus
US6411289B1 (en) * 1996-08-07 2002-06-25 Franklin B. Zimmerman Music visualization system utilizing three dimensional graphical representations of musical characteristics
US6018350A (en) 1996-10-29 2000-01-25 Real 3D, Inc. Illumination and shadow simulation in a computer graphics/imaging system
US5926182A (en) 1996-11-19 1999-07-20 International Business Machines Corporation Efficient rendering utilizing user defined shields and windows
US6234901B1 (en) * 1996-11-22 2001-05-22 Kabushiki Kaisha Sega Enterprises Game device, picture data and flare forming method

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Game Manual for Tales of Fantasia, Namuko Ltd., Dec. 15, 1995.
Office Action from the Japanese Patent Office and English translation.
Office Action from the Japanese Patent Office; dated Jul. 7, 2002.
Partial translation of Game Manual for Tales of Fantasia, Namuko Ltd., Dec. 15, 1995.

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050107146A1 (en) * 2001-05-16 2005-05-19 Konami Corporation Game device, game region expansion and contraction method, game program and information storage medium
US20040263512A1 (en) * 2002-03-11 2004-12-30 Microsoft Corporation Efficient scenery object rendering
US20040127288A1 (en) * 2002-07-29 2004-07-01 Shinichi Furuhashi Communication game equipment
US20050066275A1 (en) * 2003-09-23 2005-03-24 Gannon Aaron James Methods and apparatus for displaying multiple data categories
US7176937B2 (en) * 2003-09-23 2007-02-13 Honeywell International, Inc. Methods and apparatus for displaying multiple data categories
US20060221076A1 (en) * 2005-03-31 2006-10-05 Namco Bandai Games Inc. Program, information storage medium, image generation system, and image generation method
US7636087B2 (en) * 2005-03-31 2009-12-22 Namco Bandai Games, Inc. Program, information storage medium, image generation system, and image generation method
US20060258453A1 (en) * 2005-05-10 2006-11-16 Nintendo Co., Ltd. Game program and game device
US8579706B2 (en) 2005-05-10 2013-11-12 Nintendo Co., Ltd. Game program and game device

Also Published As

Publication number Publication date
US6767286B1 (en) 2004-07-27

Similar Documents

Publication Publication Date Title
US6234901B1 (en) Game device, picture data and flare forming method
JP3668019B2 (en) Recording medium, image processing apparatus, and image processing method
EP0844587B1 (en) Image processor, image processing method, game machine and recording medium
JP4651435B2 (en) Program, information storage medium, and image generation system
JP2807608B2 (en) Sorting processing apparatus, image synthesizing apparatus using the same, and sorting processing method
US20060046844A1 (en) Video game device and image processing program
US6917371B1 (en) Game device, picture data forming method and medium
KR20000064948A (en) Image processing apparatus and image processing method
JP3415416B2 (en) GAME DEVICE, IMAGE DATA FORMING METHOD, AND MEDIUM
US20020070935A1 (en) Method, apparatus, storage medium, program, and program product for generating image data of virtual three-dimensional space
US20050270309A1 (en) Program product, image generation method and image generation system
EP1126416B1 (en) Randomly animating a flame in an image
US7479961B2 (en) Program, information storage medium, and image generation system
KR100816622B1 (en) Image generating device and image generating method
JP3249955B2 (en) Image generation system and information storage medium
US20050181871A1 (en) Three dimensional image processing program, three dimensional image processing method, and video game device
US6717575B2 (en) Image drawing method, image drawing apparatus, recording medium, and program
EP1085472A2 (en) Method of creating image frames, storage medium and apparatus for executing program
JP4349733B2 (en) Method and apparatus for providing non-realistic cartoon outline in 3D video graphics system
JP3602835B2 (en) VIDEO GAME DEVICE, ITS CONTROL METHOD, AND GAME PROGRAM
JP2010055131A (en) Program, information storage medium, and image generation system
JP2001273525A (en) Entertainment device, storage medium, and object display method
JP2001286675A (en) Game device, information recording medium and game system
JP2000102675A (en) Object display, and storage medium readable out with computer and memorizing game system and game program
JP3727098B2 (en) Image composition method and apparatus

Legal Events

Date Code Title Description
FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20170712