JP2019121193A - プログラム、記録媒体、及び影描画方法 - Google Patents
プログラム、記録媒体、及び影描画方法 Download PDFInfo
- Publication number
- JP2019121193A JP2019121193A JP2018000761A JP2018000761A JP2019121193A JP 2019121193 A JP2019121193 A JP 2019121193A JP 2018000761 A JP2018000761 A JP 2018000761A JP 2018000761 A JP2018000761 A JP 2018000761A JP 2019121193 A JP2019121193 A JP 2019121193A
- Authority
- JP
- Japan
- Prior art keywords
- depth
- shadow
- light source
- shading point
- determined
- 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
Links
Landscapes
- Image Generation (AREA)
Abstract
Description
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、描画方法を実現するコンピュータの一例としての、シーンに配置される描画オブジェクトに影が生じるか否かを示す影情報を生成し、該影情報を用いてシーンの描画を行うPCに、本発明を適用した例を説明する。しかし、本発明は、影情報を生成することが可能な任意の機器に適用可能である。
図1は、本発明の実施形態に係るPC100の機能構成を示すブロック図である。
次に、本実施形態の描画アプリケーションにおいて、画面の描画に際して生成される影情報の詳細について説明する。
上述したように、本実施形態の描画アプリケーションでは、Frustum Tracingに係る演算量を低減すべく、前処理部104が、本発明の第1の深度バッファとしての、光源からの投影の2次元テクスチャである影判定用深度バッファを生成する。影判定用深度バッファの生成は、光源からの投影において、該深度バッファの各テクセルについて、光源からシーンに配置される描画オブジェクトのポリゴンまでの深度値を導出し、格納する。
次に、このように生成された影判定用深度バッファに基づき、Frustum Tracingによる判定を行う必要がないシェーディング点のカリングを行う。
判定部106は、カリング後のシェーディング点について、シーンに配置される描画オブジェクトのポリゴンによる影が生じるか否かの判定を、Frustum Tracingを用いて行う。詳細は省略するが、判定部106は、シーンに配置される描画オブジェクトのポリゴンの各々について、該ポリゴンによって空間の少なくとも一部が遮断され得る影判定用深度バッファのテクセルを特定する。そして判定部106は、該テクセルに対応するシェーディング点のリンクリストに含まれるシェーディング点の各々について、対象ポリゴンとの間でFrustum Tracingを行い、影が生じるか否かの判定を行う。
各シェーディング点について判定部106による判定がなされると、生成部107は判定結果に応じて影情報の更新を行う。影情報の各テクセルの値は、いずれかのポリゴンについて影が生じるものと判定された場合に、影が生じていることを示す値に変更され、以降は他のポリゴンについて影が生じていると判定されても値の更新は行われないものとしてもよい。換言すれば、描画オブジェクトのポリゴンごとにFrustum Tracingを行う過程において、既に影が生じるものとして判定されたシェーディング点は、判定対象から除外するものとしてもよい。
上述の構成をもつ本実施形態のPC100にて、描画アプリケーションに係り実行される画面生成処理について、図6のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、制御部101が、例えば記録媒体102に記憶されている描画アプリケーションのプログラムを読み出し、メモリ103に展開して実行することにより実現することができる。なお、本画面生成処理は、例えば描画アプリケーションが実行された際に開始されるものとして説明する。
右辺はレイキャストによって得られる深度値であり、この不等式を満たすdを用いて影判定用深度バッファに格納する深度値を得るものとしてもよい。この不等式を満たすdとして例えばd=1がある。
上述した実施形態1では、光源からの投影にて生成された影判定用深度バッファのテクセルについて、光源と該テクセルとで定まる空間を完全に遮断するポリゴンが存在する場合に、該ポリゴンよりも奥に存在するシェーディング点には必ず影が生じるとして、Frustum Tracingの判定対象から除外する態様について説明した。即ち、光源と描画オブジェクトとの関係に基づき、光線を遮断することが確定するシェーディング点を特定して判定対象から除外することで、演算量を低減させる態様について説明した。本実施形態では、描画に採用される方式や描画するシーンを考慮して、照明状態が確定するシェーディング点をさらに特定し、これを判定対象から除外することで演算量を低減させる態様について説明する。
上述した実施形態では、カリング後のシェーディング点を判定対象として、シーンに配置される描画オブジェクトのポリゴンとシェーディング点とについて、判定部106がFrustum Tracingを行って影が生じるか否かの判定を行うものとして説明した。ところで、図7(a)に示されるように、シーンに配置される描画オブジェクトのうち、閉じた(全周の面が形成された)3次元モデルが存在する場合、光源からの投影において、奥行き方向に1つの描画オブジェクトの前面(front-face)と背面(back-face)が並ぶことになる。
本実施形態では、実施形態1において説明した影判定用深度バッファに加えて、本発明の第2の深度バッファとしての日向判定用深度バッファを生成し、シェーディング点のカリングを行う。このため、以下では、影情報の生成にあたり、実施形態2に特有の処理について説明する。
第1の前処理では影判定用深度バッファを生成したが、第2の前処理では、光源からの投影の2次元テクスチャである日向判定用深度バッファを生成する。本実施形態では、簡単のため、日向判定用深度バッファの生成は前処理部104が行うものとして説明するが、本発明の実施はこれに限られるものではなく、影判定用深度バッファとは異なる構成により行われるものであってもよい。
本実施形態の描画アプリケーションにおいてカリング部105が行うシェーディング点のカリングは、実施形態1において影判定用深度バッファに基づいて行うカリングに加え、日向判定用深度バッファに基づいて行うカリングを含む。即ち、カリング部105は、影判定用深度バッファに基づいて、影が生じることが確定するシェーディング点をカリングするとともに、日向判定用深度バッファに基づいて、日向である(影が生じない)ことが確定するシェーディング点をカリングする。
以下、本実施形態のPC100にて、描画アプリケーションに係り実行される画面生成処理について、図9のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、制御部101が、例えば記録媒体102に記憶されている描画アプリケーションのプログラムを読み出し、メモリ103に展開して実行することにより実現することができる。なお、本画面生成処理は、例えば描画アプリケーションが実行された際に開始されるものとして説明する。また本実施形態の画面生成処理において、実施形態1と同様の処理を行うステップには同一の参照番号を付して説明を省略し、以下では本実施形態の画面生成処理に特徴的な処理を行うステップの説明に留める。
上述した実施形態2では、影判定用深度バッファと日向判定用深度バッファの両方を用いて、Frustum Tracingの対象となるシェーディング点を削減する態様について説明した。しかしながら、シェーディング点を削減するとの観点では、いずれかの深度バッファを用いたカリング処理でもその効果は実現される。即ち、実施形態1のように影判定用深度バッファのみを用いてカリングを行っても、Frustum Tracingの対象となるシェーディング点は削減可能であるし、日向判定用深度バッファのみを用いてカリングを行っても同様である。
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。また本発明に係る描画方法は、1以上のコンピュータに描画方法の各工程を実行させるプログラムによっても実現可能である。該プログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供/配布することができる。
Claims (14)
- コンピュータに、シーンに配置される描画オブジェクトについての、影が生じるか否かを示す影情報を生成させるプログラムであって、
前記シーンを描画する視点の情報に基づき、該視点からの投影において描画されるスクリーンの各ピクセルについて、影が生じるか否かを判定するシェーディング点を設定する処理と、
前記シーンについて定義される光源を示す光源情報と前記シーンに配置される描画オブジェクトの情報とに基づいて、前記光源からの投影の2次元テクスチャである、前記シーンに配置される描画オブジェクトの深度を示す深度バッファを生成する処理と、
前記設定されたシェーディング点群と前記生成された深度バッファとに基づいて、照明状態が確定するシェーディング点を特定する処理と、
前記シェーディング点群から、前記照明状態が確定したシェーディング点を除外する処理と、
前記除外後のシェーディング点群の各々について、前記光源からの投影において前記シーンに配置される描画オブジェクトに起因する照明状態を判定する処理と、
前記照明状態が確定したシェーディング点と、前記照明状態が判定されたシェーディング点とに基づいて、前記視点からの投影における前記影情報を生成する処理と、
を有するプログラム。 - 前記深度バッファは、互いに深度値の導出基準が異なる第1の深度バッファ及び第2の深度バッファの少なくともいずれかを含む請求項1に記載のプログラム。
- 前記深度バッファが前記第1の深度バッファである場合に、前記特定する処理において、影が生じることが確定するシェーディング点が特定され、
前記除外する処理において、前記影が生じることが確定したシェーディング点が除外される
請求項2に記載のプログラム。 - 前記第1の深度バッファの1テクセルの深度値は、前記光源と該1テクセルとで定まる空間を完全に遮断する描画オブジェクトのうちの、光源に最も近接している描画オブジェクトに基づいて決定される請求項2または3に記載のプログラム。
- 前記第1の深度バッファの1テクセルの深度値は、前記完全に遮断する描画オブジェクトが存在する場合に、前記光源から該1テクセルの四隅に向かう光線と該完全に遮断する描画オブジェクトの面との交点のうち、最奥の交点の深度値に決定される請求項4に記載のプログラム。
- 前記特定する処理において、前記第1の深度バッファのテクセルに対応するシェーディング点のうち、前記光源からの深度が該テクセルの深度値よりも奥の値を示すシェーディング点について、照明状態が確定する請求項5に記載のプログラム。
- 前記第1の深度バッファの1テクセルの深度値は、前記完全に遮断する描画オブジェクトが存在しない場合に、初期値に決定され、
前記特定する処理において、前記初期値を有する前記第1の深度バッファのテクセルに対応するシェーディング点については、照明状態は確定しない
請求項4乃至6のいずれか1項に記載のプログラム。 - 前記深度バッファが前記第2の深度バッファである場合に、前記特定する処理において、影が生じないことが確定するシェーディング点が特定され、
前記除外する処理において、前記影が生じないことが確定したシェーディング点が除外される
請求項2乃至7のいずれか1項に記載のプログラム。 - 前記第2の深度バッファの1テクセルの深度値は、前記光源と該1テクセルとで定まる空間の少なくとも一部を遮断する描画オブジェクトであって、影生成において前面カリングが行われる描画オブジェクトのうちの、光源に最も近接している描画オブジェクトに基づいて決定される請求項2乃至8のいずれか1項に記載のプログラム。
- 前記第2の深度バッファの1テクセルの深度値は、前記少なくとも一部を遮断する描画オブジェクトが存在する場合に、前記光源から該1テクセルの四隅に向かう光線と該少なくとも一部を遮断する描画オブジェクトのメントの背面との交点のうち、光源に最も近接している交点の深度値に決定される請求項9に記載のプログラム。
- 前記特定する処理において、前記第2の深度バッファのテクセルに対応するシェーディング点のうち、前記光源からの深度が該テクセルの深度値より手前の値を示すシェーディング点について、照明状態が確定する請求項10に記載のプログラム。
- 前記第2の深度バッファの1テクセルの深度値は、前記少なくとも一部を遮断する描画オブジェクトが存在しない場合に、初期値に決定され、
前記特定する処理において、前記初期値を有する前記第2の深度バッファのテクセルに対応するシェーディング点については、照明状態は確定しない
請求項8乃至11のいずれか1項に記載のプログラム。 - 請求項1乃至12のいずれか1項に記載のプログラムを記録した、コンピュータ読み取り可能な記録媒体。
- シーンに配置される描画オブジェクトについて、影が生じるか否かを示す影情報を生成して描画を行う描画方法であって、
前記シーンを描画する視点の情報に基づき、該視点からの投影において描画されるスクリーンの各ピクセルについて、影が生じるか否かを判定するシェーディング点を設定する設定工程と、
前記シーンについて定義される光源を示す光源情報と前記シーンに配置される描画オブジェクトの情報とに基づいて、前記光源からの投影の2次元テクスチャである、前記シーンに配置される描画オブジェクトの深度を示す深度バッファを生成する第1の生成工程と、
前記設定工程において設定されたシェーディング点群と前記第1の生成工程において生成された前記深度バッファとに基づいて、照明状態が確定するシェーディング点を特定する特定工程と、
前記シェーディング点群から、前記特定工程において照明状態が確定したシェーディング点を除外する除外工程と、
前記除外工程における除外後のシェーディング点群の各々について、前記光源からの投影において前記シーンに配置される描画オブジェクトに起因する照明状態を判定する判定工程と、
前記照明状態が確定したシェーディング点と、前記判定工程において照明状態が判定されたシェーディング点とに基づいて、前記視点からの投影における前記影情報を生成する第2の生成工程と、
前記第2の生成工程において生成された前記影情報に基づいて、前記視点からの投影において前記シーンに配置される描画オブジェクトに影を付して描画する描画工程と、
を有する描画方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018000761A JP6487578B1 (ja) | 2018-01-05 | 2018-01-05 | プログラム、記録媒体、及び影描画方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018000761A JP6487578B1 (ja) | 2018-01-05 | 2018-01-05 | プログラム、記録媒体、及び影描画方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6487578B1 JP6487578B1 (ja) | 2019-03-20 |
JP2019121193A true JP2019121193A (ja) | 2019-07-22 |
Family
ID=65802269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018000761A Active JP6487578B1 (ja) | 2018-01-05 | 2018-01-05 | プログラム、記録媒体、及び影描画方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6487578B1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6290772A (ja) * | 1985-10-17 | 1987-04-25 | Fujitsu Ltd | 三次元物体表示処理方式 |
JP2009163610A (ja) * | 2008-01-09 | 2009-07-23 | Canon Inc | 画像処理装置及び画像処理方法 |
JP2010071976A (ja) * | 2008-08-19 | 2010-04-02 | Panasonic Corp | 距離推定装置、距離推定方法、プログラム、集積回路およびカメラ |
JP2012522283A (ja) * | 2009-03-27 | 2012-09-20 | トムソン ライセンシング | 画像における陰影生成方法 |
JP2016510473A (ja) * | 2013-02-12 | 2016-04-07 | トムソン ライセンシングThomson Licensing | デプスマップのコンテンツを強化するための方法およびデバイス |
-
2018
- 2018-01-05 JP JP2018000761A patent/JP6487578B1/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6290772A (ja) * | 1985-10-17 | 1987-04-25 | Fujitsu Ltd | 三次元物体表示処理方式 |
JP2009163610A (ja) * | 2008-01-09 | 2009-07-23 | Canon Inc | 画像処理装置及び画像処理方法 |
JP2010071976A (ja) * | 2008-08-19 | 2010-04-02 | Panasonic Corp | 距離推定装置、距離推定方法、プログラム、集積回路およびカメラ |
JP2012522283A (ja) * | 2009-03-27 | 2012-09-20 | トムソン ライセンシング | 画像における陰影生成方法 |
JP2016510473A (ja) * | 2013-02-12 | 2016-04-07 | トムソン ライセンシングThomson Licensing | デプスマップのコンテンツを強化するための方法およびデバイス |
Non-Patent Citations (1)
Title |
---|
岩尾友秀, 外2名: ""視点とオブジェクトの位置関係を考慮したシャドウマップの動的生成法"", 映像情報メディア学会技術報告, vol. 第29巻, 第9号, JPN6018050117, 4 February 2005 (2005-02-04), JP, pages 83 - 88, ISSN: 0003944299 * |
Also Published As
Publication number | Publication date |
---|---|
JP6487578B1 (ja) | 2019-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111105491B (zh) | 场景渲染方法、装置、计算机可读存储介质和计算机设备 | |
CN112270756B (zh) | 一种应用于bim模型文件的数据渲染方法 | |
US8115767B2 (en) | Computer graphics shadow volumes using hierarchical occlusion culling | |
US8884947B2 (en) | Image processing apparatus and image processing method | |
US9508191B2 (en) | Optimal point density using camera proximity for point-based global illumination | |
US7948487B2 (en) | Occlusion culling method and rendering processing apparatus | |
JP4977712B2 (ja) | ディスプレースクリーン上に立体画像をレンダリングするコンピュータグラフィックスプロセッサならびにその方法 | |
US10970920B2 (en) | Systems and methods for ray-traced shadows of transparent objects | |
US7812837B2 (en) | Reduced Z-buffer generating method, hidden surface removal method and occlusion culling method | |
JP5055214B2 (ja) | 画像処理装置、画像処理方法 | |
US10198788B2 (en) | Method and system of temporally asynchronous shading decoupled from rasterization | |
US20230230311A1 (en) | Rendering Method and Apparatus, and Device | |
US10198856B2 (en) | Method and system of anti-aliasing shading decoupled from rasterization | |
JP7460641B2 (ja) | 光強度画像を生成するための装置及び方法 | |
KR101118597B1 (ko) | 모바일용 컴퓨터 그래픽 랜더링 방법 및 시스템 | |
CN116630523A (zh) | 基于阴影映射算法的改进型实时阴影渲染方法 | |
JP6487578B1 (ja) | プログラム、記録媒体、及び影描画方法 | |
Hertel et al. | A Hybrid GPU Rendering Pipeline for Alias-Free Hard Shadows. | |
JP6235926B2 (ja) | 情報処理装置、生成方法、プログラム及び記録媒体 | |
JPH10162161A (ja) | ユーザ定義によるルームおよびウインドウを用いた効率的レンダリング | |
Yu | Efficient visibility processing for projective texture mapping | |
US20190295214A1 (en) | Method and system of temporally asynchronous shading decoupled from rasterization | |
CN116993894B (zh) | 虚拟画面的生成方法、装置、设备、存储介质及程序产品 | |
CN117333598B (zh) | 一种基于数字场景的3d模型渲染系统及方法 | |
KR20160142166A (ko) | 그래픽 프로세서 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180105 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181221 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190205 |
|
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: 20190215 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190221 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6487578 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |