JP7471512B2 - Drawing processing device, drawing processing system, drawing processing method, and drawing processing program - Google Patents
Drawing processing device, drawing processing system, drawing processing method, and drawing processing program Download PDFInfo
- Publication number
- JP7471512B2 JP7471512B2 JP2023508301A JP2023508301A JP7471512B2 JP 7471512 B2 JP7471512 B2 JP 7471512B2 JP 2023508301 A JP2023508301 A JP 2023508301A JP 2023508301 A JP2023508301 A JP 2023508301A JP 7471512 B2 JP7471512 B2 JP 7471512B2
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- unit
- target
- polygon model
- information
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims description 6
- 239000000872 buffer Substances 0.000 claims description 714
- 238000009877 rendering Methods 0.000 claims description 110
- 238000000034 method Methods 0.000 claims description 74
- 238000002156 mixing Methods 0.000 claims description 61
- 238000004364 calculation method Methods 0.000 claims description 54
- 239000000203 mixture Substances 0.000 claims description 36
- 230000005484 gravity Effects 0.000 claims description 5
- 230000015654 memory Effects 0.000 description 78
- 238000010586 diagram Methods 0.000 description 41
- 238000009825 accumulation Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 230000008034 disappearance Effects 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Description
本開示は、描画情報を描画するための処理を行う描画処理装置、前記描画処理装置を用いる描画処理システム、描画処理方法、および描画処理プログラムに関するものである。 The present disclosure relates to a drawing processing device that performs processing to draw drawing information, a drawing processing system that uses the drawing processing device, a drawing processing method, and a drawing processing program.
ディスプレイなどの表示装置に2次元、3次元などのモデルの描画対象を表示させることがある。その際、2次元の描画対象はそのまま描画先のバッファである描画先バッファに描画されるが、3次元の描画対象は2次元に投影されてから描画先バッファに描画される。そして、描画先バッファのピクセルの中心が描画対象に含まれると、当該ピクセルが塗りつぶされ、描画対象が描画される。なお、描画対象は様々なサイズがあり、例えば1ピクセル未満の小さい描画対象から数ピクセルにまたがる描画対象もある。 Two-dimensional, three-dimensional, and other model objects may be displayed on a display device such as a monitor. In this case, two-dimensional objects are drawn directly into the destination buffer, which is the buffer to which the objects are drawn, while three-dimensional objects are projected into two dimensions and then drawn into the destination buffer. When the center of a pixel in the destination buffer falls within the object, that pixel is filled and the object is drawn. Note that objects come in a variety of sizes, from small objects less than one pixel to objects that span several pixels.
このような描画対象を描画する技術として、特許文献1の技術が開示されている。特許文献1には、描画処理装置が、小さな文字や細線などの特定の描画対象のみを高解像度レンダリングし、それ以外の描画対象を低解像度でレンダリングする技術が開示されている。
しかし、上記した従来の描画処理装置では、高解像度レンダリングというのは、すべてのピクセル位置に対して1ピクセル単位の処理を実施することであり、低解像度レンダリングというのは、座標値のうちX座標およびY座標において偶数値をとるピクセル位置に対する複数ピクセル単位の処理のみを実施することを示す。そのため、例えば、描画サイズが1ピクセル未満の小さい描画対象などは、ピクセルの中心に描画対象が位置していない場合、描画対象が描画されずに表示画面上から消失してしまう。However, in the conventional drawing processing device described above, high-resolution rendering refers to performing processing on a pixel-by-pixel basis for all pixel positions, while low-resolution rendering refers to performing processing on a multi-pixel basis only for pixel positions with even values in the X and Y coordinates. Therefore, for example, if a small drawing object with a drawing size of less than one pixel is not positioned at the center of a pixel, the drawing object will not be drawn and will disappear from the display screen.
本開示は、上記のような問題を解決するためになされたものであって、ピクセルの中心に2次元以上の描画対象が位置していない場合でも、描画対象が描画され、描画対象を表示画面上に表示できる描画処理装置、描画処理システム、描画処理方法、および描画処理プログラムを提供することを目的とする。The present disclosure has been made to solve the above-mentioned problems, and aims to provide a drawing processing device, a drawing processing system, a drawing processing method, and a drawing processing program that can draw a drawing object and display the drawing object on a display screen even if the drawing object is not located at the center of a pixel in two or more dimensions.
本開示に係る描画処理装置は、2次元以上の描画対象の位置に対応したバッファ内のピクセルに点を打ち、前記描画対象を前記バッファに描画する打点部と、前記バッファに描画されたシーンを出力装置に出力するように制御する出力制御部と、前記描画対象が、描画先となる第一のバッファに描画される第一の描画対象と、前記第一のバッファとは異なるバッファである第二のバッファに描画される第二の描画対象とのいずれであるかを判定する適用判定部と、前記適用判定部によって前記第一の描画対象と判定された前記描画対象を前記第一のバッファに描画する第一の描画対象描画部と、前記描画対象の透過度を表すアルファ値で前記第一のバッファに前記第二のバッファをアルファブレンドするブレンド処理部とを備え、前記バッファは、前記第二のバッファであり、前記打点部は、前記第二の描画対象の位置に対応した前記第二のバッファ内のピクセルに点を打ち、前記第二の描画対象を前記第二のバッファに描画し、前記出力制御部は、アルファブレンドした前記第一のバッファに描画されたシーンを前記出力装置に出力するように制御する。 The drawing processing device according to the present disclosure includes a dotting unit that draws dots on pixels in a buffer corresponding to a position of a drawing object in two or more dimensions, and draws the drawing object in the buffer; an output control unit that controls the scene drawn in the buffer to be output to an output device; an application determination unit that determines whether the drawing object is a first drawing object to be drawn in a first buffer that is a drawing destination, or a second drawing object to be drawn in a second buffer that is a buffer different from the first buffer; a first drawing object drawing unit that draws the drawing object determined to be the first drawing object by the application determination unit in the first buffer; and a blending processing unit that alpha-blends the second buffer into the first buffer with an alpha value that represents the transparency of the drawing object, wherein the buffer is the second buffer, the dotting unit draws dots on pixels in the second buffer that correspond to the position of the second drawing object, and draws the second drawing object in the second buffer, and the output control unit controls the scene drawn in the first buffer after alpha blending to be output to the output device .
本開示に係る描画処理システムは、2次元以上の描画対象の入力を受け付ける入力装置と、前記描画対象をバッファにシーンとして描画する描画処理を行う描画処理装置と、
前記シーンを出力する出力装置とを備え、前記描画処理装置は、前記描画対象の位置に対応した前記バッファ内のピクセルに点を打ち、前記描画対象を前記バッファに描画する打点部と、前記バッファに描画されたシーンを前記出力装置に出力するように制御する出力制御部と、前記描画対象が、描画先となる第一のバッファに描画される第一の描画対象と、前記第一のバッファとは異なるバッファである第二のバッファに描画される第二の描画対象とのいずれであるかを判定する適用判定部と、前記適用判定部によって前記第一の描画対象と判定された前記描画対象を前記第一のバッファに描画する第一の描画対象描画部と、前記描画対象の透過度を表すアルファ値で前記第一のバッファに前記第二のバッファをアルファブレンドするブレンド処理部とを備え、前記バッファは、前記第二のバッファであり、前記打点部は、前記第二の描画対象の位置に対応した前記第二のバッファ内のピクセルに点を打ち、前記第二の描画対象を前記第二のバッファに描画し、前記出力制御部は、アルファブレンドした前記第一のバッファに描画されたシーンを前記出力装置に出力するように制御する。
The present disclosure relates to a drawing processing system, which includes: an input device that accepts an input of a two or more dimensional drawing object; and a drawing processing device that performs drawing processing to draw the drawing object as a scene in a buffer;
and an output device that outputs the scene, wherein the drawing processing device comprises a dotting unit that draws dots on pixels in the buffer corresponding to a position of the drawing object, and draws the drawing object in the buffer; an output control unit that controls so as to output the scene drawn in the buffer to the output device ; an application determination unit that determines whether the drawing object is a first drawing object to be drawn in a first buffer that is a drawing destination, or a second drawing object to be drawn in a second buffer that is a buffer different from the first buffer; a first drawing object drawing unit that draws the drawing object determined to be the first drawing object by the application determination unit in the first buffer; and a blending processing unit that alpha-blends the second buffer into the first buffer with an alpha value that represents a transparency of the drawing object, wherein the buffer is the second buffer, and the dotting unit draws dots on pixels in the second buffer corresponding to a position of the second drawing object, and the output control unit controls so as to output the alpha-blended scene drawn in the first buffer to the output device .
本開示に係る描画処理方法は、打点部が、2次元以上の描画対象の位置に対応したバッファ内のピクセルに点を打ち、前記描画対象を前記バッファに描画するステップと、出力制御部が、前記バッファに描画されたシーンを出力装置に出力するように制御するステップと、適用判定部が、前記描画対象が、描画先となる第一のバッファに描画される第一の描画対象と、前記第一のバッファとは異なるバッファである第二のバッファに描画される第二の描画対象とのいずれであるかを判定するステップと、第一の描画対象描画部が、前記適用判定部によって前記第一の描画対象と判定された前記描画対象を前記第一のバッファに描画するステップと、ブレンド処理部が、前記描画対象の透過度を表すアルファ値で前記第一のバッファに前記第二のバッファをアルファブレンドするステップとを備え、前記バッファは、前記第二のバッファであり、前記打点部は、前記第二の描画対象の位置に対応した前記第二のバッファ内のピクセルに点を打ち、前記第二の描画対象を前記第二のバッファに描画し、前記出力制御部は、アルファブレンドした前記第一のバッファに描画されたシーンを前記出力装置に出力するように制御する。 The drawing processing method according to the present disclosure includes a step of a dotting unit dotting pixels in a buffer corresponding to a position of a two or more dimensional drawing object, and drawing the drawing object in the buffer; a step of an output control unit controlling the output of the scene drawn in the buffer to an output device ; a step of an application determination unit determining whether the drawing object is a first drawing object to be drawn in a first buffer that is a drawing destination, or a second drawing object to be drawn in a second buffer that is a buffer different from the first buffer; a step of a first drawing object drawing unit drawing the drawing object determined to be the first drawing object by the application determination unit in the first buffer; and a step of a blending processing unit alpha-blending the second buffer into the first buffer with an alpha value representing the transparency of the drawing object, wherein the buffer is the second buffer, the dotting unit dotting pixels in the second buffer corresponding to the position of the second drawing object, and drawing the second drawing object in the second buffer, and the output control unit controlling the output of the alpha-blended scene drawn in the first buffer to the output device .
本開示に係る描画処理プログラムは、コンピュータに、2次元以上の描画対象の位置に対応したバッファ内のピクセルに点を打ち、前記描画対象を前記バッファに描画する処理と、前記バッファに描画されたシーンを出力装置に出力するように制御する処理と、前記描画対象が、描画先となる第一のバッファに描画される第一の描画対象と、前記第一のバッファとは異なるバッファである第二のバッファに描画される第二の描画対象とのいずれであるかを判定する処理と、前記判定する処理において前記第一の描画対象と判定された前記描画対象を前記第一のバッファに描画する処理と、前記描画対象の透過度を表すアルファ値で前記第一のバッファに前記第二のバッファをアルファブレンドする処理とを行わせ、前記バッファは、前記第二のバッファであり、前記コンピュータに、前記第二の描画対象の位置に対応した前記第二のバッファ内のピクセルに点を打たせ、前記第二の描画対象を前記第二のバッファに描画させ、前記コンピュータを、アルファブレンドした前記第一のバッファに描画されたシーンを前記出力装置に出力するように制御する。 A drawing processing program according to the present disclosure causes a computer to perform the following processes: drawing dots on pixels in a buffer corresponding to a position of a drawing object in two or more dimensions, and drawing the drawing object in the buffer; controlling the computer to output the scene drawn in the buffer to an output device; determining whether the drawing object is a first drawing object to be drawn in a first buffer that is a drawing destination, or a second drawing object to be drawn in a second buffer that is a buffer different from the first buffer; drawing the drawing object determined to be the first drawing object in the determining process in the first buffer; and alpha-blending the second buffer with the first buffer using an alpha value that represents the transparency of the drawing object, the buffer being the second buffer; and controlling the computer to draw dots on pixels in the second buffer corresponding to the position of the second drawing object, and draw the second drawing object in the second buffer, and output the alpha-blended scene drawn in the first buffer to the output device .
本開示によれば、打点部が2次元以上の描画対象の位置に対応したバッファ内のピクセルに点を打ち、描画対象をバッファに描画し、出力制御部がバッファに描画されたシーンを出力装置に出力するように制御するので、ピクセルの中心に2次元以上の描画対象が位置していない場合でも、描画対象が描画され、描画対象を表示画面上に表示させることができる。According to the present disclosure, the dotting unit puts a dot on a pixel in the buffer corresponding to the position of a drawing object in two or more dimensions, draws the drawing object in the buffer, and the output control unit controls so as to output the scene drawn in the buffer to an output device, so that even if the drawing object in two or more dimensions is not located at the center of the pixel, the drawing object can be drawn and displayed on the display screen.
実施の形態1.
実施の形態1では、一例として、シーン全体の描画の情報である描画情報内に、ピクセルの中心に描画対象が位置していない描画対象がある場合について、本開示を適用した場合を以下に説明する。
In
本開示を適用する描画処理システムでは、まず描画対象が、詳細に描画を行う詳細描画処理を適用してから描画先バッファに描画する適用描画対象と、詳細描画処理は適用せず、描画先バッファにそのまま描画する不適用描画対象とに分けられる。描画処理システムは、不適用描画対象を描画先バッファにそのまま描画し、適用描画対象の面積を算出し、算出した面積から適用描画対象の透過度を表すアルファ値を決定する。描画処理システムは、描画先バッファとは異なるバッファである詳細バッファに適用描画対象を描画し、描画されたピクセル数を取得する。描画処理システムは、適用描画対象ごとに取得した描画されたピクセル数から、詳細バッファに描画されず、消失してしまった適用描画対象である消失適用描画対象を特定し、消失適用描画対象の位置に対応した詳細バッファ内のピクセルに点を打ち、消失適用描画対象を詳細バッファに描画する。描画処理システムは、詳細バッファに描画された消失適用描画対象に対応するピクセルにおいて、消失適用描画対象のアルファ値で消失適用描画対象のRGB値をアルファブレンドすることにより、消失適用描画対象を描画先バッファに描画する。このようにすることによって、ピクセルの中心に描画対象が位置していない場合でも、描画対象が描画され、描画対象を表示画面上に表示させることができる。以下に詳細に説明する。In a drawing processing system to which the present disclosure is applied, drawing targets are first divided into applied drawing targets that are drawn in the drawing destination buffer after applying detailed drawing processing that performs detailed drawing, and non-applied drawing targets that are drawn directly in the drawing destination buffer without applying detailed drawing processing. The drawing processing system draws the non-applied drawing targets directly in the drawing destination buffer, calculates the area of the applied drawing targets, and determines an alpha value representing the transparency of the applied drawing targets from the calculated area. The drawing processing system draws the applied drawing targets in a detailed buffer that is a buffer different from the drawing destination buffer, and obtains the number of drawn pixels. From the number of drawn pixels obtained for each applied drawing target, the drawing processing system identifies the lost applied drawing targets that are the applied drawing targets that have not been drawn in the detailed buffer and have disappeared, and draws a dot in the pixel in the detailed buffer that corresponds to the position of the lost applied drawing target, and draws the lost applied drawing target in the detail buffer. The drawing processing system draws the lost applied drawing targets in the drawing destination buffer by alpha blending the RGB values of the lost applied drawing targets with the alpha value of the lost applied drawing targets at the pixels corresponding to the lost applied drawing targets drawn in the detail buffer. By doing so, even if the drawing object is not positioned at the center of a pixel, the drawing object can be drawn and displayed on the display screen. This will be described in detail below.
図1は、実施の形態1に係る描画処理装置100を含む描画処理システム1のブロック図である。描画処理システム1は、描画情報に含まれる各描画対象において詳細描画処理を適用するか否かのタグ情報と描画情報とが入力される入力装置4と、描画情報とタグ情報とを用いて、描画情報を描画する処理を行う描画処理装置100と、描画処理装置100で処理されたシーンを出力する出力装置5とを備えている。
Figure 1 is a block diagram of a
入力装置4は、例えば、ユーザーによって入力されたポリゴンモデルなどの描画対象の情報を含むシーン全体の描画情報を受け付ける。ユーザーは、各描画対象に対して、描画サイズの大きさ、輝度、重要度などを見て、適用描画対象と不適用描画対象とのいずれであるかのタグ付けをする。入力装置4は、ユーザーによって各描画対象に対するタグ付けをタグ情報として入力を受け付ける。
The
描画処理装置100は、描画情報を描画先バッファにシーンとして描画する描画処理を行う。具体的には、描画処理装置100は、詳細描画処理を適用しないとタグ付けされた不適用描画対象を描画先バッファに描画する。描画処理装置100は、詳細描画処理を適用するとタグ付けされた適用描画対象の面積を算出し、算出した面積から適用描画対象の透過度を表すアルファ値を決定する。描画処理装置100は、描画先バッファとは異なるバッファである詳細バッファに適用描画対象を描画し、描画されたピクセル数を取得する。描画処理装置100は、適用描画対象ごとに取得した描画されたピクセル数から、詳細バッファに描画されず、消失してしまった適用描画対象である消失適用描画対象を特定し、消失適用描画対象の位置に対応した詳細バッファ内のピクセルに点を打ち、消失適用描画対象を詳細バッファに描画する。描画処理装置100は、詳細バッファに描画された消失適用描画対象に対応するピクセルにおいて、消失適用描画対象のアルファ値で消失適用描画対象のRGB値をアルファブレンドすることにより、消失適用描画対象を描画先バッファに描画する。このように、消失適用描画対象の位置に対応した詳細バッファ内のピクセルに点を打ち、消失適用描画対象を詳細バッファに描画することにより、ピクセルの中心に描画対象が位置していない場合でも、描画対象が描画され、描画対象を表示画面上に表示させることができる。The
出力装置5は、描画処理装置100で描画先バッファに描画されたシーンを出力する。出力装置5は、例えば、ディスプレイなどの表示装置であり、描画処理装置100で描画先バッファに描画されたシーンを表示する。The
次に描画処理装置100について、同様に図1を用いて、以下に説明する。Next, the
描画処理装置100は、入力装置4から描画対象を含む描画情報とタグ情報とを取得する取得部101と、描画先バッファと詳細バッファとを作成する作成部102と、タグ情報を用いて描画対象を詳細描画処理するか否かによって、描画対象が、描画先バッファに描画される不適用描画対象と、描画先バッファとは異なるバッファである詳細バッファに描画される適用描画対象とのいずれであるかを判定する適用判定部106と、詳細描画処理を適用しないとタグ付けされた不適用描画対象を描画先バッファに描画する不適用描画対象描画部107と、詳細描画処理を適用するとタグ付けされた適用描画対象の面積を算出する算出部104と、算出した面積から適用描画対象のアルファ値を決定する決定部105と、詳細バッファに適用描画対象を描画し、描画されたピクセル数を取得する適用描画対象描画部108と、適用描画対象ごとに取得した描画されたピクセル数から、詳細バッファに描画されず、消失してしまった適用描画対象である消失適用描画対象を特定し、消失適用描画対象の位置に対応した詳細バッファ内のピクセルに点を打ち、消失適用描画対象を詳細バッファに描画する打点部112と、詳細バッファで塗られたピクセルに対応して、消失適用描画対象を含む適用描画対象のアルファ値で消失適用描画対象を含む適用描画対象のRGB値をアルファブレンドすることにより、消失適用描画対象を含む適用描画対象を描画先バッファに描画するブレンド処理部110と、出力装置5に描画先バッファに描画されたシーンを出力するよう制御する出力制御部111と、描画先バッファを記憶する描画先バッファ記憶部103と、詳細バッファを記憶する詳細バッファ記憶部109とを備えている。なお、描画先バッファは、第一のバッファに対応し、詳細バッファは第二のバッファに対応する。不適用描画対象は、第一の描画対象に対応し、適用描画対象は、第二の描画対象に対応する。不適用描画対象描画部107は、第一の描画対象描画部に対応し、適用描画対象描画部108は、第二の描画対象描画部に対応する。The
次に、実施の形態1に係る描画処理システム1のハードウェア構成について説明する。
Next, we will explain the hardware configuration of the
図2は、実施の形態1に係る描画処理システム1のハードウェア構成図である。図2を用いて、実施の形態1に係る描画処理装置100を含む描画処理システム1の構成について説明する。
Figure 2 is a hardware configuration diagram of the
描画処理システム1は、一例として、バス41、CPU(Central Processing Unit)42、メインメモリ43、GPU(Graphics Processing Unit)44、グラフィックメモリ45、入力インターフェース46、出力インターフェース47とで構成されている。
The
バス41は、各装置間を電気的に接続し、データのやり取りを行う信号経路である。描画処理システム1の装置間及び機器間は通信を介して接続されている。用いる通信については、有線通信でも無線通信でもよい。The
CPU42は、メインメモリ43に格納されるプログラムを読み込み、実行する。具体的には、CPU42は、メインメモリ42に記憶したOS(Operating System)の少なくとも一部をロードし、OSを実行しながら、プログラムを実行する。CPU42は、バス41を介して他の装置と接続し、当該装置を制御する。CPU42は、プロセッシングを行うIC(Integrated Circuit)であればいいので、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)であってもよい。The
メインメモリ43は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアの組み合わせが記述されたプログラム、OSを記憶する。また、メインメモリ43は、各種情報等を記憶する。メインメモリ43は、例えば、RAM(Random Access Memory)等の揮発性の半導体メモリ、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)、HDD(Hard Disk Drive)等の不揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD(Digital Versatile Disc)といった可搬記録媒体等である。The
GPU44は、グラフィックメモリ45に格納されるプログラムを読み込み、描画処理を実行する。具体的には、GPU44は、グラフィックメモリ45に記憶したOSの少なくとも一部をロードし、OSを実行しながら、描画処理のプログラムを実行する。描画処理装置100の取得部101と、作成部102と、適用判定部106と、不適用描画対象描画部107と、算出部104と、決定部105と、適用描画対象描画部108と、打点部112と、ブレンド処理部110と、出力制御部111とは、GPU44がグラフィックメモリ45にロードしたプログラムを読み込み、実行することにより実現する。The
グラフィックメモリ45は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアの組み合わせが記述されたプログラム、OSを記憶する。また、グラフィックメモリ45は、各種情報等を記憶する。グラフィックメモリ45は、例えば、RAM等の揮発性の半導体メモリ、ROM、フラッシュメモリ、EPROM、EEPROM、HDD等の不揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVDといった可搬記録媒体等である。描画処理装置100の取得部101と、作成部102と、適用判定部106と、不適用描画対象描画部107と、算出部104と、決定部105と、適用描画対象描画部108と、打点部112と、ブレンド処理部110と、出力制御部111とは、グラフィックメモリ45に記憶するプログラムによって実現する。また、描画先バッファを記憶する描画先バッファ記憶部103と、詳細バッファを記憶する詳細バッファ記憶部109とは、グラフィックメモリ45によって実現される。The
なお、グラフィックメモリ45は、描画処理装置100の取得部101と、作成部102と、適用判定部106と、不適用描画対象描画部107と、算出部104と、決定部105と、適用描画対象描画部108と、打点部112と、ブレンド処理部110と、出力制御部111との機能それぞれを別々のメモリで実現してもよい。また、描画先バッファ記憶部103と、詳細バッファ記憶部109それぞれを別々のメモリで実現してもよい。
The
実施の形態1では、描画処理装置100が行う描画処理を含む処理は、GPU44及びグラフィックメモリ45で行い、描画処理装置100が行う描画処理を含む処理以外の処理は、CPU42及びメインメモリ43で行う。なお、描画処理システム1は、CPU42とGPU44のどちらか一方だけ備えていて、備えている方がすべての処理を実現してもよい。また、描画処理システム1は、メインメモリ43とグラフィックメモリ45のどちらか一方だけ備えていて、備えているメモリが備えていない方のメモリと同様の機能を実現してもよい。各部の情報等は、メインメモリ43、グラフィックメモリ45のどちらに記憶されてもよい。また、各部の情報等は、メインメモリ43、グラフィックメモリ45を組み合わせて記憶されてもよい。In the first embodiment, the processing including the drawing processing performed by the
入力インターフェース46は、描画情報及びタグ情報を入力可能とする装置である。入力インターフェース46は、例えば、キーボード、マウス、音声入力などでの入力、通信を介した情報の受信などである。入力装置4は、入力インターフェース46にて実現する。
The
出力インターフェース47は、描画されたシーンを出力する装置である。出力インターフェース47は、例えば、ディスプレイ、プロジェクターなどの表示装置である。出力装置5は、出力インターフェース47にて実現する。
The
なお、描画処理システム1の各機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせにより実現できる。描画処理システム1の各機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。例えば、描画処理システム1の一部は専用のハードウェアとしての処理回路でその機能を実現し、残りの部分はCPUがメモリに格納されたプログラムを読み出して実行することによってその機能を実現してもよい。ソフトウェア、ファームウェア、またはソフトウェアとファームウェアの組み合わせはプログラムとして記述されていればよい。
Each function of the
次に、描画処理システム1の動作について説明する。
Next, the operation of the
図3は、実施の形態1に係る描画処理システム1の動作を示すフローチャートである。図3を用いて、描画処理システム1の動作を以下に説明する。
Figure 3 is a flowchart showing the operation of the
ステップS1において、入力装置4は、描画対象を含む描画情報の入力を受け付ける。例えば、ユーザーがマウス、キーボードなどを用いて、描画情報を指定して入力装置4に入力し、入力装置4は、当該入力を受け付ける。In step S1, the
なお、入力装置4が受け付ける描画情報は、ユーザーが指定しなくても、通信を介して受信した描画情報、予め定められた基準を満たしたものを自動的に抽出した描画情報、機械学習で抽出した描画情報など、どのようなものでもよい。実施の形態1では、例えば、描画対象を3次元のポリゴンモデルとし、描画情報はポリゴンモデルである描画対象の情報を含んでいるとする。ポリゴンモデルである描画対象の情報とは、RGB値、位置情報などである。
The drawing information received by the
図4は、実施の形態1の描画情報の一例である。描画情報は、描画対象であるポリゴンモデル51と、ポリゴンモデル52と、ポリゴンモデル53と、ポリゴンモデル54とを含むとする。なお、図4では、描画の流れがわかりやすいように描画先バッファと同じ大きさのバッファの上にポリゴンモデル51~54が描画されているように表示している。
Figure 4 is an example of drawing information in
図3に戻って、入力装置4は、描画情報と共に、受け付けた描画情報に含まれる描画対象において、適用描画対象と不適用描画対象とのいずれであるかの情報であるタグ情報の入力を受け付ける。なお、タグ情報は、各描画対象に対応している。Returning to FIG. 3, the
例えば、ユーザーは、描画対象ごとに、描画サイズの大きさを基に、描画対象であるポリゴンモデルが詳細描画処理を行わなくてもいいほど大きいサイズか、それとも描画対象であるポリゴンモデルが詳細描画処理を行うほど小さいサイズかを判定する。ユーザーは、マウス、キーボード、音声入力などを用いて、大きいサイズであると判定した描画対象を不適用描画対象、小さいサイズと判定した描画対象を適用描画対象として、描画対象ごとにタグ付けをしたタグ情報を入力装置4に入力する。入力装置4は、当該入力を受け付ける。
For example, the user determines for each drawing target based on the drawing size whether the polygon model to be drawn is large enough that detailed drawing processing is not required, or whether the polygon model to be drawn is small enough that detailed drawing processing is required. The user inputs tag information tagging each drawing target into the
実施の形態1では、図4の描画情報に対して、ポリゴンモデル51~53は、詳細描画処理を行うほど小さいサイズであるとユーザーに判定されて、ポリゴンモデル54は、詳細描画処理を行わなくてもいいほど大きいサイズであるとユーザーに判定されたとする。入力装置4は、ユーザーによって入力された、ポリゴンモデル51が適用描画対象であるとタグ付けされたタグ情報と、ポリゴンモデル52が適用描画対象であるとタグ付けされたタグ情報と、ポリゴンモデル53が適用描画対象であるとタグ付けされたタグ情報と、ポリゴンモデル54が不適用描画対象であるとタグ付けされたタグ情報とを受け付けたとする。In the first embodiment, it is assumed that, with respect to the drawing information in Fig. 4, the user has determined that
なお、適用描画対象と不適用描画対象とのいずれであるかを判定する基準は、描画対象のサイズの大きさに限らない。例えば、ユーザーは、輝度、重要度などを基準に適用描画対象と不適用描画対象とのいずれであるかを判定してもよい。また、ユーザーは、描画サイズの大きさ、輝度、重要度などを組み合わせたものを基準に適用描画対象と不適用描画対象とのいずれであるかを判定してもよい。具体的には、ユーザーは、重要度が高く描画対象が消えてほしくないと判定した描画対象を適用描画対象、重要度が低い描画対象を不適用描画対象としてもよい。また、ユーザーは、描画対象のサイズが予め定められたサイズ以下で、描画対象の輝度が予め定められた輝度以上であった場合、適用描画対象とし、それ以外の描画対象を不適用描画対象としてもよい。描画対象が適用描画対象と不適用描画対象とのいずれであるかの判断は、ユーザーの好みで判定してもよい。 Note that the criteria for determining whether a drawing target is an applied drawing target or a non-applied drawing target are not limited to the size of the drawing target. For example, the user may determine whether a drawing target is an applied drawing target or a non-applied drawing target based on luminance, importance, etc. The user may also determine whether a drawing target is an applied drawing target or a non-applied drawing target based on a combination of the drawing size, luminance, importance, etc. Specifically, the user may determine a drawing target that is determined to be of high importance and that the user does not want to disappear as an applied drawing target, and a drawing target that is of low importance as a non-applied drawing target. The user may also determine a drawing target as an applied drawing target if its size is equal to or smaller than a predetermined size and its luminance is equal to or greater than a predetermined luminance, and other drawing targets as non-applied drawing targets. The determination of whether a drawing target is an applied drawing target or a non-applied drawing target may be determined based on the user's preference.
図3に戻って、入力装置4は、描画情報とタグ情報とを描画処理装置100に送信し、ステップS2に進む。Returning to Figure 3, the
ステップS2において、描画処理装置100は、入力装置4から描画情報とタグ情報とを受信する。描画処理装置100は、受信した描画情報とタグ情報とを用いて、描画処理を行う。詳細については、後述する。描画処理装置100は、描画先バッファに描画されたシーンを出力するように出力装置5を制御し、ステップS3に進む。In step S2, the
ステップS3において、出力装置5は、描画処理装置100の制御によって、描画先バッファに描画されたシーンをディスプレイなどの表示装置に出力する。In step S3, the
ステップS3を実行した後もステップS1に戻り、電源をOFFにすること、あるいは終了操作がなされる等の処理の終了のトリガーがあるまで上記のような処理を繰り返す。なお、上記のような処理を繰り返すとしたが、繰り返さず一回行うだけでもよい。After step S3 is executed, the process returns to step S1, and the above-described process is repeated until a trigger for terminating the process occurs, such as turning off the power or performing an end operation. Note that although the above-described process is repeated, it is also possible to perform the process only once without repeating it.
次に、描画処理装置100の動作について説明する。Next, the operation of the
図5は、実施の形態1に係る描画処理装置100の動作を示すフローチャートである。図5を用いて、描画処理装置100の動作を以下に説明する。
Figure 5 is a flowchart showing the operation of the
ステップS11において、取得部101は、入力装置4から描画情報とタグ情報とを取得する。取得部101は、描画情報とタグ情報とを作成部102に送信し、ステップS12に進む。In step S11, the
ステップS12において、作成部102は、取得部101から描画情報とタグ情報とを受信し、描画先バッファ記憶部103に描画先バッファを作成する。また、作成部102は、詳細バッファ記憶部109に詳細バッファを作成する。当該詳細バッファには、適用描画対象すべてが描画されることになる。なお、詳細バッファは、描画先バッファと同じ解像度である。In step S12, the
図6は、実施の形態1の描画先バッファ55及び詳細バッファ56の図である。実施の形態1では、描画先バッファ55は、縦が8ピクセルで、横が8ピクセルの合計64ピクセルとする。詳細バッファ56も、縦が8ピクセルで、横が8ピクセルの合計64ピクセルとする。つまり、詳細バッファ56は、描画先バッファ55と同じ解像度となる。
Figure 6 is a diagram of the
図5に戻って、作成部102は、描画情報とタグ情報とを適用判定部106に送信し、ステップS13に進む。Returning to Figure 5, the
ステップS13において、適用判定部106は、作成部102から描画情報とタグ情報とを受信し、タグ情報を用いて、描画対象が適用描画対象と不適用描画対象とのいずれであるかを判定する。適用判定部106は、描画情報と、不適用描画対象である描画対象のタグ情報のすべてとを不適用描画対象描画部107に送信する。不適用描画対象描画部107は、適用判定部106から描画情報と、不適用描画対象である描画対象のタグ情報とを受信し、描画先バッファ記憶部103の描画先バッファに不適用描画対象を描画する。In step S13, the
実施の形態1では、適用判定部106は、図4の描画情報に対して、描画情報と、不適用描画対象であるとタグ付けされたポリゴンモデル54のタグ情報とを不適用描画対象描画部107に送信する。不適用描画対象描画部107は、適用判定部106から描画情報と、不適用描画対象であるとタグ付けされたポリゴンモデル54のタグ情報とを受信し、描画先バッファ記憶部103の描画先バッファ55にポリゴンモデル54を描画する。In the first embodiment, the
図7は、不適用描画対象のポリゴンモデル54を描画先バッファ55に描画した描画結果57と不適用描画対象のポリゴンモデル54とを重畳した図である。図7の描画結果57のように、不適用描画対象描画部107は、ポリゴンモデル54の形に類似するように描画先バッファ55のピクセルを描画情報に含まれる描画対象に付随したRGB値で塗りつぶす。
Figure 7 is a diagram superimposing the non-applied drawing
図8は、不適用描画対象のポリゴンモデル54を描画先バッファ55に描画した描画結果57を示した図である。図8は図7のポリゴンモデル54の重畳表示をなくし、実際の描画結果57のみを示している。
Figure 8 shows the
図5に戻って、不適用描画対象描画部107が描画先バッファに不適用描画対象を描画し終えたら、不適用描画対象描画部107は、描画先バッファへの描画の終了の通知を適用処理部106とブレンド処理部110に送信し、ステップS14に進む。Returning to Figure 5, when the non-applicable drawing
ステップS14において、適用判定部106は、不適用描画対象描画部107から描画先バッファへの描画の終了の通知を受信すると、描画情報と、適用描画対象である描画対象のタグ情報とを算出部104に送信する。In step S14, when the
実施の形態1では、適用判定部106は、図4の描画情報に対して、描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル51のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル52のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル53のタグ情報とを算出部104に送信する。
In
算出部104は、適用判定部106から描画情報と、適用描画対象である描画対象のタグ情報とを受信し、適用描画対象の面積を算出する。面積の算出方法は、適用描画対象ごとの面積を正確に計算してもよいし、バウンディングボックスなどを用いて近似して、適用描画対象ごとの面積の概算をしてもよい。なお、3次元の適用描画対象の場合は、適用描画対象を2次元に投影変換してから、適用描画対象の面積を計算する。The
図9は、バウンディングボックス80を用いて3次元の描画対象81を2次元に投影変換して描画対象81の面積を概算することを示した概念図である。例えば、描画対象81の面積を概算する方法としては、家の形をした3次元の描画対象81をバウンディングボックス80で囲み、2次元に投影変換したい面に対応するバウンディングボックス80の面積82を3次元の描画対象81を2次元に投影変換したときの描画対象81の面積の概算値とする。
Figure 9 is a conceptual diagram showing how a three-
なお、図9は2次元に投影変換したい面にちょうどバウンディングボックス80の1面が重なっていたが、バウンディングボックス80の1面が重ならなくても、2次元に投影変換したい面にバウンディングボックス80を投影変換すれば、3次元の描画対象81を2次元に投影変換したときの描画対象81の面積の概算値は求まる。また、図9は平行投影について説明したが、透視投影などでも適用可能である。
In Fig. 9, one face of the
このように、バウンディングボックス80を用いて3次元の描画対象81を2次元に投影変換して描画対象81の面積を概算することで、描画対象81をそのまま2次元に投影変換して描画対象81の面積を求めるよりも描画処理負荷を低減することができる。なお、描画対象81が複雑な形ほど描画処理負荷が高くなるため、描画対象81が複雑な形ほどバウンディングボックス80を用いて3次元の描画対象81を2次元に投影変換して描画対象81の面積を概算すると描画処理負荷の低減の効果が高くなる。In this way, by projecting the three-
図5に戻って、実施の形態1では、算出部104は、適用判定部106から描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル51のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル52のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル53のタグ情報とを受信する。Returning to Figure 5, in
算出部104は、ポリゴンモデル51~53の面積を算出する。算出部104は、例えば、ポリゴンモデル51の面積を0.4ピクセル、ポリゴンモデル52の面積を0.7ピクセル、ポリゴンモデル53の面積を1.2ピクセルと算出したとする。以降は、算出部104が算出した適用描画対象の面積を示した情報を面積情報と呼ぶ。
The
算出部104は、描画情報と、適用描画対象である描画対象のタグ情報と、適用描画対象の面積情報とを決定部105に送信し、ステップS15に進む。The
ステップS15において、決定部105は、算出部104から描画情報と、適用描画対象である描画対象のタグ情報と、適用描画対象の面積情報とを受信する。決定部105は、面積情報を用いて、適用描画対象の透過度を表すアルファ値を決定する。具体的には、決定部105は、面積情報から、適用描画対象の面積が1.0ピクセル以下の面積の場合は、当該面積を適用描画対象のアルファ値に決定する。一方、決定部105は、面積情報から、適用描画対象の面積が1.0ピクセルよりも大きい面積の場合は、1.0を適用描画対象のアルファ値に決定する。In step S15, the
実施の形態1では、決定部105は、算出部104から描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル51のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル52のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル53のタグ情報と、ポリゴンモデル51の面積が0.4ピクセルであるという面積情報と、ポリゴンモデル52の面積が0.7ピクセルであるという面積情報と、ポリゴンモデル53の面積が1.2ピクセルであるという面積情報とを受信する。In
決定部105は、ポリゴンモデル51の面積情報を用いて、ポリゴンモデル51のアルファ値を決定する。具体的には、決定部105は、面積情報から、ポリゴンモデル51の面積が1.0ピクセル以下である0.4ピクセルであることが分かるため、ポリゴンモデル51のアルファ値を0.4に決定する。The
決定部105は、ポリゴンモデル52の面積情報を用いて、ポリゴンモデル52のアルファ値を決定する。具体的には、決定部105は、面積情報から、ポリゴンモデル52の面積が1.0ピクセル以下である0.7ピクセルであることが分かるため、ポリゴンモデル52のアルファ値を0.7に決定する。The
決定部105は、ポリゴンモデル53の面積情報を用いて、ポリゴンモデル53のアルファ値を決定する。具体的には、決定部105は、面積情報から、ポリゴンモデル53の面積が1.0ピクセルよりも大きい1.2ピクセルであることが分かるため、ポリゴンモデル53のアルファ値を1.0に決定する。以降は、決定部105が決定した適用描画対象のアルファ値を示した情報をアルファ値情報と呼ぶ。The
決定部105は、描画情報と、適用描画対象である描画対象のタグ情報と、適用描画対象のアルファ値情報とを適用描画対象描画部108に送信し、ステップS16に進む。The
ステップS16において、適用描画対象描画部108は、決定部105から描画情報と、適用描画対象である描画対象のタグ情報と、適用描画対象のアルファ値情報とを受信し、詳細バッファ記憶部109の詳細バッファに適用描画対象を描画する。このとき、詳細バッファにアルファ値情報も記憶される。また、適用描画対象描画部108は、詳細バッファに適用描画対象を描画する毎に、詳細バッファに描画されたピクセル数を取得する。In step S16, the applied drawing
実施の形態1では、適用描画対象描画部108は、決定部105から描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル51のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル52のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル53のタグ情報と、ポリゴンモデル51のアルファ値が0.4であるというアルファ値情報と、ポリゴンモデル52のアルファ値が0.7であるというアルファ値情報と、ポリゴンモデル53のアルファ値が1.0であるというアルファ値情報とを受信する。
In
適用描画対象描画部108は、詳細バッファ記憶部109の詳細バッファ56にポリゴンモデル51を描画する。
The applicable drawing
図10は、適用描画対象のポリゴンモデル51を詳細バッファ56に描画した描画結果58と複数のポリゴンモデル51~53とを重畳した図である。ポリゴンモデル51は、詳細バッファ56の1つのピクセルの中心を含むため、当該ピクセルが描画情報に含まれるポリゴンモデル51に付随したRGB値で塗りつぶされて、ポリゴンモデル51が描画される。ポリゴンモデル51が描画された結果が、図10の1ピクセルの描画結果58である。
Figure 10 shows a
図11は、適用描画対象のポリゴンモデル51を詳細バッファ56に描画した描画結果58を示した図である。図11は図10の複数のポリゴンモデル51~53の重畳表示をなくし、実際の描画結果58のみを示している。
Figure 11 shows the
適用描画対象描画部108は、ポリゴンモデル51のアルファ値情報から、描画結果58のピクセルに、ポリゴンモデル51のアルファ値が0.4であるというアルファ値を記憶させる。図11のピクセルの中の値は、記憶されているアルファ値を表す。The applied drawing
また、適用描画対象描画部108は、詳細バッファ56にポリゴンモデル51を描画する処理をした後、ポリゴンモデル51によって実際に詳細バッファ56が塗りつぶされたピクセル数を取得する。ポリゴンモデル51の場合は、図11から分かるように、適用描画対象描画部108は、詳細バッファ56に実際に描画されたピクセル数として1ピクセルという情報を取得する。In addition, after the applied drawing
同様に、適用描画対象描画部108は、詳細バッファ記憶部109の詳細バッファ56にポリゴンモデル52を描画する。Similarly, the applied drawing
しかし、ポリゴンモデル52は、詳細バッファ56のどのピクセルの中心も含まないため、描画されず消えてしまう。したがって、適用描画対象描画部108は、詳細バッファ56にポリゴンモデル52を描画する処理をしても、ポリゴンモデル51だけが描画された図10及び図11のようになってしまう。However, since
適用描画対象描画部108は、詳細バッファ56にポリゴンモデル52を描画する処理をした後、ポリゴンモデル52によって実際に詳細バッファ56が塗りつぶされたピクセル数を取得する。ポリゴンモデル52の場合は、図11から分かるように、ポリゴンモデル52によって詳細バッファ56が1ピクセルも塗りつぶされていないため、適用描画対象描画部108は、ピクセル数として0ピクセルという情報を取得する。After the applied drawing
次に、適用描画対象描画部108は、詳細バッファ記憶部109の詳細バッファ56にポリゴンモデル53を描画する。Next, the applicable drawing
図12は、適用描画対象のポリゴンモデル51を詳細バッファ56に描画した描画結果58と別の適用描画対象のポリゴンモデル53を詳細バッファ56に描画した描画結果59と複数のポリゴンモデル51~53とを重畳した図である。ポリゴンモデル53は、詳細バッファ56の1つのピクセルの中心を含むため、当該ピクセルが描画情報に含まれるポリゴンモデル53に付随したRGB値で塗りつぶされて、ポリゴンモデル53が描画される。ポリゴンモデル53が描画された結果が、図10の1ピクセルの描画結果59である。
Figure 12 is a diagram superimposing a
図13は、適用描画対象のポリゴンモデル51を詳細バッファ56に描画した描画結果58と別の適用描画対象のポリゴンモデル53を詳細バッファ56に描画した描画結果59とを示した図である。図13は図12の複数のポリゴンモデル51~53の重畳表示をなくし、実際の描画結果58~59のみを示している。
Figure 13 shows a
適用描画対象描画部108は、ポリゴンモデル53のアルファ値情報から、描画結果59のピクセルに、ポリゴンモデル53のアルファ値が1.0であるというアルファ値を記憶させる。図13の各ピクセルの中の値は、記憶されているアルファ値を表す。The applied drawing
また、適用描画対象描画部108は、詳細バッファ56にポリゴンモデル53を描画する処理をした後、ポリゴンモデル53によって実際に詳細バッファ56が塗りつぶされたピクセル数を取得する。ポリゴンモデル53の場合は、図13から分かるように、適用描画対象描画部108は、詳細バッファ56に実際に描画されたピクセル数として1ピクセルという情報を取得する。以降は、適用描画対象描画部108が取得した適用描画対象によって詳細バッファに描画されたピクセル数を示す情報をピクセル数情報と呼ぶ。
After the applied drawing
図5に戻って、適用描画対象描画部108は、描画情報と、適用描画対象である描画対象のタグ情報と、アルファ値情報と、ピクセル数情報とを打点部112に送信し、ステップS17に進む。Returning to Figure 5, the applied drawing
ステップS17において、打点部112は、適用描画対象描画部108から描画情報と、適用描画対象である描画対象のタグ情報と、アルファ値情報と、ピクセル数情報とを受信する。打点部112は、ピクセル数情報から、適用描画対象描画部108で描画されず消えてしまった適用描画対象である消失適用描画対象を特定し、消失適用描画対象の位置に対応した詳細バッファ内のピクセルに点を打ち、消失適用描画対象を詳細バッファに描画する。このとき、詳細バッファにアルファ値情報のアルファ値も記憶される。In step S17, the dotting
実施の形態1では、打点部112は、適用描画対象描画部108から描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル51のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル52のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル53のタグ情報と、ポリゴンモデル51のアルファ値が0.4であるというアルファ値情報と、ポリゴンモデル52のアルファ値が0.7であるというアルファ値情報と、ポリゴンモデル53のアルファ値が1.0であるというアルファ値情報と、ポリゴンモデル51によって詳細バッファ56に描画されたピクセル数が1ピクセルであるというピクセル数情報と、ポリゴンモデル52によって詳細バッファ56に描画されたピクセル数が0ピクセルであるというピクセル数情報と、ポリゴンモデル53によって詳細バッファ56に描画されたピクセル数が1ピクセルであるというピクセル数情報とを受信する。In
打点部112は、ピクセル数情報から、ピクセル数が0ピクセルである適用描画対象を適用描画対象描画部108で描画されず消えてしまった適用描画対象である消失適用描画対象として特定する。具体的には、打点部112は、ポリゴンモデル52のピクセル数情報が0ピクセルであるため、ポリゴンモデル52を消失適用描画対象として特定する。From the pixel count information, the dotting
打点部112は、消失適用描画対象であるポリゴンモデル52の位置に対応した詳細バッファ56内のピクセルに点を打ち、消失適用描画対象を詳細バッファに描画する。具体的には、打点部112は、ポリゴンモデル52の頂点の位置に対応した詳細バッファ56内のピクセルに点を打つ。ここで、2次元以上の描画対象を描画する場合は、バッファに対してピクセルの中心が描画対象に含まれると、当該ピクセルが塗りつぶされ、描画対象が描画されるが、1次元の描画対象を描画する場合、つまり点を描画する場合は、バッファに対して点が打たれたピクセルが塗りつぶされ、描画対象が描画される。したがって、打点部112は、ポリゴンモデル52の頂点の位置に対応した詳細バッファ56内のピクセルに点を打つことによって、消失適用描画対象であるポリゴンモデル52を詳細バッファ56に描画することができる。なお、打点部112は、円、楕円など頂点がない描画対象の場合は、多角形に近似して、多角形の頂点の位置に点を打つ。The dotting
図14は、適用描画対象のポリゴンモデル51を詳細バッファ56に描画した描画結果58と別の適用描画対象のポリゴンモデル53を詳細バッファ56に描画した描画結果59とさらに別の適用描画対象のポリゴンモデル52を詳細バッファ56に描画した描画結果60と複数のポリゴンモデル51~53とを重畳した図である。ポリゴンモデル52は、頂点が3つあるため、打点部112は、ポリゴンモデル52の3つの頂点の位置に対応した詳細バッファ56内のピクセルに点を打つ。すると、ポリゴンモデル52の3つの頂点に対応した詳細バッファ56の3ピクセル分が、描画情報に含まれるポリゴンモデル52に付随したRGB値で塗りつぶされて、ポリゴンモデル52が描画される。ポリゴンモデル52が描画された結果が、図14の3ピクセルの描画結果60である。
Figure 14 is a diagram superimposing a
図15は、適用描画対象のポリゴンモデル51を詳細バッファ56に描画した描画結果58と別の適用描画対象のポリゴンモデル53を詳細バッファ56に描画した描画結果59とさらに別の適用描画対象のポリゴンモデル52を詳細バッファ56に描画した描画結果60とを示した図である。図15は図14の複数のポリゴンモデル51~53の重畳表示をなくし、実際の描画結果58~60のみを示している。
Figure 15 shows a
打点部112は、ポリゴンモデル52のアルファ値情報から、描画結果60を構成する各ピクセルに、ポリゴンモデル52のアルファ値が0.7であるというアルファ値を記憶させる。図15の各ピクセルの中の値は、記憶されているアルファ値を表す。
The dotting
図5に戻って、打点部112は、詳細バッファへの描画の終了の通知をブレンド処理部110に送信し、ステップS18に進む。また、打点部112は、消失適用描画対象がなかった場合は、適用描画対象はすでに詳細バッファに描画されているため、何もせず、詳細バッファへの描画の終了の通知をブレンド処理部110に送信し、ステップS18に進む。Returning to FIG. 5, the dotting
ステップS18において、ブレンド処理部110は、不適用描画対象描画部107から描画先バッファへの描画の終了の通知を受信し、打点部112から詳細バッファへの描画の終了の通知を受信すると、描画先バッファ記憶部103に記憶されている描画先バッファに対して、詳細バッファ109に記憶されている詳細バッファの1ピクセルごとにアルファ値でRGB値をアルファブレンドして適用描画対象を描画先バッファに描画する。In step S18, when the blending
実施の形態1では、ブレンド処理部110は、図8の描画先バッファ55に対して、図15の詳細バッファ56の1ピクセルごとにアルファ値でRGB値をアルファブレンドして適用描画対象であるポリゴンモデル51~53を描画先バッファ55に描画する。具体的には、ブレンド処理部110は、描画先バッファ記憶部103に記憶されている図8の描画先バッファ55に対して、図15のポリゴンモデル51の描画結果58の1ピクセルについて、アルファ値である0.4でポリゴンモデル51のRGB値をアルファブレンドする。同様に、ブレンド処理部110は、描画先バッファ記憶部103に記憶されている図8の描画先バッファ55に対して、図15のポリゴンモデル52の描画結果60の各ピクセルについて、各ピクセルのアルファ値である0.7でポリゴンモデル52のRGB値をアルファブレンドする。ブレンド処理部110は、描画先バッファ記憶部103に記憶されている図8の描画先バッファ55に対して、図15のポリゴンモデル53の描画結果59の1ピクセルについて、アルファ値である1.0でポリゴンモデル53のRGB値をアルファブレンドする。In the first embodiment, the blending
図16は、全てのポリゴンモデルを描画先バッファ55に描画した描画結果を示した図である。ポリゴンモデル51を描画先バッファ55に描画したのが描画結果61となる。描画結果61は、図8の描画先バッファ55に対して、図15のポリゴンモデル51の描画結果58の1ピクセルについて、アルファ値である0.4でポリゴンモデル51のRGB値をアルファブレンドした結果であり、図16では模擬的に縦縞で塗られている。
Figure 16 shows the rendering result when all polygon models are rendered in
ポリゴンモデル52を描画先バッファ55に描画したのが描画結果62となる。描画結果62は、図8の描画先バッファ55に対して、図15のポリゴンモデル52の描画結果60の3ピクセルそれぞれについて、アルファ値である0.7でポリゴンモデル52のRGB値をアルファブレンドした結果であり、図16では模擬的に斜線で塗られている。
The
ポリゴンモデル53を描画先バッファ55に描画したのが描画結果63となる。描画結果63は、図8の描画先バッファ55に対して、図15のポリゴンモデル53の描画結果59の1ピクセルについて、アルファ値である1.0でポリゴンモデル53のRGB値をアルファブレンドした結果であり、図16では模擬的に横縞で塗られている。
The
ポリゴンモデル54を描画先バッファ55に描画したのが描画結果57となる。図16の描画結果57は、図8の描画結果57と同様である。
The
図5に戻って、ブレンド処理部110は、アルファブレンドの終了の通知を出力制御部111に送信し、ステップS19に進む。Returning to Figure 5, the blending
ステップS19において、出力制御部111は、ブレンド処理部110からアルファブレンドの終了の通知を受信し、描画先バッファ記憶部103に記憶されている描画先バッファを出力するように出力装置5を制御する。In step S19, the
実施の形態1では、描画先バッファ記憶部103に記憶されている描画先バッファ55に描画されたシーンを出力するように出力装置5である表示装置を制御する。In
ステップS19を実行した後もステップS11に戻り、電源をOFFにすること、あるいは終了操作がなされる等の処理の終了のトリガーがあるまで上記のような処理を繰り返す。なお、上記のような処理を繰り返すとしたが、繰り返さず一回行うだけでもよい。After step S19 is executed, the process returns to step S11, and the above-described process is repeated until a trigger for terminating the process occurs, such as turning off the power or performing an end operation. Note that although the above-described process is repeated, it is also possible to perform the process only once without repeating it.
以上述べたように、実施の形態1の描画処理システム1は、適用判定部106によって不適用描画対象と判定された描画対象を、不適用描画対象描画部107が描画先バッファ記憶部103に記憶されている描画先バッファに描画し、算出部104が適用判定部106によって適用描画対象と判定された描画対象の面積を算出し、決定部105が算出した面積から適用描画対象のアルファ値を決定し、適用描画対象描画部108が描画先バッファとは異なるバッファである詳細バッファに適用描画対象を描画し、打点部112が適用描画対象の位置に対応した詳細バッファ内のピクセルに点を打つことで適用描画対象を詳細バッファに描画し、ブレンド処理部110が適用描画対象のアルファ値で描画先バッファに詳細バッファをアルファブレンドし、出力制御部111が出力装置5に描画先バッファに描画されたシーンを出力するよう制御するため、ピクセルの中心に描画対象が位置していない場合でも、描画対象が描画され、描画対象を表示画面上に表示させることができる。As described above, in the
実施の形態2.
実施の形態1では、描画処理システム1は、入力装置4が描画情報とタグ情報との入力を受け付け、取得部101が入力装置4から描画情報とタグ情報とを取得し、適用判定部106がタグ情報を用いて、描画対象が適用描画対象と不適用描画対象とのいずれであるかを判定した。実施の形態2では、図17~図19に示すように、描画処理システム2は、入力装置6が受け付けるのは描画情報の入力だけであり、取得部201が入力装置6から描画情報を取得し、適用判定部202が描画情報から描画対象が適用描画対象と不適用描画対象とのいずれであるかを判定する。
In the first embodiment, in the
当該判定により、ユーザーがタグ情報を入力装置6に入力する必要がなく、描画処理システム2が自動で描画対象が適用描画対象と不適用描画対象とのいずれであるかを判定するため、ユーザーの負荷を低減できる。
This determination eliminates the need for the user to input tag information into the input device 6, and the
なお、実施の形態1では、描画処理システム1は、不適用描画対象も適用描画対象もまとめて描画をしていたが、実施の形態2では、描画処理システム2は、描画対象を1つずつ描画していく。それ以外は、実施の形態1と同様である。以下の説明において実施の形態1で説明した構成及び動作については、同一符号を付して、重複する説明を省略する。
Note that in
実施の形態2でも実施の形態1と同様に、一例として、シーン全体の描画の情報である描画情報内に、ピクセルの中心に描画対象が位置していない描画対象がある場合について、本開示を適用した場合を以下に説明する。As in the first embodiment, in the second embodiment, as an example, a case where the present disclosure is applied to a case where the drawing information, which is information about the drawing of the entire scene, contains a drawing target that is not located at the center of a pixel is described below.
図17は、実施の形態2に係る描画処理装置200を含む描画処理システム2のブロック図である。描画処理システム2は、描画情報が入力される入力装置6と、描画情報を用いて、描画情報を描画する処理を行う描画処理装置200と、描画処理装置200で処理されたシーンを出力する出力装置5とを備えている。
Figure 17 is a block diagram of a
実施の形態2では、実施の形態1の図1の入力装置4と、取得部101と、適用判定部106と、不適用描画対象描画部107と、算出部104と、決定部105と、適用描画対象描画部108と、打点部112と、ブレンド処理部110との代わりに、入力装置6と、取得部201と、適用判定部202と、不適用描画対象描画部203と、算出部204と、決定部205と、適用描画対象描画部209と、打点部210と、ブレンド処理部207と、終了判定部206と、蓄積記憶部208とが機能ブロック図の構成として加わる。In
入力装置6は、例えば、ユーザーによって入力されたポリゴンモデルなどの描画対象の情報を含むシーン全体の描画情報のみを受け付ける。 The input device 6 only accepts drawing information of the entire scene, including information on the drawing target, such as a polygon model, input by the user.
描画処理装置200は、入力装置6から描画情報を取得する取得部201と、描画先バッファと詳細バッファとを作成する作成部102と、描画情報から描画対象を詳細描画処理するか否かによって、描画対象が、描画先バッファに描画される不適用描画対象と、描画先バッファとは異なるバッファである詳細バッファに描画される適用描画対象とのいずれであるかを判定する適用判定部202と、詳細描画処理を適用しないとタグ付けされた不適用描画対象を描画先バッファに描画する不適用描画対象描画部203と、詳細描画処理を適用するとタグ付けされた適用描画対象の面積を算出する算出部204と、算出した面積から適用描画対象のアルファ値を決定する決定部205と、詳細バッファに適用描画対象を描画し、描画されたピクセル数を取得する適用描画対象描画部209と、取得した描画されたピクセル数から、適用描画対象が詳細バッファに描画されず、消失してしまった適用描画対象である消失適用描画対象であるかを特定し、消失適用描画対象の場合は、消失適用描画対象の位置に対応した詳細バッファ内のピクセルに点を打ち、消失適用描画対象を詳細バッファに描画する打点部210と、描画情報内に描画先バッファあるいは詳細バッファに描画していない描画対象があるか否かで終了を判定する終了判定部206と、詳細バッファで塗られたピクセルに対応して、適用描画対象のアルファ値で適用描画対象のRGB値をアルファブレンドすることにより、適用描画対象を描画先バッファに描画するブレンド処理部207と、出力装置5に描画先バッファに描画されたシーンを出力するよう制御する出力制御部111と、描画先バッファを記憶する描画先バッファ記憶部103と、詳細バッファを記憶する詳細バッファ記憶部109と、詳細バッファに描画された情報を蓄積して記憶する蓄積記憶部208を備えている。なお、不適用描画対象描画部203は、第一の描画対象描画部に対応し、適用描画対象描画部209は、第二の描画対象描画部に対応する。The
次に、実施の形態2に係る描画処理システム2のハードウェア構成について説明する。描画処理システム2のハードウェア構成図は、実施の形態1の図2と同様である。Next, we will explain the hardware configuration of the
ただし、入力装置6のハードウェア構成は入力装置4と同様である。取得部201のハードウェア構成は取得部101と同様である。適用判定部202のハードウェア構成は適用判定部106と同様である。不適用描画対象描画部203のハードウェア構成は不適用描画対象描画部107と同様である。算出部204のハードウェア構成は算出部104と同様である。決定部205のハードウェア構成は決定部105と同様である。適用描画対象描画部209のハードウェア構成は適用描画対象描画部108と同様である。打点部210のハードウェア構成は打点部112と同様である。ブレンド処理部207のハードウェア構成はブレンド処理部110と同様である。終了判定部206は、グラフィックメモリ45に記憶するプログラムによって実現され、GPU44がグラフィックメモリ45にロードしたプログラムを読み込み、実行することにより実現する。蓄積記憶部208は、グラフィックメモリ45によって実現される。However, the hardware configuration of the input device 6 is the same as that of the
なお、グラフィックメモリ45は、終了判定部206の機能と他の部の機能とのそれぞれを別々のメモリで実現してもよい。また、蓄積記憶部208と、他の記憶部とのそれぞれを別々のメモリで実現してもよい。それ以外は、実施の形態1のハードウェア構成と同様である。In addition, the
次に、描画処理システム2の動作について説明する。
Next, the operation of the
図18は、本開示の実施の形態2に係る描画処理システム2の動作を示すフローチャートである。図18を用いて、描画処理システム2の動作を以下に説明する。
Figure 18 is a flowchart showing the operation of the
ステップS4において、入力装置6は、描画情報の入力を受け付ける。例えば、ユーザーがマウス、キーボードなどを用いて、描画情報を指定して入力装置6に入力し、入力装置6は、当該入力を受け付ける。In step S4, the input device 6 accepts input of drawing information. For example, the user uses a mouse, keyboard, etc. to specify drawing information and input it to the input device 6, and the input device 6 accepts the input.
なお、入力装置6が受け付ける描画情報は、実施の形態1と同様に、ユーザーが指定しなくても、通信を介して受信した描画情報、予め定められた基準を満たしたものを自動的に抽出した描画情報、機械学習で抽出した描画情報など、どのようなものでもよい。実施の形態2では、実施の形態1と同様に、例えば、描画対象を3次元のポリゴンモデルとし、描画情報はポリゴンモデルである描画対象の情報を含んでいるとする。 As in the first embodiment, the drawing information received by the input device 6 may be any type of drawing information, such as drawing information received via communication without being specified by the user, drawing information automatically extracted that satisfies a predetermined criterion, drawing information extracted by machine learning, etc. In the second embodiment, as in the first embodiment, for example, the drawing target is a three-dimensional polygon model, and the drawing information includes information on the drawing target that is a polygon model.
実施の形態2では、実施の形態1と同様に、図4に本開示を適用した場合を以下に説明する。入力装置6は、描画情報を描画処理装置200に送信し、ステップS5に進む。In the second embodiment, similarly to the first embodiment, the case where the present disclosure is applied to Fig. 4 will be described below. The input device 6 transmits drawing information to the
ステップS5において、描画処理装置200は、入力装置6から描画情報を受信する。描画処理装置200は、受信した描画情報を用いて、描画処理を行う。詳細については、後述する。描画処理装置200は、描画先バッファに描画されたシーンを出力するように出力装置5を制御し、ステップS6に進む。In step S5, the
ステップS6において、出力装置5は、実施の形態1のステップS3と同様に、描画処理装置200の制御によって、描画先バッファに描画されたシーンをディスプレイなどの表示装置に出力する。In step S6, the
ステップS6を実行した後もステップS4に戻り、電源をOFFにすること、あるいは終了操作がなされる等の処理の終了のトリガーがあるまで上記のような処理を繰り返す。なお、上記のような処理を繰り返すとしたが、繰り返さず一回行うだけでもよい。After step S6 is executed, the process returns to step S4, and the above-mentioned process is repeated until a trigger for terminating the process occurs, such as turning off the power or performing an end operation. Note that although the above-mentioned process is repeated, it is also possible to perform it only once without repeating it.
次に、描画処理装置200の動作について説明する。
Next, the operation of the
図19は、本開示の実施の形態2に係る描画処理装置200の動作を示すフローチャートである。図19を用いて、描画処理装置200の動作を以下に説明する。
Figure 19 is a flowchart showing the operation of the
ステップS21において、取得部201は、入力装置6から描画情報を取得する。取得部201は、描画情報を作成部102に送信し、ステップS22に進む。In step S21, the
ステップS22において、作成部102は、取得部201から描画情報を受信する。作成部102は、描画情報を適用判定部202に送信し、ステップS23に進む。それ以外は、ステップS22は、実施の形態1のステップS12と同様である。ただし、実施の形態1では、当該詳細バッファには、適用描画対象すべてが描画されるが、実施の形態2では、適用描画対象が1つ描画されることになる。In step S22, the
ステップS23において、適用判定部202は、作成部102から描画情報を受信する。適用判定部202は、描画情報を用いて、描画情報に含まれる描画対象の1つについて、描画対象が適用描画対象と不適用描画対象とのいずれであるかを判定する。実施の形態2では、例えば、適用判定部202は、描画対象の面積sを算出して、面積sが予め定めて記憶しておいた閾値X未満か否かを判定する。閾値Xは、1.0ピクセルや5.0ピクセルなど、ユーザーが描画対象に対して詳細描画処理を行わなくてもいいほど大きいサイズか、それとも詳細描画処理を行うほど小さいサイズかを好みで決定すればよい。In step S23, the
描画対象の面積sを算出する方法は、描画対象そのものの面積を計算してもよいし、実施の形態1の図9のように、バウンディングボックスなどを用いて近似して、描画対象の面積の概算をしてもよい。実施の形態2では、例えば、図4のポリゴンモデル51の面積の概算値が0.8ピクセル、ポリゴン
モデル52の面積の概算値が1.4ピクセル、ポリゴンモデル53の面積の概算値が2.4ピクセル、ポリゴンモデル54の面積の概算値が16.8ピクセルであったとする。また、予め定めておいた閾値Xが3.0ピクセルであったとする。
The method of calculating the area s of the drawing target may be to calculate the area of the drawing target itself, or to roughly estimate the area of the drawing target by approximating using a bounding box or the like as in Fig. 9 of the first embodiment. In the second embodiment, for example, the approximate value of the area of the
It is assumed that the estimated area of the
適用判定部202は、描画対象の面積sが予め定めておいた閾値X以上の場合は、ステップS23:Noとなる。適用判定部202は、描画対象の描画サイズが大きいため、詳細描画処理を行う必要がないとして、当該描画対象は不適用描画対象であるというタグ情報を生成する。適用判定部202は、描画情報と、不適用描画対象である描画対象のタグ情報とを不適用描画対象描画部203に送信し、ステップS24に進む。If the area s of the drawing object is equal to or greater than a predetermined threshold value X, the
実施の形態2では、ポリゴンモデル54の場合は、ポリゴンモデル54の面積の概算値が16.8ピクセルであり、予め定めておいた閾値である3.0ピクセル以上となるため、ポリゴンモデル54は、ステップS23:Noとなる。適用判定部202は、ポリゴンモデル54の描画サイズが大きいため、詳細描画処理を行う必要がないとして、ポリゴンモデル54は不適用描画対象であるというタグ情報を生成する。適用判定部202は、描画情報と、不適用描画対象であるとタグ付けされたポリゴンモデル54のタグ情報とを描画部203に送信し、ステップS24に進む。In the second embodiment, in the case of
一方、適用判定部202は、描画対象の面積sが予め定めておいた閾値X未満の場合は、ステップS23:Yesとなる。適用判定部202は、描画対象の描画サイズが小さいため、詳細描画処理を行う必要があるとして、当該描画対象は適用描画対象であるというタグ情報を生成する。適用判定部202は、描画情報と、適用描画対象である描画対象のタグ情報とを算出部204に送信し、ステップS25に進む。On the other hand, if the area s of the drawing object is less than the predetermined threshold value X, the
実施の形態2では、ポリゴンモデル51の場合は、ポリゴンモデル51の面積の概算値が0.8ピクセルであり、予め定めておいた閾値である3.0ピクセル未満となるため、ポリゴンモデル51は、ステップS23:Yesとなる。適用判定部202は、ポリゴンモデル51の描画サイズが小さいため、詳細描画処理を行う必要があるとして、ポリゴンモデル51は適用描画対象であるというタグ情報を生成する。適用判定部202は、描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル51のタグ情報とを算出部204に送信し、ステップS25に進む。In the second embodiment, in the case of
同様に、ポリゴンモデル52の場合は、ポリゴンモデル52の面積の概算値が1.4ピクセルであり、予め定めておいた閾値である3.0ピクセル未満となるため、ポリゴンモデル52は、ステップS23:Yesとなる。適用判定部202は、ポリゴンモデル52の描画サイズが小さいため、詳細描画処理を行う必要があるとして、ポリゴンモデル52は適用描画対象であるというタグ情報を生成する。適用判定部202は、描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル52のタグ情報とを算出部204に送信し、ステップS25に進む。Similarly, in the case of
ポリゴンモデル53の場合は、ポリゴンモデル53の面積の概算値が2.4ピクセルであり、予め定めておいた閾値である3.0ピクセル未満となるため、ポリゴンモデル53は、ステップS23:Yesとなる。適用判定部202は、ポリゴンモデル53の描画サイズが小さいため、詳細描画処理を行う必要があるとして、ポリゴンモデル53は適用描画対象であるというタグ情報を生成する。適用判定部202は、描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル53のタグ情報とを算出部204に送信し、ステップS25に進む。In the case of
ステップS24において、不適用描画対象描画部203は、適用判定部202から描画情報と、不適用描画対象である描画対象のタグ情報とを受信し、描画先バッファ記憶部103の描画先バッファに不適用描画対象を描画する。
In step S24, the non-applicable drawing
実施の形態2では、不適用描画対象描画部203は、適用判定部202から描画情報と、不適用描画対象であるとタグ付けされたポリゴンモデル54のタグ情報とを受信し、描画先バッファ記憶部103の描画先バッファ55にポリゴンモデル54を描画する。
In
ポリゴンモデル54を描画先バッファ55に描画した描画結果57とポリゴンモデル54とを重畳した図は、実施の形態1の図7と同様である。また、ポリゴンモデル54を描画先バッファ55に描画した描画結果57を示した図は、実施の形態1の図8と同様である。
The diagram showing the
不適用描画対象描画部203が描画先バッファに1つの不適用描画対象を描画し終えたら、描画部203は、描画先バッファへの描画の終了の通知を終了判定部206に送信し、ステップS29に進む。When the non-applicable drawing
一方、ステップS25において、算出204は、適用判定部202から描画情報と、適用描画対象である描画対象のタグ情報とを受信し、適用描画対象の面積を算出する。面積の算出方法は、実施の形態1のステップS14と同様である。On the other hand, in step S25, the
実施の形態2では、算出部204は、適用判定部202から描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル51のタグ情報とを受信する。あるいは、算出部204は、適用判定部202から描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル52のタグ情報とを受信する。あるいは、算出部204は、適用判定部202から描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル53のタグ情報とを受信する。In the second embodiment, the
算出部204は、適用判定部202から受信したタグ情報に記載された適用描画対象の面積を算出する。算出部204は、タグ情報に記載された適用描画対象がポリゴンモデル51であった場合は、ポリゴンモデル51の面積を算出する。算出部204は、例えば、ポリゴンモデル51の面積を0.4ピクセルと算出したとする。The
同様に、算出部204は、タグ情報に記載された適用描画対象がポリゴンモデル52であった場合は、ポリゴンモデル52の面積を算出する。算出部204は、例えば、ポリゴンモデル52の面積を0.7ピクセルと算出したとする。Similarly, when the applicable drawing target described in the tag information is
算出部204は、タグ情報に記載された適用描画対象がポリゴンモデル53であった場合は、ポリゴンモデル53の面積を算出する。算出部204は、例えば、ポリゴンモデル53の面積を1.2ピクセルと算出したとする。以降は、算出部204が算出した適用描画対象の面積を示した情報を、実施の形態1と同様に、面積情報と呼ぶ。
When the applicable drawing target described in the tag information is
算出部204は、描画情報と、適用描画対象である描画対象のタグ情報と、適用描画対象の面積情報とを決定部205に送信し、ステップS26に進む。The
ステップS26において、決定部205は、算出部204から描画情報と、適用描画対象である描画対象のタグ情報と、適用描画対象の面積情報とを受信する。決定部205は、面積情報を用いて、適用描画対象の透過度を表すアルファ値を決定する。アルファ値の決定方法は、実施の形態1のステップS15と同様である。In step S26, the
実施の形態2では、例えば、決定部205は、算出部204から描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル51のタグ情報と、ポリゴンモデル51の面積が0.4ピクセルであるという面積情報とを受信する。ポリゴンモデル51のアルファ値の決定方法は、実施の形態1のステップS15と同様であり、決定部205は、ポリゴンモデル51のアルファ値を0.4に決定する。In the second embodiment, for example, the
あるいは、決定部205は、算出部204から描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル52のタグ情報と、ポリゴンモデル52の面積が0.7ピクセルであるという面積情報とを受信する。ポリゴンモデル52のアルファ値の決定方法は、実施の形態1のステップS15と同様であり、決定部205は、ポリゴンモデル52のアルファ値を0.7に決定する。Alternatively, the
あるいは、決定部205は、算出部204から描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル53のタグ情報と、ポリゴンモデル53の面積が1.2ピクセルであるという面積情報とを受信する。ポリゴンモデル53のアルファ値の決定方法は、実施の形態1のステップS15と同様であり、決定部205は、ポリゴンモデル53のアルファ値を1.0に決定する。以降は、決定部205が決定した適用描画対象のアルファ値を示した情報を、実施の形態1と同様に、アルファ値情報と呼ぶ。
Alternatively, the
決定部205は、描画情報と、適用描画対象である描画対象のタグ情報と、適用描画対象のアルファ値情報とを適用描画対象描画部209に送信し、ステップS27に進む。The
ステップS27において、適用描画対象描画部209は、決定部205から描画情報と、適用描画対象である描画対象のタグ情報と、適用描画対象のアルファ値情報とを受信し、詳細バッファ記憶部109の詳細バッファに適用描画対象を描画する。このとき、詳細バッファにアルファ値情報も記憶される。また、適用描画対象描画部209は、詳細バッファに描画されたピクセル数を取得する。描画対象を描画する方法、詳細バッファにアルファ値情報が記憶される方法、詳細バッファに描画されたピクセル数を取得する方法は、実施の形態1のステップS16と同様である。ただし、実施の形態2では、描画処理システム2は、描画対象を1つずつ描画していくため、ポリゴンモデル51とポリゴンモデル52とポリゴンモデル53とは同時には描画されない。In step S27, the applied drawing
実施の形態2では、例えば、適用描画対象描画部209は、決定部205から描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル51のタグ情報と、ポリゴンモデル51のアルファ値が0.4であるというアルファ値情報とを受信する。適用描画対象描画部209は、詳細バッファ記憶部109の詳細バッファ56にポリゴンモデル51を描画する。適用描画対象のポリゴンモデル51を詳細バッファ56に描画した描画結果58と複数のポリゴンモデル51~53とを重畳した図は、実施の形態1の図10と同様である。また、適用描画対象のポリゴンモデル51を詳細バッファ56に描画した描画結果58を示した図は、実施の形態1の図11と同様である。適用描画対象描画部209は、描画結果58のピクセルに、ポリゴンモデル51のアルファ値が0.4であるというアルファ値を記憶させる。また、適用描画対象描画部209は、ポリゴンモデル51によって実際に詳細バッファ56が塗りつぶされたピクセル数として1ピクセルという情報を取得する。In the second embodiment, for example, the applied drawing
あるいは、適用描画対象描画部209は、決定部205から描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル52のタグ情報と、ポリゴンモデル52のアルファ値が0.7であるというアルファ値情報とを受信する。適用描画対象描画部209は、詳細バッファ記憶部109の詳細バッファ56にポリゴンモデル52を描画する。しかし、ポリゴンモデル52は、詳細バッファ56のどのピクセルの中心も含まないため、実施の形態1と同様に、描画されず消えてしまう。したがって、適用描画対象描画部209は、詳細バッファ56にポリゴンモデル52を描画する処理をしても、ポリゴンモデル52は描画されないため、何も描画されていない図6の詳細バッファ56のままになってしまう。適用描画対象描画部209は、ポリゴンモデル52によって実際に詳細バッファ56が塗りつぶされたピクセル数として0ピクセルという情報を取得する。Alternatively, the applied drawing
あるいは、適用描画対象描画部209は、決定部205から描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル53のタグ情報と、ポリゴンモデル53のアルファ値が1.0であるというアルファ値情報とを受信する。適用描画対象描画部209は、詳細バッファ記憶部109の詳細バッファ56にポリゴンモデル53を描画する。適用描画対象のポリゴンモデル53を詳細バッファ56に描画した描画結果59と複数のポリゴンモデル51~53とを重畳した図は、実施の形態1の図12から適用描画対象のポリゴンモデル51を詳細バッファ56に描画した描画結果58を削除した図と同様となる。また、適用描画対象のポリゴンモデル53を詳細バッファ56に描画した描画結果59を示した図は、実施の形態1の図13から適用描画対象のポリゴンモデル51を詳細バッファ56に描画した描画結果58を削除した図と同様となる。適用描画対象描画部209は、描画結果59のピクセルに、ポリゴンモデル53のアルファ値が1.0であるというアルファ値を記憶させる。また、適用描画対象描画部209は、ポリゴンモデル53によって実際に詳細バッファ56が塗りつぶされたピクセル数として1ピクセルという情報を取得する。以降は、適用描画対象描画部209が取得した適用描画対象によって詳細バッファに描画されたピクセル数を示す情報を、実施の形態1と同様に、ピクセル数情報と呼ぶ。Alternatively, the applied drawing
適用描画対象描画部209は、描画情報と、適用描画対象である描画対象のタグ情報と、アルファ値情報と、ピクセル数情報と、適用描画対象のアルファ値情報とを打点部210に送信し、ステップS28に進む。The applied drawing
ステップS28において、打点部210は、適用描画対象描画部209から描画情報と、適用描画対象である描画対象のタグ情報と、アルファ値情報と、ピクセル数情報とを受信する。打点部210は、ピクセル数情報から、適用描画対象が適用描画対象描画部209で描画されず消えてしまった適用描画対象である消失適用描画対象であるかを特定する。打点部210は、適用描画対象が消失適用描画対象であった場合は、消失適用描画対象の位置に対応した詳細バッファ内のピクセルに点を打ち、消失適用描画対象を詳細バッファに描画する。このとき、詳細バッファにアルファ値情報も記憶される。消失適用描画対象であるかを特定する方法、消失適用描画対象の位置に対応した詳細バッファ内のピクセルに点を打ち、消失適用描画対象を詳細バッファに描画する方法、詳細バッファにアルファ値情報を記憶する方法は、実施の形態1のステップS17と同様である。また、打点部210は、適用描画対象が消失適用描画対象でなかった場合は、適用描画対象はすでに詳細バッファに描画されているため、実施の形態1のステップS17と同様に、何もしない。In step S28, the dotting
実施の形態2では、例えば、打点部210は、適用描画対象描画部209から描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル51のタグ情報と、ポリゴンモデル51のアルファ値が0.4であるというアルファ値情報と、ポリゴンモデル51によって詳細バッファ56に描画されたピクセル数が1ピクセルであるというピクセル数情報とを受信する。打点部210は、ピクセル数情報から、ポリゴンモデル51のピクセル数情報が1ピクセルであるため、ポリゴンモデル51は消失適用描画対象ではないと特定する。ポリゴンモデル51はすでに詳細バッファに描画されているため、打点部210は、何もしない。In the second embodiment, for example, the dotting
あるいは、打点部210は、適用描画対象描画部209から描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル52のタグ情報と、ポリゴンモデル52のアルファ値が0.7であるというアルファ値情報と、ポリゴンモデル52によって詳細バッファ56に描画されたピクセル数が0ピクセルであるというピクセル数情報とを受信する。打点部210は、ピクセル数情報から、ポリゴンモデル52のピクセル数情報が0ピクセルであるため、ポリゴンモデル52は消失適用描画対象であると特定する。Alternatively, the dotting
打点部210は、実施の形態1のステップS17と同様に、消失適用描画対象を詳細バッファに描画する。適用描画対象のポリゴンモデル52を詳細バッファ56に描画した描画結果60と複数のポリゴンモデル51~53とを重畳した図は、実施の形態1の図14から適用描画対象のポリゴンモデル51を詳細バッファ56に描画した描画結果58と別の適用描画対象のポリゴンモデル53を詳細バッファ56に描画した描画結果59とを削除した図と同様となる。適用描画対象のポリゴンモデル52を詳細バッファ56に描画した描画結果60を示した図は、実施の形態1の図15から適用描画対象のポリゴンモデル51を詳細バッファ56に描画した描画結果58と別の適用描画対象のポリゴンモデル53を詳細バッファ56に描画した描画結果59とを削除した図と同様となる。打点部210は、ポリゴンモデル52のアルファ値情報から、描画結果60を構成する各ピクセルに、ポリゴンモデル52のアルファ値が0.7であるというアルファ値を記憶させる。The dotting
あるいは、打点部210は、適用描画対象描画部209から描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル53のタグ情報と、ポリゴンモデル53のアルファ値が1.0であるというアルファ値情報と、ポリゴンモデル53によって詳細バッファ56に描画されたピクセル数が1ピクセルであるというピクセル数情報とを受信する。打点部210は、ピクセル数情報から、ポリゴンモデル53のピクセル数情報が1ピクセルであるため、ポリゴンモデル53は消失適用描画対象ではないと特定する。ポリゴンモデル53はすでに詳細バッファに描画されているため、打点部210は、何もしない。
Alternatively, the dotting
打点部210は、詳細バッファへの描画の終了の通知を終了判定部206に送信し、ステップS29に進む。The dotting
ステップS29において、終了判定部206は、不適用描画対象描画部203から描画先バッファへの描画の終了の通知を受信、あるいは打点部210から詳細バッファへの描画の終了の通知を受信した場合、描画先バッファに描画すべき描画対象が他にあるか否かを判定する。In step S29, when the
終了判定部206は、まだ不適用描画対象描画部203、適用描画対象描画部209、あるいは打点部210にて描画の処理をする描画処理をしておらず、描画先バッファに描画すべき描画対象がある場合は、ステップS29:Yesとなる。終了判定部206は、不適用描画対象描画部203から描画先バッファへの描画の終了の通知を受信し、かつ描画先バッファに描画すべき描画対象がまだある場合は、ステップS23に戻って、描画処理をしていない描画対象を描画処理する。
If the
終了判定部206は、打点部210から詳細バッファへの描画の終了の通知を受信し、かつ描画先バッファに描画すべき描画対象がまだある場合は、蓄積記憶部208に詳細バッファ記憶部109に記憶させていた描画処理をした詳細バッファを記憶させ、詳細バッファ記憶部109に新しい詳細バッファを作成できるようにしてから、ステップS23に戻って、描画処理装置200は描画処理をしていない描画対象を描画処理する。
When the
一方、終了判定部206は、まだ描画処理をしておらず、描画先バッファに描画すべき描画対象がない場合は、ステップS29:Noとなる。終了判定部206は、蓄積記憶部208に記憶させた詳細バッファのすべてを一括でブレンド処理部207に送信し、ステップS30に進む。On the other hand, if the
実施の形態2では、終了判定部206は、ポリゴンモデル51と、ポリゴンモデル52と、ポリゴンモデル53と、ポリゴンモデル54とのうち、1つでも描画処理をしていないものがある場合は、ステップS29:Yesとなる。終了判定部206は、ポリゴンモデル54の描画処理がされ、不適用描画対象描画部203から描画先バッファへの描画の終了の通知を受信し、かつ描画先バッファに描画すべき描画対象がまだある場合は、ステップS23に戻って、描画処理をしていない描画対象を描画処理する。In the second embodiment, if there is any one of
終了判定部206は、ポリゴンモデル51~53のいずれかの描画処理がされ、打点部210から詳細バッファへの描画の終了の通知を受信し、かつ描画先バッファに描画すべき描画対象がまだある場合は、蓄積記憶部208に詳細バッファ記憶部109に記憶させていたポリゴンモデル51~53のいずれかが描画された詳細バッファを記憶させ、詳細バッファ記憶部109に新しい詳細バッファを作成できるようにしてから、ステップS23に戻って、描画処理をしていない描画対象を描画処理する。When the
一方、終了判定部206は、ポリゴンモデル51~54のすべての描画処理をした場合は、ステップS29:Noとなる。終了判定部206は、蓄積記憶部208に記憶させたポリゴンモデル51~53がそれぞれ描画された各詳細バッファのすべてを一括でブレンド処理部207に送信し、ステップS30に進む。On the other hand, if the
ステップS30において、ブレンド処理部207は、終了判定部206から適用描画対象がそれぞれ描画された各詳細バッファのすべてを一括で受信する。実施の形態1では、ブレンド処理部110は、詳細バッファ1つと描画先バッファとをアルファブレンドしたが、実施の形態2では、ブレンド処理部207は、複数の詳細バッファと描画先バッファとをアルファブレンドする。具体的には、ブレンド処理部207は、詳細バッファ1つと描画先バッファとをアルファブレンドする処理を詳細バッファの数だけ順番に行う。アルファブレンドの方法は、実施の形態1のステップS18と同様である。全てのポリゴンモデルを描画先バッファ55に描画した描画結果を示した図は、実施の形態1の図16と同様である。In step S30, the blending
ブレンド処理部207は、アルファブレンドの終了の通知を出力制御部111に送信し、ステップS31に進む。それ以外は、ステップS30は、実施の形態1のステップS18と同様である。The blending
ステップS31において、出力制御部111は、ブレンド処理部207からアルファブレンドの終了の通知を受信する。それ以外は、ステップS31は、実施の形態1のステップS19と同様である。In step S31, the
ステップS31を実行した後もステップS21に戻り、電源をOFFにすること、あるいは終了操作がなされる等の処理の終了のトリガーがあるまで上記のような処理を繰り返す。なお、上記のような処理を繰り返すとしたが、繰り返さず一回行うだけでもよい。After step S31 is executed, the process returns to step S21, and the above-described process is repeated until a trigger for terminating the process occurs, such as turning off the power or performing an end operation. Note that although the above-described process is repeated, it may be performed only once without repeating the process.
以上述べたように、実施の形態2の描画処理システム2は、適用判定部202によって不適用描画対象と判定された描画対象を、不適用描画対象描画部203が描画先バッファ記憶部103に記憶されている描画先バッファに描画し、算出部204が適用判定部202によって適用描画対象と判定された描画対象の面積を算出し、決定部205が算出した面積から適用描画対象のアルファ値を決定し、適用描画対象描画部209が描画先バッファとは異なるバッファである詳細バッファに適用描画対象を描画し、打点部210が適用描画対象の位置に対応した詳細バッファ内のピクセルに点を打つことで適用描画対象を詳細バッファに描画し、ブレンド処理部207が適用描画対象のアルファ値で描画先バッファに詳細バッファをアルファブレンドし、出力制御部111が出力装置5に描画先バッファに描画されたシーンを出力するよう制御するため、ピクセルの中心に描画対象が位置していない場合でも、描画対象が描画され、描画対象を表示画面上に表示させることができる。As described above, in the
また、実施の形態2においては、描画処理システム2は、入力装置6が受け付けるのは描画情報の入力だけであり、取得部201が入力装置6から描画情報を取得し、適用判定部202が描画情報から描画対象が適用描画対象と不適用描画対象とのいずれであるかを判定する。当該判定により、ユーザーなどがタグ情報を入力装置6に入力する必要がなく、描画処理システム2が自動で描画対象が適用描画対象と不適用描画対象とのいずれであるかを判定するため、ユーザーの負荷を低減できる。
In addition, in the second embodiment, the
なお、実施の形態2のステップS23において、例えば、適用判定部202は、描画対象の面積sを算出して、面積sが予め定めて記憶しておいた閾値X未満か否かを判定したが、描画対象ごとの輝度値、重要度などで描画対象ごとに閾値を変動させてもよい。例えば、描画対象の輝度値が閾値Yよりも低い場合は、輝度が低いとして閾値Xを小さくし、描画対象の輝度値が閾値Yよりも高い場合は、輝度が高いとして閾値Xを大きくする。当該閾値Xの変更をすることで、輝度が低い描画対象は、より面積が小さくても適用描画対象とならないため、不適用描画対象と判定される確率が高くなり、描画処理負荷を低減させることができる。一方、輝度が高い描画対象は、より面積が大きくないと不適用描画対象とならないため、適用描画対象と判定される確率が高くなり、より消えにくくなる。同様に、例えば、描画対象に予め重要度が付与されている場合、描画対象の重要度が閾値Zよりも低い場合は、重要度が低いとして閾値Xを小さくし、描画対象の重要度が閾値Zよりも高い場合は、重要度が高いとして閾値Xを大きくする。当該閾値Xの変更をすることで、重要度が低い描画対象は、より面積が小さくても適用描画対象とならないため、不適用描画対象と判定される確率が高くなり、描画処理負荷を低減させることができる。一方、重要度が高い描画対象は、より面積が大きくないと不適用描画対象とならないため、適用描画対象と判定される確率が高くなり、より消えにくくなる。
In step S23 of the second embodiment, for example, the
実施の形態2において、描画処理システム2は、蓄積記憶部208を備えており、終了判定部206は、描画先バッファに描画すべき描画対象がまだある場合は、蓄積記憶部208に詳細バッファ記憶部109に記憶させていた描画処理をした詳細バッファを記憶させ、詳細バッファ記憶部109に新しい詳細バッファを作成できるようにしてから、描画処理装置200は描画処理をしていない描画対象を描画処理するようにしていた。しかし、描画処理システム2は、蓄積記憶部208を備えず、描画処理装置200は、詳細バッファ記憶部109に記憶されている描画処理をした詳細バッファに上書き保存していくように、描画処理をしていない描画対象を描画処理するようにしてもよい。In the second embodiment, the
実施の形態3.
実施の形態1では、描画処理システム1は、作成部102が詳細バッファ記憶部109に描画先バッファと同じ解像度の詳細バッファを1つ作成し、適用描画対象描画部108あるいは打点部112が当該詳細バッファに適用描画対象すべてを描画した。実施の形態3では、図20~図31に示すように、割り当て作成部302が詳細バッファ記憶部303に適用描画対象ごとの範囲に対応した詳細バッファを作成し、適用描画対象描画部108あるいは打点部112が適用描画対象の範囲に対応した詳細バッファに当該適用描画対象を描画する。
Embodiment 3.
In the first embodiment, in the
当該描画により、適用描画対象の描画に使用しない範囲の割合が高い場合に、適用描画対象の範囲に対応した詳細バッファを作成するだけでいいため、無駄にバッファを作成する必要がなく、メモリの使用量を低減することができる。それ以外は、実施の形態1と同様である。以下の説明において実施の形態1で説明した構成及び動作については、同一符号を付して、重複する説明を省略する。
When the proportion of the range not used in drawing the applicable drawing target is high due to this drawing, it is only necessary to create a detailed buffer corresponding to the range of the applicable drawing target, so there is no need to create buffers unnecessarily and memory usage can be reduced. Other than that, it is the same as in
実施の形態3でも実施の形態1と同様に、一例として、シーン全体の描画の情報である描画情報内に、ピクセルの中心に描画対象が位置していない描画対象がある場合について、本開示を適用した場合を以下に説明する。As in
図20は、実施の形態3に係る描画処理装置300を含む描画処理システム3のブロック図である。描画処理システム3は、描画情報に含まれる各描画対象において詳細描画処理を適用するか否かのタグ情報と描画情報とが入力される入力装置4と、描画情報とタグ情報とを用いて、描画情報を描画する処理を行う描画処理装置300と、描画処理装置300で処理されたシーンを出力する出力装置5とを備えている。
Figure 20 is a block diagram of a drawing processing system 3 including a
実施の形態3では、実施の形態1の図1の作成部102と、詳細バッファ記憶部109と、適用描画対象描画部108と、打点部112と、ブレンド処理部110の代わりに、作成部301と、詳細バッファ記憶部303と、適用描画対象描画部304と、打点部305と、ブレンド処理部306と、割り当て作成部302とが機能ブロック図の構成として加わる。In embodiment 3, instead of the
描画処理装置300は、入力装置4から描画対象を含む描画情報とタグ情報とを取得する取得部101と、描画先バッファを作成する作成部301と、タグ情報を用いて描画対象を詳細描画処理するか否かによって、描画対象が、描画先バッファに描画される不適用描画対象と、描画先バッファとは異なるバッファである詳細バッファに描画される適用描画対象とのいずれであるかを判定する適用判定部106と、詳細描画処理を適用しないとタグ付けされた不適用描画対象を描画先バッファに描画する不適用描画対象描画部107と、詳細描画処理を適用するとタグ付けされた適用描画対象の範囲に対応した詳細バッファをそれぞれ作成する割り当て作成部302と、詳細描画処理を適用するとタグ付けされた適用描画対象の面積を算出する算出部104と、算出した面積から適用描画対象のアルファ値を決定する決定部105と、詳細バッファに適用描画対象を描画し、描画されたピクセル数を取得する適用描画対象描画部304と、適用描画対象ごとに取得した描画されたピクセル数から、詳細バッファに描画されず、消失してしまった適用描画対象である消失適用描画対象を特定し、消失適用描画対象の位置に対応した詳細バッファ内のピクセルに点を打ち、消失適用描画対象を詳細バッファに描画する打点部305と、詳細バッファで塗られたピクセルに対応して、消失適用描画対象を含む適用描画対象のアルファ値で消失適用描画対象を含む適用描画対象のRGB値をアルファブレンドすることにより、消失適用描画対象を含む適用描画対象を描画先バッファに描画するブレンド処理部306と、出力装置5に描画先バッファに描画されたシーンを出力するよう制御する出力制御部111と、描画先バッファを記憶する描画先バッファ記憶部103と、詳細バッファを記憶する詳細バッファ記憶部303とを備えている。なお、不適用描画対象描画部107は、第一の描画対象描画部に対応し、適用描画対象描画部304は、第二の描画対象描画部に対応する。The
次に、実施の形態3に係る描画処理システム3のハードウェア構成について説明する。描画処理システム3のハードウェア構成図は、実施の形態1の図2と同様である。Next, we will explain the hardware configuration of the drawing processing system 3 in embodiment 3. The hardware configuration diagram of the drawing processing system 3 is the same as Figure 2 in
ただし、作成部301のハードウェア構成は作成部102と同様である。詳細バッファ記憶部303のハードウェア構成は詳細バッファ記憶部109と同様である。適用描画対象描画部304のハードウェア構成は適用描画対象描画部108と同様である。打点部305のハードウェア構成は打点部112と同様である。ブレンド処理部306のハードウェア構成はブレンド処理部110と同様である。割り当て作成部302は、グラフィックメモリ45に記憶するプログラムによって実現され、GPU44がグラフィックメモリ45にロードしたプログラムを読み込み、実行することにより実現する。なお、グラフィックメモリ45は、割り当て作成部302の機能と他の部の機能とのそれぞれを別々のメモリで実現してもよい。
However, the hardware configuration of the
次に、描画処理システム3及び描画処理装置300の動作について説明する。
Next, the operation of the drawing processing system 3 and the
本開示の実施の形態3に係る描画処理システム3の動作を示すフローチャートは、実施の形態1の図3と同様である。
The flowchart showing the operation of the drawing processing system 3 relating to embodiment 3 of the present disclosure is similar to Figure 3 of
図21は、本開示の実施の形態3に係る描画処理装置300の動作を示すフローチャートである。図21を用いて、描画処理装置300の動作を以下に説明する。
Figure 21 is a flowchart showing the operation of the
ステップS41において、取得部101は、描画情報とタグ情報とを作成部301に送信し、ステップS42に進む。それ以外は、ステップS41は、実施の形態1のステップS11と同様である。In step S41, the
ステップS42において、作成部301は、描画先バッファのみを作成し、詳細バッファを作成しない。作成部301は、描画情報とタグ情報とを適用判定部106に送信し、ステップS43に進む。それ以外は、ステップS42は、実施の形態1のステップS12と同様である。In step S42, the
ステップS43において、適用判定部106は、作成部301から描画情報とタグ情報とを受信する。不適用描画対象描画部107は、描画先バッファへの描画の終了の通知を適用処理部106とブレンド処理部306に送信し、ステップS44に進む。それ以外は、ステップS43は、実施の形態1のステップS13と同様である。In step S43, the
ステップS44において、適用判定部106は、不適用描画対象描画部107から描画先バッファへの描画の終了の通知を受信すると、描画情報と、適用描画対象である描画対象のタグ情報とを割り当て作成部302に送信する。In step S44, when the
実施の形態3では、適用判定部106は、図4の描画情報に対して、描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル51のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル52のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル53のタグ情報とを割り当て作成部302に送信する。
In embodiment 3, the
割り当て作成部302は、適用判定部106から描画情報と、適用描画対象である描画対象のタグ情報とを受信し、詳細バッファ記憶部303に適用描画対象ごとに対応する詳細バッファを作成する。各詳細バッファには、対応する各適用描画対象が描画されることになる。なお、詳細バッファは、描画先バッファと同じ解像度である。また、割り当て作成部302は、各詳細バッファが描画先バッファのどこの位置に対応するかという情報である位置情報を作成し、各詳細バッファに記憶させる。The
実施の形態3では、割り当て作成部302は、適用判定部106から描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル51のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル52のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル53のタグ情報とを受信する。割り当て作成部302は、詳細バッファ記憶部303にポリゴンモデル51に対応する詳細バッファ64を作成する。また、割り当て作成部302は、詳細バッファ記憶部303にポリゴンモデル52に対応する詳細バッファ65を作成する。さらに、割り当て作成部302は、詳細バッファ記憶部303にポリゴンモデル53に対応する詳細バッファ66を作成する。詳細バッファ64には、ポリゴンモデル51が、詳細バッファ65には、ポリゴンモデル52が、詳細バッファ66には、ポリゴンモデル53が、それぞれ描画されることになる。なお、詳細バッファ64~66は、描画先バッファ55と同じ解像度である。In the third embodiment, the
図22は、実施の形態3の適用描画対象のポリゴンモデル51~53に対応する詳細バッファ64~66と実施の形態1の詳細バッファ56との対比関係を示した図である。実施の形態3では、詳細バッファ64~66は、実施の形態1と同じ描画先バッファ55と同じ解像度であるとする。つまり、実施の形態1の詳細バッファ56と、実施の形態3の詳細バッファ64~66とは、同じ解像度であるとする。
Figure 22 is a diagram showing a comparison between the detail buffers 64-66 corresponding to the polygon models 51-53 to be applied in embodiment 3 and the
ここで、実施の形態1の詳細バッファ56は、縦が8ピクセルで、横が8ピクセルの合計64ピクセルである。一方、実施の形態3の詳細バッファ64は、縦が3ピクセルで、横が3ピクセルの合計9ピクセルである。詳細バッファ65は、縦が2ピクセルで、横が3ピクセルの合計6ピクセルである。詳細バッファ66は、縦が3ピクセルで、横が3ピクセルの合計36ピクセルである。実施の形態3では、詳細バッファ64~66以外の範囲の詳細バッファは作成しないため、実施の形態1よりも作成する詳細バッファの大きさが小さくなり、メモリの使用量を低減することができる。
Here, the
図23は、実施の形態3の適用描画対象のポリゴンモデル51に対応する詳細バッファ64と別の適用描画対象のポリゴンモデル52に対応する別の詳細バッファ65とさらに別の適用描画対象のポリゴンモデル53に対応するさらに別の詳細バッファ66とを示した図である。
Figure 23 is a diagram showing a
また、割り当て作成部302は、詳細バッファ64が描画先バッファ55のどこの位置に対応するかという情報である位置情報67と、詳細バッファ65が描画先バッファ55のどこの位置に対応するかという情報である位置情報68と、詳細バッファ66が描画先バッファ55のどこの位置に対応するかという情報である位置情報69とを作成する。割り当て作成部302は、詳細バッファ64に位置情報67を、詳細バッファ65に位置情報68を、詳細バッファ66に位置情報69を記憶させる。
Also, the
図24は、詳細バッファ64が描画先バッファ55のどこの位置に対応するかという情報である位置情報67を模擬的に示した図である。描画先バッファ55上の点線の範囲64が詳細バッファ64の位置に対応する。
Figure 24 is a diagram showing an example of position information 67, which is information about which position in the
図25は、別の詳細バッファ65が描画先バッファ55のどこの位置に対応するかという情報である位置情報68を模擬的に示した図である。描画先バッファ55上の点線の範囲65が詳細バッファ65の位置に対応する。
Figure 25 is a diagram showing an example of position information 68, which is information indicating which position in the
図26は、さらに別の詳細バッファ66が描画先バッファ55のどこの位置に対応するかという情報である位置情報69を模擬的に示した図である。描画先バッファ55上の点線の範囲66が詳細バッファ66の位置に対応する。
Figure 26 is a diagram showing an example of position information 69, which is information indicating which position in the destination buffer 55 a further
なお、実施の形態3では、適用描画対象のポリゴンモデルごとに位置情報を分けたが、適用描画対象のポリゴンモデルすべてがそれぞれ描画先バッファ55のどこの位置に対応するかという情報として位置情報を1つにまとめて、詳細バッファ記憶部303が記憶していてもよい。In the third embodiment, the position information is separated for each polygon model to be applied for drawing, but the detailed
図27は、詳細バッファ64が描画先バッファ55のどこの位置に対応するかという情報と、別の詳細バッファ65が描画先バッファ55のどこの位置に対応するかという情報と、さらに別の詳細バッファ66が描画先バッファ55のどこの位置に対応するかという情報とをまとめた位置情報を模擬的に示した図である。描画先バッファ55上の点線の範囲64が詳細バッファ64の位置に対応し、描画先バッファ55上の点線の範囲65が詳細バッファ65の位置に対応し、描画先バッファ55上の点線の範囲66が詳細バッファ66の位置に対応する。
Figure 27 is a diagram showing an example of position information that combines information on which position in
なお、ポリゴンモデル51に対応する詳細バッファ64の範囲は、ポリゴンモデル51全体が描画できる範囲である。ポリゴンモデル52に対応する詳細バッファ65の範囲は、ポリゴンモデル52全体が描画できる範囲である。ポリゴンモデル53に対応する詳細バッファ66の範囲は、ポリゴンモデル53全体が描画できる範囲である。適用描画対象に対応する詳細バッファの範囲は、予め決められていてもよいし、ユーザーからの入力の受付によってユーザーが決められるようにしてもよいし、描画対象の面積に対応して決められるなど、範囲の決め方は限定しない。
The range of the
例えば、描画対象の面積に対応して決める場合は、割り当て作成部302は、実施の形態1の算出部104のように描画対象ごとの面積を計算してもよいし、バウンディングボックスなどを用いて近似して、描画対象ごとの面積の概算をしてもよい。なお、3次元の描画対象の場合は、描画対象を2次元に投影変換してから、描画対象の面積を計算する。バウンディングボックスなどを用いて描画対象ごとの面積の概算をする方法は、実施の形態1の図9と同様である。なお、割り当て作成部302は、適用描画対象よりも範囲に余裕を持たせて詳細バッファを作成してもよい。
For example, when determining based on the area of the drawing target, the
図21に戻って、割り当て作成部302は、描画情報と、適用描画対象である描画対象のタグ情報とを算出部104に送信し、ステップS45に進む。実施の形態3では、割り当て作成部302は、描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル51のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル52のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル53のタグ情報とを算出部104に送信する。Returning to FIG. 21, the
ステップS45において、算出部104は、割り当て作成部302から描画情報と、適用描画対象である描画対象のタグ情報とを受信する。実施の形態3では、算出部104は、割り当て作成部302から描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル51のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル52のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル53のタグ情報とを受信する。それ以外は、ステップS45は、実施の形態1のステップS14と同様である。In step S45, the
ステップS46において、決定部105は、描画情報と、適用描画対象である描画対象のタグ情報と、適用描画対象のアルファ値情報とを適用描画対象描画部304に送信し、ステップS47に進む。それ以外は、ステップS46は、実施の形態1のステップS15と同様である。In step S46, the
ステップS47において、適用描画対象描画部304は、決定部105から描画情報と、適用描画対象である描画対象のタグ情報と、適用描画対象のアルファ値情報とを受信し、詳細バッファ記憶部303の各詳細バッファに各適用描画対象を描画する。このとき、各詳細バッファにアルファ値情報も記憶される。また、適用描画対象描画部304は、詳細バッファに適用描画対象を描画する毎に、詳細バッファに描画されたピクセル数を取得する。In step S47, the applied drawing
実施の形態3では、適用描画対象描画部304は、実施の形態1と同様に、決定部105から描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル51のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル52のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル53のタグ情報と、ポリゴンモデル51のアルファ値が0.4であるというアルファ値情報と、ポリゴンモデル52のアルファ値が0.7であるというアルファ値情報と、ポリゴンモデル53のアルファ値が1.0であるというアルファ値情報とを受信する。
In embodiment 3, similarly to
適用描画対象描画部304は、詳細バッファ記憶部303の詳細バッファ64にポリゴンモデル51を描画する。また、適用描画対象描画部304は、詳細バッファ記憶部303の詳細バッファ65にポリゴンモデル52を描画する。さらに、適用描画対象描画部304は、詳細バッファ記憶部303の詳細バッファ66にポリゴンモデル53を描画する。The applied drawing
図28は、適用描画対象のポリゴンモデル51を詳細バッファ64に描画した描画結果70と別の適用描画対象のポリゴンモデル53を別の詳細バッファ66に描画した描画結果71と複数の適用描画対象のポリゴンモデル51~53とを重畳した図である。
Figure 28 shows a superimposition of a
実施の形態1と同様に、図28のように、ポリゴンモデル51は、詳細バッファ64の1つのピクセルの中心を含むため、当該ピクセルが描画情報に含まれるポリゴンモデル51に付随したRGB値で塗りつぶされて、ポリゴンモデル51が描画される。ポリゴンモデル51が描画された結果が、図28の1ピクセルの描画結果70である。ポリゴンモデル52は、詳細バッファ65のどのピクセルの中心も含まないため、描画されず消えてしまう。したがって、詳細バッファ65には、何も描画されない。ポリゴンモデル53は、詳細バッファ66の1つのピクセルの中心を含むため、当該ピクセルが描画情報に含まれるポリゴンモデル53に付随したRGB値で塗りつぶされて、ポリゴンモデル53が描画される。ポリゴンモデル53が描画された結果が、図28の1ピクセルの描画結果71である。実施の形態3の描画結果70は、実施の形態1の図12の描画結果58と同じになる。実施の形態3の描画結果71は、実施の形態1の図12の描画結果59と同じになる。As in the first embodiment, as shown in FIG. 28,
図29は、適用描画対象のポリゴンモデル51を詳細バッファ64に描画した描画結果70と別の適用描画対象のポリゴンモデル53を別の詳細バッファ66に描画した描画結果71とを示した図である。図29は図28の複数のポリゴンモデル51~53の重畳表示をなくし、実際の描画結果70~71のみを示している。図28と同様に、実施の形態3の描画結果70は、実施の形態1の図13の描画結果58と同じになる。実施の形態3の描画結果71は、実施の形態1の図13の描画結果59と同じになる。
Figure 29 shows a
適用描画対象描画部304は、ポリゴンモデル51のアルファ値情報から、描画結果70のピクセルに、ポリゴンモデル51のアルファ値が0.4であるというアルファ値を記憶させる。また、適用描画対象描画部304は、ポリゴンモデル53のアルファ値情報から、描画結果71のピクセルに、ポリゴンモデル53のアルファ値が1.0であるというアルファ値を記憶させる。図29のピクセルの中の値は、記憶されているアルファ値を表す。
The applied drawing
適用描画対象描画部304は、詳細バッファ64にポリゴンモデル51を描画する処理をした後、ポリゴンモデル51によって実際に詳細バッファ64が塗りつぶされたピクセル数を取得する。ポリゴンモデル51の場合は、図29から分かるように、適用描画対象描画部304は、詳細バッファ64に実際に描画されたピクセル数として1ピクセルという情報を取得する。適用描画対象描画部304は、詳細バッファ65にポリゴンモデル52を描画する処理をした後、ポリゴンモデル52によって実際に詳細バッファ65が塗りつぶされたピクセル数を取得する。ポリゴンモデル52の場合は、図29から分かるように、ポリゴンモデル52によって詳細バッファ65が1ピクセルも塗りつぶされていないため、適用描画対象描画部304は、ピクセル数として0ピクセルという情報を取得する。適用描画対象描画部304は、詳細バッファ66にポリゴンモデル53を描画する処理をした後、ポリゴンモデル53によって実際に詳細バッファ66が塗りつぶされたピクセル数を取得する。ポリゴンモデル53の場合は、図29から分かるように、適用描画対象描画部304は、詳細バッファ66に実際に描画されたピクセル数として1ピクセルという情報を取得する。以降は、適用描画対象描画部304が取得した適用描画対象によって詳細バッファに描画されたピクセル数を示す情報を、実施の形態1と同様に、ピクセル数情報と呼ぶ。After the applied drawing
図21に戻って、適用描画対象描画部304は、描画情報と、適用描画対象である描画対象のタグ情報と、アルファ値情報と、ピクセル数情報とを打点部305に送信し、ステップS48に進む。Returning to Figure 21, the application drawing
ステップS48において、打点部305は、適用描画対象描画部304から描画情報と、適用描画対象である描画対象のタグ情報と、アルファ値情報と、ピクセル数情報とを受信する。打点部305は、ピクセル数情報から、適用描画対象描画部304で描画されず消えてしまった適用描画対象である消失適用描画対象を特定し、消失適用描画対象の位置に対応した詳細バッファ内のピクセルに点を打ち、消失適用描画対象を詳細バッファに描画する。このとき、詳細バッファにアルファ値情報のアルファ値も記憶される。In step S48, the dotting
実施の形態3では、打点部305は、実施の形態1と同様に、適用描画対象描画部304から描画情報と、適用描画対象であるとタグ付けされたポリゴンモデル51のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル52のタグ情報と、適用描画対象であるとタグ付けされたポリゴンモデル53のタグ情報と、ポリゴンモデル51のアルファ値が0.4であるというアルファ値情報と、ポリゴンモデル52のアルファ値が0.7であるというアルファ値情報と、ポリゴンモデル53のアルファ値が1.0であるというアルファ値情報と、ポリゴンモデル51によって詳細バッファ56に描画されたピクセル数が1ピクセルであるというピクセル数情報と、ポリゴンモデル52によって詳細バッファ56に描画されたピクセル数が0ピクセルであるというピクセル数情報と、ポリゴンモデル53によって詳細バッファ56に描画されたピクセル数が1ピクセルであるというピクセル数情報とを受信する。In embodiment 3, similarly to
打点部305は、実施の形態1と同様に、ピクセル数情報から、ピクセル数が0ピクセルである適用描画対象を適用描画対象描画部304で描画されず消えてしまった適用描画対象である消失適用描画対象として特定する。具体的には、打点部305は、ポリゴンモデル52のピクセル数情報が0ピクセルであるため、ポリゴンモデル52を消失適用描画対象として特定する。As in the first embodiment, the dotting
打点部305は、消失適用描画対象であるポリゴンモデル52の位置に対応した詳細バッファ65内のピクセルに点を打ち、消失適用描画対象を詳細バッファに描画する。打点部305は、ポリゴンモデル52の頂点の位置に対応した詳細バッファ65内のピクセルに点を打ち、消失適用描画対象であるポリゴンモデル52を詳細バッファ65に描画する。なお、打点部305は、円、楕円など頂点がない描画対象の場合は、多角形に近似して、多角形の頂点の位置に点を打つ。The dotting
図30は、適用描画対象のポリゴンモデル51を詳細バッファ64に描画した描画結果70と別の適用描画対象のポリゴンモデル53を詳細バッファ66に描画した描画結果71とさらに別の適用描画対象のポリゴンモデル52を詳細バッファ65に描画した描画結果72と複数のポリゴンモデル51~53とを重畳した図である。ポリゴンモデル52は、実施の形態1と同様に、頂点が3つあるため、打点部305は、ポリゴンモデル52の3つの頂点の位置に対応した詳細バッファ65内のピクセルに点を打つ。すると、ポリゴンモデル52の3つの頂点の位置に対応した詳細バッファ65の3ピクセル分が、描画情報に含まれるポリゴンモデル52に付随したRGB値で塗りつぶされて、ポリゴンモデル52が描画される。ポリゴンモデル52が描画された結果が、図30の3ピクセルの描画結果72である。
Figure 30 shows a
図31は、適用描画対象のポリゴンモデル51を詳細バッファ64に描画した描画結果70と別の適用描画対象のポリゴンモデル53を詳細バッファ66に描画した描画結果71とさらに別の適用描画対象のポリゴンモデル52を詳細バッファ65に描画した描画結果72とを示した図である。図31は図30の複数のポリゴンモデル51~53の重畳表示をなくし、実際の描画結果70~72のみを示している。
Figure 31 shows a
打点部305は、ポリゴンモデル52のアルファ値情報から、描画結果72を構成する各ピクセルに、ポリゴンモデル52のアルファ値が0.7であるというアルファ値を記憶させる。図31の各ピクセルの中の値は、記憶されているアルファ値を表す。
The dotting
図21に戻って、打点部305は、詳細バッファへの描画の終了の通知をブレンド処理部306に送信し、ステップS49に進む。また、打点部305は、消失適用描画対象がなかった場合は、適用描画対象はすでに詳細バッファに描画されているため、何もせず、詳細バッファへの描画の終了の通知をブレンド処理部306に送信し、ステップS49に進む。Returning to FIG. 21, the dotting
ステップS49において、ブレンド処理部306は、不適用描画対象描画部107から描画先バッファへの描画の終了の通知を受信し、打点部305から詳細バッファへの描画の終了の通知を受信すると、詳細バッファ303に記憶されている各詳細バッファの位置情報を用いて、描画先バッファ記憶部103に記憶されている描画先バッファに対して、詳細バッファ303に記憶されている各詳細バッファの1ピクセルごとにアルファ値でRGB値をアルファブレンドして適用描画対象を描画先バッファに描画する。In step S49, when the blending
実施の形態3では、ブレンド処理部306は、詳細バッファ64に記憶されている位置情報67を用いて、図8の描画先バッファ55に対して、図31の詳細バッファ64の1ピクセルごとにアルファ値でRGB値をアルファブレンドして適用描画対象であるポリゴンモデル51を描画先バッファ55に描画する。具体的には、ブレンド処理部306は、描画先バッファ記憶部103に記憶されている図8の描画先バッファ55に対して、位置情報67に対応した位置に、図31のポリゴンモデル51の描画結果70の1ピクセルについて、アルファ値である0.4でポリゴンモデル51のRGB値をアルファブレンドする。In the third embodiment, the blending
同様に、ブレンド処理部306は、詳細バッファ65に記憶されている位置情報68を用いて、図8の描画先バッファ55に対して、図31の詳細バッファ65の1ピクセルごとにアルファ値でRGB値をアルファブレンドして適用描画対象であるポリゴンモデル52を描画先バッファ55に描画する。具体的には、ブレンド処理部306は、描画先バッファ記憶部103に記憶されている図8の描画先バッファ55に対して、位置情報68に対応した位置に、図31のポリゴンモデル52の描画結果72の各ピクセルについて、各ピクセルのアルファ値である0.7でポリゴンモデル52のRGB値をアルファブレンドする。Similarly, the blending
ブレンド処理部306は、詳細バッファ66に記憶されている位置情報69を用いて、図8の描画先バッファ55に対して、図31の詳細バッファ66の1ピクセルごとにアルファ値でRGB値をアルファブレンドして適用描画対象であるポリゴンモデル53を描画先バッファ55に描画する。具体的には、ブレンド処理部306は、描画先バッファ記憶部103に記憶されている図8の描画先バッファ55に対して、位置情報69に対応した位置に、図31のポリゴンモデル53の描画結果71の1ピクセルについて、アルファ値である1.0でポリゴンモデル53のRGB値をアルファブレンドする。The blending
全てのポリゴンモデルを描画先バッファ55に描画した描画結果を示した図は、図16と同様である。
The diagram showing the rendering result when all polygon models are rendered in the
ブレンド処理部306は、アルファブレンドの終了の通知を出力制御部111に送信し、ステップS50に進む。The blending
ステップS50において、出力制御部111は、ブレンド処理部306からアルファブレンドの終了の通知を受信する。それ以外は、ステップS50は、実施の形態1のステップS19と同様である。In step S50, the
ステップS50を実行した後もステップS41に戻り、電源をOFFにすること、あるいは終了操作がなされる等の処理の終了のトリガーがあるまで上記のような処理を繰り返す。なお、上記のような処理を繰り返すとしたが、繰り返さず一回行うだけでもよい。After step S50 is executed, the process returns to step S41, and the above-described process is repeated until a trigger for terminating the process occurs, such as turning off the power or performing an end operation. Note that although the above-described process is repeated, it is also possible to perform the process only once without repeating it.
以上述べたように、実施の形態3の描画処理システム3は、適用判定部106によって不適用描画対象と判定された描画対象を、不適用描画対象描画部107が描画先バッファ記憶部103に記憶されている描画先バッファに描画し、算出部104が適用判定部106によって適用描画対象と判定された描画対象の面積を算出し、決定部105が算出した面積から適用描画対象のアルファ値を決定し、適用描画対象描画部304が描画先バッファとは異なるバッファである詳細バッファに適用描画対象を描画し、打点部305が適用描画対象の位置に対応した詳細バッファ内のピクセルに点を打つことで適用描画対象を詳細バッファに描画し、ブレンド処理部306が適用描画対象のアルファ値で描画先バッファに詳細バッファをアルファブレンドし、出力制御部111が出力装置5に描画先バッファに描画されたシーンを出力するよう制御するため、ピクセルの中心に描画対象が位置していない場合でも、描画対象が描画され、描画対象を表示画面上に表示させることができる。As described above, in the drawing processing system 3 of the third embodiment, the non-applicable drawing
また、実施の形態3においては、描画処理システム3は、割り当て作成部302が詳細バッファ記憶部303に適用描画対象ごとの範囲に対応した詳細バッファを作成し、適用描画対象描画部304と打点部305とが適用描画対象の範囲に対応した詳細バッファに当該適用描画対象を描画する。当該描画により、描画処理システム3は、適用描画対象の描画に使用しない範囲の割合が高い場合に、適用描画対象の範囲に対応した詳細バッファを作成するだけでいいため、無駄にバッファを作成する必要がなく、メモリの使用量を低減することができる。
In addition, in the third embodiment, the drawing processing system 3 has the
実施の形態1~3においては、描画処理システム1~3は、同一シーンに描画サイズ差が大きい描画対象が混在する場合に、従来の描画処理装置では、シーン全体を描画する必要があり、例えば、1ピクセル未満の小さい描画対象などを表示画面上から消失させないように描画するには、その分高い倍率あるいはピクセルの分割数を多くして描画対象を描画する必要がある。つまり、従来の描画処理装置では、シーンの中に、描画サイズ差が大きい描画対象が混在する場合、一番小さい描画対象に対応した倍率あるいは分割数でシーン全体を描画すると、他の描画対象も高解像度、あるいは分割数を多くして描画するため、描画処理負荷が大きくなってしまう。しかし、描画処理システム1~3は、高解像度で描画する必要がないため、描画対象を表示画面上から消失させないように描画することによる描画処理負荷を低減させることができる。In the first to third embodiments, when drawing objects with large differences in drawing size are mixed in the same scene, conventional drawing processing devices are required to draw the entire scene, and in order to draw small drawing objects, such as those smaller than one pixel, so that they do not disappear from the display screen, it is necessary to draw the drawing objects at a higher magnification or with a larger number of pixel divisions. In other words, in a conventional drawing processing device, when drawing objects with large differences in drawing size are mixed in a scene, if the entire scene is drawn at a magnification or division number corresponding to the smallest drawing object, the other drawing objects are also drawn at a higher resolution or with a larger number of divisions, which increases the drawing processing load. However, since drawing
実施の形態1~3においては、描画処理システム1~3は、算出部が適用描画対象の面積を算出し、決定部が当該面積からアルファ値を算出するため、描画対象の輝度値を描画対象のサイズに応じて決定し、適切な輝度にすることができる。また、描画処理システム1~3は、アルファブレンドをするため、背景となる色が消えることもない。
In
なお、実施の形態1~3において、描画処理システム1~3は、適用描画対象描画部が、詳細バッファに適用描画対象を描画し、描画されたピクセル数を取得し、打点部が、適用描画対象ごとに取得した描画されたピクセル数から、詳細バッファに描画されなかった消失適用描画対象を特定し、消失適用描画対象の位置に対応した詳細バッファ内のピクセルに点を打ち、消失適用描画対象を詳細バッファに描画していた。しかし、描画処理システム1~3は、適用描画対象描画部をなくし、打点部がすべての適用描画対象対して、適用描画対象の位置に対応した詳細バッファ内のピクセルに点を打ち、すべての適用描画対象を詳細バッファに描画してもよい。ただし、適用描画対象描画部をなくし、打点部がすべての適用描画対象を詳細バッファに描画するためには、適用描画対象が複雑な形状であった場合、打つべき点の数が増えるため、適用描画対象描画部を設けて、打点部が消失適用描画対象の位置に対応した詳細バッファ内のピクセルに点を打ち、消失適用描画対象を詳細バッファに描画する方が、描画処理の負荷が軽減できる。また、描画処理システム1~3は、適用描画対象描画部である程度の面積を持った適用描画対象を描画した方が、正確に描画をすることができる。In the first to third embodiments, the
実施の形態1~3において、描画処理システム1~3は、打点部が消失適用描画対象の頂点の位置に対応した詳細バッファ内のピクセルに点を打ったが、消失適用描画対象の重心の位置に対応した詳細バッファ内のピクセルに点を打ってもよい。ただし、打点部が消失適用描画対象の重心の位置に対応した詳細バッファ内のピクセルに点を打つ場合は、重心を算出する必要がある。描画処理システム1~3は、打点部が消失適用描画対象の頂点の位置に対応した詳細バッファ内のピクセルに点を打つ方が、消失適用描画対象の重心の位置に対応した詳細バッファ内のピクセルに点を打つよりも描画処理負荷を低減できる。
In
実施の形態1~3において、描画処理システム1~3は、不適用描画対象の描画をしてから、適用描画対象の描画をするように順番に処理していたが、同時に並列に描画してもいいし、描画の順番を逆にしてもよいし、不適用描画対象の描画と適用描画対象の描画とをランダムな順番に処理してもよい。また、不適用描画対象が複数ある場合は、描画処理システム1~3は、複数の不適用描画対象を順番に描画してもよいし、同時に並列に不適用描画対象を描画してもよい。同様に、適用描画対象が複数ある場合は、描画処理システム1~3は、複数の適用描画対象を順番に描画してもよいし、同時に並列に適用描画対象を描画してもよい。
In
実施の形態1~3において、描画処理システム1~3は、詳細バッファ記憶部を備えているが、複数に記憶部を分けて処理してもよい。また、描画処理システム1~3は、描画処理装置100~300が描画先バッファ記憶部及び詳細バッファ記憶部を備えていたが、これらの記憶部はクラウドなど描画処理装置100~300とは異なる装置に備えられていてもよい。描画処理装置100~300は、通信によって記憶部と情報を授受すればよい。In
実施の形態1において、描画処理システム1は、ステップS12において作成部102が描画先バッファと詳細バッファとを作成したが、予め描画先バッファと詳細バッファとが作成されていてもよい。また、ステップS12において作成部102が描画先バッファを作成した後、ステップS13~ステップS16との間で、作成部102が詳細バッファを作成してもよい。描画先バッファの作成は、描画先バッファに描画がなされる前であればいつもでよい。また、詳細バッファの作成は、詳細バッファに描画がなされる前であればいつもでよい。同様に、実施の形態2及び実施の形態3においても、描画先バッファの作成は、描画先バッファに描画がなされる前であればいつもでよい。また、詳細バッファの作成は、詳細バッファに描画がなされる前であればいつもでよい。
In the first embodiment, in the
実施の形態1~3において、描画処理システム1~3は、描画対象ごとの面積の概算値を算出する場合にバウンディングボックス80を用いたが、ボックスでなくても、球、ラグビーボール型、三角柱、三角錐などの描画対象よりも頂点数が少なく、描画対象の面積の算出よりも面積が算出しやすい形状でもよい。また、これらの組合せでもよい。なお、バウンディングボックスなどは、3次元の描画対象の面積の概算だけでなく、2次元の描画対象の面積の概算にも用いることができる。この場合、球は円、ラグビーボール型は楕円、三角柱及び三角錐は三角形などの概算しやすい形状に置き換わる。In the first to third embodiments, the
実施の形態1~3において、描画処理システム1~3は、例えば、描画対象が3次元グラフィックスのサーフェースモデルの1つであるポリゴンモデルである場合について適用したが、ポリゴンモデル以外のサーフェースモデル、ソリットモデル、ポイントモデルなどでも適用できる。また、描画対象が3次元グラフィックスではなく、描画対象が2次元グラフィックスである場合にも、描画処理システム1~3を適用できる。
In the first to third embodiments, the
実施の形態1~3において、描画処理システム1~3は、例えば、描画対象がRGB値で表されるRGBカラーの描画を表示する場合に適用したが、グレースケール、HSBカラーで表される描画を表示する場合にも適用できる。
In
ところで、上記した実施の形態に示した描画処理装置、描画処理システム、描画処理方法、および描画処理プログラムは一例に過ぎず、適宜、他の装置と組み合わせて構成することが出来るものであって、実施の形態単独の構成に限られるものではない。 However, the drawing processing device, drawing processing system, drawing processing method, and drawing processing program shown in the above-mentioned embodiments are merely examples, and can be configured in combination with other devices as appropriate, and are not limited to the configuration of the embodiments alone.
1~3 描画処理システム、 4, 6 入力装置、
5 出力装置、 41 バス、 42 CPU、
43 メインメモリ、 44 GPU、
45 グラフィックメモリ、 46 入力インターフェース、
47 出力インターフェース、 51~54 ポリゴンモデル、
55 描画先バッファ、
56, 64~66, 70~72 詳細バッファ、
57~63 描画結果、 67~69 位置情報、
80 バウンディングボックス、
81 描画対象、 82 面積、
100~300 描画処理装置、 101, 201 取得部、
102, 301 作成部、 103 描画先バッファ記憶部、
104, 204 算出部、 105, 205 決定部、
106, 202 適用判定部、
107, 203 不適用描画対象描画部、
108, 209, 304 適用描画対象描画部、
109, 303 詳細バッファ記憶部、
110, 207, 306 ブレンド処理部、
111出力制御部、 112, 210, 305 打点部、
206 終了判定部、 208 蓄積記憶部、
302 割り当て作成部。
1 to 3: drawing processing system; 4, 6: input device;
5 output device, 41 bus, 42 CPU,
43 main memory, 44 GPU,
45 Graphic memory, 46 Input interface,
47 Output interface, 51-54 Polygon model,
55 drawing destination buffer,
56, 64 to 66, 70 to 72 Detail buffer,
57-63 Drawing results, 67-69 Position information,
80 bounding boxes,
81 Drawing object, 82 Area,
100 to 300: drawing processing device; 101, 201: acquisition unit;
102, 301 creation unit, 103 drawing destination buffer storage unit,
104, 204 calculation unit, 105, 205 determination unit,
106, 202 application determination unit,
107, 203 non-applicable drawing object drawing section,
108, 209, 304 Applied drawing object drawing unit,
109, 303 detailed buffer memory unit,
110, 207, 306 blend processing unit,
111 output control unit, 112, 210, 305 dotting unit,
206 End determination unit, 208 Accumulation storage unit,
302 Allocation creation unit.
Claims (13)
前記バッファに描画されたシーンを出力装置に出力するように制御する出力制御部と、
前記描画対象が、描画先となる第一のバッファに描画される第一の描画対象と、前記第一のバッファとは異なるバッファである第二のバッファに描画される第二の描画対象とのいずれであるかを判定する適用判定部と、
前記適用判定部によって前記第一の描画対象と判定された前記描画対象を前記第一のバッファに描画する第一の描画対象描画部と、
前記描画対象の透過度を表すアルファ値で前記第一のバッファに前記第二のバッファをアルファブレンドするブレンド処理部とを備え、
前記バッファは、前記第二のバッファであり、
前記打点部は、前記第二の描画対象の位置に対応した前記第二のバッファ内のピクセルに点を打ち、前記第二の描画対象を前記第二のバッファに描画し、
前記出力制御部は、アルファブレンドした前記第一のバッファに描画されたシーンを前記出力装置に出力するように制御する
描画処理装置。 a dotting unit that draws dots on pixels in a buffer corresponding to positions of a two or more dimensional drawing object, and draws the drawing object in the buffer;
an output control unit that controls the scene drawn in the buffer to be output to an output device ;
an application determination unit that determines whether the drawing target is a first drawing target to be drawn in a first buffer that is a drawing destination, or a second drawing target to be drawn in a second buffer that is a buffer different from the first buffer;
a first drawing object drawing unit that draws the drawing object determined to be the first drawing object by the application determination unit in the first buffer;
a blend processing unit that alpha-blends the first buffer with the second buffer using an alpha value that represents the transparency of the drawing object,
the buffer is the second buffer,
the dotting unit draws a dot on a pixel in the second buffer corresponding to a position of the second drawing object, thereby drawing the second drawing object in the second buffer;
The output control unit controls so as to output the alpha-blended scene drawn in the first buffer to the output device.
Drawing processing unit.
前記算出部により算出された前記面積から前記第二の描画対象の透過度を表すアルファ値を決定する決定部とを備える
請求項1に記載の描画処理装置。 a calculation unit that calculates an area of the drawing object determined to be the second drawing object by the application determination unit;
The drawing processing device according to claim 1 , further comprising a determination unit that determines an alpha value representing a transparency of the second drawing object from the area calculated by the calculation unit.
前記打点部は、前記ピクセル数が0ピクセルである前記第二の描画対象に対応した前記第二のバッファの位置に点を打ち、前記第二の描画対象を前記第二のバッファに描画する
請求項1又は2に記載の描画処理装置。 a second drawing object drawing unit that draws the second drawing object in the second buffer and obtains the number of pixels filled when the second drawing object is drawn in the second buffer;
3. The drawing processing device according to claim 1, wherein the dotting unit dots a dot at a position in the second buffer corresponding to the second drawing object where the pixel count is 0 pixels, and draws the second drawing object in the second buffer.
請求項1から3のいずれか1項に記載の描画処理装置。 4. The drawing processing device according to claim 1 , wherein the dotting unit puts a dot on a pixel in the second buffer corresponding to a position of a vertex of the second drawing object or a position of a center of gravity of the second drawing object.
請求項2に記載の描画処理装置。 The drawing processing device according to claim 2 , wherein the calculation unit calculates, as the area of the second drawing object, an area roughly estimated using a shape that is similar to the second drawing object and has a smaller number of vertices than the second drawing object.
請求項1から5のいずれか1項に記載の描画処理装置。 The drawing processing device according to claim 1 , further comprising an allocation creation unit that creates the second buffer for each of the second drawing objects in accordance with an area of each of the second drawing objects.
請求項6に記載の描画処理装置。 7. The drawing processing device according to claim 6, wherein the allocation creation unit calculates a size of the second buffer for each of the second drawing objects relative to the first buffer by setting the area of the second drawing object to an approximate area of a shape that is similar to the second drawing object and has fewer vertices than the second drawing object.
前記適用判定部は、前記タグ情報を用いて、前記描画対象が前記第一の描画対象と前記第二の描画対象とのいずれであるかを判定する
請求項1から7のいずれか1項に記載の描画処理装置。 an acquisition unit that acquires tag information that is information indicating whether the drawing target is the first drawing target or the second drawing target;
The drawing processing device according to claim 1 , wherein the application determination unit determines whether the drawing target is the first drawing target or the second drawing target by using the tag information.
請求項1から7のいずれか1項に記載の描画処理装置。 The drawing processing device according to claim 1 , wherein the application determination unit determines whether the drawing target is the first drawing target or the second drawing target by using an area of the drawing target.
請求項9に記載の描画処理装置。 The drawing processing device according to claim 9 , wherein the application determination unit varies a threshold value used to determine whether the drawing object is the first drawing object or the second drawing object by using at least one of the luminance of the drawing object or an importance previously assigned to the drawing object .
前記描画対象をバッファにシーンとして描画する描画処理を行う描画処理装置と、
前記シーンを出力する出力装置とを備え、
前記描画処理装置は、
前記描画対象の位置に対応した前記バッファ内のピクセルに点を打ち、前記描画対象を前記バッファに描画する打点部と、
前記バッファに描画されたシーンを前記出力装置に出力するように制御する出力制御部と、
前記描画対象が、描画先となる第一のバッファに描画される第一の描画対象と、前記第一のバッファとは異なるバッファである第二のバッファに描画される第二の描画対象とのいずれであるかを判定する適用判定部と、
前記適用判定部によって前記第一の描画対象と判定された前記描画対象を前記第一のバッファに描画する第一の描画対象描画部と、
前記描画対象の透過度を表すアルファ値で前記第一のバッファに前記第二のバッファをアルファブレンドするブレンド処理部とを備え、
前記バッファは、前記第二のバッファであり、
前記打点部は、前記第二の描画対象の位置に対応した前記第二のバッファ内のピクセルに点を打ち、前記第二の描画対象を前記第二のバッファに描画し、
前記出力制御部は、アルファブレンドした前記第一のバッファに描画されたシーンを前記出力装置に出力するように制御する
描画処理システム。 an input device that accepts input of a two or more dimensional drawing object;
a drawing processing device that performs drawing processing to draw the drawing object in a buffer as a scene;
an output device for outputting the scene;
The drawing processing device includes:
a dotting unit that draws a dot on a pixel in the buffer corresponding to a position of the drawing object, thereby drawing the drawing object in the buffer;
an output control unit that controls the scene drawn in the buffer to be output to the output device ;
an application determination unit that determines whether the drawing target is a first drawing target to be drawn in a first buffer that is a drawing destination, or a second drawing target to be drawn in a second buffer that is a buffer different from the first buffer;
a first drawing object drawing unit that draws the drawing object determined to be the first drawing object by the application determination unit in the first buffer;
a blend processing unit that alpha-blends the first buffer with the second buffer using an alpha value that represents the transparency of the drawing object,
the buffer is the second buffer,
the dotting unit draws a dot on a pixel in the second buffer corresponding to a position of the second drawing object, thereby drawing the second drawing object in the second buffer;
The output control unit controls so as to output the alpha-blended scene drawn in the first buffer to the output device.
Drawing processing system.
出力制御部が、前記バッファに描画されたシーンを出力装置に出力するように制御するステップと、
適用判定部が、前記描画対象が、描画先となる第一のバッファに描画される第一の描画対象と、前記第一のバッファとは異なるバッファである第二のバッファに描画される第二の描画対象とのいずれであるかを判定するステップと、
第一の描画対象描画部が、前記適用判定部によって前記第一の描画対象と判定された前記描画対象を前記第一のバッファに描画するステップと、
ブレンド処理部が、前記描画対象の透過度を表すアルファ値で前記第一のバッファに前記第二のバッファをアルファブレンドするステップとを備え、
前記バッファは、前記第二のバッファであり、
前記打点部は、前記第二の描画対象の位置に対応した前記第二のバッファ内のピクセルに点を打ち、前記第二の描画対象を前記第二のバッファに描画し、
前記出力制御部は、アルファブレンドした前記第一のバッファに描画されたシーンを前記出力装置に出力するように制御する
描画処理方法。 a dotting unit drawing dots on pixels in a buffer corresponding to positions of a drawing object in two or more dimensions, thereby drawing the drawing object in the buffer;
an output control unit controlling the scene drawn in the buffer to be output to an output device ;
a step of an application determination unit determining whether the drawing target is a first drawing target to be drawn in a first buffer that is a drawing destination, or a second drawing target to be drawn in a second buffer that is a buffer different from the first buffer;
a first drawing object drawing unit drawing the drawing object determined to be the first drawing object by the application determination unit in the first buffer;
a blending processing unit alpha-blending the second buffer into the first buffer using an alpha value that represents a transparency of the rendering object;
the buffer is the second buffer,
the dotting unit draws a dot on a pixel in the second buffer corresponding to a position of the second drawing object, thereby drawing the second drawing object in the second buffer;
The output control unit controls so as to output the alpha-blended scene drawn in the first buffer to the output device.
Drawing processing method.
2次元以上の描画対象の位置に対応したバッファ内のピクセルに点を打ち、前記描画対象を前記バッファに描画する処理と、
前記バッファに描画されたシーンを出力装置に出力するように制御する処理と、
前記描画対象が、描画先となる第一のバッファに描画される第一の描画対象と、前記第一のバッファとは異なるバッファである第二のバッファに描画される第二の描画対象とのいずれであるかを判定する処理と、
前記判定する処理において前記第一の描画対象と判定された前記描画対象を前記第一のバッファに描画する処理と、
前記描画対象の透過度を表すアルファ値で前記第一のバッファに前記第二のバッファをアルファブレンドする処理とを行わせ、
前記バッファは、前記第二のバッファであり、
前記コンピュータに、前記第二の描画対象の位置に対応した前記第二のバッファ内のピクセルに点を打たせ、前記第二の描画対象を前記第二のバッファに描画させ、
前記コンピュータを、アルファブレンドした前記第一のバッファに描画されたシーンを前記出力装置に出力するように制御する
描画処理プログラム。 On the computer,
plotting pixels in a buffer corresponding to positions of a two or more dimensional object to be drawn in the buffer;
a process of controlling output of the scene drawn in the buffer to an output device ;
a process of determining whether the drawing target is a first drawing target to be drawn in a first buffer that is a drawing destination, or a second drawing target to be drawn in a second buffer that is a buffer different from the first buffer;
a process of drawing the drawing target determined to be the first drawing target in the process of determining, in the first buffer;
alpha-blending the first buffer with the second buffer using an alpha value that represents the transparency of the rendering target;
the buffer is the second buffer,
causing the computer to plot pixels in the second buffer corresponding to the location of the second object, thereby rendering the second object into the second buffer;
Controlling the computer to output the alpha-blended scene drawn in the first buffer to the output device.
Drawing processing program.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/012491 WO2022201413A1 (en) | 2021-03-25 | 2021-03-25 | Drawing processing device, drawing processing system, drawing processing method, and drawing processing program |
Publications (3)
Publication Number | Publication Date |
---|---|
JPWO2022201413A1 JPWO2022201413A1 (en) | 2022-09-29 |
JPWO2022201413A5 JPWO2022201413A5 (en) | 2023-07-03 |
JP7471512B2 true JP7471512B2 (en) | 2024-04-19 |
Family
ID=83395432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023508301A Active JP7471512B2 (en) | 2021-03-25 | 2021-03-25 | Drawing processing device, drawing processing system, drawing processing method, and drawing processing program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7471512B2 (en) |
WO (1) | WO2022201413A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005346605A (en) | 2004-06-07 | 2005-12-15 | Matsushita Electric Ind Co Ltd | Antialias drawing method and drawing apparatus using the same |
JP2010146255A (en) | 2008-12-18 | 2010-07-01 | Mitsubishi Electric Corp | Vector graphics drawing device |
WO2014087541A1 (en) | 2012-12-07 | 2014-06-12 | 三菱電機株式会社 | Graphics rendering device |
-
2021
- 2021-03-25 WO PCT/JP2021/012491 patent/WO2022201413A1/en active Application Filing
- 2021-03-25 JP JP2023508301A patent/JP7471512B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005346605A (en) | 2004-06-07 | 2005-12-15 | Matsushita Electric Ind Co Ltd | Antialias drawing method and drawing apparatus using the same |
JP2010146255A (en) | 2008-12-18 | 2010-07-01 | Mitsubishi Electric Corp | Vector graphics drawing device |
WO2014087541A1 (en) | 2012-12-07 | 2014-06-12 | 三菱電機株式会社 | Graphics rendering device |
Also Published As
Publication number | Publication date |
---|---|
WO2022201413A1 (en) | 2022-09-29 |
JPWO2022201413A1 (en) | 2022-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11182952B2 (en) | Hidden culling in tile-based computer generated images | |
KR100896155B1 (en) | Flexible antialiasing in embedded devices | |
US10102663B2 (en) | Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location | |
JP4769984B2 (en) | Tile-based graphic rendering | |
US6961065B2 (en) | Image processor, components thereof, and rendering method | |
KR102122454B1 (en) | Apparatus and Method for rendering a current frame using an image of previous tile | |
TWI434226B (en) | Image processing techniques | |
US20100265254A1 (en) | Graphics filled shape drawing | |
KR20160069801A (en) | Apparatus and Method for rendering | |
TWI789452B (en) | Graphic processor performing sampling-based rendering and method of operating the same | |
US10332290B2 (en) | Fast, coverage-optimized, resolution-independent and anti-aliased graphics processing | |
US7898549B1 (en) | Faster clears for three-dimensional modeling applications | |
KR20170040698A (en) | Method and apparatus for performing graphics pipelines | |
CN110599564A (en) | Image display method and device, computer equipment and storage medium | |
KR20180038793A (en) | Method and apparatus for processing image data | |
JP7471512B2 (en) | Drawing processing device, drawing processing system, drawing processing method, and drawing processing program | |
JP4183082B2 (en) | 3D image drawing apparatus and 3D image drawing method | |
JP7444276B2 (en) | Drawing processing device, drawing processing system, drawing processing method, and drawing processing program | |
JP3872056B2 (en) | Drawing method | |
CN110764674B (en) | Method and system for erasing note primitives of electronic whiteboard and electronic whiteboard | |
JP2011028641A (en) | Image processing device and image processing method | |
JP2003187260A (en) | Image rendering program, recording medium in which image rendering program is recorded, image rendering apparatus and method | |
CN113421308A (en) | Image calibration method and device | |
JP6205200B2 (en) | Image processing apparatus and image processing method having sort function | |
JP2004086479A (en) | Information processor for displaying graphic, information processing method, program for realizing same method, and recording medium with its program recorded |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230413 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230413 |
|
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: 20240312 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240409 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7471512 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |