JP2023048792A - Information processing apparatus, program, and drawing method - Google Patents

Information processing apparatus, program, and drawing method Download PDF

Info

Publication number
JP2023048792A
JP2023048792A JP2021158314A JP2021158314A JP2023048792A JP 2023048792 A JP2023048792 A JP 2023048792A JP 2021158314 A JP2021158314 A JP 2021158314A JP 2021158314 A JP2021158314 A JP 2021158314A JP 2023048792 A JP2023048792 A JP 2023048792A
Authority
JP
Japan
Prior art keywords
density
screen
distance
objects
viewpoint
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.)
Granted
Application number
JP2021158314A
Other languages
Japanese (ja)
Other versions
JP7352603B2 (en
Inventor
順一 岩▲崎▼
Junichi Iwasaki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cygames Inc
Original Assignee
Cygames Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cygames Inc filed Critical Cygames Inc
Priority to JP2021158314A priority Critical patent/JP7352603B2/en
Publication of JP2023048792A publication Critical patent/JP2023048792A/en
Application granted granted Critical
Publication of JP7352603B2 publication Critical patent/JP7352603B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

To provide an information processing apparatus configured to draw natural overlapping of multiple semi-transparent objects which has been difficult to represent.SOLUTION: An information processing apparatus 2 includes: a viewpoint acquisition unit 12 which acquires a viewpoint in a three-dimensional virtual space; an object information acquisition unit 13 which acquires object information indicating that multiple objects arranged in the three-dimensional virtual space are an opaque object or a semi-transparent object, respectively; a screen drawing unit 14 which draws a screen including one object and the other object of the multiple objects, when a determination is made from the object information that the one or the other object is a semi-transparent object, in accordance with a distance from the viewpoint to the other object, with density of the one object and density of the other object determined from a relationship between the distance and the density of the one object; and a screen output unit 15 which outputs the screen on a display device 4.SELECTED DRAWING: Figure 4

Description

本発明は、情報処理装置、プログラム及び描画方法に関する。 The present invention relates to an information processing apparatus, program, and drawing method.

画面に描画されるオブジェクトには様々な種類があり、例えば、半透明オブジェクトと不透明オブジェクトとが存在している。従来の画像処理では、アルファ値を使って透明度が指定されていた。アルファ値は、例えば、「0」~「255」の範囲で値をとる。アルファ値が「0」のオブジェクトは完全に透明であり、アルファ値が「255」のオブジェクトは完全に不透明である。そして、アルファ値が「255」未満の不透明でないオブジェクトを半透明オブジェクトと呼んで、アルファ値が「255」の不透明オブジェクトと区別していた。 There are various types of objects drawn on the screen, and there are, for example, translucent objects and opaque objects. Traditional image processing uses alpha values to specify transparency. The alpha value takes a value in the range of "0" to "255", for example. An object with an alpha value of "0" is completely transparent, and an object with an alpha value of "255" is completely opaque. A non-opaque object with an alpha value of less than "255" is called a translucent object to distinguish it from an opaque object with an alpha value of "255".

従来、不透明オブジェクトは、情報処理装置により以下のような手順で描画されていた。
始めに、これから描画する不透明オブジェクトの深度情報と、既に描画された不透明オブジェクトの深度情報とを比較する。なお、既に描画された不透明オブジェクトの深度情報は、Zバッファに格納されているので、Zバッファから読み出した深度情報と、これから描画する不透明オブジェクトの深度情報とが比較される。
Conventionally, an opaque object has been drawn by an information processing apparatus in the following procedure.
First, the depth information of the opaque object to be drawn is compared with the depth information of the opaque object that has already been drawn. Since the depth information of the opaque object that has already been drawn is stored in the Z-buffer, the depth information read from the Z-buffer is compared with the depth information of the opaque object to be drawn.

次に、これから描画する不透明オブジェクトが、既に描画された不透明オブジェクトより手前に存在している場合、新しく不透明オブジェクトを描画した後、Zバッファの深度情報が更新される。一方、これから描画する不透明オブジェクトが、既に描画された不透明オブジェクトの奥に存在している場合、奥に存在する不透明オブジェクトは描画されない。
情報処理装置は、上記の手順を視点から見える全てのオブジェクトに対して繰り返し行って画面を描画する。
Next, if the opaque object to be drawn is present in front of the opaque object that has already been drawn, the depth information in the Z buffer is updated after the opaque object is newly drawn. On the other hand, if the opaque object to be drawn is behind the already drawn opaque object, the opaque object behind is not drawn.
The information processing device draws the screen by repeating the above procedure for all objects visible from the viewpoint.

ここで、3次元仮想空間内の視点から見て、あるオブジェクトの手前で重なる位置に半透明オブジェクトが存在する場合、手前側の半透明オブジェクトだけでなく、半透明オブジェクトから透けて見える奥側のオブジェクトについても描画する必要がある。このため、上述した従来の不透明オブジェクトの描画手順に示したような、奥側にあるオブジェクトは描画しない手法を用いることができない。 Here, when a semi-transparent object exists in a position where a certain object overlaps in front of a certain object when viewed from the viewpoint in the three-dimensional virtual space, not only the semi-transparent object on the near side, but also the translucent object on the far side that can be seen through the semi-transparent object. Objects also need to be drawn. For this reason, it is not possible to use the technique of not drawing objects on the far side, as shown in the above-described conventional opaque object drawing procedure.

そこで、従来、半透明オブジェクトを描画するための以下の方法が知られていた。
(第1の描画方法)
これから描画する半透明オブジェクトを限定しておき、他のオブジェクトを描画した後、半透明オブジェクトを最後に描画する。
(第2の描画方法)
格子状にパンチ抜きをした半透明オブジェクトを他のオブジェクトに重ねて描画する。
Therefore, conventionally, the following methods for drawing translucent objects have been known.
(First drawing method)
The semi-transparent objects to be drawn from now on are limited, and after other objects are drawn, the semi-transparent object is drawn last.
(Second drawing method)
Draws a semi-transparent object punched out in a grid pattern on top of another object.

また、特許文献1には、半透明オブジェクトの透明度に応じて、半透明オブジェクトと不透明オブジェクトのぼけ度を調節する技術が開示されている。 Further, Japanese Patent Application Laid-Open No. 2002-200000 discloses a technique for adjusting the degree of blurring of a semi-transparent object and an opaque object according to the transparency of the semi-transparent object.

特許5857608号公報Japanese Patent No. 5857608

上述した従来の半透明オブジェクトを描画するための第1及び第2の描画方法では、以下の問題があった。
第1の描画方法では、他のオブジェクトが不透明オブジェクトであれば、不透明オブジェクトを描画した後に半透明オブジェクトを描画しても違和感が生じない。しかし、他のオブジェクトが半透明オブジェクトであれば、最後に描画する半透明オブジェクトをどれにするか判断することが難しかった。
第2の描画方法では、半透明オブジェクトを格子状にパンチ抜きしているので、描画されるオブジェクトは半透明オブジェクトを変形したものとなる。このため、デザイナー等の制作者にとって意図した半透明オブジェクトが描画できていなかった。
The above-described conventional first and second drawing methods for drawing a translucent object have the following problems.
In the first drawing method, if the other object is an opaque object, even if the translucent object is drawn after the opaque object is drawn, no sense of incongruity is caused. However, if other objects are semi-transparent objects, it is difficult to determine which semi-transparent object to draw last.
In the second drawing method, the semi-transparent object is punched in a grid pattern, so the drawn object is a modified version of the semi-transparent object. For this reason, the semi-transparent object intended by creators such as designers cannot be drawn.

また、特許文献1に開示された技術においても、半透明オブジェクトと不透明オブジェクトの重なりについては描画できるものの、半透明オブジェクトと半透明オブジェクトが重なっている情景の描画は不自然になってしまう傾向があった。 Also, with the technique disclosed in Patent Document 1, although it is possible to draw overlapping semi-transparent objects and opaque objects, there is a tendency for rendering scenes in which semi-transparent objects overlap opaque objects to be unnatural. there were.

本発明はこのような状況に鑑みて成されたものであり、複数の半透明オブジェクトの重なりを自然に描写できるようにすることを目的とする。 SUMMARY OF THE INVENTION The present invention has been made in view of such circumstances, and an object of the present invention is to enable the overlapping of a plurality of translucent objects to be depicted naturally.

本発明に係る情報処理装置は、3次元仮想空間の視点を取得する視点取得部と、3次元仮想空間に配置される複数のオブジェクトが、それぞれ不透明オブジェクト又は半透明オブジェクトのいずれであるかを示すオブジェクト情報を取得するオブジェクト情報取得部と、複数のオブジェクトのうち、一のオブジェクト及び他のオブジェクトが半透明オブジェクトであることをオブジェクト情報から判定した場合に、視点から他のオブジェクトまでの距離に応じて、一のオブジェクトの距離と濃度との関係から求めた一のオブジェクトの濃度及び他のオブジェクトの濃度により、一のオブジェクト及び他のオブジェクトを含む画面を描画する画面描画部と、表示装置に画面を出力する画面出力部と、を備える。 An information processing apparatus according to the present invention includes a viewpoint acquisition unit that acquires a viewpoint in a three-dimensional virtual space, and indicates whether each of a plurality of objects placed in the three-dimensional virtual space is an opaque object or a translucent object. an object information acquisition unit that acquires object information; a screen drawing unit for drawing a screen containing the one object and the other object based on the density of the one object and the density of the other object obtained from the relationship between the distance and the density of the one object; and a screen output unit that outputs the

本発明によれば、複数の半透明オブジェクトの重なりを自然に描画できるようになる。
上記した以外の課題、構成及び効果は、以下の実施の形態の説明により明らかにされる。
According to the present invention, it is possible to naturally render overlapping of a plurality of translucent objects.
Problems, configurations, and effects other than those described above will be clarified by the following description of the embodiments.

本発明の第1の実施の形態に係る画像描画システムの概要を示す全体構成図である。1 is an overall configuration diagram showing an overview of an image drawing system according to a first embodiment of the present invention; FIG. 本発明の第1の実施の形態に係る情報処理装置のハードウェア構成例を示すブロック図である。1 is a block diagram showing a hardware configuration example of an information processing apparatus according to a first embodiment of the present invention; FIG. 本発明の第1の実施の形態に係る3次元仮想空間におけるオブジェクトの配置例を示す上面図と画面の例を示す図である。FIG. 3 is a diagram showing an example of a top view and a screen showing an example of arrangement of objects in a three-dimensional virtual space according to the first embodiment of the present invention; FIG. 本発明の第1の実施の形態に係る情報処理装置の機能構成例を示す機能ブロック図である。1 is a functional block diagram showing a functional configuration example of an information processing apparatus according to a first embodiment of the present invention; FIG. 本発明の第1の実施の形態に係る距離-濃度カーブを近似した近似カーブの例を示す図である。FIG. 5 is a diagram showing an example of an approximation curve that approximates the distance-density curve according to the first embodiment of the present invention; 本発明の第1の実施の形態に係る情報処理装置全体の処理の例を示すフローチャートである。4 is a flow chart showing an example of overall processing of the information processing apparatus according to the first embodiment of the present invention; 本発明の第1の実施の形態に係るオブジェクト情報取得処理の詳細な処理の例を示すフローチャートである。6 is a flowchart showing an example of detailed processing of object information acquisition processing according to the first embodiment of the present invention; 本発明の第1の実施の形態に係る画面描画処理の詳細な処理の例を示すフローチャートである。4 is a flowchart showing an example of detailed processing of screen drawing processing according to the first embodiment of the present invention; 本発明の第1の実施の形態に係る濃度決定処理の詳細な処理の例を示すフローチャートである。5 is a flowchart showing an example of detailed processing of density determination processing according to the first embodiment of the present invention; 本発明の第2の実施の形態に係る情報処理装置の構成例を示すブロック図である。FIG. 7 is a block diagram showing a configuration example of an information processing device according to a second embodiment of the present invention; 本発明の第2の実施の形態に係るLUTの構成例を示す図である。It is a figure which shows the structural example of LUT which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施の形態に係る画面描画処理の詳細な処理の例を示すフローチャートである。FIG. 11 is a flowchart showing an example of detailed processing of screen drawing processing according to the second embodiment of the present invention; FIG. 本発明の第2の実施の形態に係る画面描画処理の詳細な処理の例を示すフローチャートである。FIG. 11 is a flowchart showing an example of detailed processing of screen drawing processing according to the second embodiment of the present invention; FIG. 本発明の第2の実施の形態の第1の変形例に係るLUTの構成例を示す図である。It is a figure which shows the structural example of LUT based on the 1st modification of the 2nd Embodiment of this invention. 本発明の第2の実施の形態の第2の変形例に係るLUTの構成例を示す図である。It is a figure which shows the structural example of LUT based on the 2nd modification of the 2nd Embodiment of this invention. 本発明の第2の実施の形態の第3の変形例に係るLUTの構成例を示す図である。It is a figure which shows the structural example of LUT based on the 3rd modification of the 2nd Embodiment of this invention. 本発明の第3の実施の形態に係るコンテンツ配信システムのハードウェア構成例を示すブロック図である。FIG. 11 is a block diagram showing a hardware configuration example of a content distribution system according to a third embodiment of the present invention; FIG.

以下、本発明を実施するための形態について、添付図面を参照して説明する。本明細書及び図面において、実質的に同一の機能又は構成を有する構成要素については、同一の符号を付することにより重複する説明を省略する。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments for carrying out the present invention will be described with reference to the accompanying drawings. In the present specification and drawings, constituent elements having substantially the same function or configuration are denoted by the same reference numerals, thereby omitting redundant description.

[第1の実施の形態]
<画像描画システムの全体構成例>
図1は、第1の実施の形態に係る画像描画システム1の概要を示す全体構成図である。
画像描画システム1は、情報処理装置2、操作コントローラ3及び表示装置4を備える。情報処理装置2には、操作コントローラ3及び表示装置4が無線又は有線により接続されている。情報処理装置2として、例えば、ゲーム専用端末、PC(Personal Computer)等が用いられる。操作コントローラ3は、情報処理装置2を使用するユーザが行った操作の入力情報を情報処理装置2に入力するための入力装置の一例として用いられる。
[First embodiment]
<Overall Configuration Example of Image Drawing System>
FIG. 1 is an overall configuration diagram showing an outline of an image drawing system 1 according to the first embodiment.
The image drawing system 1 includes an information processing device 2 , an operation controller 3 and a display device 4 . An operation controller 3 and a display device 4 are connected to the information processing device 2 wirelessly or by wire. As the information processing device 2, for example, a dedicated game terminal, a PC (Personal Computer), or the like is used. The operation controller 3 is used as an example of an input device for inputting input information of an operation performed by a user using the information processing device 2 to the information processing device 2 .

画像描画システム1では、光ディスク等の記録媒体に記録されたプログラムを情報処理装置2が読み出して実行する処理、情報処理装置2が操作コントローラ3からの入力情報に合わせて画面を描画する処理、表示装置4が画面を表示する処理が行われる。本明細書では、テキスト、静止画、動画、音楽、音声、及びそれらを組み合わせた情報をコンテンツと称する。コンテンツは、情報処理装置2が記録媒体から読み出したプログラムを実行することで表現される。また、コンテンツ特有の動作は、コンテンツ自体のプログラムによって制御される。このため、以下の説明では、プログラムとコンテンツを同じ意味として用いることがある。 In the image drawing system 1, the information processing device 2 reads out and executes a program recorded on a recording medium such as an optical disk, and the information processing device 2 draws a screen according to input information from the operation controller 3. A process for displaying the screen by the device 4 is performed. In this specification, text, still images, moving images, music, voice, and information combining them are referred to as content. The content is expressed by the information processing device 2 executing a program read from the recording medium. Also, content-specific behavior is controlled by the program of the content itself. Therefore, in the following description, the terms "program" and "content" may be used interchangeably.

本実施の形態では、情報処理装置2が処理するプログラムがコンピューターゲームであるとする。情報処理装置2は、後述する図2に示す光学ドライブ29に装填された光ディスク等の外部記録媒体からプログラムを読み込んで、所定の処理を行い、表示装置4に処理結果としての映像を表示する。なお、情報処理装置2は、自身が有する内部記録媒体にプログラムを記録しておき、内部記録媒体からプログラムを読み込んで所定の処理を行うこともできる。 In this embodiment, it is assumed that the program processed by the information processing device 2 is a computer game. The information processing device 2 reads a program from an external recording medium such as an optical disc loaded in an optical drive 29 shown in FIG. Note that the information processing apparatus 2 can record a program in its own internal recording medium, read the program from the internal recording medium, and perform a predetermined process.

情報処理装置2は、操作コントローラ3から入力される操作信号に基づいてプログラムを選択し、表示装置4の画面に合わせた映像信号を表示装置4に出力する。操作コントローラ3により操作されるプログラムがコンピューターゲームである場合、情報処理装置2は、操作コントローラ3からの入力情報に応じて画面を描画し、この画面の映像を表示装置4に表示するための映像信号を出力する。
表示装置4は、情報処理装置2から入力する映像信号に基づいて、映像を表示する。
The information processing device 2 selects a program based on an operation signal input from the operation controller 3 and outputs a video signal adapted to the screen of the display device 4 to the display device 4 . When the program operated by the operation controller 3 is a computer game, the information processing device 2 draws a screen according to the input information from the operation controller 3, and displays the image of the screen on the display device 4. Output a signal.
The display device 4 displays video based on the video signal input from the information processing device 2 .

例えば、情報処理装置2で読み込まれるコンピューターゲームでは、情報処理装置2のユーザが操作コントローラ3を通じて、表示装置4に表示される特定のキャラクター(「プレイヤー」と呼ぶ)に対する操作を行うことで、プレイヤーを含めた様々なシーンが描画された画面が表示装置4に表示される。プレイヤーは、3次元仮想空間内を自由に移動できるオブジェクトである。操作コントローラ3からのプレイヤーに対する操作として、例えば、プレイヤーの上下左右斜め方向への移動の他、プレイヤーを含むシーンを俯瞰する視点の移動、各種のコマンド入力等がある。操作コントローラ3で行われる操作により、表示装置4に表示されるプレイヤー及びシーンがほぼリアルタイムで変化する。このため、ユーザが意図した位置、コマンド等に対応したプレイヤーを含むシーンが表示装置4に表示される。 For example, in a computer game loaded by the information processing device 2, the user of the information processing device 2 operates a specific character (referred to as a “player”) displayed on the display device 4 through the operation controller 3, thereby allowing the player to A screen on which various scenes including are drawn is displayed on the display device 4 . A player is an object that can move freely in a three-dimensional virtual space. The operations to the player from the operation controller 3 include, for example, movement of the player up, down, left, right, and oblique directions, movement of the viewpoint for overlooking the scene including the player, input of various commands, and the like. The player and the scene displayed on the display device 4 change almost in real time by the operation performed by the operation controller 3 . Therefore, the display device 4 displays a scene including the player corresponding to the position, command, etc. intended by the user.

<情報処理装置及びコンテンツ配信サーバのハードウェア構成例>
次に、画像描画システム1を構成する情報処理装置2のハードウェア構成例を説明する。
図2は、情報処理装置2のハードウェア構成例を示すブロック図である。
<Hardware Configuration Example of Information Processing Device and Content Distribution Server>
Next, a hardware configuration example of the information processing device 2 that configures the image drawing system 1 will be described.
FIG. 2 is a block diagram showing a hardware configuration example of the information processing device 2. As shown in FIG.

(情報処理装置の構成例)
情報処理装置2は、各種のプログラムを実行可能なコンピューターとして動作する計算機の一例である。この情報処理装置2は、バス25にそれぞれ接続されたCPU(Central Processing Unit)21、GPU(Graphics Processing Unit)22、ROM(Read Only Memory)23、RAM(Random Access Memory)24、ネットワークインターフェイス26、入出力インターフェイス27、不揮発性ストレージ28及び光学ドライブ29を備える。
(Configuration example of information processing device)
The information processing device 2 is an example of a computer that operates as a computer capable of executing various programs. The information processing device 2 includes a CPU (Central Processing Unit) 21, a GPU (Graphics Processing Unit) 22, a ROM (Read Only Memory) 23, a RAM (Random Access Memory) 24, a network interface 26, and a It has an input/output interface 27 , a non-volatile storage 28 and an optical drive 29 .

CPU21は、本実施の形態に係る各機能を実現するソフトウェアのプログラムコードをROM23から読み出してRAM24にロードし、実行する。RAM24には、CPU21又はGPU22の演算処理の途中で発生した変数やパラメーター等が一時的に書き込まれ、これらの変数やパラメーター等がCPU21又はGPU22によって適宜読み出される。CPU21は、情報処理装置2のOS(Operating System)の処理、情報処理装置2内の各部で行われるデータの入出力の管理等の処理を行う。 The CPU 21 reads the program code of the software that implements each function according to the present embodiment from the ROM 23, loads it into the RAM 24, and executes it. Variables, parameters, etc. generated during the arithmetic processing of the CPU 21 or GPU 22 are temporarily written in the RAM 24, and these variables, parameters, etc. are read by the CPU 21 or GPU 22 as appropriate. The CPU 21 performs processing such as the processing of the OS (Operating System) of the information processing device 2 and the management of input/output of data performed in each section in the information processing device 2 .

GPU22は、例えば、3次元オブジェクトを画面に描画するために必要な処理を行う。以下の説明で、描画処理とは、CPU21の指示によりGPU22によって行われる処理を指す。図2に示すようにGPU22とCPU21とは別体で構成されてもよいし、CPU21の内部にGPU22が組み込まれた構成としてもよい。 The GPU 22, for example, performs processing necessary to draw a three-dimensional object on the screen. In the following description, rendering processing refers to processing performed by the GPU 22 according to instructions from the CPU 21 . As shown in FIG. 2, the GPU 22 and the CPU 21 may be configured separately, or the GPU 22 may be incorporated inside the CPU 21 .

ネットワークインターフェイス26には、例えば、NIC(Network Interface Card)等が用いられ、NICの端子に接続されたLAN(Local Area Network)、専用線等を介して各種のデータを取得したり、他の情報処理装置2との間で通信を行ったりすることが可能である。 For the network interface 26, for example, a NIC (Network Interface Card) or the like is used, and various data can be obtained via a LAN (Local Area Network), a dedicated line, or the like connected to the terminal of the NIC, or other information can be obtained. It is possible to communicate with the processing device 2 .

入出力インターフェイス27は、操作コントローラ3から受け取った操作信号を所定の形式のデータに変換し、CPU21に渡す。また、入出力インターフェイス27は、GPU22で描画された画面のデータを映像信号に変換し、表示装置4に出力する。表示装置4は、入出力インターフェイス27から受け取った映像信号に基づいた映像を画面に表示する。なお、入出力インターフェイス27は、音声信号を表示装置4に出力することもできる。表示装置4は、入出力インターフェイス27から受け取った音声信号に基づいて、表示装置4に構成される不図示のスピーカから音声を放音することができる。 The input/output interface 27 converts the operation signal received from the operation controller 3 into data in a predetermined format, and transfers the data to the CPU 21 . The input/output interface 27 also converts screen data drawn by the GPU 22 into a video signal and outputs the video signal to the display device 4 . The display device 4 displays an image based on the image signal received from the input/output interface 27 on the screen. The input/output interface 27 can also output audio signals to the display device 4 . Based on the audio signal received from the input/output interface 27 , the display device 4 can emit sound from a speaker (not shown) configured in the display device 4 .

不揮発性ストレージ28としては、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フレキシブルディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R又は不揮発性のメモリ等が用いられる。この不揮発性ストレージ28には、OS、各種のパラメーターの他に、情報処理装置2を機能させるためのプログラムが記録されている。ROM23及び不揮発性ストレージ28は、CPU21が動作するために必要なプログラムやデータ等を記録しており、情報処理装置2によって実行されるプログラムを格納したコンピューター読取可能な非一過性の記憶媒体の一例として用いられる。 As the non-volatile storage 28, for example, HDD (Hard Disk Drive), SSD (Solid State Drive), flexible disk, optical disk, magneto-optical disk, CD-ROM, CD-R, or non-volatile memory is used. The nonvolatile storage 28 stores programs for operating the information processing device 2 in addition to the OS and various parameters. The ROM 23 and the non-volatile storage 28 record programs and data necessary for the operation of the CPU 21, and are computer-readable non-transitory storage media storing programs executed by the information processing device 2. Used as an example.

不揮発性ストレージ28が光ディスク等で構成された外部記録媒体である場合、光学ドライブ29は、この不揮発性ストレージ28を読み込んで、データを取り出す。光学ドライブ29が取り出したデータは、CPU21又はGPU22による所定の演算処理に用いられる。 If the non-volatile storage 28 is an external recording medium such as an optical disk, the optical drive 29 reads this non-volatile storage 28 and extracts data. The data retrieved by the optical drive 29 is used for predetermined arithmetic processing by the CPU 21 or GPU 22 .

<3次元仮想空間の例>
次に、第1の実施形態に係る3次元仮想空間の例について説明する。
図3は、3次元仮想空間におけるオブジェクトの配置例を示す上面図と画面32の例を示す図である。
図3の上側には、3次元仮想空間の上面図が示される。
<Example of 3D virtual space>
Next, an example of a three-dimensional virtual space according to the first embodiment will be explained.
FIG. 3 is a diagram showing an example of a top view and a screen 32 showing an arrangement example of objects in a three-dimensional virtual space.
The upper side of FIG. 3 shows a top view of the three-dimensional virtual space.

3次元仮想空間には、多数のオブジェクトが配置されている。ここで、不透明オブジェクトとして用いられる円柱オブジェクト51、半透明オブジェクトとして用いられる雲オブジェクト50,52,53、半透明オブジェクトとして用いられる炎オブジェクト54が3次元仮想空間に配置された例について説明する。図中には、視点から円柱オブジェクト51までの距離L1、視点から雲オブジェクト53までの距離L2、視点から炎オブジェクト54までの距離L3が示されている。ここで、距離L1は、仮想カメラ30から矢印41に沿った円柱オブジェクト51までの線分の長さを表す。同様に、距離L2は、仮想カメラ30から矢印42に沿った雲オブジェクト53までの線分の長さを表し、距離L3は、仮想カメラ30から矢印43に沿った炎オブジェクト54までの線分の長さを表す。 A large number of objects are arranged in the three-dimensional virtual space. Here, an example in which a cylinder object 51 used as an opaque object, cloud objects 50, 52, 53 used as translucent objects, and a flame object 54 used as a translucent object are arranged in a three-dimensional virtual space will be described. In the drawing, a distance L1 from the viewpoint to the cylindrical object 51, a distance L2 from the viewpoint to the cloud object 53, and a distance L3 from the viewpoint to the flame object 54 are shown. Here, the distance L1 represents the length of the line segment from the virtual camera 30 to the cylindrical object 51 along the arrow 41. FIG. Similarly, distance L2 represents the length of the line segment from virtual camera 30 to cloud object 53 along arrow 42, and distance L3 represents the length of the line segment from virtual camera 30 to flame object 54 along arrow 43. represents length.

3次元仮想空間内には仮想カメラ30が配置される。仮想カメラ30は、3次元仮想空間内に配置されるカメラを仮想的に表現したものであり、例えば、プレイヤーの向きに合わせて3次元仮想空間内を撮影する。この仮想カメラ30は、3次元仮想空間の任意の位置の視点に合わせて配置され、プレイヤーの向きに合わせた画像、プレイヤーを俯瞰する画像等を撮影可能である。そこで、仮想カメラ30の位置を「視点」と呼ぶ。後述する図4に示す画面描画部14は、視点の移動に合わせて画像を描画する。 A virtual camera 30 is arranged in the three-dimensional virtual space. The virtual camera 30 is a virtual representation of a camera placed in a three-dimensional virtual space, and for example, photographs the inside of the three-dimensional virtual space according to the orientation of the player. The virtual camera 30 is arranged at a point of view at an arbitrary position in the three-dimensional virtual space, and is capable of capturing an image that matches the orientation of the player, an image that looks down on the player, and the like. Therefore, the position of the virtual camera 30 is called a "viewpoint". A screen drawing unit 14 shown in FIG. 4, which will be described later, draws an image according to the movement of the viewpoint.

仮想カメラ30は、画角31内のオブジェクトを撮影可能である。そして、仮想カメラ30が撮影したオブジェクトは、図中に破線で示す画面32に描画される。画面32の描画領域は、表示装置4の表示領域にほぼ一致するものと想定する。図3では、表示装置4に表示される画面と、画面描画部14が描画する画面32のサイズ及び画素数は同じものとして表している。ただし、表示装置4に表示される画面と、画面描画部14が描画する画面32のサイズ及び画素数は異なっていてもよい。 The virtual camera 30 can photograph an object within an angle of view 31 . The object photographed by the virtual camera 30 is drawn on the screen 32 indicated by the dashed line in the figure. It is assumed that the drawing area of screen 32 substantially matches the display area of display device 4 . In FIG. 3, the size and number of pixels of the screen displayed on the display device 4 and the screen 32 drawn by the screen drawing unit 14 are the same. However, the size and number of pixels of the screen displayed on the display device 4 and the screen 32 drawn by the screen drawing unit 14 may be different.

次に、仮想カメラ30の視点を基準として、画角31内に3本の矢印41~43を想定し、複数のオブジェクトが矢印方向で並ぶときに表示装置4に表示される画面32の例を説明する。
図3の下側には、画面32の例が示される。画面32は、図3の上側に示した3次元仮想空間を視点から見たものである。この画面32は、複数の画素Pにより構成される。
Next, assuming three arrows 41 to 43 in the angle of view 31 with the viewpoint of the virtual camera 30 as a reference, an example of the screen 32 displayed on the display device 4 when a plurality of objects are arranged in the direction of the arrows is shown. explain.
An example of screen 32 is shown at the bottom of FIG. The screen 32 is a view of the three-dimensional virtual space shown on the upper side of FIG. This screen 32 is composed of a plurality of pixels P. As shown in FIG.

(1)半透明オブジェクト-不透明オブジェクト-半透明オブジェクトの並び
視点から矢印41の方向に、雲オブジェクト50(半透明オブジェクト)、円柱オブジェクト51(不透明オブジェクト)、雲オブジェクト52(半透明オブジェクト)が並んでいる。円柱オブジェクト51は不透明であるので、円柱オブジェクト51の奥側にある雲オブジェクト52の円柱オブジェクト51と重なる部分は描画されていない。一方、円柱オブジェクト51より手前側にある雲オブジェクト50は半透明である。このため、画素P1では、雲オブジェクト50から円柱オブジェクト51の一部が透けて描画される。
(1) Arrangement of Translucent Objects, Opaque Objects, and Translucent Objects A cloud object 50 (semi-transparent object), a cylinder object 51 (opaque object), and a cloud object 52 (semi-transparent object) are arranged in the direction of the arrow 41 from the viewpoint. I'm in. Since the cylinder object 51 is opaque, the part of the cloud object 52 behind the cylinder object 51 that overlaps with the cylinder object 51 is not drawn. On the other hand, the cloud object 50 on the front side of the cylinder object 51 is translucent. Therefore, in the pixel P1, a part of the cylinder object 51 is drawn through the cloud object 50 .

(2)半透明オブジェクト-半透明オブジェクトの並び
視点から矢印42の方向に、雲オブジェクト50(半透明オブジェクト)、雲オブジェクト53(半透明オブジェクト)が並んでいる。雲オブジェクト50は半透明である。このため、画素P2では、雲オブジェクト50から雲オブジェクト53の一部が透けて描画される。そして、雲オブジェクト53のうち、雲オブジェクト50と重ならない部分の濃度は、雲オブジェクト50と重なる部分の濃度とは異なって描画される。例えば、雲オブジェクト50と雲オブジェクト53が重なる部分は、それぞれの雲オブジェクト50,53が透けて描画されるため、図3の下部に示すように画素毎の濃度が濃く描画される。一方、雲オブジェクト50と雲オブジェクト53が重ならない部分は、それぞれの雲オブジェクト50,53のみが描画されるため、雲オブジェクト50,53が重なる部分よりも画素毎の濃度が薄く描画される。ただし、個々の雲オブジェクト50,53の濃度はコンポジション合成等の手法によって決まるので、雲オブジェクト50,53の画素毎の濃度が濃くなるか薄くなるかは断定できない。このため、個々の雲オブジェクト50,53の重ならない部分の濃度が、重なる部分の濃度よりも薄く描画されるとは限らない。
(2) Semi-Transparent Object--Arrangement of Semi-Transparent Objects A cloud object 50 (semi-transparent object) and a cloud object 53 (semi-transparent object) are lined up in the direction of the arrow 42 from the viewpoint. Cloud object 50 is translucent. Therefore, in the pixel P2, part of the cloud object 53 is rendered transparently from the cloud object 50 . A portion of the cloud object 53 that does not overlap the cloud object 50 is drawn with a different density than a portion that overlaps the cloud object 50 . For example, a portion where the cloud object 50 and the cloud object 53 overlap is drawn with the respective cloud objects 50 and 53 transparent, so that each pixel is drawn with a high density as shown in the lower part of FIG. On the other hand, in the portions where the cloud objects 50 and 53 do not overlap, only the respective cloud objects 50 and 53 are drawn, so the density of each pixel is drawn thinner than in the portions where the cloud objects 50 and 53 overlap. However, since the densities of the individual cloud objects 50 and 53 are determined by a technique such as composition synthesis, it cannot be determined whether the density of each pixel of the cloud objects 50 and 53 will increase or decrease. For this reason, the density of the non-overlapping portions of the individual cloud objects 50 and 53 is not always rendered lighter than the density of the overlapping portions.

(3)半透明オブジェクトの内部に半透明オブジェクトが含まれる並び
視点から矢印43の方向に、雲オブジェクト50(半透明オブジェクト)、炎オブジェクト54(半透明オブジェクト)が並んでいる。ただし、雲オブジェクト50の内部に炎オブジェクト54が含まれた状態である。雲オブジェクト50は半透明である。このため、画素P3では、炎オブジェクト54が雲オブジェクト53から透けて描画される。
(3) Arrangement of Translucent Objects Inside Translucent Objects A cloud object 50 (semi-transparent object) and a flame object 54 (semi-transparent object) are lined up in the direction of the arrow 43 from the viewpoint. However, the cloud object 50 contains the flame object 54 inside. Cloud object 50 is translucent. Therefore, the flame object 54 is rendered transparently through the cloud object 53 at the pixel P3.

<第1の実施形態に係る情報処理装置の機能構成例>
次に、第1の実施形態に係る情報処理装置2の機能構成例について説明する。
図4は、情報処理装置2の機能構成例を示す機能ブロック図である。
<Functional Configuration Example of Information Processing Apparatus According to First Embodiment>
Next, a functional configuration example of the information processing device 2 according to the first embodiment will be described.
FIG. 4 is a functional block diagram showing a functional configuration example of the information processing device 2. As shown in FIG.

情報処理装置2は、入力受付部11、視点取得部12、オブジェクト情報取得部13、画面描画部14、画面出力部15を備える。 The information processing device 2 includes an input reception unit 11 , a viewpoint acquisition unit 12 , an object information acquisition unit 13 , a screen drawing unit 14 and a screen output unit 15 .

入力受付部11は、操作コントローラ3から入力情報を受付ける。入力受付部11の機能は、主に図2に示した入出力インターフェイス27により実現される。また、入力受付部11は、あるシーンで発生する割り込み処理等の開始情報も入力情報として受付ける。この場合、操作コントローラ3からの入力情報が無くても、シーンが切り替わったり、視点が移動したりすることがある。このため、CPU21の内部処理によっても実現される。 The input reception unit 11 receives input information from the operation controller 3 . The function of the input reception unit 11 is realized mainly by the input/output interface 27 shown in FIG. The input reception unit 11 also receives, as input information, start information such as interrupt processing that occurs in a certain scene. In this case, even if there is no input information from the operation controller 3, the scene may change or the viewpoint may move. Therefore, it is also realized by internal processing of the CPU 21 .

視点取得部12は、3次元仮想空間内におけるプレイヤーオブジェクトの位置に合わせて視点を取得する。上述したように視点取得部12が取得する視点は、図3に示した仮想カメラ30の位置にほぼ一致するものとする。 The viewpoint acquisition unit 12 acquires a viewpoint according to the position of the player object in the three-dimensional virtual space. It is assumed that the viewpoint acquired by the viewpoint acquisition unit 12 as described above substantially coincides with the position of the virtual camera 30 shown in FIG.

オブジェクト情報取得部13は、3次元仮想空間に配置される複数のオブジェクトが、それぞれ不透明オブジェクト又は半透明オブジェクトのいずれであるかを示すオブジェクト情報を取得する。なお、オブジェクト情報には、例えば、オブジェクトが雲オブジェクト、円柱オブジェクト、炎オブジェクトのいずれであるかといったオブジェクト自体の属性情報が含まれる。 The object information acquisition unit 13 acquires object information indicating whether each of the plurality of objects placed in the three-dimensional virtual space is an opaque object or a translucent object. The object information includes, for example, attribute information of the object itself such as whether the object is a cloud object, a cylinder object, or a flame object.

他にも、オブジェクト情報には、オブジェクト情報取得部13が決定したオブジェクトの輝度の情報が含まれる。オブジェクトの輝度は、オブジェクト情報取得部13が計算可能である。例えば、オブジェクト情報取得部13は、3次元仮想空間に配置され、視点を基準として画面に描画されるオブジェクトの輝度を、少なくとも視点に入射する仮想光の経路を計算して決定する。ここで、オブジェクト情報取得部13がレイマーチ処理又はレイトレーシング処理を実行してオブジェクトの輝度を決定することができる。 In addition, the object information includes luminance information of the object determined by the object information acquisition unit 13 . The brightness of the object can be calculated by the object information acquisition unit 13 . For example, the object information acquisition unit 13 determines the brightness of an object placed in a three-dimensional virtual space and drawn on the screen with reference to the viewpoint by calculating at least the path of virtual light incident on the viewpoint. Here, the object information acquisition unit 13 can execute ray march processing or ray tracing processing to determine the brightness of the object.

画面描画部14は、複数のオブジェクトのうち、一のオブジェクト及び他のオブジェクトが半透明オブジェクトであることをオブジェクト情報から判定した場合に、一のオブジェクト及び他のオブジェクトの濃度を求める。一のオブジェクトとは、例えば、図3に示した雲オブジェクト50が想定される。また、他のオブジェクトとは、例えば、図3に示した雲オブジェクト52,53、炎オブジェクト54が想定される。 When the screen drawing unit 14 determines from the object information that the one object and the other objects among the plurality of objects are translucent objects, the screen drawing unit 14 obtains the densities of the one object and the other objects. One object is assumed to be, for example, the cloud object 50 shown in FIG. Other objects are assumed to be, for example, the cloud objects 52 and 53 and the flame object 54 shown in FIG.

そして、画面描画部14は、視点から他のオブジェクトまでの距離(例えば、図3に示した距離L1~L3)に応じて、一のオブジェクトの距離と濃度との関係から一のオブジェクトの濃度及び他のオブジェクトの濃度を求める。距離と濃度との関係は、後述する図5に示す近似カーブ65で表される。そして、画面描画部14は、それぞれの濃度を求めた一のオブジェクト及び他のオブジェクトを含む画面32を描画する。
画面出力部15は、画面描画部14により描画された画面を表示装置4に出力する。
Then, the screen drawing unit 14 calculates the density and density of one object from the relationship between the distance and density of the one object according to the distance from the viewpoint to the other objects (for example, the distances L1 to L3 shown in FIG. 3). Find the density of other objects. The relationship between distance and density is represented by an approximation curve 65 shown in FIG. 5, which will be described later. Then, the screen drawing unit 14 draws the screen 32 including the one object and the other objects whose densities are obtained.
The screen output unit 15 outputs the screen drawn by the screen drawing unit 14 to the display device 4 .

入力受付部11及び画面出力部15の機能は、図2に示した入出力インターフェイス27により実現される。また、視点取得部12、オブジェクト情報取得部13及び画面描画部14の機能は、図2に示したGPU22により実現されるが、情報処理装置2がGPU22を有さない構成であれば、CPU21により実現されてもよい。 The functions of the input reception unit 11 and the screen output unit 15 are realized by the input/output interface 27 shown in FIG. The functions of the viewpoint acquisition unit 12, the object information acquisition unit 13, and the screen drawing unit 14 are realized by the GPU 22 shown in FIG. may be implemented.

<画面描画部の処理の詳細>
図4に示した画面描画部14は、上述した一のオブジェクト及び他のオブジェクトが半透明オブジェクトであることをオブジェクト情報から判定した場合に、視点からの距離に応じて濃度が変化する変化点が設定された距離と濃度との関係を決定して、一のオブジェクトの濃度及び他のオブジェクトの濃度を求める。そこで、距離と濃度との関係を表す近似カーブの作成方法、及び半透明オブジェクトの濃度の決定方法について説明する。
<Details of the process of the screen drawing part>
When the screen drawing unit 14 shown in FIG. 4 determines from the object information that the above-described one object and the other object are translucent objects, the change point at which the density changes according to the distance from the viewpoint is By determining the relationship between the set distance and the density, the density of one object and the density of the other object are obtained. Therefore, a method of creating an approximation curve representing the relationship between distance and density and a method of determining the density of a translucent object will be described.

図5は、距離-濃度カーブを近似した近似カーブの例を示す図である。図5のグラフの横軸は距離、縦軸は濃度[%]を表す。
図5Aは、距離-濃度カーブ60と、RGBの3つの要素を持つ画素Pにより表現される近似カーブ65の例を示す。図5Bは、距離-濃度カーブ70と、RGBAの4つの要素を持つ画素Pにより表現される近似カーブ75の例を示す。以下の説明では、距離-濃度カーブ60,70を共に「真の濃度カーブ」とも呼ぶ。
FIG. 5 is a diagram showing an example of an approximation curve that approximates the distance-density curve. The horizontal axis of the graph in FIG. 5 represents distance, and the vertical axis represents concentration [%].
FIG. 5A shows an example of a distance-density curve 60 and an approximation curve 65 represented by a pixel P having three elements of RGB. FIG. 5B shows an example of a distance-density curve 70 and an approximation curve 75 represented by a pixel P having four elements of RGBA. In the following description, both the distance-density curves 60 and 70 are also called "true density curves".

始めに、図5Aに示す近似カーブ65について説明する。
図5Aに細線で表す距離-濃度カーブ60は、図5Aに太線で表す距離と濃度との関係を表した近似カーブ65で近似される。そして、距離と濃度との関係は、一のオブジェクトの画素ごとに保存される。また、近似カーブ65を構成する変化点は、画素の要素数に合わせて設定される。図5で説明する距離とは、情報処理装置2が認識可能な最遠地点を基準(1.0)とした小数で表される値である。この距離は、地点距離(例えば、仮想カメラ30から雲オブジェクトまでの距離)/最遠距離で求まる小数で表されるため、無次元量の値である。ただし、図5で説明する距離をメートル単位の値とする変形例を用いてもよい。
First, the approximation curve 65 shown in FIG. 5A will be described.
A distance-density curve 60 represented by a thin line in FIG. 5A is approximated by an approximation curve 65 representing the relationship between distance and density represented by a thick line in FIG. 5A. Then, the relationship between distance and density is saved for each pixel of one object. Also, the change points forming the approximation curve 65 are set according to the number of pixel elements. The distance described with reference to FIG. 5 is a value represented by a decimal number with the farthest point recognizable by the information processing device 2 as a reference (1.0). This distance is a dimensionless value because it is represented by a decimal number obtained by dividing the point distance (for example, the distance from the virtual camera 30 to the cloud object)/the farthest distance. However, a modified example in which the distance described in FIG. 5 is a value in meters may be used.

一般的に画素には、RGBの画素値が格納される。そして、画素値は、RGBのそれぞれの要素に対して「0」~「255」の範囲で値をとる。
一方、本実施の形態では、RGBの画素値を格納可能な画素のそれぞれの要素に対して3個の変化点61~63が格納される。例えば、Rの要素には、濃度が0%である時の変化点61に対応する「0.25」が格納される。同様に、Gの要素には濃度が50%である時の変化点62に対応する「0.4」が格納され、Bの要素には濃度が100%である時の変化点63に対応する「0.8」が格納される。
In general, pixels store RGB pixel values. The pixel value takes a value in the range of "0" to "255" for each element of RGB.
On the other hand, in this embodiment, three change points 61 to 63 are stored for each element of a pixel capable of storing RGB pixel values. For example, the R element stores "0.25" corresponding to the change point 61 when the density is 0%. Similarly, the G element stores "0.4" corresponding to the change point 62 when the density is 50%, and the B element stores "0.4" corresponding to the change point 63 when the density is 100%. "0.8" is stored.

RGBの各要素に格納される距離は、浮動小数点で表される値である。本実施の形態では、浮動小数点がfloat型で表される。float型のデータは、4バイト(32ビット)のサイズを持つ。また、float型のデータは、符号部(1ビット)、指数部(8ビット)、仮数部(23ビット)で構成される。このため、RGBの各要素は、32ビットのデータを格納可能としている。距離をfloat型の浮動小数点で表現することで、距離の値を細かく設定できるようになり、距離の確度が向上する。例えば、仮想カメラ30から雲オブジェクトまでの距離を3kmのように表現することが可能となる。なお、距離を浮動小数点で表さなければ、距離を表現可能な桁数が少なくなる。このため、例えば、雲オブジェクトの距離を3km先と表現したとしても、実際の値に対する誤差が大きくなり、距離の確度が下がる。 The distance stored in each element of RGB is a floating-point value. In this embodiment, floating point numbers are represented by the float type. Float type data has a size of 4 bytes (32 bits). The float-type data consists of a sign part (1 bit), an exponent part (8 bits), and a mantissa part (23 bits). Therefore, each element of RGB can store 32-bit data. By expressing the distance in a float-type floating point, it becomes possible to finely set the value of the distance, and the accuracy of the distance is improved. For example, it is possible to express the distance from the virtual camera 30 to the cloud object as 3 km. If the distance is not represented by floating point, the number of digits that can represent the distance is reduced. Therefore, for example, even if the distance of the cloud object is expressed as 3 km ahead, the error with respect to the actual value increases and the accuracy of the distance decreases.

ここで、一のオブジェクトの濃度と、他のオブジェクトの濃度との関係について説明する。
まず、一のオブジェクト(例えば、雲オブジェクト)については、距離と濃度の関係が予め決められている。つまり、一のオブジェクトにおける真の濃度カーブが定められている。したがって、画面描画部14は、一のオブジェクト単体であって、他のオブジェクトと重なりのない画素Pについては、一のオブジェクトの真の濃度カーブを参照して一のオブジェクトの濃度を決定する。
Here, the relationship between the density of one object and the density of other objects will be described.
First, for one object (for example, a cloud object), the relationship between distance and density is determined in advance. That is, a true density curve for one object is determined. Therefore, the screen drawing unit 14 refers to the true density curve of the one object to determine the density of the one object for the pixel P which is a single object and does not overlap another object.

一方で、一のオブジェクトと他のオブジェクトが重なる画素Pの濃度を決定するにあたって、画面描画部14が一のオブジェクトの真の濃度カーブを参照する点までは、一のオブジェクト単体であって、他のオブジェクトと重なりのない場合における上述した濃度決定処理と同様である。ただし、画面描画部14は、一のオブジェクトと他のオブジェクトとの重なりを考慮する必要があるので、一のオブジェクトの濃度を直ちに決定できない。そこで、画面描画部14は、図5Aに示す変化点61~63をRGBのそれぞれの要素に保存する。その後、画面描画部14は、他のオブジェクトの描画処理において、変化点61~63から近似カーブ65を決定することで、一のオブジェクトと他のオブジェクトの濃度を決定する。このように近似カーブ65が、視点からの距離に応じて濃度が変化する変化点が設定された距離と濃度との関係の一例として用いられる。 On the other hand, in determining the density of a pixel P where one object overlaps another object, the screen drawing unit 14 refers to the true density curve of the one object only for the one object alone and for the other object. This is the same as the density determination process described above when there is no overlap with the object of . However, since the screen drawing unit 14 needs to consider the overlapping of one object and another object, the density of one object cannot be determined immediately. Therefore, the screen drawing unit 14 saves the change points 61 to 63 shown in FIG. 5A in respective elements of RGB. After that, the screen drawing unit 14 determines the densities of one object and another object by determining an approximate curve 65 from the change points 61 to 63 in the process of drawing another object. In this way, the approximate curve 65 is used as an example of the relationship between the distance and the density at which the change point at which the density changes according to the distance from the viewpoint is set.

例えば、画面描画部14は、図3に示した視点側に存在する雲オブジェクト50の画素Pに基づいて、図5Aに示す近似カーブ65を決定したとする。そして、図3に示した雲オブジェクト50より奥側に存在する雲オブジェクト53が距離L2の位置で図5Aに示されると想定する。図3に示したように視点側にある雲オブジェクト50の奥行き方向の厚み、濃度等により、奥側にある雲オブジェクト53の濃度が変化する。また、画素毎にZバッファが設けられているので、画面描画部14は、複数のオブジェクトの重なり順序が分かる。そこで、画面描画部14は、視点を基準としてある画素Pで雲オブジェクト50,53が重なって並んでいると判定すると、画素Pにおける近似カーブ65を作成する。 For example, it is assumed that the screen drawing unit 14 determines the approximate curve 65 shown in FIG. 5A based on the pixels P of the cloud object 50 existing on the viewpoint side shown in FIG. Then, it is assumed that the cloud object 53 existing behind the cloud object 50 shown in FIG. 3 is shown in FIG. 5A at the position of the distance L2. As shown in FIG. 3, the density of the cloud object 53 on the far side changes depending on the thickness, density, etc. in the depth direction of the cloud object 50 on the viewpoint side. Also, since a Z buffer is provided for each pixel, the screen drawing unit 14 can know the overlapping order of a plurality of objects. Therefore, when the screen drawing unit 14 determines that the cloud objects 50 and 53 are arranged in an overlapping manner at a certain pixel P with the viewpoint as a reference, the screen drawing unit 14 creates an approximate curve 65 at the pixel P. FIG.

ここで、雲オブジェクト50の濃度が0[%]の距離にあるオブジェクト55は、不透明オブジェクト又は半透明オブジェクトのいずれであっても、このオブジェクト55の元の濃度で描画される。一方、雲オブジェクト50の濃度が100[%]の距離にあるオブジェクト56は、不透明オブジェクト又は半透明オブジェクトのいずれであっても、描画されないか、透明で描画される。 Here, an object 55 at a distance where the density of the cloud object 50 is 0[%] is rendered with the original density of this object 55, regardless of whether it is an opaque object or a translucent object. On the other hand, an object 56 at a distance where the density of the cloud object 50 is 100[%] is not rendered or is rendered transparent, regardless of whether it is an opaque object or a translucent object.

雲オブジェクト50の濃度が0[%]~100[%]の範囲内であれば、雲オブジェクト50に重なる雲オブジェクト53の濃度が影響される。そこで、画面描画部14は、画素Pの要素に格納された変化点61~63を用いて近似カーブ65を決定した後、雲オブジェクト50より奥側にある雲オブジェクト53までの距離L2を近似カーブ65に当てはめる。そして、画面描画部14は、距離L2における近似カーブ65により雲オブジェクト50の濃度x[%]を求める。濃度x[%]が濃度100[%]より低い値であることは、雲オブジェクト50を透過して、奥側にある雲オブジェクト53が描かれることを意味する。そこで、画面描画部14は、奥側にある雲オブジェクト53の元の濃度を100[%]とした時に、雲オブジェクト53の濃度を、100[%]-x[%]と算出し、濃度100[%]-x[%]で雲オブジェクト53を描画する。 If the density of the cloud object 50 is within the range of 0[%] to 100[%], the density of the cloud object 53 overlapping the cloud object 50 is affected. Therefore, after determining the approximate curve 65 using the change points 61 to 63 stored in the elements of the pixel P, the screen drawing unit 14 calculates the distance L2 from the cloud object 50 to the cloud object 53 on the far side of the approximate curve. Apply to 65. Then, the screen drawing unit 14 obtains the density x [%] of the cloud object 50 from the approximate curve 65 at the distance L2. The fact that the density x [%] is a value lower than the density 100 [%] means that the cloud object 53 on the far side is drawn through the cloud object 50 . Therefore, when the original density of the cloud object 53 on the back side is 100[%], the screen drawing unit 14 calculates the density of the cloud object 53 as 100[%]-x[%]. Draw the cloud object 53 by [%]-x[%].

ここで、視点側に存在する一の半透明オブジェクトの濃度に対して、奥側に存在する他の半透明オブジェクトの濃度を求める式は、上記の加算合成の式(元の濃度の100[%]-x[%])に限らない。他の半透明オブジェクトの濃度は、他にも乗算合成などの様々な手法を用いてよい。 Here, the formula for obtaining the density of the other semi-transparent object existing on the back side with respect to the density of one semi-transparent object existing on the viewpoint side is the above additive synthesis formula (100% of the original density ]-x [%]). Various methods such as multiplication synthesis may be used for the densities of other translucent objects.

なお、上記の考察は、複数の半透明オブジェクトがある画素Pで重なるときに描画される様子を説明したものである。雲オブジェクト53が視点から距離L2の場所に配置されていても、雲オブジェクト53が雲オブジェクト50と重ならない部分は、雲オブジェクト50の濃度の影響を受けない。このため、雲オブジェクト50と重ならない部分は、雲オブジェクト53の元の濃度で描画される。 Note that the above discussion describes how a plurality of translucent objects are drawn when they overlap at a certain pixel P. FIG. Even if the cloud object 53 is placed at a distance L2 from the viewpoint, the density of the cloud object 50 does not affect the portion where the cloud object 53 does not overlap the cloud object 50 . Therefore, a portion that does not overlap with the cloud object 50 is drawn with the original density of the cloud object 53 .

また、画素毎に真の濃度カーブが異なる。このため、雲オブジェクト50の奥行き方向の厚みによっても、雲オブジェクト50に重なる他の半透明オブジェクト(雲オブジェクト53等)の濃度が画素毎に異なるので、画面描画部14が画素毎に処理する必要がある。例えば、奥行き方向に厚い雲オブジェクト50が視点側に存在する場合は、他の半透明オブジェクトの濃度は薄くなる。逆に、奥行き方向に薄い雲オブジェクト50が視点側にある場合は、他の半透明オブジェクトの濃度は濃くなる。 Also, the true density curve differs for each pixel. For this reason, the density of other translucent objects (such as the cloud object 53) overlapping the cloud object 50 differs for each pixel depending on the thickness of the cloud object 50 in the depth direction. There is For example, when a cloud object 50 that is thick in the depth direction exists on the viewpoint side, the density of other translucent objects is light. Conversely, when the cloud object 50 thin in the depth direction is on the viewpoint side, the density of the other translucent objects is high.

次に、図5Bに示す近似カーブ75について説明する。
図5Bでは、細線で表す距離-濃度カーブ70が、図5Bに太線で表す距離と濃度との関係を表した近似カーブ75で近似される。なお、図5Bに示す距離-濃度カーブ70は、図5Aに示した距離-濃度カーブ60とは少し異なる。
Next, the approximation curve 75 shown in FIG. 5B will be described.
In FIG. 5B, the distance-density curve 70 represented by the thin line is approximated by an approximation curve 75 representing the relationship between distance and density represented by the thick line in FIG. 5B. Note that the distance-density curve 70 shown in FIG. 5B is slightly different from the distance-density curve 60 shown in FIG. 5A.

図5Bに示す形態では、RGBAの画素値を格納可能な画素のそれぞれの要素に対して4個の変化点71~74が格納される。例えば、Rの要素には、濃度が0%である時の変化点71に対応する「0.25」が格納され、Gの要素には濃度が33%である時の変化点72に対応する「0.44」が格納される。同様に、Bの要素には濃度が66%である時の変化点73に対応する「0.55」が格納され、Aの要素には濃度が100%である時の変化点74に対応する「0.8」が格納される。 In the form shown in FIG. 5B, four change points 71 to 74 are stored for each pixel element capable of storing RGBA pixel values. For example, the R element stores "0.25" corresponding to the change point 71 when the density is 0%, and the G element stores "0.25" corresponding to the change point 72 when the density is 33%. "0.44" is stored. Similarly, the B element stores "0.55" corresponding to the change point 73 when the density is 66%, and the A element stores "0.55" corresponding to the change point 74 when the density is 100%. "0.8" is stored.

図5Bに示す近似カーブ75は、変化点の数が多いので、図5Aに示した近似カーブ65よりも距離-濃度カーブ70を良好に近似できている。ただし、RGBAの要素に変化点71~74が格納されるので、画素毎のデータサイズが大きくなる。 The approximation curve 75 shown in FIG. 5B has a large number of changing points, so it approximates the distance-density curve 70 better than the approximation curve 65 shown in FIG. 5A. However, since the change points 71 to 74 are stored in the RGBA elements, the data size for each pixel increases.

なお、図5では、RGB又はRGBAの各要素に格納される距離をfloat型の浮動小数点で表した例を示したが、RGB又はRGBAの各要素に格納される距離をdouble型の浮動小数点で表すことも可能である。double型のデータは、4バイト(32ビット)のサイズを持つ。また、double型のデータは、符号部(1ビット)、指数部(11ビット)、仮数部(52ビット)で構成される。このため、double型の浮動小数点は、float型の浮動小数点の倍の精度を持っており、float型より遠くの距離を表すことも可能となる。 Although FIG. 5 shows an example in which the distance stored in each element of RGB or RGBA is expressed in float type floating point, the distance stored in each element of RGB or RGBA is expressed in double type floating point. It is also possible to express Double type data has a size of 4 bytes (32 bits). The double type data consists of a sign part (1 bit), an exponent part (11 bits), and a mantissa part (52 bits). Therefore, the double type floating point has twice the precision of the float type floating point, and can represent a longer distance than the float type.

画面描画部14が図5Bに示す近似カーブ75を用いて、複数の半透明オブジェクトがある画素で重なるときに描画する時の処理は、図5Aに示す近似カーブ65を用いて複数の半透明オブジェクトを描画する時の処理と同様である。 When the screen drawing unit 14 uses the approximate curve 75 shown in FIG. 5B to draw a plurality of semi-transparent objects when they overlap at a certain pixel, the approximate curve 65 shown in FIG. The process is the same as when drawing a .

また、図5Aでは、RGBの各要素に格納される距離として、濃度を0%、50%、100%で等分割した時の距離を用いた。しかし、RGBの各要素に格納される距離として、画素のRGBの要素に対して、それぞれ濃度を10%、50%、90%のように不等分割した時の距離を用いてもよい。同様に、RGBAの各要素に格納される距離にも、画素のRGBAの要素に対して、濃度を不等分割した時の距離を用いてもよい。 Also, in FIG. 5A, the distances when the density is equally divided into 0%, 50%, and 100% are used as the distances stored in each element of RGB. However, as the distance stored in each element of RGB, the distance obtained by dividing the density into unequal divisions such as 10%, 50%, and 90% for each of the RGB elements of the pixel may be used. Similarly, for the distance stored in each element of RGBA, the distance obtained by dividing the density unevenly for the RGBA element of the pixel may be used.

なお、近似カーブは、図5に示したような折れ線で表してもよいし、所定の曲線回帰手法(例えば、カーブフィッティング)を用いて、より精度の高い曲線関数で表してもよい。 The approximate curve may be represented by a broken line as shown in FIG. 5, or may be represented by a more accurate curve function using a predetermined curve regression method (for example, curve fitting).

また、真の濃度カーブを距離と濃度との関係の一例として用いてもよい。この場合、画面描画部14は、真の濃度カーブに基づいて、一のオブジェクトの濃度及び他のオブジェクトの濃度を求めることが可能である。 Also, a true density curve may be used as an example of the relationship between distance and density. In this case, the screen drawing unit 14 can obtain the density of one object and the density of other objects based on the true density curve.

<情報処理装置における処理の流れ>
以上の考察を踏まえて、本実施の形態に係る情報処理装置2で行われる画面32の描画方法に係る処理について、以下の図6~図9に示すフローチャートを参照して説明する。以下の説明では、図5Aに示したRGBの3つの要素を持つ画素Pにより表現される近似カーブ65を用いて処理が行われるものとする。
図6は、情報処理装置2全体の処理の例を示すフローチャートである。
<Flow of Processing in Information Processing Apparatus>
Based on the above consideration, the processing related to the drawing method of the screen 32 performed by the information processing apparatus 2 according to the present embodiment will be described with reference to the flowcharts shown in FIGS. 6 to 9 below. In the following description, it is assumed that processing is performed using an approximate curve 65 represented by pixels P having three elements of RGB shown in FIG. 5A.
FIG. 6 is a flowchart showing an example of the processing of the information processing apparatus 2 as a whole.

始めに、入力受付部11は、操作コントローラ3から入力情報を受付ける(S1)。上述したように入力情報には、操作コントローラ3から入力される情報だけでなく、例えば、現在のシーンから別のシーンに切り替わることを示す情報、3次元仮想空間内で発生したイベントにより光や地形が変化することを示す情報等が含まれる。次に、視点取得部12は、3次元仮想空間における視点を取得する(S2)。 First, the input reception unit 11 receives input information from the operation controller 3 (S1). As described above, the input information includes not only information input from the operation controller 3, but also, for example, information indicating that the current scene is to be switched to another scene. includes information indicating that the Next, the viewpoint acquisition unit 12 acquires a viewpoint in the three-dimensional virtual space (S2).

次に、オブジェクト情報取得部13は、図3に示した仮想カメラ30の画角内に配置された全てのオブジェクトのオブジェクト情報を取得する(S3)。オブジェクト情報として、例えば、視点からオブジェクトまでの距離等の情報がある。また、オブジェクト情報取得部13は、オブジェクトの輝度を算出して取得する。 Next, the object information acquisition unit 13 acquires object information of all objects placed within the angle of view of the virtual camera 30 shown in FIG. 3 (S3). Object information includes, for example, information such as the distance from the viewpoint to the object. Also, the object information acquisition unit 13 calculates and acquires the brightness of the object.

次に、画面描画部14は、画面を描画する(S4)。この時、画面描画部14は、複数の半透明オブジェクトが並んで配置されている場合に、図5Aに示した近似カーブ65を用いて、複数の半透明オブジェクトの濃度を画素毎に算出する。 Next, the screen drawing unit 14 draws the screen (S4). At this time, when a plurality of translucent objects are arranged side by side, the screen drawing unit 14 calculates the densities of the plurality of translucent objects for each pixel using the approximate curve 65 shown in FIG. 5A.

最後に、画面出力部15は、画面描画部14により描画された画面を表示装置4に出力する(S5)。ここで、画面出力部15は、表示装置4が受け付け可能な映像信号を表示装置4に送信することで、画面を出力する。表示装置4は、映像信号を受信すると画面を表示する。 Finally, the screen output unit 15 outputs the screen drawn by the screen drawing unit 14 to the display device 4 (S5). Here, the screen output unit 15 outputs a screen by transmitting a video signal that the display device 4 can accept to the display device 4 . The display device 4 displays a screen when receiving the video signal.

なお、画面描画部14が描画する画面32の解像度と、表示装置4が表示可能な画面の解像度は同じでもよいし、異なっていてもよい。例えば、画面描画部14が2Kサイズの画面を描画して出力した場合であっても、画面出力部15が画面を4Kサイズにアップコンバートすることで、4K映像を表示可能な表示装置4が4Kサイズの画面を表示することも可能である。 The resolution of the screen 32 drawn by the screen drawing unit 14 and the resolution of the screen displayable by the display device 4 may be the same or different. For example, even if the screen drawing unit 14 draws and outputs a 2K size screen, the screen output unit 15 up-converts the screen to a 4K size, so that the display device 4 capable of displaying 4K video becomes 4K. It is also possible to display a screen of size.

次に、図6のステップS3に示したオブジェクト情報取得処理の詳細例について説明する。
図7は、オブジェクト情報取得処理の詳細な処理の例を示すフローチャートである。
Next, a detailed example of the object information acquisition process shown in step S3 of FIG. 6 will be described.
FIG. 7 is a flowchart illustrating an example of detailed processing of object information acquisition processing.

始めに、オブジェクト情報取得部13は、3次元仮想空間に配置されたオブジェクトの属性情報をオブジェクト毎に取得する(S11)。オブジェクトの属性情報には、オブジェクトを規定するための様々な情報が含まれる。例えば、オブジェクトには、不透明オブジェクト又は半透明オブジェクトのいずれであるかを示す属性情報が設定されている。このため、オブジェクト情報取得部13は、注目するオブジェクトの属性情報に基づいて、このオブジェクトが不透明オブジェクト又は半透明オブジェクトのいずれであるかを判定する。 First, the object information acquisition unit 13 acquires attribute information of each object placed in the three-dimensional virtual space (S11). The object attribute information includes various information for defining the object. For example, an object is set with attribute information indicating whether it is an opaque object or a translucent object. Therefore, the object information acquisition unit 13 determines whether the object is an opaque object or a translucent object based on the attribute information of the object of interest.

また、オブジェクト情報取得部13は、注目するオブジェクトの属性情報に基づいて、このオブジェクトが岩オブジェクト、人オブジェクト、雲オブジェクトのいずれであるかを判断することも可能である。また、オブジェクト情報取得部13は、視点からオブジェクトまでの距離を画素Pごとに取得することで、オブジェクトの並び、オブジェクトの重なり等を把握できる。 The object information acquisition unit 13 can also determine whether this object is a rock object, a person object, or a cloud object, based on the attribute information of the object of interest. In addition, the object information acquisition unit 13 acquires the distance from the viewpoint to the object for each pixel P, so that the arrangement of the objects, the overlapping of the objects, and the like can be grasped.

次に、オブジェクト情報取得部13は、画角内のオブジェクトに対してレイマーチ処理を行い、図3に示した画面32の画素Pごとに輝度を算出する(S12)。 Next, the object information acquisition unit 13 performs ray march processing on the object within the angle of view, and calculates the luminance for each pixel P on the screen 32 shown in FIG. 3 (S12).

次に、オブジェクト情報取得部13は、視点からオブジェクトまでの距離を画素毎に取得する(S13)。図3に示したように、オブジェクト情報取得部13は、画面32の画素Pごとに視点から各オブジェクトまでの距離を取得する。
その後、オブジェクト情報取得部13は、図6に示した描画処理(S4)に処理を戻す。
Next, the object information acquisition unit 13 acquires the distance from the viewpoint to the object for each pixel (S13). As shown in FIG. 3 , the object information acquisition unit 13 acquires the distance from the viewpoint to each object for each pixel P on the screen 32 .
After that, the object information acquisition unit 13 returns the process to the drawing process (S4) shown in FIG.

次に、図6のステップS4に示した画面描画処理の詳細例について説明する。
図8は、画面描画処理の詳細な処理の例を示すフローチャートである。
Next, a detailed example of the screen rendering process shown in step S4 of FIG. 6 will be described.
FIG. 8 is a flowchart illustrating an example of detailed screen drawing processing.

始めに、画面描画部14は、図3に示した1枚の画面32内の全ての画素Pを処理したか否かを判断する(S21)。画面32内の全ての画素Pを処理していなければ(S21のNO)、画面描画部14は、未処理の画素Pに注目して複数のオブジェクトが重なる画素Pがあるか否かを判断する(S22)。 First, the screen drawing unit 14 determines whether or not all the pixels P in one screen 32 shown in FIG. 3 have been processed (S21). If all the pixels P in the screen 32 have not been processed (NO in S21), the screen drawing unit 14 focuses on the unprocessed pixels P and determines whether or not there is a pixel P where multiple objects overlap. (S22).

複数のオブジェクトが重なる画素Pがなければ(S22のNO)、画面描画部14は、再びステップS21に戻って処理を続ける。
一方、複数のオブジェクトが重なる画素Pがあれば(S22のYES)、画面描画部14は、重なる複数のオブジェクトが半透明オブジェクトであるか否かを判断する(S23)。例えば、図3に示した画素P2,P3が、重なる複数のオブジェクトが半透明オブジェクトを表している。
If there is no pixel P where multiple objects overlap (NO in S22), the screen drawing unit 14 returns to step S21 and continues processing.
On the other hand, if there is a pixel P where multiple objects overlap (YES in S22), the screen drawing unit 14 determines whether or not the multiple overlapping objects are translucent objects (S23). For example, pixels P2 and P3 shown in FIG. 3 represent a plurality of overlapping objects that are translucent objects.

重なる複数のオブジェクトが半透明オブジェクトでなければ(S23のNO)、画面描画部14は、再びステップS21に戻って処理を続ける。
一方、重なる複数のオブジェクトのいずれかが半透明オブジェクトであれば(S23のYES)、画面描画部14は、各オブジェクトの濃度を画素ごとに決定する処理を行う(S24)。その後、画面描画部14は、再びステップS21に戻って処理を続ける。
If the overlapping objects are not translucent objects (NO in S23), the screen drawing unit 14 returns to step S21 and continues processing.
On the other hand, if any of the plurality of overlapping objects is a translucent object (YES in S23), the screen drawing unit 14 performs a process of determining the density of each object for each pixel (S24). After that, the screen drawing unit 14 returns to step S21 and continues the processing.

そして、画面32内の全ての画素Pを処理していれば(S21のYES)、画面描画部14は、ステップS24で決定したオブジェクトの濃度に基づき、プレイヤーの位置に合わせて画面を描画する(S25)。
その後、画面描画部14は、図6に示した画面出力処理(S5)に処理を戻す。
Then, if all the pixels P in the screen 32 have been processed (YES in S21), the screen drawing unit 14 draws the screen according to the position of the player based on the density of the object determined in step S24 ( S25).
After that, the screen drawing unit 14 returns the process to the screen output process (S5) shown in FIG.

次に、図8のステップS24に示した濃度決定処理の詳細例について説明する。
図9は、濃度決定処理の詳細な処理の例を示すフローチャートである。
Next, a detailed example of the density determination process shown in step S24 of FIG. 8 will be described.
FIG. 9 is a flowchart illustrating an example of detailed processing of density determination processing.

始めに、画面描画部14は、画素Pに格納されたRGBの要素ごとに、図5に示した変化点61~63を取得する(S31)。次に、画面描画部14は、取得した変化点61~63を用いて、近似カーブ65を決定する(S32)。 First, the screen drawing unit 14 acquires the change points 61 to 63 shown in FIG. 5 for each of the RGB elements stored in the pixel P (S31). Next, the screen drawing unit 14 determines an approximate curve 65 using the acquired change points 61 to 63 (S32).

そして、画面描画部14は、視点からオブジェクトまでの距離を近似カーブ65に当てはめて、その画素Pにおけるオブジェクトの濃度を決定する(S33)。このように画面描画部14は、従来のようなアルファ値の透明度を記録するのでなく、視点からの半透明オブジェクトの距離を記録した上で、これらの距離と、近似カーブ65とを用いて、半透明オブジェクトの濃度を決定する。決定したオブジェクトの濃度は、例えば、図2に示したRAM24に画素Pごとに保存される。
その後、画面描画部14は、図8に示した画面描画処理のステップS21に処理を戻す。
Then, the screen drawing unit 14 applies the distance from the viewpoint to the object to the approximation curve 65 to determine the density of the object at that pixel P (S33). In this way, the screen drawing unit 14 records the distance of the translucent object from the viewpoint, instead of recording the transparency of the alpha value as in the conventional art, and uses these distances and the approximation curve 65 to Determines the density of translucent objects. The determined density of the object is stored for each pixel P in the RAM 24 shown in FIG. 2, for example.
After that, the screen drawing unit 14 returns the process to step S21 of the screen drawing process shown in FIG.

以上説明した第1の実施形態に係る画像描画システム1では、複数の半透明オブジェクトが重なっていても、それぞれの濃度が違和感のないように各半透明オブジェクトが描画される。ある画素Pで重なる複数の半透明オブジェクトのうち、視点側に配置された半透明オブジェクトの濃度による影響は、奥側に配置された半透明オブジェクトまでの距離によって決まる。このため、複数の半透明オブジェクトが視点側から奥側に並んで配置されたシーンだけでなく、ある半透明オブジェクトの内部に別の半透明オブジェクトを含むように配置されたシーンであっても、各半透明オブジェクトの濃度が自然に描画される。 In the image drawing system 1 according to the first embodiment described above, even if a plurality of semi-transparent objects overlap each other, each semi-transparent object is drawn so that the respective densities are natural. Among a plurality of semi-transparent objects that overlap at a certain pixel P, the influence of the density of the semi-transparent object placed on the viewpoint side is determined by the distance to the semi-transparent object placed on the back side. Therefore, not only scenes in which a plurality of semi-transparent objects are arranged side by side from the viewpoint side to the back side, but also scenes in which a semi-transparent object is arranged so as to include another semi-transparent object inside another, The density of each translucent object is rendered naturally.

ここで、画面描画部14は、画素PからRGBの要素ごとに取得した変化点61~63を用いて、図5に示した距離-濃度カーブ60を近似した近似カーブ65を作成する。この近似カーブ65は、変化点61~63の間を補間するだけで作成可能である。このため、画面描画部14は、近似カーブ65の作成負荷を抑えることができる。 Here, the screen drawing unit 14 uses the change points 61 to 63 obtained from the pixel P for each RGB element to create an approximate curve 65 that approximates the distance-density curve 60 shown in FIG. This approximation curve 65 can be created only by interpolating between change points 61-63. Therefore, the screen drawing unit 14 can reduce the load of creating the approximate curve 65 .

また、画素P毎に半透明オブジェクトの濃度が決定されるので、複雑な濃度変化が描画されるようになる。このため、従来のような広い範囲で一定の濃度で描画されるオブジェクトと比べて、立体感のあるオブジェクトが表現可能となる。例えば、雲や霧の中を移動するキャラクターや、霧の中で燃える炎、時間経過により形状や濃度が変化する雲オブジェクト等の立体感のある表現が可能となる。このように、従来は平面的に塗りつぶされたり、パンチングされたりして表現されていた半透明オブジェクトが、本実施の形態では、立体的に表現されるようになる。 In addition, since the density of the translucent object is determined for each pixel P, complicated density changes are rendered. As a result, objects with a three-dimensional effect can be represented as compared with conventional objects drawn in a wide range with a constant density. For example, it is possible to create three-dimensional expressions such as characters moving in clouds or fog, flames burning in fog, and cloud objects whose shape and density change with the passage of time. In this way, a translucent object, which has conventionally been represented by being painted over or punched in a plane, can be represented stereoscopically in the present embodiment.

また、本実施の形態では、画面描画部14が奥側にある雲オブジェクト53を先に描画した後、雲オブジェクト53より手前にある雲オブジェクト50が描画される。ただし、画面描画部14は、複数の半透明オブジェクトが重なっていると判定した場合であっても、各半透明オブジェクトの描画順を定めなくてもよい。例えば、画面描画部14は、手前にある雲オブジェクト50を先に描画した後、奥側にある雲オブジェクト53を描画してもよい。 Further, in the present embodiment, after the screen drawing unit 14 first draws the cloud object 53 on the far side, the cloud object 50 on the front side of the cloud object 53 is drawn. However, even when the screen drawing unit 14 determines that a plurality of semi-transparent objects overlap, it is not necessary to determine the drawing order of each semi-transparent object. For example, the screen drawing unit 14 may draw the cloud object 50 on the front side first, and then draw the cloud object 53 on the back side.

また、画素Pの各要素には、RGBの値の代わりに、浮動小数点で距離が格納される。従来の256段階でしか表現できないRGBの値に比べて、非常に大きな値まで浮動小数点で距離を表すことが可能となる。このため、画面描画部14は、視点から非常に遠い場所に配置された雲オブジェクトの距離を正しく表すことができ、この雲オブジェクトの濃度も適切に表現して描画できる。 Also, each element of the pixel P stores a distance in floating point instead of RGB values. Compared to RGB values that can be expressed only in 256 steps in the past, it is possible to express distances with floating point values up to very large values. Therefore, the screen drawing unit 14 can correctly express the distance of the cloud object placed at a location very far from the viewpoint, and can appropriately express the density of the cloud object for drawing.

なお、上述した実施の形態では、半透明オブジェクトの濃度を決定した。しかし、濃度は、100%-透明度の式でも表される。このため、濃度を透明度に置き換えて、半透明オブジェクトの透明度を決定してもよい。 Note that the density of the translucent object is determined in the above-described embodiment. However, density can also be expressed by the formula 100%-transparency. Therefore, the transparency of a translucent object may be determined by replacing density with transparency.

[第2の実施形態]
次に、本発明の第2の実施形態に係る画像描画システムの構成例について、図10~図16を参照して説明する。第2の実施形態に係る画像描画システムでは、イラスト調で表現された画像に着色して、従来よりも色彩感が豊かな画像を描画することができる。
[Second embodiment]
Next, a configuration example of an image drawing system according to a second embodiment of the present invention will be described with reference to FIGS. 10 to 16. FIG. In the image drawing system according to the second embodiment, it is possible to color an illustration-like image and draw an image with a richer sense of color than before.

<第2の実施形態に係る情報処理装置の機能構成例>
図10は、第2の実施形態に係る情報処理装置2Aの構成例を示すブロック図である。情報処理装置2Aは、第1の実施形態に係る画像描画システム1の情報処理装置2を置き替えたものである。
<Functional Configuration Example of Information Processing Apparatus According to Second Embodiment>
FIG. 10 is a block diagram showing a configuration example of an information processing device 2A according to the second embodiment. The information processing device 2A replaces the information processing device 2 of the image drawing system 1 according to the first embodiment.

情報処理装置2Aは、第1の実施形態に係る情報処理装置2と同様の構成としている。そして、オブジェクト情報取得部13は、オブジェクトの輝度を含むオブジェクト情報を取得する。 The information processing device 2A has the same configuration as the information processing device 2 according to the first embodiment. Then, the object information acquisition unit 13 acquires object information including the brightness of the object.

画面描画部14Aは、オブジェクトの輝度に応じた色を反映させたオブジェクトを含む画面を、オブジェクト情報に基づいて描画する。第2の実施形態に係る画面描画部14Aは、LUT(Look Up Table)141及び色決定部142を有する。 The screen drawing unit 14A draws a screen including an object on which a color corresponding to the brightness of the object is reflected, based on object information. A screen drawing unit 14A according to the second embodiment has a LUT (Look Up Table) 141 and a color determination unit 142 .

LUT141は、オブジェクトの輝度ごとに色情報が格納されたテーブルであり、輝度-色対応情報の一例として用いられる。LUT141は、オブジェクトごと、又はオブジェクトの種類ごとに設けられる。LUT141の詳細な構成は、図11にて後述する。 The LUT 141 is a table storing color information for each brightness of an object, and is used as an example of brightness-color correspondence information. The LUT 141 is provided for each object or each type of object. A detailed configuration of the LUT 141 will be described later with reference to FIG.

色決定部142は、LUT141を参照して読み出した、オブジェクトの輝度に対応する色情報に基づいて、画面32の画素Pごとに色を決定する。 The color determining unit 142 determines the color of each pixel P on the screen 32 based on the color information corresponding to the luminance of the object read out with reference to the LUT 141 .

オブジェクト情報取得部13により行われるレイマーチ処理の間は輝度計算のみが行われるので、半透明オブジェクトは陰影のついたグレースケールで表される。その後、色決定部142が雲オブジェクトの輝度に対して色を決定するため、例えば、暗い部分は影色、アーティスティックな着彩が施された明るい部分は光源に合わせた高い明度での彩色が実現される。 Since only luminance calculations are performed during the ray march processing performed by the object information acquisition unit 13, translucent objects are represented in shaded grayscale. After that, the color determination unit 142 determines the color with respect to the brightness of the cloud object. For example, the dark portions are colored with a shadow color, and the artistically colored bright portions are colored with a high brightness that matches the light source. Realized.

図11は、LUT141の構成例を示す図である。
LUT141は、例えば、0%~100%の間で表される輝度ごとに色情報が格納される1次元テーブルである。色情報は、輝度ごとに「a10」、「a11」、…「a1100」のように設定される。色情報は、輝度ごとに異なってもよいし、一部の異なる輝度で同一であってもよい。
FIG. 11 is a diagram showing a configuration example of the LUT 141. As shown in FIG.
The LUT 141 is, for example, a one-dimensional table that stores color information for each brightness expressed between 0% and 100%. The color information is set as "a10", "a11", . . . "a1100" for each luminance. The color information may be different for each luminance or may be the same for some different luminances.

従来、輝度が0%に近い値であればオブジェクトの表面は黒色が強く表現され、輝度が100%に近い値であればオブジェクトの表面は白色が強く表現されがちであった。しかし、色決定部142がLUT141を参照して色を決定することで、例えば、輝度が0%に近い値であればオブジェクトの表面は紫色が強く表現され、輝度が100%に近い値であればオブジェクトの表面は黄色が表現されるようになる。このため、例えば、コンテンツの制作者(イラストレーター等)が意図した色彩表現が可能となる。 Conventionally, when the luminance value is close to 0%, the surface of the object tends to be expressed in black, and when the luminance value is close to 100%, the surface of the object tends to be expressed in white. However, the color determination unit 142 refers to the LUT 141 to determine the color. For example, if the brightness is close to 0%, the surface of the object is strongly expressed in purple, and if the brightness is close to 100%, the surface of the object is expressed in purple. For example, the surface of the object will be expressed in yellow. Therefore, for example, it is possible to express colors intended by the creator of the content (illustrator, etc.).

また、オブジェクトごとにLUT141が設定される。図11では、オブジェクトobjA1,objA2,objB1,…のように異なるオブジェクトに対してLUT141が設定される。ただし、オブジェクトobjA1,objB2のように異なるオブジェクトであっても、同じLUT141が設定されてもよい。 Also, the LUT 141 is set for each object. In FIG. 11, the LUT 141 is set for different objects such as objects objA1, objA2, objB1, . However, the same LUT 141 may be set for different objects such as objects objA1 and objB2.

<第2の実施形態に係る画面描画処理の例>
次に、第2の実施の形態に係る画面描画処理の詳細例について説明する。
図12は、第2の実施の形態に係る画面描画処理の詳細な処理の例を示すフローチャートである。図12に示す画面描画処理は、図6と図8に示した第1の実施の形態に係る画面描画部14で行われる画面描画処理(S4)を入れ替えたものである。
<Example of Screen Rendering Process According to Second Embodiment>
Next, a detailed example of screen drawing processing according to the second embodiment will be described.
FIG. 12 is a flowchart illustrating an example of detailed processing of screen drawing processing according to the second embodiment. The screen drawing process shown in FIG. 12 replaces the screen drawing process (S4) performed by the screen drawing section 14 according to the first embodiment shown in FIGS.

ステップS21~S24の処理は、既に図8を参照して説明した処理であるため、詳細な説明を省略する。 Since the processing of steps S21 to S24 has already been described with reference to FIG. 8, detailed description thereof will be omitted.

ステップS21にて画面32内の全ての画素Pを処理していれば(S21のYES)、画面描画部14Aは、図3に示した1枚の画面32内の全ての画素Pに対して色を決定したか否かを判断する(S26)。画面32内の全ての画素Pの色を決定していなければ(S26のNO)、画面描画部14Aは、未処理の画素Pに対して色決定処理を行い(S27)、再びステップS26に戻って処理を続ける。 If all the pixels P in the screen 32 have been processed in step S21 (YES in S21), the screen drawing unit 14A performs color processing for all the pixels P in the single screen 32 shown in FIG. is determined (S26). If the colors of all the pixels P in the screen 32 have not been determined (NO in S26), the screen drawing unit 14A performs color determination processing on the unprocessed pixels P (S27), and returns to step S26. to continue processing.

一方、画面32内の全ての画素Pの色を決定していれば(S26のYES)、画面描画部14Aは、ステップS24で決定したオブジェクトの濃度と、ステップS27で決定した色とに基づき、プレイヤーの位置に合わせて画面を描画する(S25)。
その後、画面描画部14Aは、図6に示した画面出力処理(S5)に処理を戻す。画面出力処理により、第2の実施形態にて画素Pごとに決定された色で表示装置4に画面32が表示される。
On the other hand, if the colors of all the pixels P in the screen 32 have been determined (YES in S26), the screen drawing unit 14A, based on the density of the object determined in step S24 and the color determined in step S27, The screen is drawn according to the position of the player (S25).
After that, the screen drawing unit 14A returns the process to the screen output process (S5) shown in FIG. By the screen output process, the screen 32 is displayed on the display device 4 in the color determined for each pixel P in the second embodiment.

次に、図12のステップS27に示した色決定処理の詳細例について説明する。
図13は、色決定処理の詳細な処理の例を示すフローチャートである。
Next, a detailed example of the color determination process shown in step S27 of FIG. 12 will be described.
FIG. 13 is a flowchart illustrating an example of detailed processing of color determination processing.

始めに、画面描画部14Aは、色を決定するオブジェクトに紐づけたLUT141を、図2に示したRAM24又は不揮発性ストレージ28等から取得する(S41)。 First, the screen drawing unit 14A acquires the LUT 141 linked to the object whose color is to be determined from the RAM 24, the non-volatile storage 28, or the like shown in FIG. 2 (S41).

そして、画面描画部14Aは、LUT141を参照し、輝度に対応する画素Pの色を決定する(S42)。
その後、画面描画部14Aは、図12に示した画素P毎の色決定の判断処理(S26)に処理を戻す。
The screen drawing unit 14A then refers to the LUT 141 and determines the color of the pixel P corresponding to the luminance (S42).
After that, the screen drawing unit 14A returns the processing to the determination processing (S26) for color determination for each pixel P shown in FIG.

以上説明した第2の実施形態に係る情報処理装置2Aでは、画面描画部14Aが輝度に対して色を決定して画面を描画することで、従来の色合いとは異なる、コンテンツの制作者が意図した画像の表現が可能となる。 In the information processing apparatus 2A according to the second embodiment described above, the screen drawing unit 14A decides the color for the luminance and draws the screen, so that the color that the content creator intended is different from the conventional color. It is possible to express an image with

また、イラストレーターが画面を描く時は明度や彩度という観点で陰影や距離感を表現する。このような表現に柔軟に対応できるようにするためにLUT141を採用している。輝度を色に割り当てることで、中間色に別の色を挿入することも可能となり、描画される色彩の表情を高めることができる。 Also, when an illustrator draws a screen, he expresses shadows and a sense of distance from the viewpoint of brightness and saturation. The LUT 141 is used to flexibly respond to such expressions. By assigning brightness to colors, it is also possible to insert another color into the intermediate color, thereby enhancing the expression of the rendered color.

また、画面描画部14Aは、オブジェクトの輝度に合わせてオブジェクトの色を決定し、決定した色でオブジェクトを描画する。このため、オブジェクトの色を決定する処理の負荷を抑制することができる。このように情報処理装置2Aでは、輝度のみを計算するレイマーチ処理を行うだけであるので、計算に要する情報量を削減することができる。このため、情報処理装置2Aで行われるオブジェクトの色決定方法は、レイマーチ処理の高速化にも寄与することができる。 The screen drawing unit 14A also determines the color of the object according to the brightness of the object, and draws the object in the determined color. Therefore, it is possible to reduce the processing load for determining the color of the object. As described above, the information processing apparatus 2A only performs the ray march process for calculating only the luminance, so that the amount of information required for calculation can be reduced. Therefore, the object color determination method performed by the information processing apparatus 2A can also contribute to speeding up the ray march processing.

なお、画面描画部14Aは、第1の実施の形態に係るオブジェクトの濃度決定の処理とは別に、単独で用いられてもよい。すなわち、画面描画部14Aは、第1の実施の形態に係るオブジェクトの濃度決定の処理を行わない形態であっても、LUT141を読み出し、画素Pごとの輝度から色を決定することが可能である。 Note that the screen drawing unit 14A may be used alone, separately from the process of determining the density of the object according to the first embodiment. That is, the screen drawing unit 14A can read out the LUT 141 and determine the color from the luminance of each pixel P even in a form in which the processing for determining the density of the object according to the first embodiment is not performed. .

[LUTの変形例]
なお、LUT141には様々な形態が想定される。ここで、LUT141の3つの変形例について順に説明する。また、以下の説明では、あるオブジェクト(例えば、オブジェクトobjA1)に対して設定されるLUT141の変形例を示す。
[Modification of LUT]
Various forms are assumed for the LUT 141 . Here, three modifications of the LUT 141 will be described in order. Also, the following description shows a modified example of the LUT 141 set for a certain object (for example, object objA1).

(LUTの第1の変形例)
図14は、第1の変形例に係るLUT141Aの構成例を示す図である。
LUT141Aは、オブジェクトの輝度ごと、かつ色味ごとに色情報が格納されたテーブルであり、輝度-色味-色対応情報の一例として用いられる。LUT141Aは、0%~100%の間で表される輝度ごと、かつシーンに設定される色味ごとに色情報が格納される2次元テーブルである。色味は、例えば、コンテンツの制作者によりシーンごとに指定される値である。そして、色味は、RGB表色系により、RGBの各要素が「0」~「255」の範囲で設定される。図14以降に示す箱は、図11に示したLUT141のテーブルを構成するセルを表現したものであり、各箱には一つの色情報が格納されるものとする。
(First modification of LUT)
FIG. 14 is a diagram showing a configuration example of the LUT 141A according to the first modified example.
The LUT 141A is a table in which color information is stored for each luminance and each tint of an object, and is used as an example of luminance-hue-color correspondence information. The LUT 141A is a two-dimensional table that stores color information for each brightness expressed between 0% and 100% and for each tint set for a scene. The tint is, for example, a value specified for each scene by the creator of the content. The color is set in the range of "0" to "255" for each element of RGB according to the RGB color system. Boxes shown in FIG. 14 and subsequent figures represent cells constituting the table of the LUT 141 shown in FIG. 11, and each box stores one piece of color information.

LUT141Aは、オブジェクトごと、又はオブジェクトの種類ごとに設けられる。そして、図10に示した画面描画部14Aは、LUT141A及び色決定部142を有する。
このため、色決定部142は、LUT141Aを参照して読み出した、オブジェクトの輝度に対応する色情報に基づいて、画面32の画素Pごとに色を決定する。
The LUT 141A is provided for each object or each type of object. The screen drawing unit 14A shown in FIG. 10 has an LUT 141A and a color determining unit 142. FIG.
Therefore, the color determining unit 142 determines the color of each pixel P on the screen 32 based on the color information corresponding to the luminance of the object read out with reference to the LUT 141A.

このように画面描画部14AがLUT141Aを有することで、シーンごとにコンテンツの制作者が意図した色彩表現が可能となる。例えば、シーンに設定される色味として、夕方のシーンである時に設定されるオレンジ色や、快晴のシーンである時に設定される黄色等の様々な色が想定される。 By having the LUT 141A in the screen drawing unit 14A in this way, it is possible to express colors intended by the creator of the content for each scene. For example, as the color tones set for a scene, various colors such as orange for an evening scene and yellow for a sunny scene are assumed.

(LUTの第2の変形例)
図15は、第2の変形例に係るLUT141Bの構成例を示す図である。
LUT141Bは、オブジェクトの輝度ごと、かつ視点からオブジェクトまでの距離ごとに色情報が格納されたテーブルであり、輝度-距離-色対応情報の一例として用いられる。LUT141Bは、0%~100%の間で表される輝度ごと、かつ視点から着色対象のオブジェクトまでの距離ごとに色情報が格納される2次元テーブルである。着色対象のオブジェクトまでの距離は、近い距離(例えば、数m)から遠い距離(例えば、数km)まで規定される。
(Second modification of LUT)
FIG. 15 is a diagram showing a configuration example of the LUT 141B according to the second modification.
The LUT 141B is a table storing color information for each brightness of an object and for each distance from the viewpoint to the object, and is used as an example of brightness-distance-color correspondence information. The LUT 141B is a two-dimensional table that stores color information for each luminance expressed between 0% and 100% and for each distance from the viewpoint to the object to be colored. The distance to the object to be colored is specified from a short distance (eg, several meters) to a long distance (eg, several kilometers).

LUT141Bは、オブジェクトごと、又はオブジェクトの種類ごとに設けられる。そして、図10に示した画面描画部14Aは、LUT141B及び色決定部142を有する。
このため、色決定部142は、LUT141Bを参照して読み出した、オブジェクトの輝度に対応する色情報に基づいて、画面32の画素Pごとに色を決定する。
The LUT 141B is provided for each object or each type of object. The screen drawing unit 14A shown in FIG. 10 has an LUT 141B and a color determining unit 142. FIG.
Therefore, the color determination unit 142 determines the color of each pixel P on the screen 32 based on the color information corresponding to the brightness of the object read out with reference to the LUT 141B.

このように画面描画部14AがLUT141Bを有することによっても、シーンごとにコンテンツの制作者が意図した色彩表現が可能となる。例えば、通常の景色における物の見え方では、視点から近い距離にある物は、その物自体の色がハッキリ見え、視点から遠い距離の物は、空気等により青味がかって見えたりする。一方、LUT141Bに視点からオブジェクトまでの距離ごとに色情報が格納されることで、例えば、視点から近い距離にあるオブジェクトを青味がかって表現し、視点から近い距離にあるオブジェクトを赤みがかって表現するような、通常とは異なる表現が可能となる。 By having the LUT 141B in the screen drawing unit 14A in this way, it is possible to express the colors intended by the creator of the content for each scene. For example, when viewing an object in a normal landscape, the color of an object close to the viewpoint can be clearly seen, and the color of an object far from the viewpoint can be seen bluish due to air or the like. On the other hand, by storing color information for each distance from the viewpoint to the object in the LUT 141B, for example, an object close to the viewpoint is expressed bluish, and an object close to the viewpoint is expressed reddish. Expressions that are different from usual are possible.

(LUTの第3の変形例)
図16は、第3の変形例に係るLUT141Cの構成例を示す図である。
LUT141Cは、オブジェクトの輝度ごと、色味ごと、かつ視点からオブジェクトまでの距離ごとに色情報が格納されたテーブルであり、輝度-色味-距離-色対応情報の一例として用いられる。LUT141Cは、図14に示したLUT141Aと、図15に示したLUT141Bとを組み合わせた3次元テーブルである。そして、LUT141Cについても、オブジェクトごと、又はオブジェクトの種類ごとに設けられる。そして、図10に示した画面描画部14Aは、LUT141C及び色決定部142を有する。
このため、色決定部142は、LUT141Cを参照して読み出した、オブジェクトの輝度に対応する色情報に基づいて、画面32の画素Pごとに色を決定する。
(Third modification of LUT)
FIG. 16 is a diagram showing a configuration example of the LUT 141C according to the third modification.
The LUT 141C is a table storing color information for each luminance, each tint, and each distance from the viewpoint to the object, and is used as an example of luminance-hue-distance-color correspondence information. The LUT 141C is a three-dimensional table combining the LUT 141A shown in FIG. 14 and the LUT 141B shown in FIG. The LUT 141C is also provided for each object or each type of object. The screen drawing unit 14A shown in FIG. 10 has an LUT 141C and a color determining unit 142. FIG.
Therefore, the color determining unit 142 determines the color of each pixel P on the screen 32 based on the color information corresponding to the brightness of the object read out with reference to the LUT 141C.

色決定部142は、LUT141Cを参照して色を決定することで、例えば、画面描画部14Aは、近景を色の起伏を少なくしたガス状に描画し、遠景の明暗や色彩を豊かにして描画する等の色の調整と、描画色のコントロールも可能となる。 The color determining unit 142 refers to the LUT 141C to determine the color. For example, the screen drawing unit 14A draws the foreground in a gaseous state with reduced color undulations, and draws the background with richer brightness and color. It is also possible to adjust the color such as to draw and control the drawing color.

なお、LUT141,141A~141Cは、それぞれテーブルで構成したが、輝度ごとに色情報を決定する関数が用いられてもよい。この場合、色決定部142は、画素P毎に算出された輝度に対して、それぞれ関数を適用して色を決定することが可能である。 Although the LUTs 141 and 141A to 141C are each configured as a table, a function that determines color information for each luminance may be used. In this case, the color determining unit 142 can apply a function to the brightness calculated for each pixel P to determine the color.

[第3の実施形態]
<コンテンツ配信システムの構成例>
次に、本発明の第3の実施形態に係る画像描画システムの構成例について、図17を参照して説明する。第3の実施形態に係る画像描画システムでは、コンテンツを配信するコンテンツ配信サーバと組み合わせてコンテンツ配信システムを構成する。
[Third embodiment]
<Configuration example of content distribution system>
Next, a configuration example of an image drawing system according to the third embodiment of the present invention will be described with reference to FIG. The image rendering system according to the third embodiment constitutes a content distribution system in combination with a content distribution server that distributes content.

図17は、コンテンツ配信システム10のハードウェア構成例を示すブロック図である。
画像描画システム1は、インターネット等のネットワークNを介してコンテンツ配信サーバ8に接続可能である。以下、画像描画システム1が情報処理装置2を備える構成として説明するが、画像描画システム1が情報処理装置2Aを備える構成であってもよい。
FIG. 17 is a block diagram showing a hardware configuration example of the content distribution system 10. As shown in FIG.
The image drawing system 1 can be connected to a content distribution server 8 via a network N such as the Internet. In the following description, the image drawing system 1 includes the information processing device 2, but the image drawing system 1 may include the information processing device 2A.

コンテンツ配信サーバ8は、コンテンツを管理しており、認証した情報処理装置2からのコンテンツ取得要求に基づいて、情報処理装置2にコンテンツを配信する。このため、情報処理装置2は、コンテンツ配信サーバ8からダウンロードしたコンテンツを、情報処理装置2の内部記録媒体(不揮発性ストレージ28等)に保存し、コンテンツ再生時には内部記録媒体からコンテンツを読み込んでもよい。あるいは、情報処理装置2は、コンテンツ配信サーバ8からストリーミング配信されるコンテンツを受信し、表示装置4にコンテンツを表示させてもよい。 The content distribution server 8 manages content, and distributes content to the information processing device 2 based on a content acquisition request from the authenticated information processing device 2 . Therefore, the information processing device 2 may store the content downloaded from the content distribution server 8 in an internal recording medium (such as the nonvolatile storage 28) of the information processing device 2, and read the content from the internal recording medium when reproducing the content. . Alternatively, the information processing device 2 may receive content streamed from the content distribution server 8 and cause the display device 4 to display the content.

(コンテンツ配信サーバの構成例)
コンテンツ配信サーバ8は、コンピューターとして動作する計算機の一例である。このコンテンツ配信サーバ8は、バス85にそれぞれ接続されたCPU81、GPU82、ROM83、及びRAM84、不揮発性ストレージ86及びネットワークインターフェイス87を備える。
(Configuration example of content distribution server)
The content distribution server 8 is an example of a calculator that operates as a computer. This content distribution server 8 includes a CPU 81 , a GPU 82 , a ROM 83 and a RAM 84 , a non-volatile storage 86 and a network interface 87 which are connected to a bus 85 .

CPU81は、本実施の形態に係る各機能を実現するソフトウェアのプログラムコードをROM83から読み出してRAM84にロードし、実行する。RAM84には、CPU81又はGPU82の演算処理の途中で発生した変数やパラメーター等が一時的に書き込まれ、これらの変数やパラメーター等がCPU81又はGPU82によって適宜読み出される。 The CPU 81 reads the program code of the software that implements each function according to the present embodiment from the ROM 83, loads it into the RAM 84, and executes it. Variables, parameters, etc. generated during the arithmetic processing of the CPU 81 or GPU 82 are temporarily written in the RAM 84 , and these variables, parameters, etc. are read by the CPU 81 or GPU 82 as appropriate.

コンテンツ配信サーバ8が情報処理装置2にコンテンツをストリーミング配信する構成である場合、コンテンツ配信サーバ8が情報処理装置2から受け取った操作データに基づいて、ほぼリアルタイムで3次元画像を演算する処理を行う。そこで、GPU82は、例えば、ネットワークインターフェイス87を介して情報処理装置2から受信した操作信号に基づいて、3次元オブジェクトを描画するために必要な処理を行う。そして、GPU82が描いた画像は、画像データとしてネットワークインターフェイス87を介して情報処理装置2にストリーミング配信され、情報処理装置2に接続された表示装置4に画像が表示される。図2に示すようにGPU82とCPU81とは別体で構成されてもよいし、CPU81の内部にGPU82が組み込まれた構成としてもよい。 When the content distribution server 8 is configured to stream-distribute the content to the information processing device 2, the content distribution server 8 performs a process of calculating a three-dimensional image in almost real time based on the operation data received from the information processing device 2. . Therefore, the GPU 82 performs processing necessary to draw a three-dimensional object based on operation signals received from the information processing device 2 via the network interface 87, for example. The image drawn by the GPU 82 is streamed to the information processing device 2 via the network interface 87 as image data, and the image is displayed on the display device 4 connected to the information processing device 2 . As shown in FIG. 2, the GPU 82 and the CPU 81 may be configured separately, or the GPU 82 may be incorporated inside the CPU 81 .

不揮発性ストレージ86としては、例えば、HDD、SSD、フレキシブルディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ又は不揮発性のメモリ等が用いられる。この不揮発性ストレージ86には、OS、各種のパラメーターの他に、コンテンツ配信サーバ8を機能させるためのプログラムが記録されている。ROM83及び不揮発性ストレージ86は、CPU81が動作するために必要なプログラムやデータ等を記録しており、コンテンツ配信サーバ8によって実行されるプログラムを格納したコンピューター読取可能な非一過性の記憶媒体の一例として用いられる。 As the nonvolatile storage 86, for example, HDD, SSD, flexible disk, optical disk, magneto-optical disk, CD-ROM, CD-R, magnetic tape, nonvolatile memory, or the like is used. The nonvolatile storage 86 stores an OS, various parameters, and a program for making the content distribution server 8 function. The ROM 83 and non-volatile storage 86 record programs and data necessary for the operation of the CPU 81, and are computer-readable non-transitory storage media storing programs executed by the content distribution server 8. Used as an example.

ネットワークインターフェイス87には、例えば、NIC等が用いられ、NICの端子に接続されたLAN、専用線等を介して各種のデータを、情報処理装置2との間で送受信することが可能である。 For example, a NIC or the like is used as the network interface 87, and various data can be transmitted/received to/from the information processing device 2 via a LAN, a dedicated line, or the like connected to the terminal of the NIC.

以上説明した第3の実施形態に係るコンテンツ配信システム10では、コンテンツ配信サーバ8から配信されたコンテンツを情報処理装置2が受信する。このため、情報処理装置2は、コンテンツの追加や修正パッチの適用等をしやすくなる。 In the content distribution system 10 according to the third embodiment described above, the information processing device 2 receives the content distributed from the content distribution server 8 . Therefore, the information processing apparatus 2 can easily add content, apply correction patches, and the like.

また、情報処理装置2は、コンテンツ配信サーバ8からストリーミング配信されたコンテンツをそのまま表示装置4に出力することができる。このため、情報処理装置2は、高性能なCPU21、GPU22を必要としない。そこで、情報処理装置2をスマートフォンのような端末で構成してもよい。また、コンテンツ配信サーバ8からコンテンツが配信されるので、情報処理装置2は、光学ドライブ29を備えない構成としてもよい。 Further, the information processing device 2 can output the content streamed from the content distribution server 8 to the display device 4 as it is. Therefore, the information processing device 2 does not require the high-performance CPU 21 and GPU 22 . Therefore, the information processing device 2 may be configured by a terminal such as a smart phone. Further, since the content is distributed from the content distribution server 8, the information processing device 2 may be configured without the optical drive 29. FIG.

なお、本発明は上述した各実施の形態に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りその他種々の応用例、変形例を取り得ることは勿論である。
例えば、上述した各実施の形態は本発明を分かりやすく説明するために装置及びシステムの構成を詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されない。また、ここで説明した実施の形態の構成の一部を他の実施の形態の構成に置き換えることは可能であり、さらにはある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加、削除、置換をすることも可能である。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
The present invention is not limited to the above-described embodiments, and can of course be applied and modified in various other ways without departing from the gist of the present invention described in the claims.
For example, each of the embodiments described above is a detailed and specific description of the configuration of the device and system in order to explain the present invention in an easy-to-understand manner, and is not necessarily limited to those having all the configurations described. Further, it is possible to replace part of the configuration of the embodiment described here with the configuration of another embodiment, and furthermore, it is possible to add the configuration of another embodiment to the configuration of one embodiment. It is possible. Moreover, it is also possible to add, delete, or replace a part of the configuration of each embodiment with another configuration.
Further, the control lines and information lines indicate those considered necessary for explanation, and not all control lines and information lines are necessarily indicated on the product. In practice, it may be considered that almost all configurations are interconnected.

1…画像描画システム、2,2A…情報処理装置、3…操作コントローラ、4…表示装置、8…コンテンツ配信サーバ、10…コンテンツ配信システム、11…入力受付部、12…視点取得部、13…オブジェクト情報取得部、14…画面描画部、15…画面出力部、30…仮想カメラ、31…画角、32…画面、60…距離-濃度カーブ、65…近似カーブ、141,141A~141C…LUT、142…色決定部 DESCRIPTION OF SYMBOLS 1... Image drawing system 2, 2A... Information processing apparatus 3... Operation controller 4... Display device 8... Content delivery server 10... Content delivery system 11... Input reception part 12... View point acquisition part 13... Object information acquisition unit 14 Screen drawing unit 15 Screen output unit 30 Virtual camera 31 Angle of view 32 Screen 60 Distance-density curve 65 Approximation curve 141, 141A to 141C LUT , 142 ... color determination unit

Claims (9)

3次元仮想空間の視点を取得する視点取得部と、
前記3次元仮想空間に配置される複数のオブジェクトが、それぞれ不透明オブジェクト又は半透明オブジェクトのいずれであるかを示すオブジェクト情報を取得するオブジェクト情報取得部と、
複数の前記オブジェクトのうち、一のオブジェクト及び他のオブジェクトが前記半透明オブジェクトであることを前記オブジェクト情報から判定した場合に、前記視点から前記他のオブジェクトまでの距離に応じて、前記一のオブジェクトの距離と濃度との関係から求めた前記一のオブジェクトの濃度及び前記他のオブジェクトの濃度により、前記一のオブジェクト及び前記他のオブジェクトを含む画面を描画する画面描画部と、
表示装置に前記画面を出力する画面出力部と、を備える
情報処理装置。
a viewpoint acquisition unit that acquires a viewpoint in a three-dimensional virtual space;
an object information acquisition unit that acquires object information indicating whether each of the plurality of objects placed in the three-dimensional virtual space is an opaque object or a translucent object;
When it is determined from the object information that one object and another object among the plurality of objects are the translucent objects, the one object is selected according to the distance from the viewpoint to the other object. a screen drawing unit that draws a screen including the one object and the other object based on the density of the one object and the density of the other object obtained from the relationship between the distance and the density of
and a screen output unit that outputs the screen to a display device.
前記画面描画部は、前記視点からの距離に応じて前記濃度が変化する変化点が設定された前記距離と濃度との関係を決定して、前記一のオブジェクトの濃度及び前記他のオブジェクトの濃度を求める
請求項1に記載の情報処理装置。
The screen drawing unit determines the relationship between the distance and the density at which the change point at which the density changes according to the distance from the viewpoint is set, and determines the density of the one object and the density of the other object. The information processing apparatus according to claim 1, wherein a is obtained.
前記距離と濃度との関係は、前記一のオブジェクトの画素ごとに保存され、
前記変化点は、前記画素の要素数に合わせて設定される
請求項2に記載の情報処理装置。
the relationship between distance and density is stored for each pixel of the one object;
The information processing apparatus according to claim 2, wherein the change point is set according to the number of elements of the pixel.
RGBの画素値を格納可能な前記画素の要素に3個の前記変化点が格納される
請求項3に記載の情報処理装置。
4. The information processing apparatus according to claim 3, wherein the three change points are stored in the pixel elements capable of storing RGB pixel values.
RGBAの画素値を格納可能な前記画素の要素に4個の前記変化点が格納される
請求項3に記載の情報処理装置。
4. The information processing apparatus according to claim 3, wherein the four change points are stored in the pixel elements capable of storing RGBA pixel values.
前記画素に格納される前記距離は、浮動小数点で表される
請求項3に記載の情報処理装置。
The information processing device according to claim 3, wherein the distance stored in the pixel is represented by a floating point number.
前記オブジェクト情報取得部は、前記オブジェクト情報として、前記オブジェクトの輝度を取得し、
前記画面描画部は、前記オブジェクトの輝度に合わせて異なる色を反映した前記オブジェクトを含む画面を描画する
請求項1~6のいずれか一項に記載の情報処理装置。
The object information acquisition unit acquires brightness of the object as the object information,
The information processing apparatus according to any one of claims 1 to 6, wherein the screen drawing section draws a screen including the object reflecting different colors according to the brightness of the object.
3次元仮想空間の視点を取得する手順と、
前記3次元仮想空間に配置される複数のオブジェクトが、それぞれ不透明オブジェクト又は半透明オブジェクトのいずれであるかを示すオブジェクト情報を取得する手順と、
複数の前記オブジェクトのうち、一のオブジェクト及び他のオブジェクトが前記半透明オブジェクトであることを前記オブジェクト情報から判定した場合に、前記視点から前記他のオブジェクトまでの距離に応じて、前記一のオブジェクトの距離と濃度との関係から求めた前記一のオブジェクトの濃度及び前記他のオブジェクトの濃度により、前記一のオブジェクト及び前記他のオブジェクトを含む画面を描画する手順と、
表示装置に前記画面を出力する手順と、を
コンピューターに実行させるためのプログラム。
a procedure for obtaining a viewpoint in a three-dimensional virtual space;
obtaining object information indicating whether each of the plurality of objects placed in the three-dimensional virtual space is an opaque object or a translucent object;
When it is determined from the object information that one object and another object among the plurality of objects are the translucent objects, the one object is selected according to the distance from the viewpoint to the other object. a step of drawing a screen including the one object and the other object using the density of the one object and the density of the other object obtained from the relationship between the distance and the density of
A program for causing a computer to execute a procedure for outputting the screen to a display device.
3次元仮想空間の視点を取得するステップと、
前記3次元仮想空間に配置される複数のオブジェクトが、それぞれ不透明オブジェクト又は半透明オブジェクトのいずれであるかを示すオブジェクト情報を取得するステップと、
複数の前記オブジェクトのうち、一のオブジェクト及び他のオブジェクトが前記半透明オブジェクトであることを前記オブジェクト情報から判定した場合に、前記視点から前記他のオブジェクトまでの距離に応じて、前記一のオブジェクトの距離と濃度との関係から求めた前記一のオブジェクトの濃度及び前記他のオブジェクトの濃度により、前記一のオブジェクト及び前記他のオブジェクトを含む画面を描画するステップと、
表示装置に前記画面を出力するステップと、を含む
描画方法。
obtaining a viewpoint of a three-dimensional virtual space;
obtaining object information indicating whether each of the plurality of objects placed in the three-dimensional virtual space is an opaque object or a translucent object;
When it is determined from the object information that one object and another object among the plurality of objects are the translucent objects, the one object is selected according to the distance from the viewpoint to the other object. drawing a screen including the one object and the other object, using the density of the one object and the density of the other object obtained from the relationship between the distance and the density of
and outputting the screen to a display device.
JP2021158314A 2021-09-28 2021-09-28 Information processing device, program and drawing method Active JP7352603B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021158314A JP7352603B2 (en) 2021-09-28 2021-09-28 Information processing device, program and drawing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021158314A JP7352603B2 (en) 2021-09-28 2021-09-28 Information processing device, program and drawing method

Publications (2)

Publication Number Publication Date
JP2023048792A true JP2023048792A (en) 2023-04-07
JP7352603B2 JP7352603B2 (en) 2023-09-28

Family

ID=85779761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021158314A Active JP7352603B2 (en) 2021-09-28 2021-09-28 Information processing device, program and drawing method

Country Status (1)

Country Link
JP (1) JP7352603B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1142370A (en) * 1997-07-25 1999-02-16 Konami Co Ltd Game device, game image processing method and readable recording medium
JP2000149062A (en) * 1998-11-10 2000-05-30 Hitachi Eng Co Ltd Method and device for generating three-dimensional image
JP2001143099A (en) * 1999-11-18 2001-05-25 Namco Ltd Image-forming system and information storage medium
JP2002366965A (en) * 2001-06-07 2002-12-20 Fujitsu Ltd Program and device for displaying object
JP2007293429A (en) * 2006-04-21 2007-11-08 Sony Computer Entertainment Inc Image browsing device, control method and program of computer
JP2011255114A (en) * 2010-06-11 2011-12-22 Namco Bandai Games Inc Program, information storage medium, and image generation system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1142370A (en) * 1997-07-25 1999-02-16 Konami Co Ltd Game device, game image processing method and readable recording medium
JP2000149062A (en) * 1998-11-10 2000-05-30 Hitachi Eng Co Ltd Method and device for generating three-dimensional image
JP2001143099A (en) * 1999-11-18 2001-05-25 Namco Ltd Image-forming system and information storage medium
JP2002366965A (en) * 2001-06-07 2002-12-20 Fujitsu Ltd Program and device for displaying object
JP2007293429A (en) * 2006-04-21 2007-11-08 Sony Computer Entertainment Inc Image browsing device, control method and program of computer
JP2011255114A (en) * 2010-06-11 2011-12-22 Namco Bandai Games Inc Program, information storage medium, and image generation system

Also Published As

Publication number Publication date
JP7352603B2 (en) 2023-09-28

Similar Documents

Publication Publication Date Title
JP3725524B2 (en) Method for generating computer display image and computer processing system and graphics processor for generating image data
JP4680407B2 (en) Coding with variable bit field
US6580430B1 (en) Method and apparatus for providing improved fog effects in a graphics system
US7176919B2 (en) Recirculating shade tree blender for a graphics system
US8223149B2 (en) Cone-culled soft shadows
CA2866849C (en) Method for estimating the opacity level in a scene and corresponding device
JP5731566B2 (en) Information processing apparatus, control method, and recording medium
EP2956910A2 (en) Method and device for enriching the content of a depth map
US9406165B2 (en) Method for estimation of occlusion in a virtual environment
US9626774B2 (en) Saturation varying color space
US8942476B1 (en) Saturation varying and lighting independent color color control for computer graphics
JP7352603B2 (en) Information processing device, program and drawing method
JP7370363B2 (en) Information processing device, program and drawing method
JP2003168130A (en) System for previewing photorealistic rendering of synthetic scene in real-time
JP2010033253A (en) Program, information storage medium, and image generation system
JP2010086264A (en) Image processing apparatus and image processing program
CN116112657B (en) Image processing method, image processing device, computer readable storage medium and electronic device
US20240202892A1 (en) Combined tone and gamut mapping for augmented reality display
TW202325015A (en) View synthesis system and method using depth map
CN116524102A (en) Cartoon second-order direct illumination rendering method, device and system
KR20080050999A (en) Texturing system and method for border lins is natural
JP2006277490A (en) Program, information storage medium and image generation system
JP2015049707A (en) High dynamic range rendering method and apparatus
Chen Rendering in computer graphics
JP2010033252A (en) Program, information storage medium, and image generation system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230405

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: 20230718

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230816

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230915

R150 Certificate of patent or registration of utility model

Ref document number: 7352603

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150