JP4364706B2 - 陰線処理方法 - Google Patents

陰線処理方法 Download PDF

Info

Publication number
JP4364706B2
JP4364706B2 JP2004110994A JP2004110994A JP4364706B2 JP 4364706 B2 JP4364706 B2 JP 4364706B2 JP 2004110994 A JP2004110994 A JP 2004110994A JP 2004110994 A JP2004110994 A JP 2004110994A JP 4364706 B2 JP4364706 B2 JP 4364706B2
Authority
JP
Japan
Prior art keywords
hidden line
memory
line processing
upper limit
extracted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004110994A
Other languages
English (en)
Other versions
JP2005293467A (ja
Inventor
雅如 木寺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004110994A priority Critical patent/JP4364706B2/ja
Priority to US10/967,640 priority patent/US7518607B2/en
Publication of JP2005293467A publication Critical patent/JP2005293467A/ja
Application granted granted Critical
Publication of JP4364706B2 publication Critical patent/JP4364706B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Description

本発明は、複数のポリゴンから構成される3次元モデルを2次元平面に投影する際の陰線を消去する、いわゆる陰線処理に関し、特にメモリ消費量を最適化して処理を行う陰線処理方法に関する。
コンピュータグラフィックスによる3次元形状を紙に印刷したり、ディスプレイに表示する際、3次元形状から稜線や輪郭線を抽出し、それを2次元平面に投影した画像が生成される。このとき、視点から3次元形状を見た場合、他の図形に隠れて実際には見ることのない稜線や輪郭線を消去、または線の種類を点線にするなどの処理、いわゆる陰線処理や陰面処理が行われている。
陰線(面)処理としては、3次元形状がポリゴンの集合体として構成されていた場合、各ポリゴンについて奥行き値(Z値)を計算し、Z値の順にソートして描画するZソート法と画素単位でZ値のより小さな図形(手前側の図形)をフレームバッファに描画するZバッファ法が知られている。他にも、画面を複数の矩形ブロックに分割し陰面消去したブロック画像の生成を繰り返すことにより、陰面消去した画像の生成を高速に行えるようにする方法(特許文献1参照)や、Z値に応じて複数のブロックに分割しブロックでのソートを行うと共に、各ブロック内でのソートも行うことで高精度の描画処理を実現する方法(特許文献2参照)、空間領域を直方体に分割し、さらに各直方体を四面体に分割し、等関数値曲面を近似により求めることで高速に奥行順の決定や陰面消去を行う方法(特許文献3参照)や、稜線や輪郭線とポリゴンとの交差判定を数学的に解き、データを高精度で処理する方法等が提案されている。
特開平9−179999号公報 特開平10−134204号公報 特開平7−92838号公報
しかしながら、上述した従来の方法では、陰線処理としてどの方法を採用するかによってメモリの使用量が固定的に決定されてしまうため、陰線処理を行う計算機に搭載されたメモリが少ない旧型のノートPCにて処理を行う場合や、計算機に搭載されたメモリが他の処理に使用された結果、陰線処理に使用可能なメモリが不足している場合に、メモリの内容をハードディスク上のスワップファイル等に一時的に退避させ、必要に応じてメモリに書き戻す動作(スワップ)が頻繁に発生する。一般的に、メモリへのアクセス速度に比べ、ハードディスクへのアクセス速度は遅いため、スワップが発生すると計算機の処理速度は低下してしまう問題があった。
また、メモリの使用状況や搭載量に応じて、陰線処理に要するメモリの消費量を変更することができないため、例えば、マルチタスクOS(Operating System)でバッチ処理的に陰線処理を実行する際、メモリの使用状況に余裕がない場合やメモリ搭載量の少ないマシンにおいては、他の処理を行うためのメモリを確保するため陰線処理に使用するメモリの消費量を抑えるが、メモリの使用状況に余裕がある場合やメモリを増設した場合には、メモリ消費量を気にせず処理速度を優先させるような陰線処理を行うことができないでいた。
そこで本発明の目的は、メモリの使用状況やメモリの搭載量に応じて、陰線処理に要するメモリ消費量を最適化し、スワップの発生を防止する陰線処理方法を提供する。
上記目的は、本発明の第一の態様として、画像処理装置において実行され、複数のポリゴンから構成される3次元モデルを2次元平面に投影する際に、前記ポリゴンに隠される線分の投影を回避する陰線処理方法であって、前記画像処理装置は、前記陰線処理に関するデータと前記陰線処理以外の処理に関するデータを格納するメモリを有しており、予め、前記メモリの容量のうち前記陰線処理に利用する容量の上限値が設定されており、前記2次元平面を複数の領域に分割したとき、前記投影された前記3次元モデルのうち前記領域に含まれる部分の前記ポリゴンをそれぞれの領域で抽出し、前記抽出されたポリゴンに基づき各領域で消費されるメモリ消費量を算出し、前記算出された領域毎のメモリ消費量の最大値が前記上限値以上の場合、前記2次元平面を更に分割して分割後の領域に投影された前記3次元モデルに含まれる前記ポリゴンの抽出を行い、該抽出されたポリゴンに基づく前記メモリ消費量の算出を繰り返し、前記算出された領域毎のメモリ消費量の最大値が前記上限値を下回る場合、前記各領域において、前記抽出されたポリゴンに対し陰線処理を行い、領域毎の陰線処理データを作成した後、前記複数の領域の陰線処理データを結合することを特徴とする陰線処理方法を提供することにより達成される。
また、上記目的は、第二の態様として、第一の態様において、前記上限値は、前記ポリゴンの抽出前の前記メモリの空き容量に基づき設定されることを特徴とする陰線処理方法を提供することにより達成される。
また、上記目的は、第三の態様として、第一の態様において、予め、更に、メモリ消費量と処理時間に関する優先度が設定され、前記処理時間の優先度が前記メモリ消費量の優先度より高い場合、前記上限値は、前記ポリゴンの抽出前の前記メモリの空き容量に基づき設定され、前記処理時間の優先度が前記メモリ消費量の優先度より低い場合、前記上限値は、前記ポリゴンの抽出前の前記メモリの空き容量より少ない容量が設定されることを特徴とする陰線処理方法を提供することにより達成される。
また、上記目的は、第四の態様として、画像処理装置において、複数のポリゴンから構成される3次元モデルを2次元平面に投影する際に、前記ポリゴンに隠される線分の投影を回避する陰線処理を実行するプログラムであって、前記画像処理装置は、前記陰線処理に関するデータと前記陰線処理以外の処理に関するデータを格納するメモリを有しており、予め、前記メモリの容量のうち前記陰線処理に利用する容量の上限値が設定されており、前記画像処理装置に、前記2次元平面を複数の領域に分割したとき、前記投影された前記3次元モデルのうち前記領域に含まれる部分の前記ポリゴンをそれぞれの領域で抽出させ、前記抽出されたポリゴンに基づき各領域で消費されるメモリ消費量を算出させ、前記算出された領域毎のメモリ消費量の最大値が前記上限値以上の場合、前記2次元平面を更に分割して分割後の領域に投影された前記3次元モデルに含まれる前記ポリゴンの抽出を行い、該抽出されたポリゴンに基づく前記メモリ消費量の算出を繰り返させ、前記算出された領域毎のメモリ消費量の最大値が前記上限値を下回る場合、前記各領域において、前記抽出されたポリゴンに対し陰線処理を行い、領域毎の陰線処理データを作成した後、前記複数の領域の陰線処理データを結合させることを特徴とするプログラムを提供することにより達成される。
また、上記目的は、第五の態様として、複数のポリゴンから構成される3次元モデルを2次元平面に投影する際に、前記ポリゴンに隠される線分の投影を回避する陰線処理を行う画像処理装置であって、画像処理に伴うデータが格納され、予め、前記陰線処理に使用可能な容量の上限値が設定されるメモリと、前記2次元平面を複数の領域に分割したとき、前記投影された前記3次元モデルのうち前記領域に含まれる部分の前記ポリゴンをそれぞれの領域で抽出し、前記抽出されたポリゴンに基づき各領域で消費されるメモリ消費量を算出し、前記算出された領域毎のメモリ消費量の最大値が前記上限値を下回るまで、前記2次元平面を更に分割して分割後の領域に投影された前記3次元モデルに含まれる前記ポリゴンの抽出を行い、該抽出されたポリゴンに基づく前記メモリ消費量の算出を繰り返すことにより、前記2次元平面の分割の態様を決定する分割態様決定部と、前記分割態様決定部により決定される分割の態様によって分割された後の前記各領域において、前記抽出されたポリゴンに対し陰線処理を行い領域毎の陰線処理データを作成する陰線処理部と、前記複数の領域の陰線処理データを結合する結合部とを有することを特徴とする画像処理装置を提供することにより達成される。
本発明によれば、メモリの使用状況やメモリの搭載量に応じて、陰線処理に要するメモリ消費量を最適化し、スワップの発生を防止する陰線処理方法を実現することができる。
以下、本発明の実施の形態について図面に従って説明する。しかしながら、本発明の技術的範囲はかかる実施の形態に限定されるものではなく、特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
図1は、本実施形態の3次元画像データの2次元データへの変換における陰線処理方法を実施する画像処理装置の構成例ブロック図(図1A)及び機能ブロック図(図1B)である。図1Aにおいて、ROM2に本発明方法を制御するプログラムが格納される。CPU1は、このプログラムを読み出して実行する。RAM3には、画像処理の途中で生じる中間データ等が格納される。
入力装置4は、キーボード等であり、操作者が陰線処理に必要な設定を入力するのに使用される。出力装置5は、CRT(Cathode Ray Tube)モニタ、プリンタ等であり、変換前の3次元画像、変換後の2次元画像や陰線処理に伴う各種メッセージが表示され、また陰線処理に必要な設定の際のインターフェース画面が提供される。
図1Bにおいて、3次元画像データが分割態様決定部7に与えられると、予め設定され、例えばRAM3に格納される上限値を基に、3次元画像データを投影する2次元平面を複数の部分領域へ分割する。分割態様決定部7は、各部分領域に対し陰線処理を行う際消費するメモリ消費量が、上限値を下回るまで、2次元平面の分割を行い、最終的な分割態様を陰線処理部8に与える。陰線処理部8は、入力された分割態様に基づき、各部分領域に含まれるポリゴンから線分を抽出して、部分領域毎に陰線処理を行い、結果を陰線処理データとして結合部9に出力する。結合部9は、部分領域毎に作成される陰線処理データを結合して、例えばRAM3に確保されるフレームバッファに書き込む。画像表示部10は、フレームバッファに書き込まれたデータを、繰り返し読み出し、ビデオ信号等に変換し、出力装置であるCRT(Cathode Ray Tube)モニタ、プリンタ等に出力する。
図2は、一般的な陰線処理方法の処理過程を示すフローチャートである。まず、陰線処理を行う対象の3次元モデル(3次元画像データ)が決定される(S1)。3次元モデルが分割態様決定部7に与えられ、この時、合わせて視線方向や出力範囲等も決定される。
次に、分割態様決定部7が、3次元モデルを投影する2次元平面を複数の部分領域へ分割する(S2)。ステップS2は、本実施形態の陰線処理法において特徴的な処理であり、図3において詳細を説明する。
ステップS2により、分割態様決定部7が最終的な分割の態様を決定すると、分割された各部分領域で陰線処理が行われ、陰線処理データが作成される(S3)。陰線処理データとは、各部分領域で陰線処理を施した後の、2次元平面に投影された3次元画像データのことである。ステップS2は、各部分領域に対して、陰線処理に要するポリゴンが記憶され、陰線処理部8が、そのポリゴンから同一の部分領域に属する境界線を抽出する。つまり、陰線処理部8は、線分の端点が完全に部分領域に含まれるものはそのまま抽出し、部分領域からはみ出している境界線は部分領域に属する部分のみを抽出する。
そして、陰線処理部8は、各部分領域にて取得した境界線の陰線処理を行う。従って、視線方向からは他のポリゴンに重なって見えない線分が消去あるいは線種が点線にされるなどの処理が施される。ステップS3にて各部分領域に対し行う陰線処理の方法は、さまざまな陰線処理方法を採用することができる。しかしながら、従来とは異なり、ステップS2の分割を経ていることにより、各部分領域の処理を行うにあたりスワップが発生することがない。該当する部分領域にて陰線処理が終了すると記憶していたポリゴンが削除される。
すべての部分領域にて陰線処理データの作成が完了したら、結合部9が、全部分領域の陰線処理データを結合する(S4)。そして、結合された陰線処理データは例えばRAM3に設けられたフレームバッファに格納され、画像表示部10により出力装置5であるディスプレイ装置に表示される(S5)。フレームバッファは、RAM3とは独立して設けることも可能である。出力装置5としては、プリンタ等であってもよい。
図3は、図2のステップS2を詳細に説明するためのフローチャートである。まず、陰線処理に使用可能なメモリ消費量の上限値が決定される(S21)。上限値は、例えば、ステップS2を処理する時点でのRAM3のうち未使用領域の容量(空き容量)に基づいて決定される。メモリ空き容量は、画像処理装置がシステムコマンドを発行することで自動的に取得可能である。これは、画像処理装置のOS(Operating System)に依存して各種存在するものである。メモリ空き容量は、画像処理装置における他の処理によりRAM3が占有されていれば少なく、処理がほとんど行われていなければ多い。従って、画像処理装置におけるRAM3の使用状況に応じて、上限値が変更されることになる。
また、メモリ空き容量は、画像処理装置に搭載されたRAM3の全容量を超えることはないため、陰線処理にて消費されるメモリ容量が搭載メモリ容量を超えることも防止される。こうして画像処理装置は、取得したメモリ空き容量を上限値として設定し、RAM3に格納する。また、メモリ空き容量をすべて陰線処理に割り当てると、他の処理に必要なメモリを奪ってしまい、他の処理が遅くなることが予想される等の事情がある場合には、メモリ空き容量の80%が上限値として決定されるよう制御することも可能である。
次に、ステップS21で決定された出力範囲内の3次元モデルを2次元平面に投影して、その2次元平面の分割を開始する(S22)。例えば、出力範囲内に一部分でも存在し、表面が視点側を向くポリゴンに対し、幾何中心などの代表点を計算し、二分木分割を行う。これには、ポリゴンの数だけ存在する幾何中心を二分するような領域分割を行えばよい。
ステップS22により、2次元平面は複数の部分領域に分割される。次に、各部分領域の陰線処理を行うのに必要なメモリ消費量が算出される(S23)。各部分領域の陰線処理で必要なメモリ消費量は、各部分領域に含まれるポリゴン数に比例するため、ステップS23では各部分領域に含まれるポリゴン数がカウントされる。そして、部分領域に含まれるポリゴン数が分かれば、その部分領域の陰線処理に必要なメモリ消費量に換算することが可能である。
続いて、ステップS23で部分領域毎に算出されたメモリ消費量のうち最大のものが、ステップS21で決定された上限値と比較される(S24)。部分領域の処理において1つでも上限値以上のメモリ消費量が要求される場合、スワップの発生が予想されるため分割は十分とはいえない。そこで、ステップS23で求められたメモリ消費量のうち最大のものがステップS21で決定された上限値以上である場合(S24No)、更に分割数が増やされ(S25)、ステップS22に戻り2分木分割が続行される。こうして、分割後の部分領域に対応するメモリ消費量の最大値が上限値を下回るまで、2次元平面の分割が繰り返され、最終的には、どの部分領域の陰線処理に必要なメモリ消費量もステップS21で決定された上限値を下回ることになる。
ステップS24で、最大メモリ消費量が上限値を下回れば(S24Yes)、それ以上の分割は停止され、ステップS3に進む。
図3に示される処理を行うことにより、各部分領域に対して陰線処理をする際のメモリ消費量は、必ず上限値を下回る。上限値は予め設定され、画像処理装置に搭載されたメモリ容量を超えることがないため、陰線処理によりスワップが発生することが防止できる。また、上限値として、メモリ空き容量が自動的に設定されるため、操作者が特に設定をすることなく、スワップの防止を実現可能である。その一方で、操作者の経験や勘を設定に反映することもでき、柔軟な運用が可能である。こうして、スワップの発生防止により、画像処理装置において処理速度が低下する現象を回避することが可能になる。
上記動作をより具体的に示すために、一例として次のような正六面体を用いて説明する。
図4は、本実施の形態例で使用する3次元図形(正六面体)と、その構成ポリゴンを示す図である。図4Aは、正六面体の展開図であり、各面に番号を振ってある。各番号は、図4Bの面に対応し、図4Bで正面に見える面が面1である。以下、上面が面2、底面が面5、右側面が面3、背面が面6、左側面が面4となる。図4Bの正六面体の各面(正方形)は、2つのポリゴン(二等辺三角形)から構成され、面1は、ポリゴン1a、ポリゴン1bから構成される。他の面も同様に2つのポリゴンから構成される。
図5Aは、図4の3次元図形のうち出力範囲に含まれるものを2次元平面に投影した図である。図5Aは、視線方向51としたとき、表面が視点側を向くポリゴンのみを描いており、面1、面2、面3の計6つのポリゴンが描かれる。これは、ステップS1で3次元モデルを設定し、視線方向、出力範囲が決定された状態を表す。
続いて、メモリ消費量の上限値が決定される(S2)。ここでは、上限値として、ポリゴン数が6個の部分領域を処理するのに必要なメモリ消費量がメモリの空き容量に基づき設定されるものとする。
図5Bは、ステップS3で2次元平面の分割が開始された初期段階を示す図である。図5Bは、図5Aを単純に中央で二分割したものである。図5Bでの分割は、説明を簡単化するために、特にポリゴンの重心を考慮して決定されたものではない。
図3のステップS23、S24においては、こうして分割された各部分領域でのメモリ使用量が算出され、上限値と比較されるが、次のようにすればよい。図5Bにて、右側の部分領域53に含まれるポリゴンは、表面が視点側を向くことを考慮に入れると、ポリゴン1a、ポリゴン1b、ポリゴン2a、ポリゴン2b、ポリゴン3a、ポリゴン3bの6つである。左側の部分領域52の場合、ポリゴン1a、ポリゴン1b、ポリゴン3a、ポリゴン3bの4つであり、右側の部分領域53に含まれるポリゴンの方が左側の部分領域52に含まれるポリゴン数より多い。従って、各部分領域のメモリ使用量のうち最大となるのは右側の部分領域53であり、そのメモリ使用量は、ポリゴン数6個に対応するメモリ使用量として算出される。そこで、図3のステップS24において、部分領域53に含まれるポリゴン数に対応するメモリ消費量が図3のステップS21で決定された上限値を超えるかを判定すればよい。
ここでは、部分領域53でのメモリ消費量が上限値と等しく、下回っていないため、分割は十分ではない。そして、図5Bの分割では、分割が十分でないと判定された結果(S5No)、分割が繰り返され、更に分割が進むとする。
図6Aは、分割が十分でないと判定された結果、更に分割が進んだ状態を示す図であり、図6Bは、図6Aの円に含まれる部分領域54を拡大した図である。図6Aに現されるようになるまで部分領域の分割が進むとすると、図6Aの円に含まれる部分領域54に含まれるポリゴン数が最大で、図6Bに示されるようにそのポリゴン数は5個である。従って、ポリゴン数5個に対応するメモリ消費量がこの時設定されている上限値を下回るので、これ以上の分割はされず(S5Yes)、図6Aが最終的な分割の態様として決定され、その後各部分領域で陰線処理が行われることとなる(S8、S9、S10)。
なお、図3のステップS21において、上限値は、画像処理装置が自動的に発行するシステムコマンドにより取得されるメモリ空き容量に基づいて決定されたが、操作者が手動でシステムコマンドを発行し、予め画像処理装置に搭載されたメモリ容量を知っており、操作者がその範囲内で上限値を入力設定することも可能である。
図7Aは、その際表示される設定画面の例である。操作者は、入力装置4を介して、テキストボックス71にメガバイト(MB)単位で数値を入力し、OKボタン72をクリックすれば、その数値が上限値として設定される。図7Aのような設定画面を介して、操作者が自由に上限値を設定することができることにより、操作者の経験や勘を生かしたより柔軟な陰線処理が可能となる。この場合、メモリ搭載量を下回る容量しか入力できないよう設定しておけば、分割後の部分領域にて、メモリ搭載量を上回るメモリが消費されることでスワップが発生することは避けられる。
また、操作者がメモリ消費量と処理速度に関する優先度を選択し、その優先度に基づいて上限値が設定されてもよい。図7Bは、優先度を選択する際に表示される設定画面の例である。操作者は、メモリ消費量を優先させる場合、マウス等の入力装置4を介して、図7Bのスライダーバー73上のポインタ74を左へ移動させ、処理速度を優先させる場合、ポインタ74を右へ移動させる。
図8は、優先度の選択を行う場合、その選択より前に、RAM3に予め格納される優先度情報のデータ構成図である。優先度情報には、メモリ消費量を優先させる際の上限値82と、処理速度を優先させる際の上限値81が格納される。なお、処理速度を優先させる際の上限値は、陰線処理実行前のメモリ空き容量に基づいて決定されたものである。メモリ消費量を優先させる際の上限値は、メモリ速度を優先させる際の上限値より少なく設定されるが、これは、図7Aと同様な画面を用いて操作者により入力された数値でも、メモリ空き容量に基づき自動決定される数値(例えば、メモリ空き容量の50%等)が使用されてもよい。モード83には、操作者により選択された優先度が格納され、場合に応じて、メモリ消費量、処理速度、中間が格納される。
モードが中間とは、図7Bにおいて、メモリ消費量と処理速度の中間が選択された場合であり、この場合にはその相対的な位置によって、上限値を決定する。例えば、メモリ消費量と処理速度の中間地点(50%地点)が選択されれば、150+(200-150)*0.5=175メガバイトを上限値として決定することも可能である。より一般には、メモリ消費量優先時の上限値+(処理速度優先時の上限値−メモリ消費量優先時の上限値)*スライダーバー73上でのポインタ74の相対的位置(割合)で求まる。
メモリ消費量を優先させると、2次元平面がより多くの部分領域に分割される。逆に、処理速度を優先させると、その時点でのRAM3の空き容量を最大容量としてより多くのメモリが陰線処理用に確保されることになる。こうして、RAM3の使用状況に応じて、陰線処理に使用されるメモリ消費量を柔軟に変更することができ、画像処理装置の運用を可能にする。例えば、陰線処理を優先的に行いたい時間帯には、処理速度を優先させ、優先処理に多少の時間がかかることは許容されるが、メモリの消費量を抑えたい時間帯には、メモリ消費量を抑えるといった処理が可能になる。なお、中間地点を選択可能にすることで更に柔軟な上限値の設定が可能になる。
更に、ステップS3において、2次元平面の分割を開始する前に、分割を全く行なわない場合に使用されるメモリ消費量を算出し、すなわち、2次元平面に含まれるすべてのポリゴンをカウントし、それに対応するメモリ消費量を算出し、それを出力装置5に表示することも可能である。その場合、操作者は、画像処理装置のメモリ搭載量と比較することによって、陰線処理を行うにあたり、どれくらいメモリを増設すべきか判断することができ、便利である。
以上に述べたように、本実施の形態によれば、まず、上限値が画像処理装置のメモリの搭載量以下に設定され、3次元モデルを投影する2次元平面を部分領域に分割して処理を行う際、各部分領域の陰線処理に必要なメモリ消費量が上限値を下回るため、各部分領域を処理する際にスワップが発生することが防止される。
そして、上限値は、システムコマンドを利用して自動的に取得可能な空きメモリ容量、操作者により入力される数値のいずれが使用されてもよいため、画像処理装置におけるメモリの使用状況や、画像処理装置のメモリ搭載量に合わせた柔軟な処理が可能である。更に、メモリ消費量と処理速度に関する情報が格納された優先度情報を用いて上限値のより細かい設定制御を行うことも可能になる。更に、2次元平面を分割することなく陰線処理を行うために必要なメモリ量を把握することができ、増設の際の目安となる。
以上より、本発明によれば、メモリの使用状況やメモリの搭載量に応じて、陰線処理に要するメモリ消費量を最適化し、スワップの発生を防止する陰線処理方法を実現することができる。
以上まとめると付記のようになる。
(付記1) 画像処理装置において実行され、複数のポリゴンから構成される3次元モデルを2次元平面に投影する際に、前記ポリゴンに隠される線分の投影を回避する陰線処理方法であって、
前記画像処理装置は、前記陰線処理に関するデータと前記陰線処理以外の処理に関するデータを格納するメモリを有しており、
予め、前記メモリの容量のうち前記陰線処理に利用する容量の上限値が設定されており、
前記2次元平面を複数の領域に分割したとき、前記投影された前記3次元モデルのうち前記領域に含まれる部分の前記ポリゴンをそれぞれの領域で抽出し、
前記抽出されたポリゴンに基づき各領域で消費されるメモリ消費量を算出し、
前記算出された領域毎のメモリ消費量の最大値が前記上限値以上の場合、前記2次元平面を更に分割して分割後の領域に投影された前記3次元モデルに含まれる前記ポリゴンの抽出を行い、該抽出されたポリゴンに基づく前記メモリ消費量の算出を繰り返し、
前記算出された領域毎のメモリ消費量の最大値が前記上限値を下回る場合、前記各領域において、前記抽出されたポリゴンに対し陰線処理を行い、領域毎の陰線処理データを作成した後、前記複数の領域の陰線処理データを結合することを特徴とする陰線処理方法。
(付記2) 付記1において、
前記複数の領域への分割は、2分木分割であることを特徴とする陰線処理方法。
(付記3) 付記1において、
前記上限値は、前記ポリゴンの抽出前の前記メモリの空き容量に基づき設定されることを特徴とする陰線処理方法。
(付記4) 付記1において、
予め、更に、メモリ消費量と処理時間に関する優先度が設定され、
前記処理時間の優先度が前記メモリ消費量の優先度より高い場合、前記上限値は、前記ポリゴンの抽出前の前記メモリの空き容量に基づき設定され、前記処理時間の優先度が前記メモリ消費量の優先度より低い場合、前記上限値は、前記ポリゴンの抽出前の前記メモリの空き容量より少ない容量が設定されることを特徴とする陰線処理方法。
(付記5) 付記1において、
前記画像処理装置は、更に、前記結合された陰線処理データを表示出力する出力装置が接続され、
分割を行わない場合のメモリ消費量を算出し、前記非分割時のメモリ消費量を前記出力装置を介して表示出力することを特徴とする陰線処理方法。
(付記6) 画像処理装置において、複数のポリゴンから構成される3次元モデルを2次元平面に投影する際に、前記ポリゴンに隠される線分の投影を回避する陰線処理を実行するプログラムであって、
前記画像処理装置は、前記陰線処理に関するデータと前記陰線処理以外の処理に関するデータを格納するメモリを有しており、
予め、前記メモリの容量のうち前記陰線処理に利用する容量の上限値が設定されており、
前記画像処理装置に、
前記2次元平面を複数の領域に分割したとき、前記投影された前記3次元モデルのうち前記領域に含まれる部分の前記ポリゴンをそれぞれの領域で抽出させ、
前記抽出されたポリゴンに基づき各領域で消費されるメモリ消費量を算出させ、
前記算出された領域毎のメモリ消費量の最大値が前記上限値以上の場合、前記2次元平面を更に分割して分割後の領域に投影された前記3次元モデルに含まれる前記ポリゴンの抽出を行い、該抽出されたポリゴンに基づく前記メモリ消費量の算出を繰り返させ、
前記算出された領域毎のメモリ消費量の最大値が前記上限値を下回る場合、前記各領域において、前記抽出されたポリゴンに対し陰線処理を行い、領域毎の陰線処理データを作成した後、前記複数の領域の陰線処理データを結合させることを特徴とするプログラム。
(付記7) 付記6において、
前記複数の領域への分割は、2分木分割であることを特徴とするプログラム。
(付記8) 付記6において、
前記上限値は、前記ポリゴンの抽出前の前記メモリの空き容量に基づき設定されることを特徴とするプログラム。
(付記9) 付記6において、
予め、更に、メモリ消費量と処理時間に関する優先度が設定され、
前記処理時間の優先度が前記メモリ消費量の優先度より高い場合、前記上限値は、前記ポリゴンの抽出前の前記メモリの空き容量に基づき設定され、前記処理時間の優先度が前記メモリ消費量の優先度より低い場合、前記上限値は、前記ポリゴンの抽出前の前記メモリの空き容量より少ない容量が設定されることを特徴とするプログラム。
(付記10) 付記6において、
前記画像処理装置は、更に、前記結合された陰線処理データを表示出力する出力装置が接続され、
前記画像処理装置に、分割を行わない場合のメモリ消費量を算出し、前記非分割時のメモリ消費量を前記出力装置を介して表示出力させることを特徴とするプログラム。
(付記11) 複数のポリゴンから構成される3次元モデルを2次元平面に投影する際に、前記ポリゴンに隠される線分の投影を回避する陰線処理を行う画像処理装置であって、
画像処理に伴うデータが格納され、予め、前記陰線処理に使用可能な容量の上限値が設定されるメモリと、
前記2次元平面を複数の領域に分割したとき、前記投影された前記3次元モデルのうち前記領域に含まれる部分の前記ポリゴンをそれぞれの領域で抽出し、前記抽出されたポリゴンに基づき各領域で消費されるメモリ消費量を算出し、前記算出された領域毎のメモリ消費量の最大値が前記上限値を下回るまで、前記2次元平面を更に分割して分割後の領域に投影された前記3次元モデルに含まれる前記ポリゴンの抽出を行い、該抽出されたポリゴンに基づく前記メモリ消費量の算出を繰り返すことにより、前記2次元平面の分割の態様を決定する分割態様決定部と、
前記分割態様決定部により決定される分割の態様によって分割された後の前記各領域において、前記抽出されたポリゴンに対し陰線処理を行い領域毎の陰線処理データを作成する陰線処理部と、
前記複数の領域の陰線処理データを結合する結合部とを有することを特徴とする画像処理装置
(付記12) 付記11において、
前記分割態様決定部は、前記2次元平面を2分木分割することを特徴とする画像処理装置
(付記13) 付記11において、
前記上限値は、前記陰線処理開始前の前記メモリの空き容量が設定されることを特徴とする画像処理装置。
(付記14) 付記11において、
前記メモリに、更に、メモリ消費量と処理時間に関する優先度が設定され、
前記処理時間の優先度が前記メモリ消費量の優先度より高い場合、前記上限値は、前記ポリゴンの抽出前の前記メモリの空き容量に基づき設定され、前記処理時間の優先度が前記メモリ消費量の優先度より低い場合、前記上限値は、前記ポリゴンの抽出前の前記メモリの空き容量より少ない容量が設定されることを特徴とする画像処理装置。
(付記15) 付記11において、
更に、前記結合された陰線処理データを外部表示用に出力する画像表示部を有し、
前記分割態様決定部は、更に、分割を行わない場合のメモリ消費量を算出し、前記非分割時のメモリ消費量を前記画像表示部を介して外部表示用に出力することを特徴とする画像処理装置。
Aは、本発明の実施形態における画像処理装置の構成例ブロック図であり、Bは、本発明の実施形態における画像処理装置の機能ブロック図である。 陰線処理方法の処理過程を示すフローチャートである。 図2のステップS2を詳細に説明するためのフローチャートである。 本実施の形態例で使用する3次元図形(正六面体)と、その構成ポリゴンを示す図であり、Aは、正六面体の展開図であり、Bは3次元図形をポリゴンへ分解したときの図である。 Aは、3次元図形を2次元平面に投影した図であり、Bは、2次元平面の分割が開始された初期段階を示す図である。 Aは、分割が十分でないと判定された結果、更に分割が進んだ状態を示す図であり、Bは、図6Aの円に含まれる部分領域を拡大した図である。 Aは、上限値が操作者により入力設定される際に表示される画面例であり、Bは、3次元図形を2次元平面に投影した図であり、Bは、優先度を選択する際に表示される設定画面の例である。 RAMに予め格納される優先度情報のデータ構成図である。
符号の説明
1 CPU、2 ROM、3 RAM、4 入力装置、5 出力装置、6 バス

Claims (5)

  1. 画像処理装置において実行され、複数のポリゴンから構成される3次元モデルを2次元平面に投影する際に、前記ポリゴンに隠される線分の投影を回避する陰線処理方法であって、
    前記画像処理装置は、前記陰線処理に関するデータと前記陰線処理以外の処理に関するデータを格納するメモリを有しており、
    予め、前記メモリの容量のうち前記陰線処理に利用する容量の上限値が設定されており、
    前記2次元平面を複数の領域に分割したとき、前記投影された前記3次元モデルのうち前記領域に含まれる部分の前記ポリゴンをそれぞれの領域で抽出し、
    前記抽出されたポリゴンに基づき各領域で消費されるメモリ消費量を算出し、
    前記算出された領域毎のメモリ消費量の最大値が前記上限値以上の場合、前記2次元平面を更に分割して分割後の領域に投影された前記3次元モデルに含まれる前記ポリゴンの抽出を行い、該抽出されたポリゴンに基づく前記メモリ消費量の算出を繰り返し、
    前記算出された領域毎のメモリ消費量の最大値が前記上限値を下回る場合、前記各領域において、前記抽出されたポリゴンに対し陰線処理を行い、領域毎の陰線処理データを作成した後、前記複数の領域の陰線処理データを結合することを特徴とする陰線処理方法。
  2. 請求項1において、
    前記上限値は、前記ポリゴンの抽出前の前記メモリの空き容量に基づき設定されることを特徴とする陰線処理方法。
  3. 請求項1において、
    予め、更に、メモリ消費量と処理時間に関する優先度が設定され、
    前記処理時間の優先度が前記メモリ消費量の優先度より高い場合、前記上限値は、前記ポリゴンの抽出前の前記メモリの空き容量に基づき設定され、前記処理時間の優先度が前記メモリ消費量の優先度より低い場合、前記上限値は、前記ポリゴンの抽出前の前記メモリの空き容量より少ない容量が設定されることを特徴とする陰線処理方法。
  4. 画像処理装置において、複数のポリゴンから構成される3次元モデルを2次元平面に投影する際に、前記ポリゴンに隠される線分の投影を回避する陰線処理を実行するプログラムであって、
    前記画像処理装置は、前記陰線処理に関するデータと前記陰線処理以外の処理に関するデータを格納するメモリを有しており、
    予め、前記メモリの容量のうち前記陰線処理に利用する容量の上限値が設定されており、
    前記画像処理装置に、
    前記2次元平面を複数の領域に分割したとき、前記投影された前記3次元モデルのうち前記領域に含まれる部分の前記ポリゴンをそれぞれの領域で抽出させ、
    前記抽出されたポリゴンに基づき各領域で消費されるメモリ消費量を算出させ、
    前記算出された領域毎のメモリ消費量の最大値が前記上限値以上の場合、前記2次元平面を更に分割して分割後の領域に投影された前記3次元モデルに含まれる前記ポリゴンの抽出を行い、該抽出されたポリゴンに基づく前記メモリ消費量の算出を繰り返させ、
    前記算出された領域毎のメモリ消費量の最大値が前記上限値を下回る場合、前記各領域において、前記抽出されたポリゴンに対し陰線処理を行い、領域毎の陰線処理データを作成した後、前記複数の領域の陰線処理データを結合させることを特徴とするプログラム。
  5. 複数のポリゴンから構成される3次元モデルを2次元平面に投影する際に、前記ポリゴンに隠される線分の投影を回避する陰線処理を行う画像処理装置であって、
    画像処理に伴うデータが格納され、予め、前記陰線処理に使用可能な容量の上限値が設定されるメモリと、
    前記2次元平面を複数の領域に分割したとき、前記投影された前記3次元モデルのうち前記領域に含まれる部分の前記ポリゴンをそれぞれの領域で抽出し、前記抽出されたポリゴンに基づき各領域で消費されるメモリ消費量を算出し、前記算出された領域毎のメモリ消費量の最大値が前記上限値を下回るまで、前記2次元平面を更に分割して分割後の領域に投影された前記3次元モデルに含まれる前記ポリゴンの抽出を行い、該抽出されたポリゴンに基づく前記メモリ消費量の算出を繰り返すことにより、前記2次元平面の分割の態様を決定する分割態様決定部と、
    前記分割態様決定部により決定される分割の態様によって分割された後の前記各領域において、前記抽出されたポリゴンに対し陰線処理を行い領域毎の陰線処理データを作成する陰線処理部と、
    前記複数の領域の陰線処理データを結合する結合部とを有することを特徴とする画像処理装置
JP2004110994A 2004-04-05 2004-04-05 陰線処理方法 Expired - Fee Related JP4364706B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004110994A JP4364706B2 (ja) 2004-04-05 2004-04-05 陰線処理方法
US10/967,640 US7518607B2 (en) 2004-04-05 2004-10-19 Hidden-line removal method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004110994A JP4364706B2 (ja) 2004-04-05 2004-04-05 陰線処理方法

Publications (2)

Publication Number Publication Date
JP2005293467A JP2005293467A (ja) 2005-10-20
JP4364706B2 true JP4364706B2 (ja) 2009-11-18

Family

ID=35053745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004110994A Expired - Fee Related JP4364706B2 (ja) 2004-04-05 2004-04-05 陰線処理方法

Country Status (2)

Country Link
US (1) US7518607B2 (ja)
JP (1) JP4364706B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE529451C2 (sv) * 2006-05-22 2007-08-14 Xcounter Ab Apparart och metod för att skapa tomosyntes- och projektionsbilder
SE0702061L (sv) * 2007-09-17 2009-03-18 Xcounter Ab Metod för att skapa, visa och analysera röntgenbilder och anordning för att implementera metoden
SE531416C2 (sv) * 2007-10-09 2009-03-31 Xcounter Ab Anordning och metod för att upptaga strålningsbilddata av ett objekt
KR101609266B1 (ko) 2009-10-20 2016-04-21 삼성전자주식회사 타일 기반의 랜더링 장치 및 방법
CN102654849A (zh) * 2011-03-03 2012-09-05 赛酷特(北京)信息技术有限公司 一种分区隐藏及读取的方法
CN102902499B (zh) * 2012-08-22 2015-06-03 华为技术有限公司 存储设备的分区显示方法和装置
JP6127331B2 (ja) * 2014-09-12 2017-05-17 株式会社ア−キテック 配筋検証支援装置及びそのプログラム
JP6417507B2 (ja) * 2016-05-30 2018-11-07 株式会社オリンピア 遊技機
CN113628102B (zh) * 2021-08-16 2024-09-10 广东三维家信息科技有限公司 实体模型消隐方法、装置、电子设备及存储介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3602702A (en) * 1969-05-19 1971-08-31 Univ Utah Electronically generated perspective images
US3889107A (en) * 1972-10-16 1975-06-10 Evans & Sutherland Computer Co System of polygon sorting by dissection
US4694404A (en) * 1984-01-12 1987-09-15 Key Bank N.A. High-speed image generation of complex solid objects using octree encoding
US5086496A (en) * 1988-05-02 1992-02-04 Arch Development Corporation Method for hidden line and surface removal in a three dimensional display
JPH0792838B2 (ja) 1989-12-28 1995-10-09 インターナショナル・ビジネス・マシーンズ・コーポレーション 三次元図形表示方法及びシステム
US5729672A (en) * 1993-07-30 1998-03-17 Videologic Limited Ray tracing method and apparatus for projecting rays through an object represented by a set of infinite surfaces
US5579455A (en) * 1993-07-30 1996-11-26 Apple Computer, Inc. Rendering of 3D scenes on a display using hierarchical z-buffer visibility
JP2862465B2 (ja) 1993-09-22 1999-03-03 株式会社ノリタケカンパニーリミテド トナー定着用加熱ローラ
JP2882465B2 (ja) 1995-12-25 1999-04-12 日本電気株式会社 画像生成方法およびその装置
JPH10134204A (ja) 1996-10-28 1998-05-22 Hitachi Ltd グラフィックス表示装置
US5977980A (en) * 1997-07-14 1999-11-02 Ati Technologies Method and apparatus for determining visibility of a pixel
US6525726B1 (en) * 1999-11-02 2003-02-25 Intel Corporation Method and apparatus for adaptive hierarchical visibility in a tiled three-dimensional graphics architecture
GB0124630D0 (en) * 2001-10-13 2001-12-05 Picsel Res Ltd "Systems and methods for generating visual representations of graphical data and digital document processing"
US6897863B2 (en) * 2001-11-30 2005-05-24 Caterpillar Inc System and method for hidden object removal
US6999091B2 (en) * 2001-12-28 2006-02-14 Intel Corporation Dual memory channel interleaving for graphics and video
US20030122820A1 (en) * 2001-12-31 2003-07-03 Doyle Peter L. Object culling in zone rendering
AUPS028702A0 (en) * 2002-02-01 2002-02-28 Canon Kabushiki Kaisha Efficient display update from changing object graphics
US7002571B2 (en) * 2002-06-04 2006-02-21 Intel Corporation Grid-based loose octree for spatial partitioning
US6911983B2 (en) * 2003-03-12 2005-06-28 Nvidia Corporation Double-buffering of pixel data using copy-on-write semantics
JP4390574B2 (ja) * 2003-03-31 2009-12-24 富士通株式会社 複数のポリゴンから構成される3次元モデルを2次元平面に投影する際の陰線を消去する陰線処理方法
US7164420B2 (en) * 2003-07-24 2007-01-16 Autodesk, Inc. Ray tracing hierarchy

Also Published As

Publication number Publication date
US20050219243A1 (en) 2005-10-06
US7518607B2 (en) 2009-04-14
JP2005293467A (ja) 2005-10-20

Similar Documents

Publication Publication Date Title
US8659589B2 (en) Leveraging graphics processors to optimize rendering 2-D objects
EP1287494B1 (en) Tiling and compression for rendering 3d images
US11527040B2 (en) Tessellating patches of surface data in tile based computer graphics rendering
JP6360567B2 (ja) 情報処理装置、情報処理方法
JP4612902B2 (ja) ファイル表示装置及びその制御方法、並びにプログラム
EP3567550A1 (en) Image processing apparatus, control method of image processing apparatus, and computer-readable storage medium
US9530241B2 (en) Clipping of graphics primitives
JP4364706B2 (ja) 陰線処理方法
CN108290071B (zh) 用于在预测游戏者的意图的情况下确定用于执行绘制的资源分配的介质、装置、系统和方法
JP2009217000A (ja) 描画処理装置、描画処理プログラムおよび描画処理方法
JP5304443B2 (ja) 描画データ処理方法、図形描画システム、及び図形描画データ作成プログラム
JP3756888B2 (ja) グラフィックスプロセッサ、グラフィックスカード及びグラフィックス処理システム
JP6590606B2 (ja) 画像処理装置、画像処理方法、プログラム
US9177354B2 (en) Rendering apparatus, rendering method, and computer product
JP2001184373A (ja) 図面生成方法およびシステムおよび3次元モデルデータから2次元図面を生成する図面生成プログラムを記録したコンピュータ読み取り可能な記録媒体
US20230419597A1 (en) Binning pass with hierarchical depth data determination
WO2019039603A1 (ja) 画像処理装置、及びプログラム
US20220262053A1 (en) Image processing apparatus, image processing method, and program
JP7471512B2 (ja) 描画処理装置、描画処理システム、描画処理方法、および描画処理プログラム
US11132168B2 (en) Display method, display device, and display program
JP2007140976A (ja) 断面表示プログラムおよび断面表示装置
US20240005602A1 (en) Pipeline delay reduction for coarse visibility compression
JP2010146250A (ja) 曲線分割装置、曲線分割方法、曲線分割プログラム、曲線分割プログラムを記録した記録媒体、曲線分割集積回路
JP4610394B2 (ja) Zソート処理回路およびこれを用いた3次元画像描画装置
JP4681929B2 (ja) 画像処理方法および画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061027

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090623

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090722

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090819

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

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130828

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees