JP4613636B2 - Print data output device and print data output method - Google Patents

Print data output device and print data output method Download PDF

Info

Publication number
JP4613636B2
JP4613636B2 JP2005043536A JP2005043536A JP4613636B2 JP 4613636 B2 JP4613636 B2 JP 4613636B2 JP 2005043536 A JP2005043536 A JP 2005043536A JP 2005043536 A JP2005043536 A JP 2005043536A JP 4613636 B2 JP4613636 B2 JP 4613636B2
Authority
JP
Japan
Prior art keywords
polygon
data
polygon data
printing
image
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
JP2005043536A
Other languages
Japanese (ja)
Other versions
JP2006228088A (en
Inventor
勤 大谷
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005043536A priority Critical patent/JP4613636B2/en
Priority to US11/359,164 priority patent/US20060192778A1/en
Publication of JP2006228088A publication Critical patent/JP2006228088A/en
Application granted granted Critical
Publication of JP4613636B2 publication Critical patent/JP4613636B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/6097Colour correction or control depending on the characteristics of the output medium, e.g. glossy paper, matt paper, transparency or fabrics

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Description

この発明は、コンピュータグラフィックス技術を用いて作成した3次元データから、2次元画像を生成して印刷する技術に関する。   The present invention relates to a technique for generating and printing a two-dimensional image from three-dimensional data created using a computer graphics technique.

近年では、いわゆるコンピュータグラフィックス(CG)技術の進歩により、想像によって作り上げた架空の世界を、あたかも実在するかのように表現することが可能となっている。また、こうした技術を利用して、実在するかのように表現された仮想的な世界の中を、これも実在するかのように表現されたキャラクタを動かしてゲームを進めるゲーム機も開発されており、現在では広く使用されている。   In recent years, the progress of so-called computer graphics (CG) technology has made it possible to express an imaginary world created by imagination as if it existed. In addition, using this technology, a game machine has been developed that moves a character expressed as if it is real in a virtual world expressed as if it were real. It is now widely used.

CG上で3次元の物体を扱う場合、物体の表面を小さな平面多角形に分割して、これら多角形の集まりによって表現する方法を用いることが一般的である。このように、物体の形状を規定するために用いられる平面多角形は「ポリゴン」と呼ばれている。ポリゴンは平面であるから、ポリゴンを用いて表現した物体は表面がゴツゴツした感じとなり、違和感を与えるおそれがあるが、こうした問題はポリゴンの大きさを小さくすることによって、事実上問題とならない程度まで改善することができる。もちろん、ポリゴンの大きさを小さくすれば、物体を構成するポリゴン数が増加するので、画像を迅速に表示することは困難となる。そこでポリゴンの大きさは、物体を実在する物のように表現することに対する要求と、画像の表示速度との兼ね合いから決定されている。   When handling a three-dimensional object on CG, it is common to use a method of dividing the surface of the object into small planar polygons and expressing them by a collection of these polygons. Thus, the planar polygon used for defining the shape of the object is called “polygon”. Since polygons are flat surfaces, objects expressed using polygons may feel rugged on the surface and may give a sense of incongruity. However, by reducing the size of the polygons, these problems can be prevented from becoming a problem. Can be improved. Of course, if the size of the polygon is reduced, the number of polygons constituting the object increases, so that it is difficult to display an image quickly. Therefore, the size of the polygon is determined based on the balance between the requirement for expressing an object as if it were an actual object and the display speed of the image.

CG技術を活用したゲーム機では、画像の表示速度に対する要求は更に大きなものとなる。すなわちゲーム機では、ゲームを行う者の操作に反応してキャラクタを速やかに動かさなければならず、このためには画像の表示を迅速に行う必要がある。その一方で、ゲーム中はキャラクタが動いていることが多く、表面のゴツゴツした感じは目立ち難いという特性がある。そこでゲーム機では、物体を真実らしく表現することよりも、画像の表示速度に比重を置いてポリゴンの大きさが設定されている。また、ポリゴンによって表現された物体を、より本物らしく表現しながら、画像を迅速に表示可能とするために、種々の技術が開発され、提案されている(例えば、特許文献1、特許文献2など)。   In a game machine using CG technology, the demand for image display speed is even greater. That is, in the game machine, the character must be moved promptly in response to the operation of the person who performs the game. For this purpose, it is necessary to display the image quickly. On the other hand, the character often moves during the game, and the rugged feeling on the surface is inconspicuous. Therefore, in the game machine, the size of the polygon is set with a specific gravity on the display speed of the image rather than expressing the object truly. In addition, various techniques have been developed and proposed in order to display an image quickly while expressing an object expressed by a polygon more realistically (for example, Patent Document 1, Patent Document 2, etc.) ).

特開平7−262387号公報JP-A-7-262387 特開平8−161510号公報JP-A-8-161510

しかし、たとえ画面上では実在する物のように表現されていたとしても、例えば紙媒体などの様に、より鮮明に画像を表示可能な媒体に印刷すると、物体表面がゴツゴツしていることが分かってしまうという問題があった。印刷した画像で、物体表面がゴツゴツしていることが分かってしまうと、もはや画面上に表示された画像でさえも、仮想的に表現されたものであることが気になってしまうと言う問題があった。   However, even if it is expressed as a real object on the screen, it turns out that the object surface is rugged when printed on a medium that can display images more clearly, such as paper media. There was a problem that. If you find out that the surface of the object is rugged in the printed image, you will be worried that even the image displayed on the screen is virtually represented was there.

この発明は従来技術における上述した課題を解決するためになされたものであり、画面上に表示されている物体を、紙媒体などのより鮮明に表示可能な媒体に印刷した場合でも、実在する物であるかのように表現可能とする技術の提供を目的とする。   The present invention has been made to solve the above-described problems in the prior art, and even when an object displayed on a screen is printed on a medium that can be displayed more clearly, such as a paper medium, it is an actual object. The purpose is to provide technology that can be expressed as if.

上述した課題の少なくとも一部を解決するために、本発明の印刷データ出力装置は、次の構成を採用した。すなわち、
物体の表面を複数のポリゴンに分割して、該各々のポリゴンを構成する頂点の座標によって該物体の三次元形状を表現したポリゴンデータから、該物体の二次元画像を印刷するための印刷データを生成して出力する印刷データ出力装置であって、
前記ポリゴンデータから生成された前記画像データに基づいて、前記物体の二次元画像を画面上に表示する画像表示手段と、
前記画面上に表示された二次元画像の印刷命令を受け取ると、前記画像データまたは該画像データの生成に用いられた前記ポリゴンデータの少なくとも一方を取得することにより、該二次元画像と前記物体の配置が同一で、且つ、該ポリゴンデータよりも小さなポリゴンを用いて表現された精密ポリゴンデータを生成する精密ポリゴンデータ生成手段と、
前記生成した精密ポリゴンデータを所定のポリゴン数ずつ読み出して前記画像データに変換した後、該得られた画像データを順次、前記印刷データとして出力する印刷データ出力手段と
を備えることを要旨とする。
In order to solve at least a part of the problems described above, the print data output apparatus of the present invention employs the following configuration. That is,
Print data for printing a two-dimensional image of the object from polygon data that divides the surface of the object into a plurality of polygons and expresses the three-dimensional shape of the object by the coordinates of vertices constituting each polygon. A print data output device for generating and outputting,
Image display means for displaying a two-dimensional image of the object on a screen based on the image data generated from the polygon data;
Upon receiving a print command for the two-dimensional image displayed on the screen, the image data or at least one of the polygon data used to generate the image data is acquired, thereby obtaining the two-dimensional image and the object. Precision polygon data generation means for generating precision polygon data expressed using polygons having the same arrangement and smaller than the polygon data;
A gist of the present invention is to include print data output means for reading the generated precision polygon data for each predetermined polygon number and converting it into the image data, and sequentially outputting the obtained image data as the print data.

また、上記の印刷データ出力装置に対応する本発明の印刷データ出力方法は、
物体の表面を複数のポリゴンに分割して、該各々のポリゴンを構成する頂点の座標によって該物体の三次元形状を表現したポリゴンデータから、該物体の二次元画像を印刷するための印刷データを生成して出力する印刷データ出力方法であって、
前記ポリゴンデータから生成された前記画像データに基づいて、前記物体の二次元画像を画面上に表示する第1の工程と、
前記画面上に表示された二次元画像の印刷命令を受け取ると、前記画像データまたは該画像データの生成に用いられた前記ポリゴンデータの少なくとも一方を取得することにより、該二次元画像と前記物体の配置が同一で、且つ、該ポリゴンデータよりも小さなポリゴンを用いて表現された精密ポリゴンデータを生成する第2の工程と、
前記生成した精密ポリゴンデータを所定のポリゴン数ずつ読み出して前記画像データに変換した後、該得られた画像データを順次、前記印刷データとして出力する第3の工程と
を備えることを要旨とする。
Further, the print data output method of the present invention corresponding to the above print data output device,
Print data for printing a two-dimensional image of the object from polygon data that divides the surface of the object into a plurality of polygons and expresses the three-dimensional shape of the object by the coordinates of vertices constituting each polygon. A print data output method for generating and outputting,
A first step of displaying a two-dimensional image of the object on a screen based on the image data generated from the polygon data;
Upon receiving a print command for the two-dimensional image displayed on the screen, the image data or at least one of the polygon data used to generate the image data is acquired, thereby obtaining the two-dimensional image and the object. A second step of generating precision polygon data expressed using polygons having the same arrangement and smaller than the polygon data;
The present invention includes a third step of reading out the generated precision polygon data by a predetermined number of polygons and converting the data into the image data, and then sequentially outputting the obtained image data as the print data.

かかる本発明の印刷データ出力装置および印刷データ出力方法においては、ポリゴンデータから画像データを生成して二次元画像を画面上に表示する。画面に表示されている二次元画像の印刷命令を受け取ると、該二次元画像の生成に用いられた画像データ、もしくは、該画像データを生成するために使用したポリゴンデータの少なくとも一方を取得して、該二次元画像と前記物体の配置が同一で、且つ、該ポリゴンデータよりも小さなポリゴンを用いて表現された精密ポリゴンデータを生成する。画面に表示された二次元画像の画像データ、もしくは、その画像データを生成するために用いられたポリゴンデータの少なくとも一方を取得しておけば、表示されている二次元画像と物体の配置が一致する精密ポリゴンデータを生成することができる。例えば、取得したポリゴンデータと同じ位置に、精密ポリゴンデータを生成してもよいし、あるいは、小さなポリゴンのポリゴンデータによる二次元画像が、画像データを取得した二次元画像と重なるように、小さなポリゴンによって表現される物体を移動あるいは回転させることとして、得られたポリゴンデータを精密ポリゴンデータとしても良い。このようにして、精密ポリゴンデータが得られたら、今度は、所定のポリゴン数ずつ精密ポリゴンデータを読み出して、二次元画像を表す画像データに変換した後、変換した画像データを、順次、印刷データとして出力する。   In the print data output apparatus and print data output method of the present invention, image data is generated from polygon data and a two-dimensional image is displayed on the screen. Upon receiving a print command for the two-dimensional image displayed on the screen, at least one of the image data used to generate the two-dimensional image or the polygon data used to generate the image data is acquired. Then, precise polygon data expressed using polygons having the same arrangement of the two-dimensional image and the object and smaller than the polygon data is generated. If you acquire at least one of the image data of the 2D image displayed on the screen or the polygon data used to generate the image data, the displayed 2D image matches the object's arrangement The precision polygon data to be generated can be generated. For example, precise polygon data may be generated at the same position as the acquired polygon data, or small polygons so that the two-dimensional image by the polygon data of small polygons overlaps the two-dimensional image from which the image data was acquired. The obtained polygon data may be used as the precision polygon data by moving or rotating the object represented by. After the precision polygon data is obtained in this way, this time, the precision polygon data is read by a predetermined number of polygons, converted into image data representing a two-dimensional image, and then the converted image data is sequentially printed. Output as.

このようにして得られた印刷データは、小さなポリゴンから生成された画像データとなっているので、たとえ、紙媒体などの様に鮮明に画像を表示可能な媒体上に印刷した場合でも、物体表面がゴツゴツした画像となることがなく、あたかも実在する物体を撮影した写真のような、高画質な画像を得ることができる。また、こうして印刷された画像は、画面上に表示された二次元画像と、物体の配置が同一となっているので、画面上の二次元画像をそのまま印刷したかのような印象を与えることができる。このため、印刷して得られた高画質な画像が、そのまま画面に表示されているかのような印象を与えることになり、画面の表示を実際の表示以上に実物らしく見せるという効果も得ることができる。更に、印刷データは、所定のポリゴン数ずつ、順次変換されて出力される。このため、精密ポリゴンデータのポリゴン数が如何に多くなった場合でも、画像データを展開するメモリ量などの制約を受けることなく、高画質な画像を印刷することが可能となる。   Since the print data obtained in this way is image data generated from small polygons, even when printed on a medium that can display a clear image such as a paper medium, the object surface Therefore, it is possible to obtain a high-quality image such as a photograph of a real object. In addition, since the printed image has the same arrangement of the object as the two-dimensional image displayed on the screen, it may give the impression that the two-dimensional image on the screen is printed as it is. it can. For this reason, the high-quality image obtained by printing gives the impression that it is displayed on the screen as it is, and the effect that the display on the screen looks more realistic than the actual display can be obtained. it can. Further, the print data is sequentially converted and output by a predetermined number of polygons. For this reason, even when the number of polygons of the precision polygon data increases, it is possible to print a high-quality image without being restricted by the memory amount for developing the image data.

かかる印刷データ出力装置においては、物体を画面に表示するためのポリゴンデータたる表示用ポリゴンデータと、該表示用ポリゴンデータを構成するポリゴンよりも小さなポリゴンによって構成された印刷用ポリゴンデータとを記憶しておき、画面上に表示された二次元画像を印刷する場合には、次のように、印刷用ポリゴンデータを使用して精密ポリゴンデータを生成することとしても良い。すなわち、画面上に表示された二次元画像の印刷命令を受け取ると、表示用ポリゴンデータまたは該表示用ポリゴンデータから生成された画像データの少なくとも一方を取得する。そして、取得したデータを用いて、印刷用ポリゴンデータを位置合わせしてから、表示用ポリゴンデータに置き換えることによって、精密ポリゴンデータを生成することとしてもよい。   Such a print data output device stores display polygon data, which is polygon data for displaying an object on the screen, and print polygon data composed of polygons smaller than the polygons constituting the display polygon data. In the case of printing a two-dimensional image displayed on the screen, precise polygon data may be generated using printing polygon data as follows. That is, when a print command for a two-dimensional image displayed on the screen is received, at least one of display polygon data or image data generated from the display polygon data is acquired. Then, the polygon data for printing may be aligned using the acquired data and then replaced with the display polygon data to generate the precise polygon data.

このようにして精密ポリゴンデータを生成することとすれば、印刷用ポリゴンデータとして、物体の形状を正確に表現したポリゴンデータを記憶しておくことで、あたかも実在する物体を撮影して得られた写真のような、高画質な画像を印刷することができる。   If precise polygon data is generated in this way, polygon data that accurately represents the shape of the object is stored as polygon data for printing, and it is obtained as if an actual object was photographed. A high-quality image such as a photograph can be printed.

尚、表示用ポリゴンデータを印刷用ポリゴンデータに置き換えるに際しては、次のようにして、印刷用ポリゴンデータの位置合わせを行ってから置き換えることとしても良い。すなわち、少なくとも表示用ポリゴンデータおよび印刷用ポリゴンデータの何れのデータも記憶されている物体については、該物体に対して所定の位置に設定された少なくとも3つの座標点を、該表示用ポリゴンデータおよび該印刷用ポリゴンデータの各々の基準点として記憶しておく。ここで、基準点としては、表示用ポリゴンデータのポリゴンを構成する複数の頂点と、印刷用ポリゴンデータのポリゴンを構成する複数の頂点の中から、何れにも含まれる頂点を選択することもできるし、あるいは、これら頂点とは別の座標値に基準点を設定することも可能である。次いで、印刷用ポリゴンデータを、物体の三次元形状を維持したまま移動あるいは回転させることにより、表示用ポリゴンデータの基準点と印刷用ポリゴンデータの基準点とを、少なくとも画面上で一致させる。このとき、表示用ポリゴンデータ側の基準点の三次元座標と、印刷用ポリゴンデータ側の基準点の三次元座標とが一致していることを確認しても良いし、あるいは、これら基準点が画面上で一致していることを確認しても良い。こうして2つのポリゴンデータの基準点を一致させた状態で、表示用ポリゴンデータを印刷用ポリゴンデータで置き換えることによって、精密ポリゴンデータを生成することとしてもよい。   When the display polygon data is replaced with the printing polygon data, the printing polygon data may be replaced after being aligned as follows. That is, for an object in which at least both display polygon data and printing polygon data are stored, at least three coordinate points set at predetermined positions with respect to the object are represented by the display polygon data and It is stored as each reference point of the printing polygon data. Here, as the reference point, a vertex included in any of a plurality of vertices constituting the polygon of the display polygon data and a plurality of vertices constituting the polygon of the printing polygon data can be selected. Alternatively, it is possible to set the reference point at a coordinate value different from these vertices. Next, by moving or rotating the printing polygon data while maintaining the three-dimensional shape of the object, the reference point of the display polygon data and the reference point of the printing polygon data are matched at least on the screen. At this time, it may be confirmed that the three-dimensional coordinates of the reference point on the display polygon data side coincide with the three-dimensional coordinates of the reference point on the printing polygon data side, or these reference points are It may be confirmed that they match on the screen. In this way, the precision polygon data may be generated by replacing the display polygon data with the printing polygon data in a state where the reference points of the two polygon data are matched.

このようにして基準点を一致させてから表示用ポリゴンデータを印刷用ポリゴンデータで置き換えてやれば、印刷用ポリゴンデータによる画像を、表示用ポリゴンデータによる画像に正確に位置合わせすることができるので、物体の配置が画面の表示と同じとなり、あたかも画面の表示をそのまま印刷したかのような画像を印刷することが可能となる。   If the display polygon data is replaced with the printing polygon data after matching the reference points in this way, the image based on the printing polygon data can be accurately aligned with the image based on the display polygon data. The arrangement of the objects becomes the same as the display on the screen, and it is possible to print an image as if the display on the screen was printed as it was.

また、上述した印刷データ出力装置においては、予め記憶しておいた印刷用ポリゴンデータから精密ポリゴンデータを生成する代わりに、画像の表示に用いたポリゴンデータから精密ポリゴンデータを生成することとしてもよい。すなわち、画面に表示された二次元画像の印刷命令を受け取ると、該二次元画像の画像データを生成するために用いられたポリゴンデータを取得して、該ポリゴンデータを構成するポリゴンを複数のポリゴンに分割することによって、精密ポリゴンデータを生成することとしても良い。   Further, in the above-described print data output apparatus, instead of generating the precision polygon data from the printing polygon data stored in advance, the precision polygon data may be generated from the polygon data used for displaying the image. . That is, when a print command for a two-dimensional image displayed on the screen is received, polygon data used to generate the image data of the two-dimensional image is acquired, and the polygons constituting the polygon data are converted into a plurality of polygons. It is also possible to generate precision polygon data by dividing into two.

こうすれば、印刷用ポリゴンデータを予め記憶しておく必要がないので、記憶容量を節約することが可能となる。また、画面の表示のためのポリゴンデータから、該ポリゴンデータを構成するポリゴンを分割することによって精密ポリゴンデータを生成しているため、精密ポリゴンデータは画面の表示のためのポリゴンデータと同じ位置に生成されることになる。このため、印刷用ポリゴンデータの位置合わせを行う必要がなく、画面の表示を印刷する処理を簡素なものとすることが可能となる。   By doing so, it is not necessary to store the printing polygon data in advance, so that the storage capacity can be saved. Further, since the polygon data constituting the polygon data is divided from the polygon data for screen display to generate the precision polygon data, the precision polygon data is located at the same position as the polygon data for screen display. Will be generated. For this reason, it is not necessary to align the polygon data for printing, and the process for printing the display on the screen can be simplified.

あるいは、画面に表示された二次元画像の印刷命令を受け取ると、該二次元画像の画像データを取得して、該二次元画像に含まれるポリゴンを複数のポリゴンに分割することによって、精密ポリゴンデータを生成することとしてもよい。   Alternatively, when a print command for a two-dimensional image displayed on the screen is received, the image data of the two-dimensional image is acquired, and the polygon included in the two-dimensional image is divided into a plurality of polygons, thereby obtaining precise polygon data. It is good also as producing | generating.

このようにしても、印刷用ポリゴンデータを予め記憶しておく必要が無いので、記憶容量を節約することが可能となる。また、画面に表示された二次元画像の画像データを取得して、該二次元画像に含まれるポリゴンを分割することによって精密ポリゴンデータを生成しているので、精密ポリゴンデータの位置合わせを行う必要がなく、画面の表示を印刷する処理を簡素なものとすることができる。   Even in this case, it is not necessary to store the printing polygon data in advance, so that the storage capacity can be saved. In addition, since the precise polygon data is generated by acquiring the image data of the two-dimensional image displayed on the screen and dividing the polygon included in the two-dimensional image, it is necessary to align the precise polygon data. Therefore, the process of printing the screen display can be simplified.

また、上述した各種の印刷データ出力装置においては、次のようにして、印刷データを出力することとしても良い。すなわち、先ず、所定ポリゴン数ずつ精密ポリゴンデータを読み出して、画像データに変換する。そして、変換した画像データを順次、印刷データとして出力する。このとき、新たに読み出したポリゴンについての画像データを出力するだけでなく、既に出力した画像データの中で、該新たに読み出したポリゴンについての画像データに少なくとも隣接する部分については、既に出力した画像データも、再び印刷データとして出力することとしても良い。   In addition, in the various print data output devices described above, print data may be output as follows. That is, first, the precision polygon data is read by a predetermined number of polygons and converted into image data. The converted image data is sequentially output as print data. At this time, not only the image data for the newly read polygon is output, but also the already output image data for at least a portion adjacent to the image data for the newly read polygon in the already output image data. The data may be output as print data again.

こうすれば、たとえ、多くのポリゴンを含んだポリゴンデータを、所定ポリゴン数ずつ分割して、複数回に分けて画像データを出力する場合でも、毎回出力する画像データは先に出力した画像データに対して、隣接する部分の画像データが重複して含まれていることになる。従って、このような画像データを印刷データとして受け取って、順次、画像を印刷することとすれば、重複部分については2回に分けて印刷することで、毎回の印刷部分の繋ぎ目が目立ってしまうことを回避することが可能となる。   In this way, even if polygon data including a large number of polygons is divided into a predetermined number of polygons, and the image data is output in multiple times, the image data to be output each time is the same as the previously output image data. On the other hand, the image data of the adjacent part is included redundantly. Therefore, if such image data is received as print data and images are sequentially printed, overlapping portions are printed in two portions, so that the joints between the printed portions become conspicuous every time. This can be avoided.

更に本発明は、上述した印刷データ出力方法を実現するためのプログラムをコンピュータに読み込ませ、コンピュータを用いて実現することも可能である。従って、本発明は次のようなプログラム、あるいは該プログラムを記録した記録媒体として把握することもできる。すなわち、上述した印刷データ出力方法に対応する本発明のプログラムは、
物体の表面を複数のポリゴンに分割して、該各々のポリゴンを構成する頂点の座標によって該物体の三次元形状を表現したポリゴンデータから、該物体の二次元画像を印刷するための印刷データを生成して出力する方法を、コンピュータを用いて実現するためのプログラムであって、
前記ポリゴンデータから生成された前記画像データに基づいて、前記物体の二次元画像を画面上に表示する第1の機能と、
前記画面上に表示された二次元画像の印刷命令を受け取ると、前記画像データまたは該画像データの生成に用いられた前記ポリゴンデータの少なくとも一方を取得することにより、該二次元画像と前記物体の配置が同一で、且つ、該ポリゴンデータよりも小さなポリゴンを用いて表現された精密ポリゴンデータを生成する第2の機能と、
前記生成した精密ポリゴンデータを所定のポリゴン数ずつ読み出して前記画像データに変換した後、該得られた画像データを順次、前記印刷データとして出力する第3の機能と
を実現することを要旨とする。
Furthermore, the present invention can be realized using a computer by causing a computer to read a program for realizing the above-described print data output method. Therefore, the present invention can be grasped as the following program or a recording medium on which the program is recorded. That is, the program of the present invention corresponding to the print data output method described above is
Print data for printing a two-dimensional image of the object from polygon data that divides the surface of the object into a plurality of polygons and expresses the three-dimensional shape of the object by the coordinates of vertices constituting each polygon. A program for realizing a method of generating and outputting using a computer,
A first function for displaying a two-dimensional image of the object on a screen based on the image data generated from the polygon data;
Upon receiving a print command for the two-dimensional image displayed on the screen, the image data or at least one of the polygon data used to generate the image data is acquired, thereby obtaining the two-dimensional image and the object. A second function for generating precise polygon data expressed using polygons having the same arrangement and smaller than the polygon data;
The gist of the present invention is to realize a third function of reading the generated precision polygon data by a predetermined number of polygons and converting it into the image data, and then sequentially outputting the obtained image data as the print data. .

また、上記のプログラムに対応する本発明の記録媒体は、
物体の表面を複数のポリゴンに分割して、該各々のポリゴンを構成する頂点の座標によって該物体の三次元形状を表現したポリゴンデータから、該物体の二次元画像を印刷するための印刷データを生成して出力するプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
前記ポリゴンデータから生成された前記画像データに基づいて、前記物体の二次元画像を画面上に表示する第1の機能と、
前記画面上に表示された二次元画像の印刷命令を受け取ると、前記画像データまたは該画像データの生成に用いられた前記ポリゴンデータの少なくとも一方を取得することにより、該二次元画像と前記物体の配置が同一で、且つ、該ポリゴンデータよりも小さなポリゴンを用いて表現された精密ポリゴンデータを生成する第2の機能と、
前記生成した精密ポリゴンデータを所定のポリゴン数ずつ読み出して前記画像データに変換した後、該得られた画像データを順次、前記印刷データとして出力する第3の機能と
を実現するプログラムを記憶していることを要旨とする。
The recording medium of the present invention corresponding to the above program is
Print data for printing a two-dimensional image of the object from polygon data that divides the surface of the object into a plurality of polygons and expresses the three-dimensional shape of the object by the coordinates of vertices constituting each polygon. A recording medium in which a program to be generated and output is recorded so as to be readable by a computer,
A first function for displaying a two-dimensional image of the object on a screen based on the image data generated from the polygon data;
Upon receiving a print command for the two-dimensional image displayed on the screen, the image data or at least one of the polygon data used to generate the image data is acquired, thereby obtaining the two-dimensional image and the object. A second function for generating precise polygon data expressed using polygons having the same arrangement and smaller than the polygon data;
A program that stores a program that realizes a third function of reading the generated precision polygon data for each predetermined number of polygons and converting the image data to the image data, and sequentially outputting the obtained image data as the print data; It is a summary.

かかるプログラム、あるいは記録媒体に記録されているプログラムをコンピュータに読み込ませ、該コンピュータを用いて上述の各種機能を実現すれば、画面に表示された二次元画像を、あたかも実在する物体を撮影した写真のような高画質の画像として出力することが可能となる。   If such a program or a program recorded on a recording medium is read into a computer and the above-described various functions are realized using the computer, a two-dimensional image displayed on the screen is photographed as if a real object was photographed. It is possible to output as a high quality image.

以下では、本発明の作用・効果をより明確に説明するために、本発明の実施の形態を、次のような順序に従って説明する。
A.装置構成 :
A−1.ゲーム機の構成 :
A−2.カラープリンタの構成 :
B.ゲーム画面の表示の概要 :
C.第1実施例 :
C−1.画像印刷処理 :
C−2.印刷データ出力処理 :
C−3.印刷処理 :
C−4.第1の変形例 :
C−5.第2の変形例 :
D.第2実施例 :
Below, in order to demonstrate the effect | action and effect of this invention more clearly, embodiment of this invention is described in the following orders.
A. Device configuration :
A-1. Game console configuration:
A-2. Color printer configuration:
B. Game screen display overview:
C. First Example:
C-1. Image printing process:
C-2. Print data output processing:
C-3. Printing process:
C-4. First modification:
C-5. Second modification:
D. Second embodiment:

A.装置構成 :
A−1.ゲーム機の構成 :
図1は、本実施例の画像データ生成装置を備えたゲーム機100の構成を示す説明図である。本実施例のゲーム機100は、CPU101を中心として、メインメモリ110、座標変換器(以下、GTE:Geometry Transfer Engine)112、フレームバッファ114、画像処理器(以下、GPU:Graphic Proccesing Unit)116、ROM108、ドライバ106、通信制御部103などが、バスを介して相互にデータをやり取り可能に接続されて構成されている。また、ゲーム機100には、ゲーム機100の操作を行うためのコントローラ102などが接続されている。更に、本実施例のゲーム機100にはカラープリンタ200も接続されており、ゲーム中の画面をカラープリンタ200に出力することも可能となっている。
A. Device configuration :
A-1. Game console configuration:
FIG. 1 is an explanatory diagram illustrating a configuration of a game machine 100 including an image data generation device according to the present embodiment. A game machine 100 according to the present embodiment has a main memory 110, a coordinate converter (hereinafter referred to as GTE) 112, a frame buffer 114, an image processor (hereinafter referred to as GPU) 116, with a CPU 101 as a center. A ROM 108, a driver 106, a communication control unit 103, and the like are configured so as to be able to exchange data with each other via a bus. The game machine 100 is connected with a controller 102 for operating the game machine 100. Further, a color printer 200 is also connected to the game machine 100 of the present embodiment, so that a screen during the game can be output to the color printer 200.

CPU101は、いわゆる算術演算や論理演算を実行する中央演算装置であり、ゲーム機100全体の制御を司っている。ROM108は、読み出し専用のメモリであり、ゲーム機100の電源投入後にCPU101が初めに実行するプログラム(ブートプログラム)を始めとして、各種のプログラムが格納されている。メインメモリ110は、データの読み出しおよび書き込みが可能なメモリであり、CPU101が算術演算や論理演算を実行する際に一時的な記憶領域として使用される。GTE112は、CPU101の制御の下で、メインメモリ110にアクセスしながら、幾何学的形状を三次元空間で移動、回転させるための演算を高速に実行する。GPU116は、CPU101からの命令を受けて、モニタ150上に表示される画面を生成する処理を高速に実行する。フレームバッファ114は、GPU116が、モニタ150上に表示される画面を生成するために使用する専用メモリである。GPU116は、フレームバッファ114上に生成した画面のデータを読み出してモニタ150に出力することにより、ゲーム中の画面を表示する。また、ゲーム中の画面を印刷する場合には、フレームバッファ114上に生成されたデータがGPU116を介してカラープリンタ200に供給されることによって、ゲーム中の画像が印刷される。   The CPU 101 is a central processing unit that executes so-called arithmetic operations and logical operations, and controls the entire game machine 100. The ROM 108 is a read-only memory, and stores various programs including a program (boot program) that is first executed by the CPU 101 after the game machine 100 is powered on. The main memory 110 is a memory from which data can be read and written, and is used as a temporary storage area when the CPU 101 executes arithmetic operations and logical operations. Under the control of the CPU 101, the GTE 112 executes operations for moving and rotating the geometric shape in a three-dimensional space at high speed while accessing the main memory 110. In response to a command from the CPU 101, the GPU 116 executes a process for generating a screen to be displayed on the monitor 150 at a high speed. The frame buffer 114 is a dedicated memory used by the GPU 116 to generate a screen displayed on the monitor 150. The GPU 116 displays the screen during the game by reading out the screen data generated on the frame buffer 114 and outputting it to the monitor 150. In addition, when printing a screen during a game, data generated on the frame buffer 114 is supplied to the color printer 200 via the GPU 116, so that an image during the game is printed.

ゲームを実行するためのプログラムや各種のデータは、いわゆるコンパクトディスクやデジタルビデオディスクなどの記憶ディスク105に記憶されている。これら記憶ディスク105をゲーム機100にセットすると、記憶ディスク105に記憶されているプログラムおよびデータがドライバ106によって読み出され、メインメモリ110に一旦記憶される。そして、コントローラ102の操作内容が通信制御部103を介してCPU101に入力されると、CPU101が、メインメモリ110に記憶されているプログラムを読み出して所定の処理を実行することにより、ゲームが実行される。   A program for executing the game and various data are stored in a storage disk 105 such as a so-called compact disk or digital video disk. When these storage disks 105 are set in the game machine 100, the program and data stored in the storage disk 105 are read out by the driver 106 and temporarily stored in the main memory 110. When the operation content of the controller 102 is input to the CPU 101 via the communication control unit 103, the CPU 101 reads out the program stored in the main memory 110 and executes a predetermined process, thereby executing the game. The

A−2.カラープリンタの構成 :
図2は、本実施例のゲーム機100に接続されているカラープリンタ200の概略構成を示す説明図である。カラープリンタ200はシアン,マゼンタ,イエロ,ブラックの4色インクのドットを形成可能なインクジェットプリンタである。もちろん、これら4色のインクに加えて、染料または顔料濃度の低いシアン(淡シアン)インクと、染料または顔料濃度の低いマゼンタ(淡マゼンタ)インクとを含めた合計6色のインクドットを形成可能なインクジェットプリンタを用いることもできる。尚、以下では場合によって、シアンインク,マゼンタインク,イエロインク,ブラックインク,淡シアンインク,淡マゼンタインクのそれぞれを、Cインク,Mインク,Yインク,Kインク,LCインク,LMインクと略称することがあるものとする。
A-2. Color printer configuration:
FIG. 2 is an explanatory diagram illustrating a schematic configuration of the color printer 200 connected to the game machine 100 according to the present embodiment. The color printer 200 is an ink jet printer capable of forming dots of four color inks of cyan, magenta, yellow, and black. Of course, in addition to these four colors of ink, a total of six ink dots can be formed including cyan (light cyan) ink with low dye or pigment concentration and magenta (light magenta) ink with low dye or pigment concentration. An ink jet printer can also be used. In the following, cyan ink, magenta ink, yellow ink, black ink, light cyan ink, and light magenta ink are abbreviated as C ink, M ink, Y ink, K ink, LC ink, and LM ink, respectively. There shall be.

カラープリンタ200は、図示するように、キャリッジ240に搭載された印字ヘッド241を駆動してインクの吐出およびドット形成を行う機構と、このキャリッジ240をキャリッジモータ230によってプラテン236の軸方向に往復動させる機構と、紙送りモータ235によって印刷用紙Pを搬送する機構と、ドットの形成やキャリッジ240の移動および印刷用紙の搬送を制御する制御回路260などから構成されている。   As shown in the figure, the color printer 200 drives a print head 241 mounted on a carriage 240 to eject ink and form dots, and the carriage 240 is reciprocated in the axial direction of a platen 236 by a carriage motor 230. A mechanism for transporting the printing paper P by the paper feed motor 235, a control circuit 260 for controlling dot formation, carriage 240 movement, and printing paper transportation.

キャリッジ240には、Kインクを収納するインクカートリッジ242と、Cインク,Mインク,Yインクの各種インクを収納するインクカートリッジ243とが装着されている。インクカートリッジ242,243をキャリッジ240に装着すると、カートリッジ内の各インクは図示しない導入管を通じて、印字ヘッド241の下面に設けられた各色毎のインク吐出用ヘッド244ないし247に供給される。   An ink cartridge 242 that stores K ink and an ink cartridge 243 that stores various inks of C ink, M ink, and Y ink are mounted on the carriage 240. When the ink cartridges 242 and 243 are mounted on the carriage 240, each ink in the cartridge is supplied to ink discharge heads 244 to 247 for each color provided on the lower surface of the print head 241 through an introduction pipe (not shown).

図3は、インク吐出用ヘッド244ないし247におけるインクジェットノズルNzの配列を示す説明図である。図示するように、インク吐出用ヘッドの底面には、C,M,Y,Kの各色のインクを吐出する4組のノズル列が形成されており、1組のノズル列あたり48個のノズルNzが、一定のノズルピッチkで配列されている。   FIG. 3 is an explanatory diagram showing the arrangement of the inkjet nozzles Nz in the ink ejection heads 244 to 247. As shown in the figure, on the bottom surface of the ink ejection head, four sets of nozzle rows for ejecting ink of each color of C, M, Y, and K are formed, and 48 nozzles Nz per set of nozzle rows. Are arranged at a constant nozzle pitch k.

制御回路260は、CPUや、ROM、RAM、PIF(周辺機器インターフェース)等がバスで相互に接続されて構成されている。制御回路260は、キャリッジモータ230および紙送りモータ235の動作を制御することによってキャリッジ240の主走査動作および副走査動作を制御するとともに、外部から供給される印刷データに基づいて、各ノズルから適切なタイミングでインク滴を吐出する制御を行う。こうして、制御回路260の制御の下、印刷媒体上の適切な位置に各色のインクドットを形成することによって、カラープリンタ200はカラー画像を印刷することができる。   The control circuit 260 is configured by connecting a CPU, a ROM, a RAM, a PIF (peripheral device interface), and the like with a bus. The control circuit 260 controls the main scanning operation and the sub-scanning operation of the carriage 240 by controlling the operations of the carriage motor 230 and the paper feed motor 235, and appropriately controls each nozzle based on print data supplied from the outside. Control to eject ink droplets at a proper timing. Thus, the color printer 200 can print a color image by forming ink dots of respective colors at appropriate positions on the print medium under the control of the control circuit 260.

また、インク滴を吐出するためにノズルに供給される駆動信号波形を制御してやれば、吐出されるインク滴の大きさを変更して、大きさの異なるインクドットを形成することもできる。このようにしてインクドットの大きさを制御することができれば、印刷しようとする画像の領域に応じて異なる大きさのインクドットを使い分けてやることで、より高画質の画像を印刷することも可能となる。   Further, if the drive signal waveform supplied to the nozzles for ejecting ink droplets is controlled, the size of the ejected ink droplets can be changed to form ink dots having different sizes. If the size of the ink dots can be controlled in this way, it is possible to print higher quality images by using different ink dots depending on the area of the image to be printed. It becomes.

尚、各色のインク吐出ヘッドからインク滴を吐出する方法には、種々の方法を適用することができる。すなわち、ピエゾ素子を用いてインクを吐出する方式や、インク通路に配置したヒータでインク通路内に泡(バブル)を発生させてインク滴を吐出する方法などを用いることができる。また、インクを吐出する代わりに、熱転写などの現象を利用して印刷用紙上にインクドットを形成する方式や、静電気を利用して各色のトナー粉を印刷媒体上に付着させる方式のプリンタを使用することも可能である。   Various methods can be applied to the method of ejecting ink droplets from the ink ejection heads of the respective colors. That is, a method of ejecting ink using a piezoelectric element, a method of ejecting ink droplets by generating bubbles in the ink passage with a heater arranged in the ink passage, and the like can be used. Also, instead of ejecting ink, use a method that uses ink transfer to form ink dots on printing paper using a phenomenon such as thermal transfer, or a method that uses static electricity to attach toner powder of each color onto the print medium. It is also possible to do.

以上のようなハードウェア構成を有するカラープリンタ200は、キャリッジモータ230を駆動することによって、各色のインク吐出用ヘッド244ないし247を印刷用紙Pに対して主走査方向に移動させ、また紙送りモータ235を駆動することによって、印刷用紙Pを副走査方向に移動させる。制御回路260は、キャリッジ240の主走査および副走査の動きに同期させながら、適切なタイミングでノズルを駆動してインク滴を吐出することによって、カラープリンタ200は印刷用紙上にカラー画像を印刷することが可能となっている。   The color printer 200 having the above hardware configuration drives the carriage motor 230 to move the ink ejection heads 244 to 247 of the respective colors in the main scanning direction with respect to the printing paper P, and also feeds the paper. By driving 235, the printing paper P is moved in the sub-scanning direction. The control circuit 260 drives the nozzles at appropriate timing to eject ink droplets in synchronization with the main scanning and sub-scanning movements of the carriage 240, so that the color printer 200 prints a color image on the printing paper. It is possible.

B.ゲーム画面の表示の概要 :
本実施例のゲーム機100では、ゲームの舞台として設定された仮想的な三次元空間の中で、メインキャラクタを操作することによってゲームが進行するようになっている。図4は、モニタ150上にゲーム中の画面が表示されている様子を例示した説明図である。図示されている画面には、想像上の惑星表面が表示されており、惑星の表面には各種の建造物が設定されている様子が仮想的に表示されている。このようなゲームの舞台の中を、メインキャラクタである飛行艇を操縦しながら進んでいくことによってゲームが行われる。
B. Game screen display overview:
In the game machine 100 according to the present embodiment, the game progresses by operating a main character in a virtual three-dimensional space set as a game stage. FIG. 4 is an explanatory diagram illustrating a state in which a screen during a game is displayed on the monitor 150. In the illustrated screen, an imaginary planet surface is displayed, and various structures are virtually displayed on the surface of the planet. A game is played by proceeding in such a game stage while maneuvering a flying boat as a main character.

モニタ150の画面では二次元の形状しか表現し得ないが、ゲーム機100の内部では、惑星表面や、飛行艇、各種の建造物などについては三次元的な形状を伴った物体として表現されている。このように、ゲーム機100の内部で三次元的な形状を伴うものとして扱われている物体を、本明細書中では「オブジェクト」と呼ぶことにする。図4に例示した画面では、画面のほぼ中央に大きく表示された飛行艇ob1 や、惑星表面ob2 、ドーム状の建造物ob3 、遠方に見えるピラミッド状の2つの建造物ob11、ob12、更には、惑星の表面上を飛行する6つの飛行円盤ob4 ないしob9 などがオブジェクトであり、これらについては、物体の表面形状を三次元的に表すデータが記憶されている。このため、メインキャラクタである飛行艇ob1 を操作することにより、飛行艇ob1 に対して、他のオブジェクト(例えば建造物や飛行円盤等)の位置関係が変化すると、これに伴って、モニタ150上でのオブジェクトの見え方も変化することになる。この結果、飛行艇ob1 や、惑星表面ob2 などのオブジェクトは、想像によって作り出されたものであるにも拘わらず、あたかも現実に存在しているかのように、モニタ150に表示することが可能となっている。また、詳細には後述するが、本実施例のゲーム機100では、モニタ150に表示された画面を印刷することで、あたかも写真で撮影したかのような画像を印刷することも可能となっている。   Although the screen of the monitor 150 can only express a two-dimensional shape, inside the game machine 100, the planet surface, flying boat, various buildings, etc. are expressed as objects with a three-dimensional shape. Yes. Thus, an object handled as having a three-dimensional shape inside the game machine 100 will be referred to as an “object” in this specification. In the screen illustrated in FIG. 4, the flying boat ob1, which is displayed largely in the center of the screen, the planet surface ob2, the dome-shaped building ob3, the two pyramid-shaped buildings ob11, ob12 which are visible in the distance, The six flying disks ob4 to ob9 that fly on the surface of the planet are objects, and for these, data representing the three-dimensional shape of the surface of the object is stored. For this reason, if the positional relationship of another object (for example, a building, a flying disk, etc.) changes with respect to flying boat ob1 by operating flying boat ob1 which is a main character, along with this, on monitor 150 The appearance of the object at will also change. As a result, objects such as the flying boat ob1 and the planetary surface ob2 can be displayed on the monitor 150 as if they existed even though they were created by imagination. ing. Further, as will be described in detail later, in the game machine 100 of the present embodiment, by printing the screen displayed on the monitor 150, it is possible to print an image as if it was taken with a photograph. Yes.

尚、図4に示した例では、惑星の空の部分や、空に浮かぶ衛星は、オブジェクトではなく二次元的な画像がそのままモニタ150に表示されたものとなっている。従って、これらについては、飛行艇ob1 を操作しても、モニタ150上での見え方が変化することはない。これは、ゲームのメインキャラクタである飛行艇ob1 の移動範囲に対して極めて遠方にあるため、飛行艇ob1 の位置が変わっても見え方はほとんど変化せず、従って二次元画像として扱えば十分であることによる。図5は、モニタ150の画面上で、二次元画像がそのまま表示されている領域を、ハッチングを付して表した説明図である。このように、本実施例のゲーム機100では、モニタ150に表示される画面の一部に、二次元画像を嵌め込んで表示することも可能となっている。   In the example shown in FIG. 4, the sky part of the planet and the satellite floating in the sky are not objects but a two-dimensional image displayed on the monitor 150 as it is. Accordingly, even if the flying boat ob1 is operated, the appearance on the monitor 150 does not change. This is very far away from the movement range of the flying boat ob1, which is the main character of the game. It depends. FIG. 5 is an explanatory diagram showing the area where the two-dimensional image is displayed as it is on the screen of the monitor 150 with hatching. As described above, in the game machine 100 according to the present embodiment, a two-dimensional image can be inserted and displayed in a part of the screen displayed on the monitor 150.

次に、ゲーム機100が、物体を三次元的な形状を伴ったオブジェクトとして取り扱う方法について説明する。図6は、メインキャラクタである飛行艇ob1 の形状を示す斜視図である。図の左側には、飛行艇ob1 を斜め後方から見た様子が示されており、図の右側には、飛行艇ob1 を斜め前方から様子が示されている。図示されているように、飛行艇ob1 は、表面のほとんどの部分が滑らかな曲面によって構成されている。ゲーム機100の内部では、このような三次元的な曲面を有する物体を、平面多角形を用いて表現する。すなわち、三次元的な曲面を細かな平面多角形に分割し、これら平面多角形によって近似的に表現するのである。   Next, a method in which the game machine 100 handles an object as an object with a three-dimensional shape will be described. FIG. 6 is a perspective view showing the shape of the flying boat ob1, which is the main character. The left side of the figure shows a state where the flying boat ob1 is seen obliquely from the rear, and the right side of the figure shows the state of the flying boat ob1 from a diagonally forward direction. As shown in the figure, the flying boat ob1 is configured with a smooth curved surface at most of its surface. Inside the game machine 100, an object having such a three-dimensional curved surface is expressed using a plane polygon. That is, a three-dimensional curved surface is divided into fine planar polygons and is approximately expressed by these planar polygons.

図7は、メインキャラクタの飛行艇ob1 の形状を細かな平面多角形によって表現した様子を概念的に示した説明図である。このように、細かな多角形に分割すれば三次元的な曲面を持った物体形状を、平面多角形によって表現することが可能である。尚、このような平面多角形は「ポリゴン」と呼ばれている。本実施例のゲーム機100では、全てのオブジェクトがポリゴンの集まりとして表現されており、ポリゴンを構成する各頂点の三次元座標値によってオブジェクトの形状が表現されている。本明細書においては、ポリゴンの頂点の座標によってオブジェクトの形状を表現したデータを、「ポリゴンデータ」と呼ぶことにする。また、本実施例のゲーム機100においては、各オブジェクトのポリゴンデータは、オブジェクトテーブルと呼ばれるテーブルによって管理されている。   FIG. 7 is an explanatory diagram conceptually showing a state in which the shape of the main character flying boat ob1 is expressed by a fine planar polygon. In this way, if the object is divided into fine polygons, an object shape having a three-dimensional curved surface can be expressed by a planar polygon. Such planar polygons are called “polygons”. In the game machine 100 according to the present embodiment, all objects are expressed as a collection of polygons, and the shape of the object is expressed by the three-dimensional coordinate values of the vertices constituting the polygon. In this specification, data representing the shape of an object by the coordinates of the vertices of a polygon is referred to as “polygon data”. In the game machine 100 of this embodiment, polygon data of each object is managed by a table called an object table.

図8は、本実施例のゲーム機100において、各オブジェクトのポリゴンデータを管理するために用いられるオブジェクトテーブルを概念的に示した説明図である。図示されているように、オブジェクトテーブルには、各オブジェクトを識別するためのオブジェクト番号と、オブジェクトの形状を示したポリゴンデータが格納されているメインメモリ110の先頭アドレスと、オブジェクトを構成するポリゴン数とが記憶されている。オブジェクトテーブルには、このようなオブジェクト番号とポリゴンデータの先頭アドレスとポリゴン数とを一組とするレコードが、オブジェクトの数だけ設定されている。   FIG. 8 is an explanatory diagram conceptually showing an object table used for managing polygon data of each object in the game machine 100 of this embodiment. As shown in the drawing, in the object table, an object number for identifying each object, a start address of the main memory 110 storing polygon data indicating the shape of the object, and the number of polygons constituting the object Is stored. In the object table, such a record that sets the object number, the start address of the polygon data, and the number of polygons as one set is set for the number of objects.

図9は、オブジェクトの形状を示したポリゴンデータのデータ構造を示す説明図である。図示されているようにポリゴンデータは、ポリゴンの通し番号と、各ポリゴンを構成する頂点のXYZ座標値と、ポリゴンに付与されるテクスチャの番号と、オブジェクトに設定されている基準点のXYZ座標値などから構成されている。このうち、ポリゴンの番号、頂点座標、テクスチャ番号についてはポリゴン毎に一組ずつ設定されており、一方、基準点のXYZ座標値はオブジェクトについて設定されている。   FIG. 9 is an explanatory diagram showing the data structure of polygon data indicating the shape of the object. As shown in the figure, the polygon data includes polygon serial numbers, XYZ coordinate values of vertices constituting each polygon, texture numbers assigned to the polygons, XYZ coordinate values of reference points set for the object, etc. It is composed of Among these, the polygon number, vertex coordinates, and texture number are set for each polygon, while the XYZ coordinate values of the reference points are set for the object.

各ポリゴンに設定されている頂点座標の個数は、ポリゴンの形状に応じた個数が設定されている。例えば、ポリゴンが三角形であれば3つの頂点から構成されているから、そのポリゴンについては3つの頂点座標が設定される。同様に、ポリゴンが四角形であれば4つの頂点座標が設定されることになる。本実施例では、全てのオブジェクトが三角形のポリゴンで構成されており、従って、各ポリゴンには3つずつ頂点座標が設定されている。   The number of vertex coordinates set for each polygon is set according to the shape of the polygon. For example, if the polygon is a triangle, it is composed of three vertices, so three vertex coordinates are set for the polygon. Similarly, if the polygon is a quadrangle, four vertex coordinates are set. In this embodiment, all objects are composed of triangular polygons, and therefore, three vertex coordinates are set for each polygon.

また、テクスチャ番号は、簡単に言えば、ポリゴン内を塗りつぶすべき色彩を示す番号のようなものと考えることができる。例えば、オブジェクトの表面が赤ければ、そのオブジェクトを構成する全てのポリゴンを赤色としておけばよい。この場合、ポリゴンのテクスチャ番号には、赤色を示す番号が指定されることになる。もっとも、このように色彩だけでなく、アルミや真鍮などの各種の金属表面や、ガラスのような透明な表面、更には木肌のような表面を、テクスチャ番号として指定することも可能である。テクスチャ番号は、このようにポリゴンに付与される表面の状態を指定する番号である。   Further, simply speaking, the texture number can be considered as a number indicating the color to be filled in the polygon. For example, if the surface of the object is red, all the polygons constituting the object may be red. In this case, a number indicating red is designated as the texture number of the polygon. However, not only the color but also various metal surfaces such as aluminum and brass, a transparent surface such as glass, and a surface such as a bark can be designated as the texture number. The texture number is a number that designates the surface state to be given to the polygon in this way.

一方、オブジェクトについて設定されている基準点は、三次元空間におけるオブジェクトの位置と姿勢とを表すために用いられるXYZ座標値である。本実施例のゲーム機100では、ゲーム中に表示されるモニタ150の画面を、あたかも写真のような鮮明な画像として印刷することが可能となっており、詳細には後述するが、対象とするオブジェクトの位置および向きの情報を用いることによって、このような鮮明な画像を印刷することを可能としている。このため本実施例のオブジェクトには、そのオブジェクトが三次元空間内のどの位置に存在していて、どちらの方向を向いているかを特定するために、基準点が設定されている。図7に示した飛行艇(オブジェクト番号ob1 )については、機体先頭部に設けられた基準点P1と、左右の尾翼の後端にそれぞれ設けられた基準点P2、P3の、合計3つの基準点が設けられている。このように、最低3つの基準点が設けられていれば、三次元空間内でのオブジェクトの位置および向きを特定することができる。もちろん、基準点の個数は3つに限らず、より多数の基準点を設けておくこととしても良い。図9に示したポリゴンデータには、これら基準点のXYZ座標値が設定されている。尚、基準点は、必ずしも全てのオブジェクトに設けられている必要はない。この点については、後ほど詳しく説明する。   On the other hand, the reference point set for the object is an XYZ coordinate value used to represent the position and orientation of the object in the three-dimensional space. In the game machine 100 according to the present embodiment, the screen of the monitor 150 displayed during the game can be printed as a clear image like a photograph, which will be described in detail later. By using the information on the position and orientation of the object, such a clear image can be printed. For this reason, a reference point is set in the object of this embodiment in order to specify in which position in the three-dimensional space the object is located and in which direction it is directed. For the flying boat (object number ob1) shown in FIG. 7, a total of three reference points, reference point P1 provided at the head of the fuselage and reference points P2 and P3 provided at the rear ends of the left and right tails, respectively. Is provided. Thus, if at least three reference points are provided, the position and orientation of the object in the three-dimensional space can be specified. Of course, the number of reference points is not limited to three, and a larger number of reference points may be provided. In the polygon data shown in FIG. 9, XYZ coordinate values of these reference points are set. The reference point does not necessarily have to be provided for all objects. This point will be described in detail later.

以上に説明したように、本実施例のゲーム機100では、全てのオブジェクトにオブジェクト番号が付与されており、オブジェクトの表面形状はポリゴンの頂点座標を示すポリゴンデータによって表現されている。そして、オブジェクト番号からオブジェクトテーブルを引くことによって対応するポリゴンデータの先頭アドレスを取得すれば、メインメモリ110の該当アドレス以降に書き込まれているデータを読み出すことによって、オブジェクトの三次元的な形状を表した頂点座標を取得することが可能となっている。ゲーム機100のモニタ150に表示するための画像データは、このようにして取得した三次元形状を示すポリゴンデータに、後述する処理を施すことによって生成されている。   As described above, in the gaming machine 100 of this embodiment, object numbers are assigned to all objects, and the surface shape of the objects is represented by polygon data indicating the vertex coordinates of the polygons. Then, if the head address of the corresponding polygon data is obtained by subtracting the object table from the object number, the three-dimensional shape of the object is represented by reading the data written after the corresponding address in the main memory 110. It is possible to acquire the vertex coordinates. Image data to be displayed on the monitor 150 of the game machine 100 is generated by subjecting the polygon data indicating the three-dimensional shape acquired in this way to processing described later.

尚、図8に例示したオブジェクトテーブルでは、ポリゴンデータの先頭アドレス、およびオブジェクトを構成するポリゴン数の2つの項目だけが、オブジェクト番号に対応付けて設定されているが、これら以外の項目も設定することとしても良い。例えば、オブジェクトを構成するポリゴンのタイプ、すなわちポリゴンが何角形であるかを示すデータや、ポリゴンに基準点が設けられているか否か、更には基準点の個数を示すデータなどを、オブジェクト番号に対応付けて設定しておくことも可能である。   In the object table illustrated in FIG. 8, only two items of the top address of the polygon data and the number of polygons constituting the object are set in association with the object number, but other items are also set. It's also good. For example, the object number includes the type of polygon that constitutes the object, that is, data indicating how many polygons the polygon is, whether the polygon is provided with a reference point, and further data indicating the number of reference points. It is also possible to set in association with each other.

図10は、本実施例のゲーム機100が、ゲーム中の画面をモニタ150に表示する処理の概要を示したフローチャートである。かかる処理は、CPU101を中心として、メインメモリ110、GTE112、フレームバッファ114、GPU116などが協動しながら実行される処理である。以下、フローチャートに従って説明する。   FIG. 10 is a flowchart illustrating an outline of processing in which the game machine 100 according to the present embodiment displays a screen during the game on the monitor 150. Such a process is a process executed mainly by the CPU 101 while the main memory 110, the GTE 112, the frame buffer 114, the GPU 116, and the like cooperate. Hereinafter, it demonstrates according to a flowchart.

ゲーム画面表示処理を開始すると、CPU101は、コントローラ102からの入力があったか否かを判断する(ステップS10)。前述したように、ゲーム中は、ゲーム機100に対する操作は専らコントローラ102によって行われるので、先ず初めにコントローラ102からの操作入力があったか否かを判断するのである。そして、入力がなかった場合は(ステップS10:no)、フレームバッファ114に記憶されている画像データをモニタ150に出力して、画面の表示を更新する処理(画面更新処理)を行う(ステップS50)。フレームバッファ114には、モニタ150に表示すべき画像データが生成されて記憶されている。画像データを生成してフレームバッファ114に記憶するための処理、およびフレームバッファ114に記憶されている画像データをモニタ150に出力する画面更新処理の内容については後述する。一方、コントローラ102からの入力があったと判断された場合には(ステップS10:yes)、コントローラ102による操作の内容をモニタ150の画面に反映させるべく、後述する一連の処理を行う。   When the game screen display process is started, the CPU 101 determines whether or not there is an input from the controller 102 (step S10). As described above, during the game, since the operation on the game machine 100 is exclusively performed by the controller 102, it is first determined whether or not there has been an operation input from the controller 102. If there is no input (step S10: no), the image data stored in the frame buffer 114 is output to the monitor 150, and a process of updating the display of the screen (screen update process) is performed (step S50). ). Image data to be displayed on the monitor 150 is generated and stored in the frame buffer 114. The contents of the process for generating image data and storing it in the frame buffer 114 and the screen update process for outputting the image data stored in the frame buffer 114 to the monitor 150 will be described later. On the other hand, when it is determined that there is an input from the controller 102 (step S10: yes), a series of processing described later is performed in order to reflect the content of the operation by the controller 102 on the screen of the monitor 150.

コントローラ102からの入力が検出されると、コントローラ102によって操作されたオブジェクトを、ゲームの舞台として設定されている三次元空間内で、操作に応じた距離および方向に移動させる処理を行う(ステップS20)。一例として、コントローラ102による操作が、メインキャラクタである飛行艇ob1 を前進させるものであった場合について説明する。前述したように飛行艇ob1 は、ゲーム機100の内部では複数のポリゴンによって表現されており(図7参照)、各ポリゴンの頂点座標はポリゴンデータに設定されている(図9参照)。また、ポリゴンデータが記憶されているメモリ領域の先頭アドレスは、オブジェクトテーブルを参照することによって取得することができる。   When an input from the controller 102 is detected, a process of moving the object operated by the controller 102 in a three-dimensional space set as a game stage in a distance and a direction according to the operation (step S20). ). As an example, a case where the operation by the controller 102 is to advance the flying boat ob1 as the main character will be described. As described above, the flying boat ob1 is represented by a plurality of polygons in the game machine 100 (see FIG. 7), and the vertex coordinates of each polygon are set in polygon data (see FIG. 9). Also, the start address of the memory area in which the polygon data is stored can be obtained by referring to the object table.

そこで、メインキャラクタである飛行艇ob1 を前進させる場合は、先ずオブジェクトテーブルを参照して、飛行艇(オブジェクト番号ob1 )に対応するポリゴンデータの先頭アドレスを取得する。次いで、メインメモリ110上の取得したアドレスを先頭とするメモリ領域に記憶されているポリゴンデータを読み出すことによって、各ポリゴンを構成する頂点座標を取得する。こうして得られた頂点座標は、ゲームの舞台として設定された三次元空間内において、現時点での飛行艇ob1 の位置を表す座標となっている。   Therefore, when the flying boat ob1, which is the main character, is moved forward, first, the head address of the polygon data corresponding to the flying boat (object number ob1) is obtained by referring to the object table. Next, by reading the polygon data stored in the memory area starting from the acquired address on the main memory 110, the vertex coordinates constituting each polygon are acquired. The vertex coordinates thus obtained are coordinates representing the current position of the flying boat ob1 in the three-dimensional space set as a game stage.

この点について、若干補足して説明する。記憶ディスク105には、各オブジェクトについてのポリゴンデータの初期値が記憶されている。ゲームの開始時には、初期値のポリゴンデータが、記憶ディスク105から読み込まれてメインメモリ110に記憶されるとともに、ポリゴンデータを記憶した先頭アドレス値が、オブジェクトテーブルに設定される。そして、ゲームの進行に伴って、オブジェクトが移動、回転、あるいは変形すると、後述する処理によって、メインメモリ110に記憶されているポリゴンデータの内容が更新されていく。従って、オブジェクトテーブルを参照して先頭アドレスを取得すれば、各オブジェクトの現時点での頂点座標を読み出すことが可能となっているのである。   This point will be described with some supplementary explanation. The storage disk 105 stores initial values of polygon data for each object. At the start of the game, initial polygon data is read from the storage disk 105 and stored in the main memory 110, and the head address value storing the polygon data is set in the object table. Then, when the object moves, rotates, or deforms with the progress of the game, the content of the polygon data stored in the main memory 110 is updated by the processing described later. Therefore, if the start address is obtained by referring to the object table, the current vertex coordinates of each object can be read out.

ここでは、飛行艇ob1 が前進するように、コントローラ102が操作されたものとしているから、図10に示したゲーム画面表示処理のS20では、オブジェクトテーブルを参照することにより、現在の飛行艇ob1 の位置を示すポリゴンデータをメインメモリ110から取得する。次いで、コントローラ102の操作量から、三次元空間内で飛行艇ob1 を移動させる向きと移動量とを決定し、移動後の飛行艇ob1 の座標値を算出する。かかる演算は、CPU101の制御の下でGTE112によって高速に実行される。具体的には、CPU101は飛行艇ob1 の移動方向および移動量を決定すると、ポリゴンデータの先頭アドレスの値と共にGTE112に供給する。GTE112は、供給された先頭アドレスに基づいて飛行艇ob1 のポリゴンデータを読み出した後、このポリゴンデータの頂点座標に対して座標変換を行うことにより、移動後の頂点座標を算出する。こうして得られた変換後の頂点座標によって、メインメモリ110のポリゴンデータを更新する。以上では、メインキャラクタである飛行艇ob1 を前進させた場合について説明したが、コントローラ102によって他のオブジェクトが操作された場合は、操作されたオブジェクトについて同様の処理が実行される。この結果、メインメモリ110に記憶されている各オブジェクトのポリゴンデータには、常に最新のオブジェクトの座標値が記憶されていることになる。   Here, since the controller 102 is operated so that the flying boat ob1 moves forward, in S20 of the game screen display process shown in FIG. 10, the current flying boat ob1 is referred to by referring to the object table. Polygon data indicating the position is acquired from the main memory 110. Next, the direction and amount of movement of the flying boat ob1 in the three-dimensional space are determined from the operation amount of the controller 102, and the coordinate value of the flying boat ob1 after movement is calculated. Such calculation is executed at high speed by the GTE 112 under the control of the CPU 101. Specifically, when the CPU 101 determines the moving direction and moving amount of the flying boat ob1, the CPU 101 supplies it to the GTE 112 together with the value of the head address of the polygon data. The GTE 112 reads the polygon data of the flying boat ob1 based on the supplied leading address, and then performs coordinate conversion on the vertex coordinates of this polygon data to calculate the vertex coordinates after movement. The polygon data in the main memory 110 is updated with the converted vertex coordinates obtained in this way. Although the case where the flying boat ob1 as the main character is moved forward has been described above, when another object is operated by the controller 102, the same processing is executed for the operated object. As a result, the polygon data of each object stored in the main memory 110 always stores the latest coordinate value of the object.

このようにして、コントローラ102の操作をオブジェクト位置に反映させたら、各オブジェクトのポリゴンデータから二次元画像のデータを生成する処理(レンダリング処理)を開始する(ステップS30)。レンダリング処理では、ポリゴンデータによって表現された三次元的なオブジェクトを、モニタ150の画面に相当する平面上に投影するような処理を行うことによって、三次元的なオブジェクトから二次元的な画像を生成する。   When the operation of the controller 102 is reflected in the object position in this way, a process (rendering process) for generating two-dimensional image data from the polygon data of each object is started (step S30). In the rendering process, a two-dimensional image is generated from the three-dimensional object by performing a process of projecting the three-dimensional object represented by the polygon data onto a plane corresponding to the screen of the monitor 150. To do.

図11は、レンダリング処理の概要を示した説明図である。図11では、サイコロ形状のオブジェクトにレンダリング処理を施すことにより、二次元的な画像を生成する様子が示されている。レンダリング処理に際しては、先ず初めに、オブジェクトを観察するための視点Qを設定し、次いで、オブジェクトと視点Qとの間に、モニタ150の画面に相当する投影面Rを設定する。そして、オブジェクトの表面から選択した任意の点と視点Qとを直線で結び、この直線が投影面Rと交差する交点を決定する。例えば、図11に示したように、オブジェクト上のa点を選択したとすると、a点と視点Qとを結ぶ直線が投影面Rと交わる交点としてRa点を決めることができる。ここで、周知のように光は直進する性質を有するから、a点から出て視点Qに向かう光は、投影面R上のRa点に像を結ぶことになる。換言すれば、投影面R上のRa点は、オブジェクト上のa点が投影される点と考えることができる。従って、オブジェクトの表面の全ての点について、このような操作を行えば、投影面R上に投影されたオブジェクトの二次元像を得ることができる。   FIG. 11 is an explanatory diagram showing an outline of the rendering process. FIG. 11 shows a state where a two-dimensional image is generated by rendering a dice-shaped object. In the rendering process, first, a viewpoint Q for observing the object is set, and then a projection plane R corresponding to the screen of the monitor 150 is set between the object and the viewpoint Q. Then, an arbitrary point selected from the surface of the object and the viewpoint Q are connected by a straight line, and an intersection where the straight line intersects the projection plane R is determined. For example, as shown in FIG. 11, if the point a on the object is selected, the point Ra can be determined as an intersection where the straight line connecting the point a and the viewpoint Q intersects the projection plane R. Here, as is well known, light has a property of traveling straight, so that light that exits from the point a and travels toward the viewpoint Q forms an image at the point Ra on the projection plane R. In other words, the Ra point on the projection plane R can be considered as a point on which the a point on the object is projected. Therefore, if such an operation is performed on all points on the surface of the object, a two-dimensional image of the object projected on the projection plane R can be obtained.

もっとも、前述したようにオブジェクトはポリゴンによって表現されているから、オブジェクト表面の全ての点についてこうした操作を行う必要はなく、ポリゴンの頂点座標についてのみ実行すればよい。例えば、図11に示すように、オブジェクト表面のb点およびc点が、投影面R上のRb点、Rc点にそれぞれ投影されたものとする。この場合、オブジェクト上のa点、b点、c点を頂点とする三角形のポリゴンは、投影面R上では、Ra点、Rb点、Rc点を頂点とする三角形の領域に投影されるものと考えて良い。また、オブジェクト上のポリゴンが例えば赤色であったとすると、このポリゴンが投影面R上に投影された三角形の領域も赤色になると考えて良い。すなわち、オブジェクト上のポリゴンが有するテクスチャ番号は、投影面R上に投影された領域にも引き継がれると考えることができる。   However, as described above, since the object is represented by a polygon, it is not necessary to perform such an operation for all points on the object surface, and only the vertex coordinates of the polygon need be executed. For example, as shown in FIG. 11, it is assumed that points b and c on the surface of the object are projected onto points Rb and Rc on the projection plane R, respectively. In this case, a triangular polygon having appoints a, b, and c on the object is projected onto a triangular area having appoints Ra, Rb, and Rc on the projection plane R. You can think about it. Further, if the polygon on the object is red, for example, it may be considered that the triangular area where the polygon is projected on the projection plane R is also red. That is, it can be considered that the texture number of the polygon on the object is inherited by the region projected on the projection plane R.

更に、レンダリング処理では、いわゆる陰面消去と呼ばれる処理も行われる。陰面消去とは、オブジェクト表面の中で、他の表面の陰になっている部分を消去する処理である。例えば、図11に示した例では、オブジェクト表面のb点、d点、e点を頂点とするポリゴンは、視点Qから見てオブジェクトの裏側にあり、全体が他の表面の陰になっているため投影面R上に像を結ぶことはない。そこで、このようなポリゴンについては、投影面R上に投影像が表示されないようにするのである。尚、オブジェクトの形状および視点Qの設定によっては、あるポリゴンの一部の領域だけが他の表面の陰になる場合もある。このような場合は、そのポリゴンの陰になっている部分だけの表示が省略されて、陰になっていない部分についてだけ、投影像が表示されることになる。   Further, in the rendering process, so-called hidden surface removal is also performed. Hidden surface erasing is a process of erasing a portion of an object surface that is shaded by another surface. For example, in the example shown in FIG. 11, the polygons having the vertices b, d, and e on the surface of the object are on the back side of the object when viewed from the viewpoint Q, and are entirely behind other surfaces. Therefore, no image is formed on the projection plane R. Therefore, for such a polygon, a projection image is prevented from being displayed on the projection plane R. Depending on the shape of the object and the setting of the viewpoint Q, only a partial area of a certain polygon may be behind the other surface. In such a case, the display of only the shaded portion of the polygon is omitted, and the projection image is displayed only for the shaded portion.

このように、レンダリング処理では、オブジェクトを構成するポリゴンの頂点を投影面Rに投影したときの座標値を算出する処理が行われる。このような座標値の算出は、比較的簡単に行うことができる。図12(a)は、オブジェクト上の座標点(X,Y,Z)を投影して得られる投影面R上の座標値(U,V)を求める計算式を示した説明図である。ここで、図12(a)中のα、β、γ、δは、視点Qから投影面R、あるいはオブジェクトまでの距離によって定まる係数である。あるいは、簡易的には、図12(b)に示すように、除算を含まない計算式を用いることもできる。ここで、図12(b)中のε、ζ、η、θ、ι、κは、それぞれ視点Qから投影面R、あるいはオブジェクトまでの距離によって定まる係数である。   As described above, in the rendering process, a process of calculating the coordinate value when the vertexes of the polygons constituting the object are projected onto the projection plane R is performed. Such calculation of coordinate values can be performed relatively easily. FIG. 12A is an explanatory diagram showing a calculation formula for obtaining the coordinate value (U, V) on the projection plane R obtained by projecting the coordinate point (X, Y, Z) on the object. Here, α, β, γ, and δ in FIG. 12A are coefficients determined by the distance from the viewpoint Q to the projection plane R or the object. Or, simply, as shown in FIG. 12B, a calculation formula that does not include division can be used. Here, ε, ζ, η, θ, ι, and κ in FIG. 12B are coefficients determined by the distance from the viewpoint Q to the projection plane R or the object, respectively.

また、詳細な説明は省略するが、レンダリング処理では、三次元空間内の予め設定された位置に光源を置いて、オブジェクト表面に陰影を付けるシェーディングと呼ばれる処理や、遠近感を強調するために、遠方にある部分ほど輝度を低下させたり、投影像をぼかす処理などが行われることもある。こうした一連の処理からなるレンダリング処理は、GTE112がCPU101からの命令を受け取って、メインメモリ110に記憶されているポリゴンデータに対して所定の演算を実行し、得られた結果を用いて、メモリ上のポリゴンデータを更新することによって行われる。そして、モニタ150の画面に現れる全てのオブジェクトについて、以上のような処理を行ったら、図10のステップS30に示したレンダリング処理を終了する。   Although detailed description is omitted, in rendering processing, a light source is placed at a preset position in a three-dimensional space, and a process called shading that shades an object surface and a perspective are emphasized. In some cases, the farther part is subjected to processing such as lowering the brightness or blurring the projected image. In the rendering process composed of such a series of processes, the GTE 112 receives a command from the CPU 101, executes a predetermined operation on the polygon data stored in the main memory 110, and uses the obtained result on the memory. This is done by updating the polygon data. When the above processing is performed on all objects appearing on the screen of the monitor 150, the rendering processing shown in step S30 in FIG.

上述したレンダリング処理に続いて、ゲーム機100のCPU101は、描画処理を開始する(図10のステップS40)。描画処理とは、レンダリング処理によって生成された投影像から、画素毎に階調値が設定された画像データを生成する処理である。すなわち、レンダリング処理で得られた投影像は、ポリゴンが投影された多角形の頂点の座標と、その多角形に付与すべきテクスチャ番号とを用いた形式で表現されている。これに対して、モニタ150上で表示可能な画像データは、画像を画素と呼ばれる微細な領域に細分し、画素毎に階調データ(通常は、輝度を表すデータ)を設定した形式で表現されている。各画素に1種類の輝度データを設定した場合には、モノクロ画像の画像データとなり、光の三原色を構成するRGB各色の輝度データを設定した場合には、カラー画像の画像データとなる。尚、RGB各色の輝度データの代わりに、明度に対応する階調データと、色差に対応する2種類の階調データを用いてカラー画像を表現することも可能である。いずれにしても、レンダリング処理によって得られた投影像を表すデータは、そのままではモニタ150上に表示することができないので、モニタ150で表示可能なデータ形式に変換する処理を行う。このような処理が描画処理と呼ばれる処理である。また、図5を用いて前述したように、画面に二次元画像が嵌め込まれている場合は、描画処理の中で二次元画像のデータを嵌め込んでやればよい。   Following the rendering process described above, the CPU 101 of the game machine 100 starts a drawing process (step S40 in FIG. 10). The drawing process is a process of generating image data in which a gradation value is set for each pixel from the projection image generated by the rendering process. That is, the projection image obtained by the rendering process is expressed in a format using the coordinates of the vertexes of the polygon on which the polygon is projected and the texture number to be assigned to the polygon. On the other hand, image data that can be displayed on the monitor 150 is expressed in a format in which an image is subdivided into fine regions called pixels, and gradation data (usually data representing luminance) is set for each pixel. ing. When one type of luminance data is set for each pixel, the image data is a monochrome image, and when luminance data for each of the RGB colors constituting the three primary colors of light is set, the image data is a color image. Note that it is also possible to represent a color image using gradation data corresponding to lightness and two types of gradation data corresponding to color differences instead of the luminance data of each RGB color. In any case, since the data representing the projection image obtained by the rendering process cannot be displayed on the monitor 150 as it is, the data is converted into a data format that can be displayed on the monitor 150. Such a process is a process called a drawing process. Further, as described above with reference to FIG. 5, when a two-dimensional image is fitted on the screen, the data of the two-dimensional image may be fitted in the drawing process.

描画処理を開始すると、ゲーム機100のCPU101は、GPU116に向かって描画命令を出力する。この描画命令を受けて、GPU116が画像データを生成してフレームバッファ114に記憶することによって描画処理が行われる。   When the drawing process is started, the CPU 101 of the game machine 100 outputs a drawing command to the GPU 116. In response to the drawing command, the GPU 116 generates image data and stores the image data in the frame buffer 114 to perform drawing processing.

図13は、描画命令によって描画しようとする画像、すなわち、前述したレンダリング処理によって生成された投影像を、概念的に示した説明図である。また、図14は、このような画像を描画するために、CPU101からGPU116に向かって出力される描画命令のデータ構造を概念的に示した説明図である。先ず、図13を参照しながら、描画の対象となる投影像について説明する。描画の対象となる投影像は、前述したように、オブジェクトを構成するポリゴンを投影面R上に投影することによって得られた二次元画像である。本実施例では、オブジェクトは全て三角形のポリゴンを用いて構成されているものとしているから、原則として全てのポリゴンが、三角形の画像として投影面R上に投影される。尚、ポリゴンとは、前述したようにオブジェクトを構成する平面多角形を指しており、ポリゴンが投影面Rに投影された多角形は、厳密にはポリゴンとは異なるものである。しかし、以下では説明の便宜から、このようなポリゴンの投影像も、ポリゴンと呼ぶことがあるものとする。また、特にこれらを区別する場合は、「オブジェクトを構成するポリゴン」、および「投影像を構成するポリゴン(あるいは二次元画像のポリゴン)」などと称することがあるものとする。   FIG. 13 is an explanatory diagram conceptually showing an image to be drawn by a drawing command, that is, a projection image generated by the rendering process described above. FIG. 14 is an explanatory diagram conceptually showing the data structure of a drawing command output from the CPU 101 to the GPU 116 in order to draw such an image. First, a projection image to be drawn will be described with reference to FIG. As described above, the projection image to be drawn is a two-dimensional image obtained by projecting the polygon constituting the object onto the projection plane R. In this embodiment, since all objects are configured using triangular polygons, in principle, all polygons are projected on the projection plane R as triangular images. Note that the polygon refers to the planar polygon that forms the object as described above, and the polygon on which the polygon is projected onto the projection plane R is strictly different from the polygon. However, for convenience of explanation below, such a projected image of a polygon is also referred to as a polygon. In particular, when these are distinguished, they may be referred to as “polygons constituting an object” and “polygons constituting a projection image (or polygons of a two-dimensional image)”.

図13に示されている投影像は、ポリゴン1、ポリゴン2、ポリゴン3の3つのポリゴンから構成されている。また、投影像がいずれも三角形のポリゴンによって構成されているのは、オブジェクトを構成するポリゴンが全て三角形のポリゴンによって構成されており、これら三角形のポリゴンを投影面R上に投影すると三角形の投影像が得られることに対応したものである。そして、図11を用いて前述したように、これら投影像を構成するポリゴンには、オブジェクトを構成するポリゴンと同じテクスチャ番号が付与されている。   The projected image shown in FIG. 13 is composed of three polygons, polygon 1, polygon 2, and polygon 3. In addition, all the projected images are composed of triangular polygons. All the polygons constituting the object are composed of triangular polygons. When these triangular polygons are projected onto the projection plane R, the projected images of the triangles are formed. This corresponds to the fact that As described above with reference to FIG. 11, the same texture number as that of the polygon constituting the object is assigned to the polygon constituting the projected image.

このような投影像を描画する場合、CPU101は図14に示すようなデータ構造の描画命令を出力する。図示されているように描画命令は、「CODE」と、テクスチャ番号と、投影面R上での頂点の座標値とを一組とするデータが、投影像を構成するポリゴン毎に設定された構造となっている。ここで、「CODE」は、この命令が描画命令であることを表すとともに、描画の対象としているポリゴンの形状を指定するデータとなっている。すなわち、オブジェクトを構成するポリゴンは、三角形に限らず、四角形や五角形などのポリゴンが使用される場合もあり、これに伴って投影像を構成するポリゴンの形状も変わってくる。また、オブジェクトのポリゴンが三角形であったとしても、一部が他のポリゴンの陰になった場合などには投影面Rの上のポリゴンを、例えば四角形のポリゴンとして扱うことも可能である。このようなことを考慮して、本実施例の描画命令では、ポリゴン毎にポリゴンの形状を指定可能となっているのである。   When drawing such a projected image, the CPU 101 outputs a drawing command having a data structure as shown in FIG. As shown in the drawing, the drawing command is a structure in which “CODE”, a texture number, and data having a set of coordinate values of vertices on the projection plane R are set for each polygon constituting the projection image. It has become. Here, “CODE” represents that this command is a drawing command, and is data specifying the shape of a polygon to be drawn. In other words, the polygons that make up the object are not limited to triangles, and polygons such as quadrilaterals and pentagons may be used, and the shape of the polygons that make up the projected image changes accordingly. Even if the polygon of the object is a triangle, the polygon on the projection plane R can be treated as, for example, a quadrilateral polygon when part of the object is behind another polygon. Taking this into consideration, the drawing command of this embodiment allows the polygon shape to be specified for each polygon.

本実施例の描画命令には、「CODE」に続いて、テクスチャ番号が設定されている。このテクスチャ番号は、投影像を構成するポリゴンに付与されているテクスチャ番号であり、ほとんどの場合は、オブジェクトを構成するポリゴンに付与されたテクスチャ番号と同じものとなる。尚、テクスチャ番号の代わりに、ポリゴンに付与すべき色情報(例えば、R,G,B各色の階調値)を設定しておくことも可能である。   In the drawing command of this embodiment, a texture number is set after “CODE”. This texture number is the texture number assigned to the polygon constituting the projected image, and in most cases, is the same as the texture number assigned to the polygon constituting the object. Instead of the texture number, it is also possible to set color information (for example, gradation values for each color of R, G, and B) to be given to the polygon.

テクスチャ番号に続いて、ポリゴンを構成する頂点の投影面R上での座標値が設定されている。頂点座標の個数は上述した「CODE」によって決定される。例えば、「CODE」においてポリゴンの形状が三角形と指定されている場合は、3つの頂点座標が設定され、四角形のポリゴンと指定されている場合は、4つの頂点座標が設定されることになる。描画命令は、このような「CODE」、テクスチャ番号、頂点座標を一組とするデータが、投影像を構成するポリゴン毎に設定されたデータ構造となっている。   Following the texture number, coordinate values on the projection plane R of the vertices constituting the polygon are set. The number of vertex coordinates is determined by “CODE” described above. For example, in “CODE”, when the polygon shape is designated as a triangle, three vertex coordinates are set, and when it is designated as a quadrilateral polygon, four vertex coordinates are set. The rendering command has a data structure in which such a set of “CODE”, texture number, and vertex coordinates is set for each polygon constituting the projection image.

図14に例示した描画命令では、描画の対象としている投影像が、ポリゴン1ないしポリゴン3の3つのポリゴンから構成されていることと対応して、「CODE」、テクスチャ番号、頂点座標からなる三組のデータが設定されている。すなわち、ポリゴン1については、「CODE」およびテクスチャ番号に続いて、ポリゴン1を構成する3つの頂点A、B、Cの座標値が設定されている。また、ポリゴン2については、「CODE」およびテクスチャ番号に続いて、ポリゴン2を構成する3つの頂点B、C、Dの座標値が設定され、ポリゴン3については、「CODE」、テクスチャ番号に続いて、ポリゴン3を構成する3つの頂点C、D、Eの座標値が設定されている。これらポリゴンの頂点座標およびテクスチャ番号は、前述したレンダリング処理の中でGTE112によって生成された後、メインメモリ110に記憶されている。CPU101は、メインメモリ110に記憶されているデータの中から、モニタ150の画面上に表示すべき全てのオブジェクトについて、これらのデータを読み出すことにより、図14に示すようなデータ構造の描画命令を生成してGPU116に供給する。   In the drawing command illustrated in FIG. 14, three projections including “CODE”, texture number, and vertex coordinates correspond to the fact that the projection image to be drawn is composed of three polygons 1 to 3. A set of data is set. That is, for polygon 1, the coordinate values of the three vertices A, B, and C constituting polygon 1 are set following “CODE” and the texture number. For polygon 2, the coordinate values of three vertices B, C, and D constituting polygon 2 are set following “CODE” and the texture number. For polygon 3, “CODE” and the texture number are set. Thus, the coordinate values of the three vertices C, D, and E constituting the polygon 3 are set. The vertex coordinates and texture numbers of these polygons are generated by the GTE 112 during the rendering process described above, and are then stored in the main memory 110. The CPU 101 reads out these data for all objects to be displayed on the screen of the monitor 150 from the data stored in the main memory 110, thereby giving a drawing command having a data structure as shown in FIG. Generate and supply to the GPU 116.

GPU116は、このような描画命令を受け取ると、各頂点を結んだ多角形の内部を、テクスチャ番号が示す色彩あるいは模様で塗り潰した二次元画像に展開する。そして、得られた二次元画像を、画像を構成する画素毎に階調データを設定した表現形式のデータに変換して、画像データとしてフレームバッファ114に記憶する。この結果、投影面R上でのポリゴンの頂点座標と、ポリゴンのテクスチャ番号とによって表現された投影像が、モニタ150で表示可能なデータ形式の画像データに変換されて、フレームバッファ114に記憶されたことになる。尚、本実施例のゲーム機100では、R,G,B各色の階調値が画素毎に設定された画像データを生成するものとする。モニタ150の画面に現れる全ての投影像について、以上のような処理を行ったら、図10のステップS40に示した描画処理を終了する。   Upon receiving such a drawing command, the GPU 116 expands the inside of the polygon connecting the vertices into a two-dimensional image filled with the color or pattern indicated by the texture number. Then, the obtained two-dimensional image is converted into data in an expression format in which gradation data is set for each pixel constituting the image, and stored in the frame buffer 114 as image data. As a result, the projection image expressed by the vertex coordinates of the polygon on the projection plane R and the texture number of the polygon is converted into image data in a data format that can be displayed on the monitor 150 and stored in the frame buffer 114. That's right. In the game machine 100 according to the present embodiment, it is assumed that image data in which gradation values of R, G, and B colors are set for each pixel is generated. When the above processing is performed on all the projected images that appear on the screen of the monitor 150, the drawing processing shown in step S40 in FIG.

描画処理を終了すると、今度は、フレームバッファ114上に得られた画像データをモニタ150に出力して、モニタ150の画面を更新する処理を行う(ステップS50)。すなわち、画面解像度や、インターレースあるいはノンインターレースと言った走査方式など、モニタ150の仕様に合わせて、フレームバッファ114から画像データを読み出してビデオ信号としてモニタ150に供給する。こうすることで、フレームバッファ114に展開した二次元画像をモニタ150の画面に表示させることができる。   When the drawing process ends, this time, the image data obtained on the frame buffer 114 is output to the monitor 150, and the process of updating the screen of the monitor 150 is performed (step S50). That is, image data is read from the frame buffer 114 and supplied to the monitor 150 as a video signal in accordance with the specifications of the monitor 150 such as the screen resolution and the scanning method such as interlace or non-interlace. By doing so, the two-dimensional image developed in the frame buffer 114 can be displayed on the screen of the monitor 150.

また、モニタ150の表示を少なくとも1秒間に24回以上の頻度で更新してやれば、人間の網膜が有する残像現象により、あたかも連続して動いているかのような画像を表示することができる。本実施例のゲーム機100では、図10に示したゲーム画面表示処理を1秒間に30回程度の頻度で実行して画面の表示を更新することで、あたかもモニタ150の画面内で飛行艇ob1 などの各種オブジェクトが連続して動いているかのように表示することが可能となっている。そして、このような高速な処理を可能とするために、本実施例のゲーム機100では、座標変換を始めとする各種の演算を高速に実行可能なGTE112や、演算に用いる大量のデータを高速に読み書き可能なメインメモリ110、CPU101から受け取った描画命令に基づいて画像データを迅速に生成するGPU116、更には、生成した画像データを高速に記憶するとともにモニタ150に高速に出力可能なフレームバッファ114などが搭載されている。   Further, if the display on the monitor 150 is updated at least 24 times per second, an image as if it is moving continuously can be displayed due to the afterimage phenomenon of the human retina. In the game machine 100 of this embodiment, the game screen display process shown in FIG. 10 is executed at a frequency of about 30 times per second to update the display of the screen, so that the flying boat ob1 appears on the screen of the monitor 150. It is possible to display as if various objects such as are moving continuously. In order to enable such high-speed processing, the gaming machine 100 according to the present embodiment can perform GTE 112 capable of executing various calculations including coordinate conversion at high speed, and a large amount of data used for the calculations at high speed. A readable / writable main memory 110, a GPU 116 that quickly generates image data based on a drawing command received from the CPU 101, and a frame buffer 114 that can store the generated image data at high speed and output it to the monitor 150 at high speed. Etc. are installed.

もっとも、処理対象とするポリゴン数があまりに多くなると、図10に示したゲーム画面表示処理を、1秒間に30回程度の頻度で実行することは困難となる。そこで、飛行艇ob1 を始めとする各種のオブジェクトは、ポリゴン数があまり多くならないように、若干大きめのポリゴンによって構成されている。前述したようにポリゴンは平面多角形なので、ポリゴンが大きくなると、オブジェクトの表面がゴツゴツしてしまうという弊害がある。しかし、幸いにも、ゲームの画面ではオブジェクトは動いていることが多く、加えて、モニタ150は写真の様には高い描画力を有していないため、オブジェクト表面がゴツゴツしていることが目立つことはなく、従って、ゲームの臨場感を損なってしまうといった弊害が生じることはない。   However, if the number of polygons to be processed becomes too large, it is difficult to execute the game screen display process shown in FIG. 10 at a frequency of about 30 times per second. Therefore, various objects such as the flying boat ob1 are composed of slightly larger polygons so that the number of polygons does not increase too much. As described above, since the polygon is a planar polygon, when the polygon becomes large, there is an adverse effect that the surface of the object becomes rugged. Fortunately, however, objects are often moving on the game screen, and in addition, the monitor 150 does not have a high drawing power like a photograph, so the surface of the object is noticeable. Therefore, there is no adverse effect such as impairing the realism of the game.

しかし、モニタ150の画面を印刷装置で印刷すると、こうした状況は一変することがある。すなわち、印刷して得られる画像は静止画像であることに加えて、近年の印刷装置は写真に迫る高い描画力を有していることから、印刷画像を見ればオブジェクトの表面がゴツゴツしていることがハッキリと分かってしまうことがある。そして、このような印刷画像を見てしまった後では、たとえゲーム中のモニタ150に表示されたオブジェクトでさえも、表面がゴツゴツしている様に見えてしまい、ゲームの臨場感が大きく損なわれてしまう畏れも生じる。これに対して本実施例のゲーム機100では、モニタ150の画面を印刷装置で出力した場合でも、あたかも実物を写真で撮影したかのような、鮮明な画像を出力することが可能となっている。以下では、こうしたことを可能とする処理について詳しく説明する。   However, this situation may change when the screen of the monitor 150 is printed by the printing apparatus. In other words, in addition to still images being obtained by printing, recent printing apparatuses have high drawing power approaching that of photographs, so the surface of an object is rugged when looking at printed images. May be clearly understood. Then, after seeing such a printed image, even the object displayed on the monitor 150 during the game will appear to be rugged, and the realism of the game will be greatly impaired. The drowning that occurs is also caused. On the other hand, in the game machine 100 according to the present embodiment, even when the screen of the monitor 150 is output by the printing apparatus, it is possible to output a clear image as if the real thing was photographed. Yes. In the following, the processing that enables this will be described in detail.

C.第1実施例 :
C−1.画像印刷処理 :
図15は、第1実施例のゲーム機100によって行われる画像印刷処理の流れを示すフローチャートである。以下、フローチャートに従って、画像印刷処理について説明する。
C. First Example:
C-1. Image printing process:
FIG. 15 is a flowchart illustrating a flow of image printing processing performed by the game machine 100 according to the first embodiment. The image printing process will be described below according to the flowchart.

ゲーム機100のCPU101は、コントローラ102に設けられた所定の印刷ボタンが押されたことを検出すると、割り込みを発生させて、図15に示す画像印刷処理を開始する。尚、割り込みを発生させると、それまでCPU101が行っていた処理は一旦中断され、これに伴ってゲームの進行も、画像印刷処理を終了するまで中断されることになる。   When detecting that a predetermined print button provided on the controller 102 has been pressed, the CPU 101 of the game machine 100 generates an interrupt and starts the image printing process shown in FIG. Note that when an interrupt is generated, the processing performed by the CPU 101 is temporarily interrupted, and accordingly, the progress of the game is also interrupted until the image printing process is terminated.

画像印刷処理を開始すると、先ず初めにCPU101は、コントローラ102の印刷ボタンが押された時点でモニタ150に表示されていた画像の、元となったポリゴンデータ(表示用ポリゴンデータ)を取得する(ステップS100)。すなわち、前述したように、モニタ150に表示される画像は、オブジェクトを投影面Rに投影して得られた画像であり、オブジェクトを構成するポリゴンの頂点の座標値はポリゴンデータとして、メインメモリ110に記憶されている。そこで、ステップS100では、コントローラ102の印刷ボタンが押された時点でモニタ150に表示されている各オブジェクトについて、オブジェクトの表示に用いられた表示用ポリゴンデータを取得する。   When the image printing process is started, first, the CPU 101 acquires the original polygon data (display polygon data) of the image displayed on the monitor 150 when the print button of the controller 102 is pressed ( Step S100). That is, as described above, the image displayed on the monitor 150 is an image obtained by projecting the object onto the projection plane R, and the coordinate values of the vertices of the polygons constituting the object are polygon data, and the main memory 110 Is remembered. Therefore, in step S100, display polygon data used to display the object is acquired for each object displayed on the monitor 150 when the print button of the controller 102 is pressed.

次いで、画像の撮影条件を設定する処理を開始する(ステップS102)。すなわち、本実施例のゲーム機100では、モニタ150に表示された画面を単にカラープリンタ200で印刷するだけではなく、あたかもカメラを操作して写真を撮影するかのように、印刷画像を構成することも可能となっている。ステップS102では、そのためにゲーム機100に対して撮影条件を設定する処理を行う。撮影条件の設定は、ゲーム機100の操作者が、モニタ150に表示された画面を確認しながら行うことができる。   Next, a process for setting image capturing conditions is started (step S102). That is, in the game machine 100 according to the present embodiment, not only the screen displayed on the monitor 150 is printed by the color printer 200 but also a print image is configured as if the camera was operated to take a picture. It is also possible. In step S102, processing for setting shooting conditions for the game machine 100 is performed for that purpose. The shooting conditions can be set while the operator of the game machine 100 confirms the screen displayed on the monitor 150.

図16は、画像の撮影条件を設定するための画面が、モニタ150に表示されている様子を例示した説明図である。図示されているように、撮影条件を設定する画面のほぼ中央には、印刷ボタンを押したときにモニタ150に表示されていた画面を表示するモニタ領域151が設けられている。また、モニタ領域151の周辺には、焦点距離や、絞り、焦点を合わせる位置などを設定するボタンが設けられている。   FIG. 16 is an explanatory diagram illustrating a state in which a screen for setting image capturing conditions is displayed on the monitor 150. As shown in the figure, a monitor area 151 for displaying the screen displayed on the monitor 150 when the print button is pressed is provided in the approximate center of the screen for setting the shooting conditions. Further, around the monitor area 151, buttons for setting a focal length, a diaphragm, a position for focusing, and the like are provided.

焦点距離の設定は、モニタ領域151の右側に設けられたツマミ153を上下に動かすことで、望遠から広角までの焦点距離を選択することによって行う。また、絞りの設定は、モニタ領域151の右下に設けられたツマミ154を上下に動かすことで、開放側から絞り側までの絞り値を選択することで行う。また、焦点を合わせる位置の設定は、コントローラ102の十字カーソルを操作しながら、モニタ領域151に表示されているカーソル152を、焦点を合わせたい位置まで移動した後、設定画面上の「焦点位置設定」と表示されたボタンを押すことによって設定することができる。こうした設定した撮影条件による効果は、モニタ領域151に表示されている画像に反映されるので、効果を確認しながら撮影条件を設定することができる。そして、所望の撮影条件が決まったら、設定画面上の「OK」と表示されたボタンを押すことによって、設定した撮影条件を確定することができる。図15に示した画像印刷処理のステップS102では、以上のようにして、各種の撮影条件を設定する処理を行う。   The focal length is set by selecting the focal length from the telephoto to the wide angle by moving the knob 153 provided on the right side of the monitor area 151 up and down. The aperture is set by selecting a diaphragm value from the open side to the diaphragm side by moving a knob 154 provided at the lower right of the monitor area 151 up and down. Also, the focus position is set by moving the cursor 152 displayed in the monitor area 151 to the position where the focus is desired while operating the cross cursor of the controller 102, and then selecting “focus position setting” on the setting screen. It can be set by pressing the button labeled "". Since the effect due to the set shooting condition is reflected in the image displayed in the monitor area 151, the shooting condition can be set while checking the effect. When the desired shooting condition is determined, the set shooting condition can be confirmed by pressing a button labeled “OK” on the setting screen. In step S102 of the image printing process shown in FIG. 15, processing for setting various shooting conditions is performed as described above.

ゲーム機100のCPU101は、撮影条件を設定したら、続いて印刷条件を設定する処理を開始する(ステップS104)。この印刷条件設定処理も、上述したステップS102の撮影条件設定処理と同様に、ゲーム機100の操作者が、モニタ150に表示された画面を確認しながら行うことができる。   After setting the shooting conditions, the CPU 101 of the game machine 100 starts processing for setting printing conditions (step S104). This print condition setting process can also be performed by the operator of the game machine 100 while checking the screen displayed on the monitor 150, similarly to the shooting condition setting process in step S102 described above.

図17は、画像の印刷条件を設定するための画面が、モニタ150に表示されている様子を例示した説明図である。図示されているように、本実施例のゲーム機100では、印刷条件として、印刷に用いる用紙サイズ、用紙種類、および印刷に際しての印刷モードの3つの項目を設定することが可能となっている。ここで、印刷モードとは、印刷を行うに際して印刷速度を優先させるか、印刷画質を優先させるかを設定するモードである。すなわち、一般的に、印刷速度と印刷画質とは相反する関係にあり、迅速に印刷しようとすると画質が低下し、高画質に印刷しようとすると印刷時間が長くなる傾向にある。そこで、特に迅速に印刷したい場合、あるいは特に高画質に印刷したい場合には、それぞれ印刷モードを「速い」あるいは「きれい」に設定することで、望んだ通りの印刷が行えるようになっているのである。   FIG. 17 is an explanatory diagram illustrating a state in which a screen for setting image printing conditions is displayed on the monitor 150. As shown in the drawing, in the game machine 100 according to the present embodiment, it is possible to set three items of a paper size used for printing, a paper type, and a printing mode at the time of printing as printing conditions. Here, the print mode is a mode for setting whether to give priority to the print speed or the print image quality when performing printing. That is, in general, the printing speed and the print image quality are in a contradictory relationship, and the image quality tends to deteriorate when attempting to print quickly, and the print time tends to become longer when attempting to print with high image quality. Therefore, if you want to print particularly quickly, or especially when you want to print with high image quality, you can print as you want by setting the print mode to “Fast” or “Pretty” respectively. is there.

用紙サイズ及び用紙種類の設定は、コントローラ102の十字カーソルを操作することにより、画面上に表示されたカーソル152を用いて用紙サイズを選択することによって行う。また、印刷モードについては、画面に表示されたツマミ158を「きれい」から「速い」までの間で動かすことによって設定することができる。また、これらの条件に加えて、印刷枚数や、いわゆる縁なし印刷を行うか否か、といった項目を設定可能としても良い。以上のようにして、印刷条件を設定したら、設定画面上の「OK」と表示されたボタンを押すことによって、設定した印刷条件を確定する。   The paper size and paper type are set by operating the cross cursor of the controller 102 and selecting the paper size using the cursor 152 displayed on the screen. Also, the print mode can be set by moving the knob 158 displayed on the screen from “clean” to “fast”. In addition to these conditions, items such as the number of prints and whether or not to perform so-called borderless printing may be settable. When the printing conditions are set as described above, the set printing conditions are determined by pressing a button labeled “OK” on the setting screen.

以上のようにして、モニタ150に表示された画面の撮影条件および印刷条件を設定したら、印刷用ポリゴンデータが記憶されているか否かを判断する(ステップS106)。ここで、印刷用ポリゴンデータとは、前述したゲーム画面表示処理で用いたポリゴンよりも小さなポリゴンを用いて、オブジェクトの三次元形状を表したデータである。   As described above, when the shooting conditions and printing conditions for the screen displayed on the monitor 150 are set, it is determined whether printing polygon data is stored (step S106). Here, the printing polygon data is data representing the three-dimensional shape of the object using a polygon smaller than the polygon used in the game screen display process described above.

図18は、メインキャラクタである飛行艇ob1 の三次元的な形状が、小さなポリゴンを用いて表現されている様子を概念的に表した説明図である。図7と図18とを比較すれば、ゲーム画面表示処理で用いたポリゴンデータと比べて、印刷用ポリゴンデータは小さなポリゴンが用いられていることが分かる。また、オブジェクト表面の曲率が大きい(曲率半径が小さい)部分ほど、小さなポリゴンによって構成されていることが分かる。このように、小さなポリゴンを用いれば、オブジェクトの形状をより正確に表現することができ、表面の曲率が大きな部分でも、見る者にゴツゴツした印象を与えることがない。   FIG. 18 is an explanatory diagram conceptually showing how the three-dimensional shape of the flying boat ob1 as the main character is expressed using small polygons. Comparing FIG. 7 with FIG. 18, it can be seen that a smaller polygon is used for printing polygon data than for polygon data used in the game screen display process. In addition, it can be seen that the portion of the object surface having a larger curvature (smaller curvature radius) is composed of smaller polygons. In this way, if a small polygon is used, the shape of the object can be expressed more accurately, and a rugged impression is not given to the viewer even in a portion where the curvature of the surface is large.

また、印刷用ポリゴンデータにも、図7および図9に示した画面の表示に用いられる通常のポリゴンデータ(表示用ポリゴンデータ)と同様に、複数(本実施例では3つ)の基準点が設けられている。これら基準点は、印刷用ポリゴンデータの場合でも、表示用ポリゴンデータの場合でも、オブジェクトに対する位置関係では同じ位置に設けられている。例えば、図7に示したように、飛行艇ob1 の表示用ポリゴンデータでは、機体の先端と、左右の尾翼の後端とに、それぞれ基準点P1、P2、P3が設けられている。これと同様に、飛行艇ob1 の印刷用ポリゴンデータでも、機体先端と、左右の尾翼の後端とに、それぞれ基準点P1、P2、P3が設けられている。このように、印刷用ポリゴンデータが存在するオブジェクトについては、表示用ポリゴンデータおよび印刷用ポリゴンデータのそれぞれについて、オブジェクトに対して同じ位置に基準点が設けられている。逆に言えば、印刷用ポリゴンデータが存在しないオブジェクトについては、オブジェクトデータに必ずしも基準点が設定されている必要はない。   The print polygon data also includes a plurality of (three in this embodiment) reference points, as in the case of normal polygon data (display polygon data) used for display of the screen shown in FIGS. Is provided. These reference points are provided at the same position in the positional relationship with respect to the object regardless of whether the data is printing polygon data or display polygon data. For example, as shown in FIG. 7, in the display polygon data of the flying boat ob1, reference points P1, P2, and P3 are provided at the front end of the aircraft and the rear ends of the left and right tails, respectively. Similarly, in the polygon data for printing of the flying boat ob1, reference points P1, P2, and P3 are provided at the front end of the body and the rear ends of the left and right tails, respectively. As described above, for an object in which printing polygon data is present, a reference point is provided at the same position with respect to the object for each of display polygon data and printing polygon data. In other words, for an object for which no printing polygon data exists, it is not always necessary to set a reference point in the object data.

このような印刷用ポリゴンデータが存在するか否かは、印刷用ポリゴンデータの有無が予め設定されたテーブル(印刷用ポリゴンデータテーブル)を参照することによって判断することができる。図19は、印刷用ポリゴンデータの有無を判断するために参照されるテーブルを概念的に示した説明図である。図示されているように、印刷用ポリゴンデータテーブルには、印刷用ポリゴンデータが存在するオブジェクトのオブジェクト番号と、ポリゴン数とが設定されている。従って、印刷用ポリゴンデータテーブルを参照してオブジェクト番号が設定されていれば、そのオブジェクトについては印刷用ポリゴンデータが存在すると判断することができる。逆に、印刷用ポリゴンデータテーブルにオブジェクト番号が設定されていなければ、そのオブジェクトについては、印刷用ポリゴンデータは存在しないと判断することができる。   Whether or not such printing polygon data exists can be determined by referring to a table (printing polygon data table) in which the presence or absence of printing polygon data is preset. FIG. 19 is an explanatory diagram conceptually showing a table referred to for determining the presence or absence of printing polygon data. As shown in the drawing, the object number and the number of polygons of an object for which printing polygon data exists are set in the printing polygon data table. Therefore, if the object number is set with reference to the printing polygon data table, it can be determined that the printing polygon data exists for the object. Conversely, if no object number is set in the printing polygon data table, it can be determined that there is no printing polygon data for the object.

尚、図8を用いて前述したオブジェクトテーブルには、全てのオブジェクトについて、固有のオブジェクト番号と、ポリゴンデータの先頭アドレスとが設定されていた。これに対して印刷用ポリゴンデータテーブルでは、複数のオブジェクト番号に対して同じ先頭アドレスが設定される場合がある。例えば、図4に示したように、オブジェクトob4 〜ob9 の6つのオブジェクトは何れも飛行円盤を表しており、これら飛行円盤は同じ形状となっている。このような場合、印刷用ポリゴンデータテーブルには、図19に示すように、オブジェクト番号ob4 〜ob9 の6つのオブジェクトについては、同じ先頭アドレスおよびポリゴン数が設定される。このように、印刷用ポリゴンデータテーブルでは、異なるオブジェクト番号に対しても、同じ先頭アドレスおよびポリゴン数が設定されることがある理由については、後述する。   In the object table described above with reference to FIG. 8, the unique object number and the top address of the polygon data are set for all the objects. On the other hand, in the printing polygon data table, the same start address may be set for a plurality of object numbers. For example, as shown in FIG. 4, each of the six objects ob4 to ob9 represents a flying disk, and these flying disks have the same shape. In such a case, the same starting address and the same number of polygons are set in the printing polygon data table for the six objects having the object numbers ob4 to ob9 as shown in FIG. As described above, the reason why the same start address and number of polygons may be set for different object numbers in the printing polygon data table will be described later.

図15のステップS106において、印刷用ポリゴンデータが存在すると判断されたオブジェクトについては、図19に示した印刷用ポリゴンデータテーブルを参照して印刷用ポリゴンデータを読み込んでやる(ステップS108)。読み込んだ印刷用ポリゴンデータは、メインメモリ110の連続するアドレスに記憶する。次いで、ステップS100で先に取得しておいた表示用ポリゴンデータの基準点と、読み込んだ印刷用ポリゴンデータの基準点とを一致させた後、表示用ポリゴンデータを印刷用ポリゴンデータで差し替える処理を行う(ステップS110)。以下、この処理の内容について詳しく説明する。尚、読み込まれた印刷用ポリゴンデータは、メインメモリ110上のアドレス値Appd 以降の連続した領域に記憶されているものとする。   For the object for which the printing polygon data is determined to exist in step S106 in FIG. 15, the printing polygon data is read with reference to the printing polygon data table shown in FIG. 19 (step S108). The read printing polygon data is stored at successive addresses in the main memory 110. Next, after matching the reference point of the display polygon data previously acquired in step S100 with the reference point of the read printing polygon data, a process of replacing the display polygon data with the printing polygon data is performed. This is performed (step S110). Hereinafter, the contents of this process will be described in detail. It is assumed that the read printing polygon data is stored in a continuous area on the main memory 110 after the address value Appd.

先ず、読み出した印刷用ポリゴンデータに対して、オブジェクトを移動あるいは回転させる座標変換を行うことにより、印刷用ポリゴンデータの基準点の座標を、ステップS100で取得しておいた表示用ポリゴンデータの基準点の座標に一致させる。このような座標変換は、図19に示した印刷用ポリゴンデータテーブルの先頭アドレスで示されているデータに対して行うのではなく、この印刷用ポリゴンデータを読み出してメインメモリ110のアドレスAppd 以降に展開したデータに対して実行する。そして、印刷用ポリゴンデータの基準点の座標を、表示用ポリゴンデータの基準点の座標と一致させたら、メインメモリ110上で、この印刷用ポリゴンデータが記憶されているメモリ領域の先頭アドレスAppd および印刷用ポリゴンデータを構成するポリゴン数によって、図8を用いて前述したオブジェクトテーブルの先頭アドレスおよびポリゴン数を書き換えてやる。このようにオブジェクトテーブルに設定されている先頭アドレスおよびポリゴン数を書き換えておけば、続いて実行するレンダリング処理および描画処理においては、表示用ポリゴンデータではなく、印刷用ポリゴンデータが参照されることになる。図15のステップS110において、表示用ポリゴンデータを印刷用ポリゴンデータで差し替える処理とは、具体的には、このようにオブジェクトテーブルに設定されている先頭アドレスおよびポリゴン数を、位置合わせした印刷用ポリゴンデータの先頭アドレスおよびポリゴン数に書き換える処理のことである。   First, the coordinate of the reference point of the printing polygon data is obtained by performing coordinate conversion for moving or rotating the object on the read printing polygon data, so that the reference of the display polygon data acquired in step S100 is obtained. Match the coordinates of the point. Such coordinate conversion is not performed on the data indicated by the head address of the printing polygon data table shown in FIG. 19, but this printing polygon data is read out and thereafter after the address Appd of the main memory 110. Execute on the expanded data. When the coordinates of the reference point of the printing polygon data coincide with the coordinates of the reference point of the display polygon data, the start address Appd and the memory area in the main memory 110 where the printing polygon data is stored are stored. The start address and the number of polygons in the object table described above are rewritten using the number of polygons constituting the printing polygon data with reference to FIG. If the start address and the number of polygons set in the object table are rewritten in this way, in the subsequent rendering processing and drawing processing, not the display polygon data but the printing polygon data is referred to. Become. In step S110 of FIG. 15, the process of replacing the display polygon data with the print polygon data is specifically a print polygon in which the start address and the number of polygons set in the object table are aligned as described above. This is the process of rewriting the data to the top address and the number of polygons.

ここで、図19に示したように、印刷用ポリゴンデータテーブルでは、異なるオブジェクト番号に対しても、同じ先頭アドレスおよびポリゴン数が設定されることがある理由について説明する。上述したように、印刷用ポリゴンデータが存在するオブジェクトについては、印刷用ポリゴンデータを読み込んだ後、基準点の座標が表示用ポリゴンデータの基準点の座標に一致するように、印刷用ポリゴンデータを移動あるいは回転させる。ここで、異なるオブジェクトは必ず異なる三次元座標値を持っているから、たとえ同じアドレス値から印刷用ポリゴンデータを読み込んだ場合でも、移動あるいは回転後は、異なった印刷用ポリゴンデータとなっている。従って、オブジェクト毎にメインメモリ110の異なる領域でこうした操作を行っておけば、元の印刷用ポリゴンデータは同じデータを使用することが可能であり、このため、印刷用ポリゴンデータテーブルでは、同じ形状のオブジェクトについては、同じ先頭アドレスおよびポリゴン数が設定されているのである。   Here, as shown in FIG. 19, the reason why the same start address and number of polygons may be set for different object numbers in the printing polygon data table will be described. As described above, for an object for which printing polygon data exists, after printing polygon data is read, the printing polygon data is set so that the coordinates of the reference point coincide with the coordinates of the reference point of the display polygon data. Move or rotate. Here, since different objects always have different three-dimensional coordinate values, even if the printing polygon data is read from the same address value, it becomes different printing polygon data after movement or rotation. Therefore, if such an operation is performed in a different area of the main memory 110 for each object, the same data can be used as the original printing polygon data. Therefore, in the printing polygon data table, the same shape is used. For these objects, the same start address and number of polygons are set.

尚、全ての表示用ポリゴンデータに印刷用ポリゴンデータが記憶されているわけではないから、印刷用ポリゴンデータに差し替えられる表示用ポリゴンデータは、一部のポリゴンデータのみである。すなわち、差し替え後のポリゴンデータは、表示用ポリゴンデータと印刷用ポリゴンデータとが混在したデータとなっている。そこで以下では、このようなポリゴンデータを、精密ポリゴンデータと呼ぶことがあるものとする。   Note that not all the display polygon data is stored in the display polygon data, so the display polygon data replaced with the print polygon data is only a part of the polygon data. That is, the replaced polygon data is data in which display polygon data and printing polygon data are mixed. Therefore, hereinafter, such polygon data is sometimes referred to as precise polygon data.

以上のようにして、印刷用ポリゴンデータが存在するオブジェクトについては、表示用ポリゴンデータを印刷用ポリゴンデータに差し替えて精密ポリゴンデータを生成した後、今度は、レンダリング処理を開始する(ステップS112)。前述したようにレンダリング処理とは、各オブジェクトのポリゴンデータから二次元画像のデータを生成する処理である。かかる処理は、図11を用いて前述したように、視点Qと各オブジェクトとの間に設定した投影面Rへの、各オブジェクトの投影像を算出することによって行うことができる。レンダリング処理については、図11および図12を用いて既に説明しているため、ここでは詳細な説明は省略するが、撮影条件設定処理で設定された内容は、レンダリング処理における視点Qおよび投影面Rの設定に反映される。また、視点Qに対して遠方あるいは近くにあるオブジェクトに対しては、絞りの設定に応じて、投影像をぼやかすようなフィルタを施すなどの特殊な操作が行われることもある。   As described above, for an object for which printing polygon data exists, the rendering polygon data is generated after replacing the display polygon data with the printing polygon data to generate precision polygon data (step S112). As described above, rendering processing is processing for generating two-dimensional image data from polygon data of each object. As described above with reference to FIG. 11, this processing can be performed by calculating a projection image of each object on the projection plane R set between the viewpoint Q and each object. Since the rendering process has already been described with reference to FIGS. 11 and 12, detailed description thereof is omitted here, but the contents set in the shooting condition setting process are the viewpoint Q and the projection plane R in the rendering process. It is reflected in the setting. Further, for an object far away from or near the viewpoint Q, a special operation such as applying a filter that blurs the projected image may be performed according to the aperture setting.

図10を用いて前述したゲーム画面表示処理と同様に、レンダリング処理は、CPU101の制御の下でGTE112がオブジェクトテーブルを参照しながら実行し、得られた二次元画像のデータはメインメモリ110に記憶される。尚、ステップS106において、印刷用ポリゴンデータが存在すると判断されたオブジェクトについては、続くステップS110においてオブジェクトテーブル(図8参照)が書き換えられていることから、図15のステップS122で行われるレンダリング処理は、コントローラ102の印刷ボタンを押したときにモニタ150に表示されていた表示用ポリゴンデータではなく、一部が印刷用ポリゴンデータに置き換えられた精密ポリゴンデータに対してレンダリング処理が実行される。   Similar to the game screen display process described above with reference to FIG. 10, the rendering process is executed by the GTE 112 while referring to the object table under the control of the CPU 101, and the obtained two-dimensional image data is stored in the main memory 110. Is done. Note that the rendering process performed in step S122 in FIG. 15 is performed for the object for which it is determined in step S106 that printing polygon data is present because the object table (see FIG. 8) has been rewritten in subsequent step S110. Rendering processing is executed not for the display polygon data displayed on the monitor 150 when the print button of the controller 102 is pressed, but for the precision polygon data partially replaced with the printing polygon data.

こうしてレンダリング処理を終了すると、今度は、メインメモリ110上に記憶されているデータを読み出して、印刷データとしてカラープリンタ200に出力する処理を開始する(ステップS200)。かかる印刷データ出力処理については、後ほど詳しく説明するが、大まかには次のような処理を行う。   When the rendering process is finished in this way, this time, the data stored in the main memory 110 is read, and the process of outputting it as print data to the color printer 200 is started (step S200). The print data output process will be described in detail later, but roughly the following process is performed.

先ず、レンダリング処理によって得られるデータは、投影面上に投影された二次元的なポリゴンの各頂点の座標値と、そのポリゴンに付与すべきテクスチャ番号とを示すデータである。しかし、カラープリンタ200は、画素毎の階調データによって表現された形式でデータを受け取ることから、図10を用いて前述したゲーム画面表示処理と同様に、描画処理を行って、レンダリング処理によって得られたデータを、画素毎の階調データによって表現されたデータに展開しておく必要がある。こうして展開された画素毎の階調データは、画面の表示時と同様にフレームバッファ114に記憶される。   First, the data obtained by the rendering process is data indicating the coordinate values of the vertices of the two-dimensional polygon projected on the projection plane and the texture number to be assigned to the polygon. However, since the color printer 200 receives the data in the format expressed by the gradation data for each pixel, the color printer 200 performs the drawing process in the same manner as the game screen display process described above with reference to FIG. It is necessary to develop the obtained data into data expressed by gradation data for each pixel. The gradation data for each pixel developed in this way is stored in the frame buffer 114 in the same manner as when the screen is displayed.

ここで、上述したように、画像の印刷時には表示用ポリゴンデータが印刷用ポリゴンデータに差し替えられているために、ポリゴン数が増加している。このため、フレームバッファ114のメモリ容量の関係で、全てのポリゴンのデータを一度に展開することはできず、複数回に分割して展開する必要がある。そこで、印刷データ出力処理(図15のステップS200)では、精密ポリゴンデータをレンダリング処理することによって得られたデータを、先ず、メインメモリ110からポリゴン所定個数分だけ読み出して描画処理を行い、フレームバッファ114上に展開する。そして、得られたデータを印刷データとしてカラープリンタ200に出力した後、再び、レンダリング処理済みのデータをポリゴン所定個数分だけメインメモリ110から読み出して、フレームバッファ114に展開する。こうした操作を繰り返すことによって、フレームバッファ114のメモリの制約の範囲で少しずつ描画処理を行いながら、印刷データをカラープリンタ200に出力する処理を行うのである。印刷データ出力処理の詳細な内容については後述する。   Here, as described above, since the display polygon data is replaced with the printing polygon data when the image is printed, the number of polygons is increased. For this reason, due to the memory capacity of the frame buffer 114, all polygon data cannot be expanded at once, and must be divided and expanded multiple times. Therefore, in the print data output process (step S200 in FIG. 15), data obtained by rendering the precision polygon data is first read from the main memory 110 for a predetermined number of polygons, and is subjected to a drawing process. 114. Then, after the obtained data is output as print data to the color printer 200, a predetermined number of polygons are read from the main memory 110 and rendered in the frame buffer 114 again. By repeating such an operation, a process of outputting print data to the color printer 200 is performed while performing a drawing process little by little within the range of memory constraints of the frame buffer 114. Details of the print data output process will be described later.

全ての印刷データをカラープリンタ200に出力したら、印刷データ出力処理を終了して、図15の画像印刷処理に復帰する。続いて、画像印刷処理では、ゲーム復帰処理を行う(ステップS114)。ゲーム復帰処理は、画像印刷処理を終了して、ゲームを再開するための処理である。すなわち、上述した画像印刷処理は、前述したようにコントローラ102の印刷ボタンが押されると、ゲーム機100のCPU101が割り込みを発生させて、進行中のゲームを一旦、中断した状態で開始される。そこで、画像印刷処理の終了に先立って、CPU101は、プログラムカウンタや各種データを、ゲームの中断前の状態に復帰させて、ゲームを再開するための準備を行うのである。前述したように、精密ポリゴンデータが存在するオブジェクトについては、画像印刷処理の中でオブジェクトテーブルの設定値も書き換えられているので、これらについても、ゲーム復帰処理で元の設定値に戻されることになる。   When all the print data is output to the color printer 200, the print data output process is terminated and the process returns to the image print process of FIG. Subsequently, in the image printing process, a game return process is performed (step S114). The game return process is a process for ending the image printing process and restarting the game. In other words, as described above, when the print button of the controller 102 is pressed, the CPU 101 of the game machine 100 generates an interrupt and the game in progress is temporarily interrupted as described above. Therefore, prior to the end of the image printing process, the CPU 101 restores the program counter and various data to the state before the game is interrupted, and prepares to restart the game. As described above, the object table setting values are also rewritten in the image printing process for the objects for which precise polygon data exists, and these are also restored to the original setting values in the game return process. Become.

こうしてゲーム復帰処理を終了したら(ステップS114)、図15に示した画像印刷処理を終了する。プログラムカウンタを始めとする各種の変数およびデータは、ゲーム中断前の状態に戻っているので、中断したところからゲームを再開することが可能となる。   When the game return process is thus completed (step S114), the image printing process shown in FIG. 15 is terminated. Since various variables and data including the program counter have returned to the state before the game is interrupted, the game can be resumed from the point at which it was interrupted.

C−2.印刷データ出力処理 :
図20は、印刷データ出力処理の流れを示すフローチャートである。かかる処理は、図15を用いて前述した画像印刷処理の中で、CPU101によって実行される処理である。以下、フローチャートに従って説明する。
C-2. Print data output processing:
FIG. 20 is a flowchart showing the flow of print data output processing. Such processing is executed by the CPU 101 in the image printing processing described above with reference to FIG. Hereinafter, it demonstrates according to a flowchart.

印刷データ出力処理を開始すると、先ず初めに、メインメモリ110から精密ポリゴンデータを所定ポリゴン数分だけ読み込む処理を行う(ステップS202)。すなわち、フレームバッファ114のメモリ容量の制約から、精密ポリゴンデータに含まれる全てのポリゴンに対して描画命令を行うことはできないので、メモリ容量の許容範囲内で描画命令を実行するべく、次のようにして、所定数ずつポリゴンのデータを読み出してやるのである。   When the print data output process is started, first, a process for reading the precise polygon data from the main memory 110 by a predetermined number of polygons is performed (step S202). That is, because of the limitation of the memory capacity of the frame buffer 114, a drawing command cannot be executed for all the polygons included in the precision polygon data. Therefore, in order to execute the drawing command within the allowable range of the memory capacity, Thus, polygon data is read out by a predetermined number.

図21は、精密ポリゴンデータから所定数のポリゴンのデータを読み出す様子を示す説明図である。図15を用いて前述したように、印刷データ出力処理に先立って行われるレンダリング処理では、三次元的なオブジェクトを構成するポリゴンのデータから、二次元的な投影像を構成するポリゴンのデータが生成されて、メインメモリ110上に記憶されている。図21に破線で示されている三角形は、レンダリング処理によって生成された投影像を構成するポリゴンを概念的に表したものである。尚、実際の画像はもっと小さなポリゴンによって表現されているが、ここでは図示が煩雑となることを避けるために、大きなポリゴンを用いて表現されている。   FIG. 21 is an explanatory diagram showing a state where data of a predetermined number of polygons are read from the precision polygon data. As described above with reference to FIG. 15, in the rendering process performed prior to the print data output process, polygon data constituting a two-dimensional projection image is generated from polygon data constituting a three-dimensional object. And stored in the main memory 110. A triangle indicated by a broken line in FIG. 21 conceptually represents a polygon constituting a projection image generated by the rendering process. The actual image is represented by smaller polygons, but is represented here using large polygons in order to avoid complicated illustrations.

また、図21中では、比較的小さなポリゴンばかりで構成された領域と、比較的大きなポリゴンばかりで構成された領域とが存在している。これは、前述した画像印刷処理において一部が印刷用ポリゴンデータに差し換えられており、得られた精密ポリゴンデータに対してレンダリング処理が行われていることに対応したものである。すなわち、図中で、小さなポリゴンばかりで構成されている領域は、印刷用ポリゴンデータに差し換えられたオブジェクトに対してレンダリング処理が施されて生成されたことを概念的に表したものである。また、大きなポリゴンばかりで構成された領域は、表示用ポリゴンデータで表現されたオブジェクトに対してレンダリング処理が施されて生成されたことを概念的に表したものである。   Further, in FIG. 21, there are an area composed only of relatively small polygons and an area composed only of relatively large polygons. This corresponds to the fact that part of the image printing process described above is replaced with printing polygon data, and rendering processing is performed on the obtained precision polygon data. In other words, in the drawing, the area composed of only small polygons conceptually represents that the object replaced with the printing polygon data is generated by performing the rendering process. In addition, the area composed only of large polygons conceptually represents that the object represented by the display polygon data is generated by rendering processing.

図20に示した印刷データ出力処理においてポリゴンデータを読み出す処理(ステップS202)では、ポリゴンの読み取りラインを設定し、この読み取りラインの設定位置を移動させながら、所定ポリゴン数ずつポリゴンデータを読み取る処理を行う。図21では、ポリゴンの読み取りラインは太い一点鎖線で示されている。また、ポリゴンの読み取りラインは、初めは画像の上端部分に設定され、ポリゴンデータの読み取りが進むに従って、順次、読み取りラインが下方に移動していく。これは、実際に画像を印刷するカラープリンタ200では、画像の印刷は上端から下端に向かって行われることに対応したものである。   In the process of reading polygon data in the print data output process shown in FIG. 20 (step S202), the polygon reading line is set, and the polygon data is read by a predetermined number of polygons while moving the setting position of the reading line. Do. In FIG. 21, polygon reading lines are indicated by thick one-dot chain lines. The polygon reading line is initially set at the upper end portion of the image, and the reading line sequentially moves downward as polygon data reading proceeds. This corresponds to the fact that in the color printer 200 that actually prints an image, the image is printed from the upper end toward the lower end.

図21(a)は、印刷データ出力処理を開始した直後で、先ず初めに、ポリゴンの読み取りラインが画像の上端に設定された状態を概念的に表したものである。精密ポリゴンデータを読み込む処理では、設定した読み取りラインが通過するポリゴンを検出して、これらポリゴンのデータを読み出していく。図21(a)に示した例では、こうして読み出されたポリゴンは、ハッチングを付して表示されている。また、説明の便宜上、各ポリゴンには、ポリゴンを読み出した順序を示す番号を付して表示している。ポリゴンに付した番号を見れば明らかなように、図21(a)に設定した読み取りラインの位置では、14個分のポリゴンのデータを読み出したことになる。   FIG. 21A conceptually shows a state where the polygon reading line is set at the upper end of the image immediately after the print data output process is started. In the process of reading the precision polygon data, polygons that pass through the set reading line are detected and the data of these polygons are read. In the example shown in FIG. 21A, the polygons thus read out are displayed with hatching. For convenience of explanation, each polygon is displayed with a number indicating the order in which the polygons are read. As is clear from the number assigned to the polygon, 14 polygon data are read at the position of the reading line set in FIG.

ここで、読み出し可能なポリゴン数には上限が存在している。これは、読み出したポリゴンデータに対して描画命令が実行されると、画素毎の階調データに変換された画像データがフレームバッファ114上に展開されるので、ポリゴン数があまりに多くなると、フレームバッファ114のメモリ容量の制約から画像データを展開できなくなってしまうためである。実際には、読み出し可能なポリゴン数は、図10に示したゲーム画面表示処理中で、モニタ150に表示される一画面を構成するためには、十分なポリゴン数に設定されているが、ここでは説明の便宜から、一度に読み出し可能なポリゴン数が「20」であるものとする。   Here, there is an upper limit on the number of polygons that can be read. This is because, when a drawing command is executed on the read polygon data, the image data converted into gradation data for each pixel is developed on the frame buffer 114, so that if the number of polygons becomes too large, the frame buffer This is because the image data cannot be expanded due to the memory capacity limitation of 114. Actually, the number of polygons that can be read out is set to a sufficient number of polygons to constitute one screen displayed on the monitor 150 during the game screen display process shown in FIG. For convenience of explanation, it is assumed that the number of polygons that can be read at one time is “20”.

ポリゴンの読み取りラインが、図21(a)に示した位置に設定されている場合は、読み出されるポリゴン数は14個であるから、あとポリゴン6個分のデータを読み出すことが可能である。そこで、読み取りラインの位置を少しずつ下方に移動させて、新たなポリゴンのデータを読み出しながら、20個分のポリゴンのデータを読み出してやる。図21(b)は、このようにして、20個分のポリゴンのデータを読み出した様子が概念的に示されている。すなわち、ポリゴンの読み取りラインの位置を図21(a)に示した位置から少しずつ下げていくと、先ず初めに、図21(b)中で「15番」、「16番」、「17番」と符番したポリゴンのデータが読み出される。更に、読み取りラインを下げていくと、今度は「18番」、「19番」と符番したポリゴンのデータが読み出される。そして、図21(b)に示した位置まで読み取りラインを下げると、「20番」目のポリゴンのデータが読み出されることになる。また、この時の読み取りライン上には、「21番」と符番したポリゴンや、「22番」と符番したポリゴンも存在する。しかし、読み出したポリゴン数が既に「20」に達しているので、これら2つのポリゴンについてはデータの読み出しは行わない。図20に示した印刷データ出力処理のステップS202では、このようにして、所定ポリゴン数(図21に示した例では、20個)ずつ、精密ポリゴンデータを読み出す処理を行うのである。   When the polygon reading line is set at the position shown in FIG. 21A, the number of polygons to be read is 14, so that it is possible to read data for six more polygons. Therefore, the position of the reading line is moved downward little by little and the polygon data for 20 is read while reading new polygon data. FIG. 21B conceptually shows how the data of 20 polygons are read in this way. That is, when the position of the polygon reading line is gradually lowered from the position shown in FIG. 21A, first, “15”, “16”, “17” in FIG. 21B. The data of the polygon numbered “is read out. When the reading line is further lowered, the polygon data numbered “18” and “19” are read out. Then, when the reading line is lowered to the position shown in FIG. 21B, the data of the “20th” polygon is read out. In addition, the polygon numbered “21” and the polygon numbered “22” exist on the reading line at this time. However, since the number of read polygons has already reached “20”, data reading is not performed for these two polygons. In step S202 of the print data output process shown in FIG. 20, the process of reading out the precision polygon data is performed for each predetermined number of polygons (20 in the example shown in FIG. 21).

こうして読み出したポリゴンデータに対して描画処理を行うことにより、画素毎の階調データに展開した画像データをフレームバッファ114上に記憶する(ステップS204)。描画処理の内容については、図13および図14を用いて既に詳細に説明しているため、ここでは説明を省略する。   By performing drawing processing on the polygon data read out in this way, the image data developed into gradation data for each pixel is stored in the frame buffer 114 (step S204). Since the details of the drawing process have already been described in detail with reference to FIGS. 13 and 14, the description thereof is omitted here.

次いで、フレームバッファ114上に展開した画像データを、ラスタ単位でカラープリンタ200に出力する処理を行う(図20のステップS206)。図22は、フレームバッファ114上の画像データをラスタ単位で出力する様子を示す説明図である。先ず、所定ポリゴン数だけ読み出されたポリゴンデータに対して描画処理が実行されると、各ポリゴンに含まれる画素にポリゴンのテクスチャ番号に応じた階調データが付与されて、フレームバッファ114上に展開される。図22(a)は、こうしてフレームバッファ114上に画像データが展開されている様子を概念的に示したものである。ここでは、図21(b)中でハッチングを付して示したポリゴンが読み出されているものとしているから、このポリゴンが存在する領域内の各画素について、画像データが展開されることになる。   Next, a process of outputting the image data developed on the frame buffer 114 to the color printer 200 in a raster unit is performed (step S206 in FIG. 20). FIG. 22 is an explanatory diagram showing how the image data on the frame buffer 114 is output in raster units. First, when a drawing process is executed on polygon data that has been read by a predetermined number of polygons, gradation data corresponding to the texture number of the polygon is assigned to the pixels included in each polygon, and is stored in the frame buffer 114. Be expanded. FIG. 22A conceptually shows how image data is developed on the frame buffer 114 in this way. Here, since it is assumed that the polygons indicated by hatching in FIG. 21B have been read out, image data is developed for each pixel in the region where the polygons exist. .

次いで、展開された画像データを、画像の上端の画素から一列分ずつ読み出して、カラープリンタ200に出力する。すなわち、図22(a)にハッチングを付して示した領域から、画像の上端の画素一列分の画像データを読み出してカラープリンタ200に出力し、次は、上端から2列目にある画素の画像データを読み出してカラープリンタ200に出力する。次いで、上端から3列目にある画素の画像データを読み出して出力する。このような一列分の画素はラスタと呼ばれる。従って、フレームバッファ114上に展開された画像データが、ラスタ単位でカラープリンタ200に出力されることになる。   Next, the developed image data is read out row by row from the uppermost pixel of the image and output to the color printer 200. That is, image data for one column of pixels at the upper end of the image is read out from the hatched area in FIG. 22A and output to the color printer 200. Next, the pixels in the second column from the upper end are output. Image data is read out and output to the color printer 200. Next, the image data of the pixels in the third column from the upper end are read and output. Such a row of pixels is called a raster. Accordingly, the image data developed on the frame buffer 114 is output to the color printer 200 in raster units.

図22(b)は、フレームバッファ114上に展開された画像データを、ラスタ単位で出力する様子を概念的に示した説明図である。図中で細かいハッチングを付した部分は、ラスタ単位で画像データを出力可能な領域である。ところが、この領域の一列下のラスタ(図中では太い破線によって表示)については、画像データが展開されていない画素が含まれており、ラスタ単位で画像データを出力することはできない。そこで、図20のステップS206では、このような画像データの欠落したラスタが発生するまで、フレームバッファ114上に展開された画像データをラスタ単位で読み出して、印刷データとしてカラープリンタ200に出力する処理を行う。   FIG. 22B is an explanatory diagram conceptually showing how the image data developed on the frame buffer 114 is output in units of rasters. In the figure, the hatched portion is an area where image data can be output in raster units. However, the raster below one column in this area (indicated by a thick broken line in the drawing) includes pixels in which image data is not expanded, and image data cannot be output in units of rasters. Therefore, in step S206 in FIG. 20, until the raster lacking such image data is generated, the image data expanded on the frame buffer 114 is read in units of rasters and is output to the color printer 200 as print data. I do.

以上のようにして、ラスタ単位の画像データを印刷データとして出力したら、レンダリング処理が施された精密ポリゴンデータの全ポリゴンについて、処理が終了したか否かを判断する(ステップS208)。そして、未だ処理していないポリゴンが残っている場合は(ステップS208:no)、ステップS202に戻って、メインメモリ110上に記憶されている精密ポリゴンデータから、新たに所定ポリゴン数のデータを読み出してやる。   When raster unit image data is output as print data as described above, it is determined whether or not the processing has been completed for all polygons of the precision polygon data subjected to the rendering process (step S208). If polygons that have not yet been processed remain (step S208: no), the process returns to step S202 to newly read a predetermined number of polygons from the precision polygon data stored in the main memory 110. Do it.

図23は、こうしてメインメモリ110上に記憶されている精密ポリゴンデータから、新たなポリゴンのデータを読み出した様子を示した説明図である。前述したように、ポリゴンのデータを読み出すに際しては、先ず初めにポリゴンの読み取りラインを設定する。ここでは、前回の処理でポリゴンデータを読み出しているから、その時に設定した読み取りラインの位置から開始する。図23中に一点鎖線で示した読み取りラインは、前回の処理で最後に読み取りラインが設定された位置(すなわち、図21(b)に示した位置)を示している。   FIG. 23 is an explanatory diagram showing a state in which new polygon data is read out from the precision polygon data stored in the main memory 110 in this way. As described above, when reading polygon data, first, a polygon reading line is set. Here, since polygon data is read in the previous process, the process starts from the position of the reading line set at that time. A reading line indicated by a one-dot chain line in FIG. 23 indicates a position where the reading line is finally set in the previous process (that is, a position shown in FIG. 21B).

そして、このような読み取りラインが通過するポリゴンを検出して、検出したポリゴンについてのポリゴンデータを読み出してやる。読み出したポリゴン数が所定数(ここでは、20個)に満たない場合は、読み取りラインの位置を下方に向かって移動させながら、所定個数分のポリゴンのデータを読み出してやる。このようにして、図23にハッチングで示したポリゴンについてのデータが、メインメモリ110上から読み出されることになる。次いで、このポリゴンデータに対して描画処理を行い(図20のステップS204)、フレームバッファ114上に展開された画像データをラスタ単位で読み出して印刷データとしてカラープリンタ200に出力した後(ステップS206)、全ポリゴンについての処理を終了したか否かを判断する(ステップS208)。そして、未処理のポリゴンが残っている場合は(ステップS208:no)、再び、ステップS202に戻って新たなポリゴンデータを読み出してやる。その結果、今度は、図24にハッチングで示したポリゴンについてのポリゴンデータが読み出されることになる。   Then, a polygon that passes through such a reading line is detected, and polygon data for the detected polygon is read. When the number of read polygons is less than the predetermined number (here, 20), the polygon data for the predetermined number is read while moving the position of the reading line downward. In this way, data about polygons indicated by hatching in FIG. 23 is read from the main memory 110. Next, a rendering process is performed on the polygon data (step S204 in FIG. 20), and the image data developed on the frame buffer 114 is read in raster units and output as print data to the color printer 200 (step S206). Then, it is determined whether or not the processing for all the polygons has been completed (step S208). If unprocessed polygons remain (step S208: no), the process returns to step S202 again to read new polygon data. As a result, this time, polygon data for the polygon indicated by hatching in FIG. 24 is read out.

図20印刷データ出力処理では、全ポリゴンについての処理を終了するまで、こうした処理を繰り返す。そして、最終的に、全ポリゴンについての処理を終了したと判断されたら(ステップS208:yes)、印刷データ出力処理を終了して、図15に示した画像印刷処理に復帰する。   In the print data output process of FIG. 20, such a process is repeated until the process for all the polygons is completed. When it is finally determined that the processing for all the polygons has been completed (step S208: yes), the print data output process is terminated, and the process returns to the image printing process shown in FIG.

図15を用いて前述したように、画像印刷処理では、印刷データ出力処理から復帰すると、ゲームを再開するためにゲーム復帰処理(図15のステップS114)を行った後、中断したゲームを再開させる。その結果、中断したところからゲームが再開されることになる。   As described above with reference to FIG. 15, in the image printing process, when returning from the print data output process, the game return process (step S114 in FIG. 15) is performed to restart the game, and then the interrupted game is restarted. . As a result, the game is resumed from where it was interrupted.

C−3.印刷処理 :
一方、カラープリンタ200は、このようにしてゲーム機100から供給された印刷データに従って、印刷用紙上に画像を印刷する。以下では、カラープリンタ200が、印刷データを受け取って画像を印刷する処理について簡単に説明する。尚、以下では、印刷処理は、カラープリンタ200に搭載されたCPUによって実行されるものとして説明するが、カラープリンタ200では、後述するインターレース処理や、ドットを形成する処理のみを行い、他の処理についてはゲーム機100の側で行うこととしても良い。
C-3. Printing process:
On the other hand, the color printer 200 prints an image on a print sheet according to the print data supplied from the game machine 100 in this way. Hereinafter, a process in which the color printer 200 receives print data and prints an image will be briefly described. In the following description, it is assumed that the printing process is executed by a CPU mounted on the color printer 200. However, the color printer 200 performs only an interlacing process and a dot forming process, which will be described later, and performs other processes. This may be performed on the game machine 100 side.

図25に示した印刷処理を開始すると、カラープリンタ200に搭載されたCPUは、先ず初めに、ゲーム機100から出力されてきた印刷データを読み込む処理を行う(ステップS300)。次いで、解像度変換処理を開始する(ステップS302)。解像度変換処理とは、フレームバッファ114上に展開されて、印刷データとして供給された画像データの解像度を、カラープリンタ200が実際に画像を印刷しようとする解像度(印刷解像度)に変換する処理である。そして、画像データの解像度よりも印刷解像度の方が高い場合は、補間演算を行って画素間に新たな画像データを生成することにより解像度を増加させる。逆に、画像データの解像度の方が印刷解像度よりも高い場合は、読み込んだ画像データを一定の比率で間引くことによって解像度を低下させる。解像度変換処理では、ゲーム機100から供給された印刷データに対して、このような操作を行うことにより、画像データの解像度を印刷解像度に変換する。   When the printing process shown in FIG. 25 is started, the CPU mounted on the color printer 200 first performs a process of reading the print data output from the game machine 100 (step S300). Next, resolution conversion processing is started (step S302). The resolution conversion process is a process of converting the resolution of the image data developed on the frame buffer 114 and supplied as print data to a resolution (print resolution) at which the color printer 200 actually prints an image. . If the print resolution is higher than the resolution of the image data, the resolution is increased by performing an interpolation operation to generate new image data between the pixels. Conversely, when the resolution of the image data is higher than the print resolution, the resolution is lowered by thinning out the read image data at a certain ratio. In the resolution conversion process, by performing such an operation on the print data supplied from the game machine 100, the resolution of the image data is converted to the print resolution.

こうして画像データの解像度を印刷解像度に変換したら、今度は、色変換処理を行う(ステップS304)。色変換処理とは、R,G,Bの階調値の組合せによって表現されているRGBカラー画像データを、印刷のために使用される各色の階調値の組合せによって表現された画像データに変換する処理である。前述したように、本実施例のゲーム機100では、画素毎にR,G,B各色の階調値が設定された画像データを生成しているのに対して、カラープリンタ200は、図2に示した様に、C,M,Y,Kの4色のインクを用いて画像を印刷する。そこで、RGB各色によって表現された画像データを、C,M,Y,Kの各色の階調値によって表現されたデータに変換する処理(色変換処理)を行うのである。   When the resolution of the image data is converted into the print resolution in this way, color conversion processing is performed next time (step S304). With color conversion processing, RGB color image data expressed by a combination of R, G, and B gradation values is converted into image data expressed by a combination of gradation values of each color used for printing. It is processing to do. As described above, the game machine 100 according to the present embodiment generates image data in which gradation values of R, G, and B colors are set for each pixel. As shown in FIG. 4, an image is printed using four colors of inks of C, M, Y, and K. Therefore, a process (color conversion process) is performed for converting image data expressed by RGB colors into data expressed by gradation values of C, M, Y, and K colors.

色変換処理は、色変換テーブル(LUT)を参照することで、迅速に行うことができる。図26は、色変換処理のために参照されるLUTを概念的に示した説明図である。LUTとは、次のように考えれば、三次元の数表の一種と考えることができる。先ず、図26示されているように、直交する3つの軸にR軸、G軸、B軸を取って色空間を考える。すると、全てのRGB画像データは、必ず色空間内の座標点に対応付けて表示することができる。このことから、R軸、G軸、B軸のそれぞれを細分して色空間内に多数の格子点を設定してやれば、それぞれの格子点はRGBの画像データを表していると考えることができ、RGBの画像データに対応するC,M,Y,K各色の階調値を、各格子点に対応付けてやることができる。LUTは、こうして色空間内に設けた格子点に、C,M,Y,K各色の階調値を対応付けて記憶した3次元の数表の様なものである。LUTに記憶されているRGBの画像データとC,M,Y,K各色の階調データとの対応関係に基づいて色変換処理を行えば、RGB各色の階調値によって表現された画像データを、C,M,Y,K各色の階調データに迅速に変換することが可能となる。   The color conversion process can be performed quickly by referring to the color conversion table (LUT). FIG. 26 is an explanatory diagram conceptually showing an LUT referred to for color conversion processing. The LUT can be considered as a kind of three-dimensional number table when considered as follows. First, as shown in FIG. 26, a color space is considered by taking an R axis, a G axis, and a B axis as three orthogonal axes. Then, all the RGB image data can always be displayed in association with coordinate points in the color space. From this, if each of the R axis, the G axis, and the B axis is subdivided and a large number of grid points are set in the color space, each grid point can be considered to represent RGB image data. The gradation values of C, M, Y, and K colors corresponding to RGB image data can be associated with each grid point. The LUT is like a three-dimensional number table in which the gradation values of C, M, Y, and K colors are stored in association with the grid points thus provided in the color space. If color conversion processing is performed based on the correspondence between the RGB image data stored in the LUT and the gradation data of each color of C, M, Y, and K, the image data represented by the gradation values of each RGB color is converted. , C, M, Y, and K can be quickly converted to gradation data.

以上のようにして色変換処理を行ったら、カラープリンタ200に搭載されたCPUは、ハーフトーン処理を開始する(ステップS306)。ハーフトーン処理とは、次のような処理である。色変換処理によって得られた画像データは、データ長を1バイトとすると、画素毎に、階調値0から階調値255までの値を取り得る階調データである。これに対してカラープリンタ200はドットを形成することによって画像を表示しているから、それぞれの画素については「ドットを形成する」か「ドットを形成しない」かのいずれかの状態しか取り得ない。このためカラープリンタ200では、画素毎の階調値を変化させる代わりに、所定領域内で形成されるドットの密度を変化させることによって中間階調を表現している。ハーフトーン処理とは、画像データの階調値に応じて適切な密度でドットが発生するように、画素毎にドット形成の有無を判断する処理である。   After performing the color conversion process as described above, the CPU mounted on the color printer 200 starts the halftone process (step S306). Halftone processing is the following processing. The image data obtained by the color conversion process is gradation data that can take a value from gradation value 0 to gradation value 255 for each pixel when the data length is 1 byte. On the other hand, since the color printer 200 displays an image by forming dots, each pixel can take only a state of “forming dots” or “not forming dots”. For this reason, in the color printer 200, instead of changing the gradation value for each pixel, the intermediate gradation is expressed by changing the density of dots formed in a predetermined area. Halftone processing is processing for determining the presence or absence of dot formation for each pixel so that dots are generated at an appropriate density according to the gradation value of the image data.

階調値に応じた適切な密度でドットを発生させる手法としては、誤差拡散法やディザ法などの種々の手法を適用することができる。誤差拡散法は、ある画素についてドットの形成有無を判断したことでその画素に発生する階調表現の誤差を、周辺の画素に拡散するとともに、周囲から拡散されてきた誤差を解消するように、各画素についてのドット形成の有無を判断していく手法である。発生した誤差を周辺の各画素に拡散させる割合は、誤差拡散マトリックスに予め設定されている。また、ディザ法は、ディザマトリックスに設定されている閾値と画像データの階調値とを画素毎に比較して、画像データの方が大きい画素にはドットを形成すると判断し、逆に閾値の方が大きい画素についてはドットを形成しないと判断することで、各画素についてドット形成の有無を判断していく手法である。本実施例の印刷処理では、いずれの手法を用いることもできるが、ここではディザ法と呼ばれる手法を用いてハーフトーン処理を行うものとする。   Various methods such as an error diffusion method and a dither method can be applied as a method for generating dots with an appropriate density according to the gradation value. The error diffusion method is to determine whether or not dots are formed for a certain pixel so as to diffuse an error in gradation expression generated in that pixel to surrounding pixels and to eliminate the error diffused from the surroundings. This is a method of determining the presence or absence of dot formation for each pixel. The ratio of diffusing the generated error to surrounding pixels is set in advance in the error diffusion matrix. In the dither method, the threshold value set in the dither matrix and the gradation value of the image data are compared for each pixel, and it is determined that a dot is formed in a pixel having a larger image data. This is a method of determining whether or not dots are formed for each pixel by determining that a dot is not formed for a larger pixel. In the printing process of this embodiment, any method can be used, but here, halftone processing is performed using a method called a dither method.

図27は、ディザ法で参照される一般的なディザマトリックスの一部を拡大して例示した説明図である。図示したマトリックスには、縦横それぞれ64画素、合計4096個の画素に、階調値0〜255の範囲から万遍なく選択された閾値が設定されている。ここで、閾値の階調値が0〜255の範囲から選択されているのは、本実施例では画像データが1バイトデータであり、画素に設定される階調値が0〜255の値を取り得ることに対応するものである。尚、ディザマトリックスの大きさは、図27に例示したように縦横64画素分に限られるものではなく、縦と横の画素数が異なるものも含めて種々の大きさとすることができる。   FIG. 27 is an explanatory diagram illustrating an enlarged part of a general dither matrix referred to in the dither method. In the illustrated matrix, threshold values that are uniformly selected from the range of gradation values 0 to 255 are set for a total of 4096 pixels, 64 pixels each in the vertical and horizontal directions. Here, the threshold gradation value is selected from the range of 0 to 255. In this embodiment, the image data is 1-byte data, and the gradation value set for the pixel is a value of 0 to 255. It corresponds to what can be taken. Note that the size of the dither matrix is not limited to 64 pixels in the vertical and horizontal directions as illustrated in FIG. 27, and can be various sizes including those having different numbers of vertical and horizontal pixels.

図28は、ディザマトリックスを参照しながら、画素毎にドット形成の有無を判断している様子を概念的に示した説明図である。ドット形成有無の判断に際しては、先ず、判断の対象として着目している画素(着目画素)についての画像データの階調値と、ディザマトリックス中の対応する位置に記憶されている閾値とを比較する。図中に示した細い破線の矢印は、着目画素の階調値を、ディザマトリックス中の対応する位置に記憶されている閾値と比較していることを模式的に表したものである。そして、ディザマトリックスの閾値よりも着目画素の階調値の方が大きい場合には、その画素にはドットを形成するものと判断する。逆に、ディザマトリックスの閾値の方が大きい場合には、その画素にはドットを形成しないものと判断する。   FIG. 28 is an explanatory diagram conceptually showing a state in which the presence / absence of dot formation is determined for each pixel while referring to the dither matrix. When determining the presence or absence of dot formation, first, the gradation value of the image data for the pixel of interest (the pixel of interest) as the object of determination is compared with the threshold value stored at the corresponding position in the dither matrix. . The thin broken arrow shown in the figure schematically represents that the gradation value of the pixel of interest is compared with the threshold value stored at the corresponding position in the dither matrix. When the gradation value of the pixel of interest is larger than the threshold value of the dither matrix, it is determined that a dot is formed on that pixel. On the other hand, when the threshold value of the dither matrix is larger, it is determined that no dot is formed in the pixel.

図28に示した例では、画像データの左上隅にある画素の画像データは階調値180であり、ディザマトリックス上でこの画素に対応する位置に記憶されている閾値は1である。従って、左上隅の画素については、画像データの階調値180の方がディザマトリックスの閾値1よりも大きいから、この画素にはドットを形成すると判断する。図28中に実線で示した矢印は、この画素にはドットを形成すると判断して、判断結果をメモリに書き込んでいる様子を模式的に表したものである。一方、この画素の右隣の画素については、画像データの階調値は130、ディザマトリックスの閾値は177であり、閾値の方が大きいので、この画素についてはドットを形成しないものと判断する。ディザ法では、このようにディザマトリックスを参照しながらドットを発生させる。図25に示した印刷処理のステップS306では、色変換処理によって変換されたC,M,Y,K各色の階調値毎に、以上のようにしてドット形成の有無を判断する処理を行う。   In the example shown in FIG. 28, the image data of the pixel in the upper left corner of the image data has a gradation value of 180, and the threshold value stored at the position corresponding to this pixel on the dither matrix is 1. Therefore, for the pixel in the upper left corner, the gradation value 180 of the image data is larger than the threshold value 1 of the dither matrix, and therefore it is determined that a dot is formed on this pixel. An arrow indicated by a solid line in FIG. 28 schematically shows a state in which it is determined that a dot is to be formed in this pixel and the determination result is written in the memory. On the other hand, for the pixel on the right side of this pixel, the gradation value of the image data is 130, and the threshold value of the dither matrix is 177. Since the threshold value is larger, it is determined that no dot is formed for this pixel. In the dither method, dots are generated while referring to the dither matrix. In step S306 of the printing process shown in FIG. 25, processing for determining the presence or absence of dot formation is performed as described above for each gradation value of each color of C, M, Y, and K converted by the color conversion process.

以上のようにしてハーフトーン処理を終了すると、カラープリンタ200のCPUは、インターレース処理を開始する(ステップS308)。インターレース処理とは、ドットの形成有無による表現形式に変換された画像データを、カラープリンタ200が実際に印刷用紙上にドットを形成する順番を考慮して並べ替える処理である。   When the halftone process ends as described above, the CPU of the color printer 200 starts the interlace process (step S308). The interlacing process is a process of rearranging the image data converted into the expression format depending on whether or not dots are formed in consideration of the order in which the color printer 200 actually forms dots on the printing paper.

こうしてインターレース処理を行ったら、得られたデータに従って、印刷用紙上にドットを形成することにより画像を印刷する。すなわち、図2を用いて前述したように、キャリッジモータ230および紙送りモータ235を駆動することによってキャリッジ240の主走査および副走査を行い、これらの動きに合わせて印字ヘッド241を駆動してインク滴を吐出することによりインクドットを形成する。その結果、モニタ150の画面に表示されているものと、同じ場面の印刷画像が得られることになる。   After performing the interlace processing in this way, an image is printed by forming dots on the printing paper according to the obtained data. That is, as described above with reference to FIG. 2, the carriage motor 230 and the paper feed motor 235 are driven to perform the main scanning and the sub-scanning of the carriage 240, and the print head 241 is driven in accordance with these movements to perform the ink. Ink dots are formed by discharging droplets. As a result, a print image of the same scene as that displayed on the screen of the monitor 150 can be obtained.

以上に説明したように、本実施例のゲーム機100では、モニタ150に表示された画面を印刷するに際して、画面の表示用に用いられる粗いポリゴンのポリゴンデータ(表示用ポリゴンデータ)を、印刷用に用いられる細かなポリゴンによるポリゴンデータ(印刷用ポリゴンデータ)に差し替えることによって精密ポリゴンデータを生成する。そして、この精密ポリゴンデータに基づいて印刷データを生成することにより画像を印刷している。このため、印刷された画像では、オブジェクトは小さなポリゴンによって形成されることになるので、表面がゴツゴツすることがなく、あたかも実在する対象を写真で撮影したかのような画像が得られることになる。   As described above, in the game machine 100 of this embodiment, when printing the screen displayed on the monitor 150, the polygon data (display polygon data) of the rough polygon used for displaying the screen is printed. Precise polygon data is generated by replacing the polygon data (printing polygon data) with fine polygons used in the above. An image is printed by generating print data based on the precision polygon data. For this reason, in the printed image, since the object is formed by small polygons, the surface is not rugged, and an image as if the real target was photographed can be obtained. .

もちろん、印刷用ポリゴンデータは細かなポリゴンによって構成されているので、表示用ポリゴンデータよりはポリゴン数が多く、従って、表示用ポリゴンデータを印刷用ポリゴンデータに差し換えると、1枚の画像を構成するポリゴン数は増加する。そして、ポリゴン数が多くなると、ゲーム機100に搭載しているメモリ容量の制約から、全てのポリゴンのデータに対して一度に描画処理を実行することが困難となる。特に、用紙サイズがA3以上の、いわゆる大判印刷を行う場合には、画質を維持するためにより細かなポリゴンが使用されることが多く、それだけポリゴン数も増加するので、こうした傾向が顕著となる。しかし、本実施例のゲーム機100では、所定のポリゴン数ずつポリゴンデータを読み出して描画処理を実行し、その度に、フレームバッファ114上に展開された画像データを印刷データとしてカラープリンタ200に供給することが可能である。このため、たとえ大判印刷を行うような場合でも、搭載しているメモリ容量の制約を受けることなく、画像を印刷することが可能となるのである。   Of course, the printing polygon data is composed of fine polygons, so the number of polygons is larger than the display polygon data. Therefore, when the display polygon data is replaced with the printing polygon data, one image is formed. The number of polygons to increase increases. When the number of polygons increases, it becomes difficult to execute drawing processing on all polygon data at once because of the limitation of the memory capacity installed in the game machine 100. In particular, when so-called large format printing with a paper size of A3 or larger is used, finer polygons are often used to maintain the image quality, and the number of polygons increases accordingly, and this tendency becomes remarkable. However, in the game machine 100 according to the present embodiment, polygon data is read by a predetermined number of polygons and a drawing process is executed, and each time image data developed on the frame buffer 114 is supplied to the color printer 200 as print data. Is possible. For this reason, even when large-format printing is performed, it is possible to print an image without being restricted by the memory capacity installed.

上述した第1実施例のゲーム機100には、種々の変形例が存在している。以下では、これら変形例について簡単に説明する。   Various modifications exist in the game machine 100 of the first embodiment described above. Hereinafter, these modified examples will be briefly described.

C−4.第1の変形例 :
上述した実施例では、印刷データ出力処理において、精密ポリゴンデータを所定ポリゴン数ずつ読み込んで描画処理を実行し、得られた画像データを印刷データとして出力するものとして説明した。こうすれば、たとえフレームバッファ114のメモリ容量が十分ではない場合でも、メモリ容量の範囲内で描画処理を実行して印刷データを出力することが可能である。しかし、読み込むポリゴン数を所定数に固定してしまうのではなく、フレームバッファ114に展開したデータ量が所定量に達するまで、ポリゴンを読み込んで描画処理を行うこととしても良い。
C-4. First modification:
In the above-described embodiment, it has been described that in the print data output process, the precision polygon data is read by a predetermined number of polygons, the drawing process is executed, and the obtained image data is output as print data. In this way, even when the memory capacity of the frame buffer 114 is not sufficient, it is possible to execute the drawing process within the range of the memory capacity and output the print data. However, instead of fixing the number of polygons to be read to a predetermined number, polygons may be read and drawing processing performed until the amount of data developed in the frame buffer 114 reaches a predetermined amount.

図29は、このような第1の変形例の印刷データ出力処理の流れを示すフローチャートである。かかる処理は、図20を用いて前述した第1実施例の印刷データ出力処理に対して、フレームバッファ114に展開したデータ量が許容値に達するまで、ポリゴン1つ分ずつポリゴンデータを読み込んで描画処理を行う点が大きく異なっている。以下、かかる相違点を中心に、第1の変形例の印刷データ出力処理について説明する。   FIG. 29 is a flowchart showing the flow of the print data output process of the first modified example. In this process, the polygon data is read and drawn for each polygon until the amount of data developed in the frame buffer 114 reaches an allowable value with respect to the print data output process of the first embodiment described above with reference to FIG. The point of processing is very different. Hereinafter, the print data output process of the first modification will be described focusing on the difference.

第1の変形例の印刷データ出力処理を開始すると、先ず初めに、メインメモリ110から精密ポリゴンデータを読み込む処理を行う(ステップS250)。前述した第1実施例の印刷データ出力処理では、ポリゴンデータを所定ポリゴン数ずつ読み込んでいたが、第1の変形例では、ポリゴン1つ分だけポリゴンデータを読み込む。   When the print data output process of the first modification is started, first, a process of reading precision polygon data from the main memory 110 is performed (step S250). In the print data output process of the first embodiment described above, polygon data is read by a predetermined number of polygons. In the first modification, polygon data is read by one polygon.

次いで、読み込んだポリゴンデータに対して描画処理を行う(ステップS252)。その結果、フレームバッファ114上には、読み込んだポリゴン1つ分の画像データが展開されることになる。   Next, a drawing process is performed on the read polygon data (step S252). As a result, the read image data for one polygon is developed on the frame buffer 114.

こうしてポリゴンデータを展開したら、フレームバッファ114上に展開されているデータが、所定の許容値に達したか否かを判断する(ステップS254)。許容値は、フレームバッファ114のメモリ容量に対して、ある程度の余裕を持たせた値(例えば、メモリ容量の9割程度の値)に設定されている。そして、展開されている画像データがメモリの許容値に達していなければ(ステップS254:no)、新たなポリゴンのデータを展開可能と判断して、精密ポリゴンデータからもう1つ分のポリゴンのデータを読み込み(ステップS250)、読み込んだデータに対して描画処理を行って画像データを展開した後(ステップS252)、展開したデータがメモリの許容値に達したか否かを判断する(ステップS254)。こうした操作を繰り返し、フレームバッファ114上に展開したデータが許容値に達したと判断されたら(ステップS254:yes)、展開した画像データをラスタ単位で読み出して、印刷データとして出力する(ステップS256)。かかる処理は、図20および図22を用いて前述した第1実施例の印刷データ出力処理と同様であるため、ここでは説明を省略する。   If the polygon data is expanded in this way, it is determined whether or not the data expanded on the frame buffer 114 has reached a predetermined allowable value (step S254). The allowable value is set to a value having a certain margin with respect to the memory capacity of the frame buffer 114 (for example, a value about 90% of the memory capacity). If the developed image data does not reach the allowable value in the memory (step S254: no), it is determined that new polygon data can be developed, and another polygon data from the precision polygon data is determined. (Step S250), the image data is developed by performing drawing processing on the read data (step S252), and then it is determined whether or not the developed data has reached the allowable value of the memory (step S254). . Such operations are repeated, and when it is determined that the data developed on the frame buffer 114 has reached an allowable value (step S254: yes), the developed image data is read out in raster units and output as print data (step S256). . Since this process is the same as the print data output process of the first embodiment described above with reference to FIGS. 20 and 22, the description thereof is omitted here.

以上のようにして、ラスタ単位の画像データを印刷データとして出力したら、レンダリング処理が施された精密ポリゴンデータの全ポリゴンについて、処理が終了したか否かを判断する(ステップS258)。そして、未だ処理していないポリゴンが残っている場合は(ステップS258:no)、ステップS250に戻って、メインメモリ110上に記憶されている精密ポリゴンデータから、新たにポリゴン1つ分のデータを読み出した後、上述した一連の処理を繰り返す。そして、最終的に、全ポリゴンについての処理を終了したと判断されたら(ステップS258:yes)、図29に示した第1の変形例の印刷データ出力処理を終了して、図15に示した画像印刷処理に復帰する。   When the raster unit image data is output as print data as described above, it is determined whether or not the processing has been completed for all polygons of the precision polygon data subjected to the rendering process (step S258). If polygons that have not yet been processed remain (step S258: no), the process returns to step S250, and data for one new polygon is newly obtained from the precision polygon data stored in the main memory 110. After reading, the above-described series of processing is repeated. If it is finally determined that the processing for all the polygons has been completed (step S258: yes), the print data output processing of the first modification shown in FIG. 29 is terminated, and the processing shown in FIG. Return to the image printing process.

以上に説明した第1の変形例の印刷データ出力処理では、読み込んだポリゴンの大きさに拘わらず、常にフレームバッファ114のメモリ容量を効率よく使用して印刷データを出力することが可能となる。このため、印刷データ出力処理を迅速に行うことができ、延いては、画像を迅速に印刷することが可能となる。   In the print data output process of the first modification described above, print data can always be output by efficiently using the memory capacity of the frame buffer 114 regardless of the size of the read polygon. For this reason, it is possible to perform the print data output process quickly, and thus it is possible to print the image quickly.

C−5.第2の変形例 :
以上に説明した第1実施例の印刷データ出力処理では、フレームバッファ114上に画像データを展開すると、出力可能なラスタを検出して印刷データとして出力した。そして、次回の処理では、フレームバッファ114上に新たに展開した画像データの中から、新たなラスタを検出して印刷データとして出力した。従って、フレームバッファ114上に新たな画像データを展開する度に、重複することなく新たな印刷データが順番に出力されることになる。これに対して、フレームバッファ114上に毎回、画像データを展開して印刷データを出力する度に、前回に展開して出力した印刷データの一部を重ねて出力することとしても良い。
C-5. Second modification:
In the print data output process of the first embodiment described above, when image data is developed on the frame buffer 114, an outputable raster is detected and output as print data. In the next processing, a new raster is detected from the image data newly developed on the frame buffer 114 and output as print data. Therefore, every time new image data is developed on the frame buffer 114, new print data is output in order without duplication. On the other hand, every time image data is expanded and print data is output on the frame buffer 114, a part of the print data expanded and output last time may be overlapped and output.

図30は、こうした第2の変形例の印刷データ出力処理において、印刷データをオーバーラップさせて出力する様子を概念的に示した説明図である。図中にハッチングを付した領域は、フレームバッファ114上に画像データが展開されている領域を示している。図30では、粗いハッチングから細かいハッチングまで種々のハッチングが付された領域が存在するが、これら全ての領域が画像データの展開された領域となっている。   FIG. 30 is an explanatory diagram conceptually showing a state in which print data is overlapped and output in the print data output process of the second modified example. The hatched area in the figure indicates an area where image data is expanded on the frame buffer 114. In FIG. 30, there are areas with various hatchings from coarse hatching to fine hatching, but all these areas are developed areas of image data.

印刷データを出力するに際しては、このような領域の中からラスタ単位で画像データを読み出して、印刷データとして出力する。図中に細かいハッチングを付した領域、および中間のハッチングを付した領域では、ラスタ単位で画像データを読み出すことが可能であり、これらの領域の画像データが印刷データとして出力される。   When outputting print data, image data is read out from such an area in units of rasters and output as print data. In the area with fine hatching and the area with intermediate hatching in the figure, image data can be read out in raster units, and the image data in these areas is output as print data.

ここで、第2の変形例の印刷データ出力処理では、印刷データとして出力した領域の後半部分(図30では、細かいハッチングを付した示した領域)については、印刷データの出力後もデータを破棄することなく記憶しておく。そして、次回にポリゴンのデータを読み込んでフレームバッファ114上に展開し、新たな印刷データを出力するに先立って、記憶しておいた印刷データをカラープリンタ200に出力してから、新たな印刷データを出力する。結局、この部分については2回、印刷データを出力することになる。   Here, in the print data output process of the second modified example, the data is discarded even after the print data is output in the latter half of the area output as print data (the area shown in FIG. 30 with fine hatching). Remember without having to. Next, the polygon data is read and expanded on the frame buffer 114, and the new print data is output to the color printer 200 before the new print data is output. Is output. Eventually, print data is output twice for this portion.

このように、毎回読み込まれて展開される画像データの繋ぎ目部分では、印刷データを重複してカラープリンタ200に出力してやれば、印刷データを分割した状態で受け取っても、繋ぎ目部分で印刷画質が悪化することを回避することが可能となる。   In this way, at the joint portion of the image data that is read and developed each time, if the print data is output to the color printer 200 in duplicate, the print image quality at the joint portion even if the print data is received in a divided state. Can be avoided.

D.第2実施例 :
以上に説明した第1実施例の画像印刷処理では、細かなポリゴンによって構成された印刷用ポリゴンデータを予め記憶しておき、画像の印刷に際しては、表示用ポリゴンデータを印刷用ポリゴンデータに置き換えて精密ポリゴンデータを生成した後、得られた精密ポリゴンデータを含む各オブジェクトに対して、レンダリング処理や描画処理などの一連の処理を行って画像を印刷した。もっとも、印刷用ポリゴンデータを予め用意しておくのではなく、表示用ポリゴンデータから印刷用ポリゴンデータを生成し、このデータに対して、レンダリング処理を始めとする一連の処理を行うこととしても良い。以下では、このような第2実施例の画像印刷処理について説明する。
D. Second embodiment:
In the image printing process of the first embodiment described above, printing polygon data composed of fine polygons is stored in advance, and when printing an image, the display polygon data is replaced with printing polygon data. After generating the precise polygon data, each object including the obtained accurate polygon data was subjected to a series of processing such as rendering processing and drawing processing to print an image. However, printing polygon data may not be prepared in advance, but printing polygon data may be generated from display polygon data, and a series of processing including rendering processing may be performed on this data. . Hereinafter, the image printing process of the second embodiment will be described.

図31は、第2実施例の画像印刷処理の流れを示すフローチャートである。かかる処理は、前述した第1実施例の画像印刷処理に対して、表示用ポリゴンデータから、細かなポリゴンによって構成された印刷用ポリゴンデータを生成している点が大きく異なっており、他の部分の処理は、第1実施例の処理とほぼ同様である。以下では、こうした相違点を中心として、第2実施例の画像印刷処理について説明する。   FIG. 31 is a flowchart showing the flow of the image printing process of the second embodiment. This process is greatly different from the image printing process of the first embodiment described above in that printing polygon data composed of fine polygons is generated from display polygon data. This process is substantially the same as the process of the first embodiment. Hereinafter, the image printing process of the second embodiment will be described focusing on such differences.

第2実施例の画像印刷処理においても、前述した第1実施例と同様に、ゲーム機100のCPU101は、コントローラ102に設けられた所定の印刷ボタンが押されたことを検出すると、割り込みを発生させて画像印刷処理を開始する。そして、先ず初めに、コントローラ102の印刷ボタンが押された時点でモニタ150に表示されていた画像の、元となったポリゴンデータ(表示用ポリゴンデータ)を取得する(ステップS400)。   Also in the image printing process of the second embodiment, as in the first embodiment described above, the CPU 101 of the game machine 100 generates an interrupt when detecting that a predetermined print button provided on the controller 102 is pressed. The image printing process is started. First, the original polygon data (display polygon data) of the image displayed on the monitor 150 when the print button of the controller 102 is pressed is acquired (step S400).

次いで、画像の撮影条件および印刷条件を設定する(ステップS402、ステップS404)。撮影条件は、モニタ150に表示された画面(図16参照)を見ながら、焦点距離、焦点位置、絞りなどについて設定する。また、印刷条件は、モニタ150に表示された画面(図17参照)を見ながら、用紙サイズ、用紙種類、印刷モードなどについて設定する。   Next, image capturing conditions and printing conditions are set (steps S402 and S404). The shooting conditions are set for the focal length, the focal position, the aperture, and the like while viewing the screen (see FIG. 16) displayed on the monitor 150. The print conditions are set for the paper size, paper type, print mode, and the like while viewing the screen (see FIG. 17) displayed on the monitor 150.

続いて、モニタ150に表示された各オブジェクトについて、オブジェクトを構成するポリゴンを分割するか否かを決定する(ステップS406)。ポリゴンを分割するか否かは、印刷条件設定処理で設定された「用紙サイズ」および「印刷モード」の組合せに応じて決定する。例えば、印刷モードが「速い」に設定されており、用紙サイズが「写真普通版」あるいは「写真L版」の場合は、ポリゴンの分割は行わない。これは、印刷モードが「速い」に設定されており、いわゆる大判印刷も行わない場合は、印刷画質もさほど高くはなく、印刷画像も小さいので、表示用ポリゴンデータのまま(すなわち粗いポリゴンのまま)画像を印刷しても、ポリゴンが目立つことはないからである。これに対して、印刷モードが「きれい」に設定されていたり、印刷用紙がA4サイズ以上のいわゆる大判印刷が行われる場合は、ポリゴンが目立って画質を悪化させることの無いように、ポリゴンを分割するものと判断する。   Subsequently, for each object displayed on the monitor 150, it is determined whether or not to divide the polygon constituting the object (step S406). Whether to divide the polygon is determined according to the combination of “paper size” and “print mode” set in the print condition setting process. For example, when the print mode is set to “fast” and the paper size is “normal photo” or “photo L”, polygon division is not performed. This is because when the print mode is set to “fast” and so-called large format printing is not performed, the print image quality is not so high and the print image is small, so the display polygon data remains as it is (that is, the rough polygon remains as it is). This is because the polygon does not stand out even when the image is printed. On the other hand, if the print mode is set to "Premium" or so-called large format printing is performed with the A4 size or larger, the polygon is divided so that the polygon does not stand out and deteriorate the image quality. Judging what to do.

次いで、分割するものと決定されたポリゴンについては、ポリゴンを分割することにより、表示用ポリゴンデータから印刷用ポリゴンデータを生成する処理を行う(ステップS408)。   Next, for the polygon determined to be divided, a process for generating printing polygon data from the display polygon data is performed by dividing the polygon (step S408).

図32は、ポリゴンを分割している様子を概念的に示した説明図である。図中に太い実線で示した3つの三角形は、分割する前のポリゴンを表している。これらポリゴンを分割する場合には、ポリゴンを構成する各辺の中点を結ぶことにより、それぞれのポリゴンを4つの小さなポリゴンに分割する。図32に示した三角形ABCのポリゴンについて説明すると、辺ABの中点abと、辺BCの中点bcと、辺ACの中点acとをそれぞれ結ぶことにより、三角形ABCをより小さな4つの三角形に分割することができる。隣接するポリゴンBCDについても同様にして、辺BCの中点bcと、辺CDの中点cdと、辺BDの中点bdとをそれぞれ結べば、三角形BCDを4つの三角形に分割することができる。レベル2の分割では、オブジェクトを構成する全てのポリゴンについて、このような操作を繰り返すことにより、それぞれのポリゴンを4つの小さなポリゴンに分割する。第2実施例の画像印刷処理におけるステップS408では、分割すると決定したポリゴンを、このように4つのポリゴンに分割する処理を行う。   FIG. 32 is an explanatory diagram conceptually showing a state in which polygons are divided. Three triangles indicated by thick solid lines in the figure represent polygons before being divided. When dividing these polygons, each polygon is divided into four small polygons by connecting the midpoints of the sides constituting the polygon. The polygon of the triangle ABC shown in FIG. 32 will be described. By connecting the midpoint ab of the side AB, the midpoint bc of the side BC, and the midpoint ac of the side AC, the triangle ABC can be reduced to four smaller triangles. Can be divided into Similarly, for the adjacent polygon BCD, the triangle BCD can be divided into four triangles by connecting the midpoint bc of the side BC, the midpoint cd of the side CD, and the midpoint bd of the side BD. . In the level 2 division, by repeating such an operation for all the polygons constituting the object, each polygon is divided into four small polygons. In step S408 in the image printing process of the second embodiment, a process of dividing the polygon determined to be divided into four polygons in this way is performed.

また、このようにして分割して生成された小さなポリゴンのテクスチャ番号は、元になったポリゴンのテクスチャ番号と、隣接するポリゴンのテクスチャ番号とに基づいて決定する。例えば、図32に示した三角形BCDのポリゴンを用いて説明する。中央に生成された小さなポリゴンc1については、元になったポリゴンのテクスチャ番号をそのまま付与しておく。一方、隣接する2つのポリゴン(三角形ABC、三角形CDE)に挟まれた小さなポリゴンc2については、隣接する2つのポリゴンのテクスチャと、元になったポリゴン(三角形BCD)のテクスチャとの中間的なテクスチャとなるテクスチャ番号を設定する。同様に、分割して生成した小さなポリゴンc3については、隣接するポリゴン(三角形ABC)と、元になったポリゴン(三角形BCD)との中間的なテクスチャとなるテクスチャ番号を設定してやればよい。以上のようにして、ポリゴンを小さなポリゴンに分割し、分割して生成したポリゴンの頂点を検出するとともに、各ポリゴンのテクスチャ番号を設定してやれば、通常のポリゴンデータから、ポリゴンがより小さなポリゴンに分割されたポリゴンデータを生成することができる。   Further, the texture number of the small polygon generated by dividing in this way is determined based on the texture number of the original polygon and the texture number of the adjacent polygon. For example, description will be made using a polygon of a triangle BCD shown in FIG. For the small polygon c1 generated in the center, the texture number of the original polygon is assigned as it is. On the other hand, for a small polygon c2 sandwiched between two adjacent polygons (triangle ABC, triangle CDE), an intermediate texture between the texture of the two adjacent polygons and the texture of the original polygon (triangle BCD). Set the texture number. Similarly, for the small polygon c3 generated by division, a texture number that is an intermediate texture between the adjacent polygon (triangle ABC) and the original polygon (triangle BCD) may be set. As described above, the polygon is divided into small polygons, the vertexes of the polygons generated by the division are detected, and if the texture number of each polygon is set, the polygon is divided into smaller polygons from normal polygon data. Generated polygon data can be generated.

尚、ここでは、ポリゴンの分割方法は図32に示したように、1つのポリゴンを4分割する方法のみについて説明したが、ポリゴンをより多くのポリゴンに分割したり、あるいはより少ないポリゴンに分割することとしても良い。   Here, only the method of dividing one polygon into four as described in FIG. 32 has been described as the polygon dividing method. However, the polygon is divided into more polygons or less polygons. It's also good.

図33は、ポリゴンの異なる分割方法を例示した説明図である。図32に示した場合と同様に、図中に太い実線で示した3つの三角形は、分割する前のポリゴンを表している。図33に示した分割方法では、ポリゴンの頂点と、その頂点に対抗する辺(対辺)の中点を結ぶことにより、1つのポリゴンを6つの小さなポリゴンに分割する。図33に示した三角形ABCのポリゴンについて説明すると、頂点Aと、これに対する対辺BCの中点bcとを結び、頂点Bと対辺ACの中点acとを結び、頂点Cと対辺ABの中点abとを結ぶことにより、三角形ABCを分割する。頂点と対辺の中点とを結ぶ直線は三角形の重心で交わることから、このようにして三角形のポリゴンを分割すれば、6つの小さなポリゴンに分割することができる。印刷用紙のサイズが大きい場合など、印刷条件に応じて、適切な方法を選択してポリゴンを分割することとしてもよい。   FIG. 33 is an explanatory diagram illustrating different polygon division methods. Similar to the case shown in FIG. 32, the three triangles shown by thick solid lines in the figure represent the polygons before being divided. In the dividing method shown in FIG. 33, one polygon is divided into six small polygons by connecting the vertexes of the polygons and the midpoints of the opposite sides (opposite sides). The polygon of the triangle ABC shown in FIG. 33 will be described. The vertex A is connected to the midpoint bc of the opposite side BC, the vertex B is connected to the midpoint ac of the opposite side AC, and the vertex C is set to the midpoint of the opposite side AB. The triangle ABC is divided by connecting ab. Since the straight line connecting the vertex and the midpoint of the opposite side intersects at the center of gravity of the triangle, if the triangle polygon is divided in this way, it can be divided into six small polygons. The polygon may be divided by selecting an appropriate method according to printing conditions, such as when the size of the printing paper is large.

以上のようにしてポリゴンを分割すると、表示用ポリゴンデータが印刷用ポリゴンデータに変換され、その結果、精密ポリゴンデータが得られることになる。こうして精密ポリゴンデータを生成したら、以降は、前述した第1実施例の画像印刷処理と同様にして画像を印刷する。以下、簡単に説明する。   When the polygon is divided as described above, the display polygon data is converted into printing polygon data, and as a result, precise polygon data is obtained. After the precision polygon data is generated in this way, the image is printed in the same manner as the image printing process of the first embodiment described above. A brief description is given below.

先ず、生成した精密ポリゴンデータに対してレンダリング処理を行う(ステップS410)。図11を用いて前述したように、レンダリング処理とは、各オブジェクトのポリゴンデータから二次元画像のデータを生成する処理である。レンダリング処理によって得られる二次元画像のデータは、ポリゴンを構成する頂点を、投影面上に投影して得られる頂点の二次元座標と、投影されたポリゴンに付与すべきテクスチャ番号とによって表現されており、メインメモリ110には、このような形式のデータが記憶される。   First, a rendering process is performed on the generated precision polygon data (step S410). As described above with reference to FIG. 11, the rendering process is a process for generating two-dimensional image data from polygon data of each object. The data of the two-dimensional image obtained by the rendering process is expressed by the two-dimensional coordinates of the vertices obtained by projecting the vertices constituting the polygon onto the projection surface, and the texture number to be assigned to the projected polygon. The main memory 110 stores data in such a format.

レンダリング処理に続いて、印刷データ出力処理を行うことにより、フレームバッファ114上に展開した画像データをラスタ単位で読み出して、印刷データとしてカラープリンタ200に出力する(ステップS200)。かかる処理は、前述した第1実施例における印刷データ出力処理と全く同様であるため、ここでは説明を省略する。   Subsequent to the rendering process, a print data output process is performed, whereby the image data developed on the frame buffer 114 is read in units of rasters, and is output as print data to the color printer 200 (step S200). Since this process is exactly the same as the print data output process in the first embodiment described above, a description thereof is omitted here.

第2実施例の画像印刷処理においても、印刷データ出力処理から復帰すると、ゲーム復帰処理を行う(ステップS412)。すなわち、第2実施例の画像印刷処理も、進行中のゲームを一旦、中断させて開始されるので、画像印刷処理を終了させる前に、プログラムカウンタや各種データをゲームの中断前の状態に復帰させて、ゲームを再開するための準備を行うのである。そして、ゲーム復帰処理を終了したら、図31に示した第2実施例の画像印刷処理を終了する。   Also in the image printing process of the second embodiment, when returning from the print data output process, a game return process is performed (step S412). That is, since the image printing process of the second embodiment is also started by temporarily interrupting the ongoing game, the program counter and various data are restored to the state before the game interruption before ending the image printing process. Then, prepare to resume the game. When the game return process is finished, the image printing process of the second embodiment shown in FIG. 31 is finished.

以上に説明した第2実施例の画像印刷処理では、モニタ150に表示された画像を印刷するに際して、オブジェクトを構成するポリゴンを、印刷条件に応じて細かなポリゴンに分割して精密ポリゴンデータを生成する。そして、得られた精密ポリゴンデータに基づいて画像を印刷しているために、ポリゴンが目立ち難い高画質な画像を印刷することができる。もちろん、ポリゴンを細かなポリゴンに分割するだけでは、オブジェクト形状の表現精度が向上するわけではないが、このようにして細かなポリゴンに分割しておけば、各ポリゴンに適切なテクスチャを付与することで、オブジェクト表面がゴツゴツした印象を大幅に緩和することができる。このため、カラープリンタ200から画像を出力した場合でも、実在する対象を写真で撮影したかのような印刷画像を得ることが可能となる。   In the image printing process of the second embodiment described above, when printing the image displayed on the monitor 150, the polygons constituting the object are divided into fine polygons according to the printing conditions to generate precise polygon data. To do. Since the image is printed based on the obtained precision polygon data, it is possible to print a high-quality image in which the polygon is not conspicuous. Of course, simply dividing a polygon into fine polygons does not improve the accuracy of object shape representation, but if you divide into small polygons in this way, you can give each polygon an appropriate texture. Thus, the rugged impression of the object surface can be greatly relieved. For this reason, even when an image is output from the color printer 200, it is possible to obtain a printed image as if a real object was photographed.

また、かかる第2実施例の画像印刷処理では、取得したポリゴンデータから、各ポリゴンを分割することによって印刷用ポリゴンデータを生成するため、前述した第1実施例の画像印刷処理のように、取得したポリゴンデータと印刷用ポリゴンデータとを、基準点を用いて位置合わせする処理が不要となり、メモリ容量や処理能力が比較的小さなゲーム機100を用いた場合でも、迅速に画像を印刷することが可能となる。   In the image printing process of the second embodiment, since polygon data for printing is generated by dividing each polygon from the acquired polygon data, the acquisition is performed as in the image printing process of the first embodiment described above. The processing for aligning the polygon data and the printing polygon data using the reference point is unnecessary, and even when the game machine 100 having a relatively small memory capacity and processing capability is used, an image can be printed quickly. It becomes possible.

ポリゴンを細かなポリゴンに分割すれば、全体のポリゴン数が増加するため、全ポリゴンのデータをフレームバッファ114上に一度に展開することが困難となるが、上述した第2実施例の印刷データ出力処理においても、所定のポリゴン数ずつ(あるいは展開した画像データが所定になるポリゴン数ずつ)ポリゴンデータを読み出して描画処理を実行する。そして、フレームバッファ114上に展開された画像データを、順次、印刷データとしてカラープリンタ200に供給する。このため、たとえ大判印刷を行うような場合でも、搭載しているメモリ容量の制約を受けることなく、画像を印刷することが可能となる。   If polygons are divided into fine polygons, the total number of polygons increases, making it difficult to expand all polygon data onto the frame buffer 114 at once. However, the print data output of the second embodiment described above is difficult. Also in the processing, polygon data is read by a predetermined number of polygons (or by the number of polygons where the developed image data becomes a predetermined number), and a drawing process is executed. Then, the image data developed on the frame buffer 114 is sequentially supplied to the color printer 200 as print data. For this reason, even when large-format printing is performed, it is possible to print an image without being restricted by the installed memory capacity.

以上、各種の実施例について説明してきたが、本発明は上記すべての実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することができる。   Although various embodiments have been described above, the present invention is not limited to all the embodiments described above, and can be implemented in various modes without departing from the scope of the invention.

例えば、上述した各種の実施例では、モニタ150に表示された画面を印刷する場合、画像を印刷するための細かなポリゴンに基づく画像データを生成すると、この画像データは印刷データを生成するためだけに用いられるものとして説明した。しかし、生成した画像データを用いてモニタ150に画像を表示することとしても良い。例えば、印刷データの生成を開始するとともに、細かなポリゴンに基づいて生成された画像データを、モニタ150の画面に表示することとしても良い。印刷のために生成された画像データは、モニタ150に表示するために生成された画像データよりも高画質な画像を表示可能であり、加えて、撮影条件などを考慮して各種の処理が施された画像データとなっている。従って、印刷データの生成中に、この細かなポリゴンに基づく画像データをモニタ150に表示してやれば、こうした効果をモニタ150の上でも確認することが可能となる。   For example, in the various embodiments described above, when printing the screen displayed on the monitor 150, if image data based on fine polygons for printing an image is generated, this image data is used only for generating print data. It was described as being used in However, an image may be displayed on the monitor 150 using the generated image data. For example, the generation of print data may be started and image data generated based on fine polygons may be displayed on the screen of the monitor 150. The image data generated for printing can display a higher quality image than the image data generated for display on the monitor 150. In addition, various processes are performed in consideration of shooting conditions and the like. Image data. Therefore, if image data based on these fine polygons is displayed on the monitor 150 during the generation of print data, such an effect can be confirmed on the monitor 150 as well.

あるいは、印刷データの生成を開始する前に、細かなポリゴンに基づく画像データをモニタ150の画面上に表示することとしても良い。こうすれば、撮影条件などの各種の設定項目を、細かなポリゴンに基づく画像データによって、効果を確認しながら設定することができるので、より適切な設定を行うことが可能となる。   Alternatively, image data based on fine polygons may be displayed on the screen of the monitor 150 before starting generation of print data. In this way, various setting items such as shooting conditions can be set while confirming the effect using image data based on fine polygons, so that more appropriate settings can be made.

本実施例の画像データ生成装置を備えたゲーム機の構成を示す説明図である。It is explanatory drawing which shows the structure of the game machine provided with the image data generation apparatus of a present Example. 本実施例のゲーム機に接続されているカラープリンタの概略構成を示す説明図である。It is explanatory drawing which shows schematic structure of the color printer connected to the game machine of a present Example. インク吐出用ヘッドのインクジェットノズルの配列を示す説明図である。It is explanatory drawing which shows the arrangement | sequence of the inkjet nozzle of an ink discharge head. ゲーム中の画面がモニタに表示されている様子を例示した説明図である。It is explanatory drawing which illustrated a mode that the screen in a game is displayed on the monitor. モニタの画面上で二次元画像が嵌め込まれて表示されている領域を示した説明図である。It is explanatory drawing which showed the area | region where the two-dimensional image is inserted and displayed on the screen of a monitor. メインキャラクタである飛行艇の形状を示す斜視図である。It is a perspective view which shows the shape of the flying boat which is a main character. メインキャラクタの飛行艇の形状がポリゴンによって表現されている様子を概念的に示した説明図である。It is explanatory drawing which showed notionally the mode that the shape of the flying boat of the main character was expressed by the polygon. オブジェクトのポリゴンデータを管理するために用いられるオブジェクトテーブルを概念的に示した説明図である。It is explanatory drawing which showed notionally the object table used in order to manage the polygon data of an object. ポリゴンデータのデータ構造を示す説明図である。It is explanatory drawing which shows the data structure of polygon data. ゲーム中の画面をモニタに表示する処理の概要を示したフローチャートである。It is the flowchart which showed the outline | summary of the process which displays the screen in a game on a monitor. レンダリング処理の概要を示した説明図である。It is explanatory drawing which showed the outline | summary of the rendering process. オブジェクトを構成するポリゴンの頂点座標を、二次元平面の座標点に投影する変換式を例示した説明図である。It is explanatory drawing which illustrated the conversion type | formula which projects the vertex coordinate of the polygon which comprises an object on the coordinate point of a two-dimensional plane. レンダリング処理によって生成された投影像を概念的に示した説明図である。It is explanatory drawing which showed notionally the projection image produced | generated by the rendering process. CPUがGPUに出力する描画命令のデータ構造を概念的に示した説明図である。It is explanatory drawing which showed notionally the data structure of the drawing command which CPU outputs to GPU. 第1実施例のゲーム機によって行われる画像印刷処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the image printing process performed with the game machine of 1st Example. 画像の撮影条件を設定するための画面を例示した説明図である。It is explanatory drawing which illustrated the screen for setting the imaging condition of an image. 画像の印刷条件を設定するための画面を例示した説明図である。It is explanatory drawing which illustrated the screen for setting the printing conditions of an image. メインキャラクタである飛行艇の三次元的な形状が小さなポリゴンを用いて表現されている様子を概念的に表した説明図である。It is explanatory drawing which represented notably the mode that the three-dimensional shape of the flying boat which is a main character was expressed using the small polygon. 印刷用ポリゴンデータの有無を判断するために参照されるテーブルを概念的に示した説明図である。It is explanatory drawing which showed notionally the table referred in order to determine the presence or absence of the polygon data for printing. 印刷データ出力処理の流れを示すフローチャートである。6 is a flowchart illustrating a flow of print data output processing. 精密ポリゴンデータから所定数のポリゴンのデータを読み出す様子を示す説明図である。It is explanatory drawing which shows a mode that the data of a predetermined number of polygon are read from precision polygon data. フレームバッファ上の画像データをラスタ単位で出力する様子を示す説明図である。It is explanatory drawing which shows a mode that the image data on a frame buffer are output per raster. メインメモリから新たなポリゴンのデータが読み出された様子を示す説明図である。It is explanatory drawing which shows a mode that the data of the new polygon were read from the main memory. メインメモリから更に新たなポリゴンのデータが読み出された様子を示す説明図である。It is explanatory drawing which shows a mode that the data of the further new polygon were read from the main memory. カラープリンタが画像を印刷するために行う印刷処理の流れを示すフローチャートである。6 is a flowchart illustrating a flow of a printing process performed by a color printer for printing an image. 色変換処理のために参照されるLUTを概念的に示した説明図である。It is explanatory drawing which showed notionally the LUT referred for a color conversion process. ディザ法で参照される一般的なディザマトリックスの一部を拡大して例示した説明図である。It is explanatory drawing which expanded and illustrated a part of common dither matrix referred by the dither method. ディザマトリックスを参照しながら画素毎にドット形成の有無を判断している様子を概念的に示した説明図である。It is explanatory drawing which showed notionally the mode that the presence or absence of dot formation was judged for every pixel, referring a dither matrix. 第1の変形例の印刷データ出力処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the print data output process of a 1st modification. 第2の変形例の印刷データ出力処理において印刷データをオーバーラップさせて出力する様子を概念的に示した説明図である。It is explanatory drawing which showed notionally the mode that print data was overlapped and output in the print data output process of a 2nd modification. 第2実施例の画像印刷処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the image printing process of 2nd Example. ポリゴンを分割している様子を概念的に示した説明図である。It is explanatory drawing which showed notionally the mode that the polygon is divided | segmented. ポリゴンの異なる分割方法を例示した説明図である。It is explanatory drawing which illustrated the dividing method from which a polygon differs.

符号の説明Explanation of symbols

100…ゲーム機、 101…CPU、 110…メインメモリ、
112…GTE、 114…フレームバッファ、 116…GPU、
150…モニタ、 200…カラープリンタ、 500…ゲーム機
100: Game machine 101: CPU 110: Main memory
112 ... GTE, 114 ... Frame buffer, 116 ... GPU,
150 ... monitor, 200 ... color printer, 500 ... game machine

Claims (4)

オブジェクトテーブルを参照して、オブジェクトの形状を表現するモニタ表示用ポリゴンデータを取得するモニタ表示用ポリゴンデータ取得手段と、
印刷用ポリゴンデータテーブルを参照して、前記オブジェクトに対応する印刷用ポリゴンデータを取得する印刷用ポリゴンデータ取得手段と、
前記印刷用ポリゴンデータを出力する出力手段と、
を備え、
前記オブジェクトテーブルでは、各オブジェクトを識別するためのオブジェクト番号と前記各オブジェクトの形状を示したポリゴンデータが格納されているメモリの先頭アドレスと前記各オブジェクトを構成するポリゴン数とが設定されており、
前記印刷用ポリゴンデータテーブルは、前記印刷用ポリゴンデータの有無が予め設定されたテーブルであり、前記印刷用ポリゴンデータが存在する、前記オブジェクトを識別するためのオブジェクト番号と、前記オブジェクトの形状を示したポリゴンデータが格納されているメモリの先頭アドレスと、前記オブジェクトを構成するポリゴン数とが設定されており、前記印刷用ポリゴンデータテーブルにおいては、異なるオブジェクト番号に対しても、同じ先頭アドレスおよびポリゴン数が設定されている、
ことを特徴とする出力装置。
Monitor display polygon data acquisition means for acquiring monitor display polygon data representing the shape of the object with reference to the object table;
With reference to the printing polygon data table, printing polygon data acquisition means for acquiring printing polygon data corresponding to the object;
Output means for outputting the printing polygon data;
With
In the object table, an object number for identifying each object, a start address of a memory storing polygon data indicating the shape of each object, and the number of polygons constituting each object are set.
The printing polygon data table is a table in which presence / absence of the printing polygon data is set in advance, and indicates an object number for identifying the object in which the printing polygon data exists, and a shape of the object. The start address of the memory storing the polygon data and the number of polygons constituting the object are set. In the print polygon data table , the same start address and polygon are used for different object numbers. Number is set,
An output device characterized by that.
前記出力装置は、さらに、
印刷条件を取得する手段を有し、
前記印刷用ポリゴンデータのポリゴンのサイズは前記取得した印刷条件に応じて決定される、
ことを特徴とする請求項1に記載の出力装置。
The output device further includes:
A means for acquiring printing conditions;
The polygon size of the printing polygon data is determined according to the acquired printing conditions.
The output device according to claim 1.
モニタ表示用ポリゴンデータ取得手段が、オブジェクトテーブルを参照して、オブジェクトの形状を表現するモニタ表示用ポリゴンデータを取得する工程と、
印刷用ポリゴンデータ取得手段が、印刷用ポリゴンデータテーブルを参照して、前記オブジェクトに対応する印刷用ポリゴンデータを取得する程と、
出力手段が、前記印刷用ポリゴンデータを出力する出力工程と、
を備え、
前記オブジェクトテーブルでは、各オブジェクトを識別するためのオブジェクト番号と前記各オブジェクトの形状を示したポリゴンデータが格納されているメモリの先頭アドレスと前記各オブジェクトを構成するポリゴン数とが設定されており、
前記印刷用ポリゴンデータテーブルは、前記印刷用ポリゴンデータの有無が予め設定されたテーブルであり、前記印刷用ポリゴンデータが存在する、前記オブジェクトを識別するためのオブジェクト番号と、前記オブジェクトの形状を示したポリゴンデータが格納されているメモリの先頭アドレスと、前記オブジェクトを構成するポリゴン数とが設定されており、前記印刷用ポリゴンデータテーブルにおいては、異なるオブジェクト番号に対しても、同じ先頭アドレスおよびポリゴン数が設定されている、
ことを特徴とする出力方法。
A step of obtaining monitor display polygon data representing the shape of the object by referring to the object table;
The printing polygon data acquisition means refers to the printing polygon data table and acquires the printing polygon data corresponding to the object;
An output means for outputting the printing polygon data;
With
In the object table, an object number for identifying each object, a start address of a memory storing polygon data indicating the shape of each object, and the number of polygons constituting each object are set.
The printing polygon data table is a table in which presence / absence of the printing polygon data is set in advance, and indicates an object number for identifying the object in which the printing polygon data exists, and a shape of the object. The start address of the memory storing the polygon data and the number of polygons constituting the object are set. In the print polygon data table , the same start address and polygon are used for different object numbers. Number is set,
An output method characterized by that.
印刷用ポリゴンデータ取得手段が、オブジェクトテーブルを参照して、オブジェクトの形状を表現するモニタ表示用ポリゴンデータを取得する工程と、
印刷用ポリゴンデータ取得手段が、印刷用ポリゴンデータテーブルを参照して、前記オブジェクトに対応する印刷用ポリゴンデータを取得する程と、
出力手段が、前記印刷用ポリゴンデータを出力する出力工程と、
をコンピュータに実行させ、
前記オブジェクトテーブルでは、各オブジェクトを識別するためのオブジェクト番号と前記各オブジェクトの形状を示したポリゴンデータが格納されているメモリの先頭アドレスと前記各オブジェクトを構成するポリゴン数とが設定されており、
前記印刷用ポリゴンデータテーブルは、前記印刷用ポリゴンデータの有無が予め設定されたテーブルであり、前記印刷用ポリゴンデータが存在する、前記オブジェクトを識別するためのオブジェクト番号と、前記オブジェクトの形状を示したポリゴンデータが格納されているメモリの先頭アドレスと、前記オブジェクトを構成するポリゴン数とが設定されており、前記印刷用ポリゴンデータテーブルにおいては、異なるオブジェクト番号に対しても、同じ先頭アドレスおよびポリゴン数が設定されている、
ことを特徴とするコンピュータプログラム。
A process of acquiring polygon data for monitor display representing a shape of an object by referring to an object table, and a polygon data acquisition unit for printing;
The printing polygon data acquisition means refers to the printing polygon data table and acquires the printing polygon data corresponding to the object;
An output means for outputting the printing polygon data;
To the computer,
In the object table, an object number for identifying each object, a start address of a memory storing polygon data indicating the shape of each object, and the number of polygons constituting each object are set.
The printing polygon data table is a table in which presence / absence of the printing polygon data is set in advance, and indicates an object number for identifying the object in which the printing polygon data exists, and a shape of the object. The start address of the memory storing the polygon data and the number of polygons constituting the object are set. In the print polygon data table , the same start address and polygon are used for different object numbers. Number is set,
A computer program characterized by the above.
JP2005043536A 2005-02-21 2005-02-21 Print data output device and print data output method Expired - Fee Related JP4613636B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005043536A JP4613636B2 (en) 2005-02-21 2005-02-21 Print data output device and print data output method
US11/359,164 US20060192778A1 (en) 2005-02-21 2006-02-21 Apparatus and method for outputting print data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005043536A JP4613636B2 (en) 2005-02-21 2005-02-21 Print data output device and print data output method

Publications (2)

Publication Number Publication Date
JP2006228088A JP2006228088A (en) 2006-08-31
JP4613636B2 true JP4613636B2 (en) 2011-01-19

Family

ID=36931567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005043536A Expired - Fee Related JP4613636B2 (en) 2005-02-21 2005-02-21 Print data output device and print data output method

Country Status (2)

Country Link
US (1) US20060192778A1 (en)
JP (1) JP4613636B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244095A (en) * 2009-04-01 2010-10-28 Seiko Epson Corp Data processing apparatus, printing system, and program
US8579620B2 (en) * 2011-03-02 2013-11-12 Andy Wu Single-action three-dimensional model printing methods
JP5751961B2 (en) 2011-07-11 2015-07-22 キヤノン株式会社 Printing system and program for printing image projected by image display device
US20150058175A1 (en) * 2013-08-21 2015-02-26 Microsoft Corporation Realizing boxed experience for digital content acquisition
JP7563182B2 (en) * 2021-01-07 2024-10-08 セイコーエプソン株式会社 Image processing device and image processing method

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02228781A (en) * 1989-01-19 1990-09-11 Hewlett Packard Co <Hp> Polygonal smoothing method
JPH05108811A (en) * 1991-10-04 1993-04-30 Nec Home Electron Ltd Encoding method and decoding method for three-dimensional graphics picture data
JPH07262387A (en) * 1994-03-23 1995-10-13 Sony Corp Method and device for generating image
JPH08161510A (en) * 1994-12-02 1996-06-21 Sony Corp Texture mapping device
JP2001188449A (en) * 1999-12-27 2001-07-10 Canon Inc Printing controller, printing method and storage medium
JP2003006676A (en) * 2001-06-21 2003-01-10 Toppan Printing Co Ltd Two-dimensional cg image preparation system
JP2003167702A (en) * 2001-11-30 2003-06-13 Canon Inc Image processor, control method for image processor, program, and storage medium

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5490237A (en) * 1993-04-26 1996-02-06 Hewlett-Packard Company Page printer having improved system for receiving and printing raster pixel image data from a host computer
US6674433B1 (en) * 2000-03-10 2004-01-06 Intel Corporation Adaptively subdividing a subdivision surface
JP2002008060A (en) * 2000-06-23 2002-01-11 Hitachi Ltd Data processing method, recording medium and data processing device
US6806874B2 (en) * 2001-07-24 2004-10-19 International Business Machines Corporation Method and apparatus for providing sharp features on multiresolution subdivision surfaces
US7209258B1 (en) * 2002-05-21 2007-04-24 Adobe Systems Incorporated Complexity-based transparency flattening
US6975318B2 (en) * 2002-06-25 2005-12-13 Intel Corporation Polygon binning process for tile-based rendering
KR100524068B1 (en) * 2003-03-06 2005-10-26 삼성전자주식회사 Method and apparatus optimizing compression ratio of a image data
JP4193556B2 (en) * 2003-04-11 2008-12-10 コニカミノルタビジネステクノロジーズ株式会社 Job monitoring method and program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02228781A (en) * 1989-01-19 1990-09-11 Hewlett Packard Co <Hp> Polygonal smoothing method
JPH05108811A (en) * 1991-10-04 1993-04-30 Nec Home Electron Ltd Encoding method and decoding method for three-dimensional graphics picture data
JPH07262387A (en) * 1994-03-23 1995-10-13 Sony Corp Method and device for generating image
JPH08161510A (en) * 1994-12-02 1996-06-21 Sony Corp Texture mapping device
JP2001188449A (en) * 1999-12-27 2001-07-10 Canon Inc Printing controller, printing method and storage medium
JP2003006676A (en) * 2001-06-21 2003-01-10 Toppan Printing Co Ltd Two-dimensional cg image preparation system
JP2003167702A (en) * 2001-11-30 2003-06-13 Canon Inc Image processor, control method for image processor, program, and storage medium

Also Published As

Publication number Publication date
JP2006228088A (en) 2006-08-31
US20060192778A1 (en) 2006-08-31

Similar Documents

Publication Publication Date Title
JP6358354B2 (en) Information processing apparatus, program, information processing system, and information processing method
JP4613636B2 (en) Print data output device and print data output method
JP2006202083A (en) Image data creation apparatus and printer
JP2006178900A (en) Stereoscopic image generating device
JP4343207B2 (en) Game device and image processing program
JP2018176711A (en) Printing method of three-dimensional printer model
JP2012218412A (en) Printing device, printing method, and program
JPH07146931A (en) Picture generating method
JP3352982B2 (en) Rendering method and device, game device, and computer-readable recording medium for storing program for rendering three-dimensional model
JP3792149B2 (en) Image processing apparatus and image processing program
US6712700B1 (en) Stereo model displaying method and apparatus in video game, game apparatus, and computer-readable recording medium stored with stereo model displaying program for video game
US20060158667A1 (en) Image output system and method for notifying information
JP2006154884A (en) Image data generating device and printer
JP2006154885A (en) Image data generating device and printer
KR100210650B1 (en) Image control apparatus having printer
US7485041B2 (en) Program for projecting an image onto a character in a game, game machine incorporating the program, and storage medium having the program stored thereon
JP2008067296A (en) Method of processing image and apparatus of processing image
JP2008017274A (en) Electronic board with image reproduction function, its reproduction image generation method, and its program
JP5895394B2 (en) Game shooting device, game shooting method, and game shooting program
JP2004514964A (en) Rasterization of polyhedron in cylindrical coordinates
JP2007264966A (en) Stereoscopic image generation apparatus, stereoscopic image generation method, stereoscopic image generation program, recording medium, and stereoscopic image printer
JP4352778B2 (en) Printing apparatus, printing method, and printing program
JP3647348B2 (en) Image processing apparatus and image processing method
JPH07287774A (en) Printer
JP2006281583A (en) Printing tray and printing system

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070404

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100713

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100830

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100921

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101004

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131029

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees