JP6487578B1 - プログラム、記録媒体、及び影描画方法 - Google Patents
プログラム、記録媒体、及び影描画方法 Download PDFInfo
- Publication number
- JP6487578B1 JP6487578B1 JP2018000761A JP2018000761A JP6487578B1 JP 6487578 B1 JP6487578 B1 JP 6487578B1 JP 2018000761 A JP2018000761 A JP 2018000761A JP 2018000761 A JP2018000761 A JP 2018000761A JP 6487578 B1 JP6487578 B1 JP 6487578B1
- Authority
- JP
- Japan
- Prior art keywords
- shadow
- light source
- depth
- texel
- depth buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 66
- 239000000872 buffer Substances 0.000 claims abstract description 130
- 238000005286 illumination Methods 0.000 claims abstract description 28
- 230000007717 exclusion Effects 0.000 claims description 8
- 238000009795 derivation Methods 0.000 claims 1
- 238000007781 pre-processing Methods 0.000 description 41
- 238000009877 rendering Methods 0.000 description 9
- 230000001788 irregular Effects 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 4
- 238000005266 casting Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Landscapes
- Image Generation (AREA)
Abstract
【解決手段】プログラムは、シーンを描画する視点の情報に基づき、該視点からの投影において描画されるスクリーンの各ピクセルについて、影が生じるか否かを判定するシェーディング点を設定させ、シーンについて定義される光源を示す光源情報とシーンに配置される描画オブジェクトの情報とに基づいて、光源からの投影にて描画オブジェクトの深度を示す深度バッファをコンピュータに生成させる。またプログラムは、設定されたシェーディング点群と生成された深度バッファとに基づいて、照明状態が確定するシェーディング点を特定して判定対象から除外させ、除外後のシェーディング点群の各々について、シーンに配置される描画オブジェクトに起因する照明状態をコンピュータに判定させる。
【選択図】図6
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の深度バッファのテクセルに対応するシェーディング点については、照明状態は確定しない
請求項9乃至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 true JP6487578B1 (ja) | 2019-03-20 |
JP2019121193A 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 * |
Also Published As
Publication number | Publication date |
---|---|
JP2019121193A (ja) | 2019-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111105491B (zh) | 场景渲染方法、装置、计算机可读存储介质和计算机设备 | |
US11551418B2 (en) | Image rendering of laser scan data | |
CN116483200B (zh) | 确定虚拟对象深度以及使虚拟内容翘曲的计算机实现方法 | |
US9406100B2 (en) | Image processing techniques for tile-based rasterization | |
US10970920B2 (en) | Systems and methods for ray-traced shadows of transparent objects | |
US7948487B2 (en) | Occlusion culling method and rendering processing apparatus | |
US9508191B2 (en) | Optimal point density using camera proximity for point-based global illumination | |
US7812837B2 (en) | Reduced Z-buffer generating method, hidden surface removal method and occlusion culling method | |
US11468630B2 (en) | Rendering scenes using a combination of raytracing and rasterization | |
US20230230311A1 (en) | Rendering Method and Apparatus, and Device | |
CN113593027B (zh) | 一种三维航电显控界面装置 | |
KR20170040698A (ko) | 그래픽스 파이프라인을 수행하는 방법 및 장치 | |
KR101118597B1 (ko) | 모바일용 컴퓨터 그래픽 랜더링 방법 및 시스템 | |
KR20190067070A (ko) | 가상 공간에서의 프로젝션 맵핑 시스템 및 방법 | |
JP5937957B2 (ja) | リアルタイム大局照明レンダリングシステム | |
JP7460641B2 (ja) | 光強度画像を生成するための装置及び方法 | |
JP6487578B1 (ja) | プログラム、記録媒体、及び影描画方法 | |
JPH10162161A (ja) | ユーザ定義によるルームおよびウインドウを用いた効率的レンダリング | |
JP6235926B2 (ja) | 情報処理装置、生成方法、プログラム及び記録媒体 | |
CN116993894B (zh) | 虚拟画面的生成方法、装置、设备、存储介质及程序产品 | |
JP2007299080A (ja) | 画像生成方法及び画像生成装置 | |
JP5321385B2 (ja) | 画像処理プログラムおよびコンピュータ読み取り可能な記録媒体 | |
KR100865583B1 (ko) | 컴퓨터 그래픽 시스템에서의 동영상의 반사 효과 처리 방법 | |
WO2022131949A1 (en) | A device for performing a recursive rasterization | |
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |