(57)【特許請求の範囲】
【請求項１】
複数のプリミティブにより形成される３次元画像を２次元スクリーンに表示させるためのレンダリング処理を行う装置であって、
前記複数のプリミティブの各々の属性を表す属性データを当該プリミティブと対応付けて格納するプリミティブバッファと、
前記プリミティブバッファに格納された属性データに基づいてピクセル補間を行うとともに、１ピクセルから分割された複数のサブピクセルの少なくとも１つがレンダリング処理されるときに、プリミティブの既知の属性データに基づいてサブピクセル補間を行う補間手段と、
前記プリミティブバッファに格納されている複数の属性データ、前記ピクセル補間により得られた新たな属性データ、及びサブピクセル補間により得られた新たな属性データを比較することにより、前記複数のプリミティブの各々を、前記２次元スクリーンに表示される第１のプリミティブと表示されない第２のプリミティブのいずれかにサブピクセル単位で選別するテスタとを備え、
前記テスタにより選別された第２のプリミティブを除く前記第１のプリミティブに対して前記レンダリング処理を行うように構成されている、
レンダリング処理装置。
【請求項２】
複数のプリミティブにより形成される３次元画像を２次元スクリーンに表示させるためのレンダリング処理を行う装置であって、
前記複数のプリミティブの各々の属性を表す属性データを当該プリミティブと対応付けて格納するプリミティブバッファと、
前記プリミティブバッファに格納された属性データに基づいてピクセル補間を行う補間手段と、
１ピクセルに複数のプリミティブが描画されているときの境界部分のピクセルを除いて、前記プリミティブバッファに格納されている複数の属性データ及びピクセル補間により得られた新たな属性データをピクセル単位で比較することにより、前記プリミティブの各々を、前記２次元スクリーンに表示される第１のプリミティブと表示されない第２のプリミティブのいずれかに選別するテスタと、を備えて構成されている、
レンダリング処理装置。
【請求項３】
複数のプリミティブにより形成される３次元画像を２次元スクリーンに表示させるためのレンダリング処理を行う装置であって、
前記複数のプリミティブの各々の属性を表す属性データを当該プリミティブと対応付けて格納するプリミティブバッファと、
前記プリミティブバッファに格納されている複数の属性データを、前記２次元スクリーンへの表示を許可する許可領域と許可しない非許可領域とを有するステンシルデータと比較することにより、前記許可領域に少なくともその一部が重畳するプリミティブを前記２次元スクリーンに表示される第１のプリミティブとし、それ以外のプリミティブを前記２次元スクリーンに表示されない第２のプリミティブとして選別するテスタとを備え、
前記テスタにより選別された第２のプリミティブを除く前記第１のプリミティブに対して前記レンダリング処理を行うように構成されている、
レンダリング処理装置。
【請求項４】
複数のプリミティブにより形成される３次元画像を２次元スクリーンに表示させるためのレンダリング処理を行う装置であって、
前記複数のプリミティブの各々の属性を表す属性データを当該プリミティブと対応付けて格納するプリミティブバッファと、
前記プリミティブバッファに格納されている複数の属性データ同士を比較することにより、前記複数のプリミティブの各々を、前記２次元スクリーンに表示される第１のプリミティブと表示されない第２のプリミティブのいずれかに選別するとともに、第１のプリミティブか第２のプリミティブかを表すフラグを、レンダリング処理時に参照可能な所定の選別テーブルに各プリミティブの属性データと対応付けて記録するテスタと、
前記選別テーブルに記録されている個々のプリミティブについての前記フラグを参照して、前記第２のプリミティブとして選別したプリミティブの属性データを前記プリミティブバッファから削除する編集手段と、を備え、
前記第１のプリミティブとして選別されたプリミティブに対して前記レンダリング処理を行うように構成されている、
レンダリング処理装置。
【請求項５】
レンダリング処理されるサブピクセルの、１ピクセル分のサブピクセル全体に占める割合をプリミティブ毎に算定する占有率算定手段をさらに備え、この占有率算定手段による算定結果に応じて当該１ピクセルについての属性データを決定するように構成されている、
請求項１記載のレンダリング処理装置。
【請求項６】
前記プリミティブバッファに格納される複数のプリミティブが、少なくとも前記２次元スクリーンに表示される一画面分の３次元画像を形成し得る数のプリミティブである、
請求項１〜４のいずれかに記載のレンダリング処理装置。
【請求項７】
前記プリミティブバッファに格納されている複数の属性データの各々が前記３次元画像における当該プリミティブの位置を表す位置情報を含んでおり、
前記テスタは、個々の属性データに含まれる位置情報を比較することにより前記２次元スクリーンを通じて視る者の視点に最も近いプリミティブを前記第１のプリミティブとし、それ以外のプリミティブを前記第２のプリミティブとして選別するように構成されている、
請求項１〜４のいずれかに記載のレンダリング処理装置。
【請求項８】
前記テスタは、前記第１のプリミティブか第２のプリミティブかを表すフラグを、レンダリング処理時に参照可能な所定の選別テーブルに、各プリミティブの属性データと対応付けて記録するように構成されている、
請求項１〜３のいずれかに記載のレンダリング処理装置。
【請求項９】
前記フラグは、プリミティブ毎に複数種類の値を呈し得る数値データであり、前記フラグの値が前記２次元スクリーンに表示されるプリミティブのピクセル数に応じて更新される、
請求項８記載のレンダリング処理装置。
【請求項１０】
前記選別テーブルに記録されている個々のプリミティブについての前記フラグを参照し、前記第２のプリミティブについては、その属性データの前記プリミティブバッファからの読み出しを制限する編集手段をさらに備える、
請求項８記載のレンダリング処理装置。
【請求項１１】
２次元スクリーンの表示領域に対応するサイズのフレームバッファと、
３次元画像を形成する複数のプリミティブのジオメトリ処理を行って当該３次元画像についてのジオメトリデータを生成する第１プロセッサと、
前記第１プロセッサにより生成された前記ジオメトリデータを格納するためのバッファメモリと、
このバッファメモリに格納されている前記ジオメトリデータに基づいてレンダリング処理を行い、前記フレームバッファに前記３次元画像に対応する２次元画像を描画する第２プロセッサと、
前記フレームバッファに描画された前記２次元画像を前記表示領域に表示させるコントローラとを備えており、
前記第２プロセッサは、
前記バッファメモリに格納されるジオメトリデータにより特定される前記複数のプリミティブの各々の属性を表す属性データに基づいてピクセル補間を行うとともに、１ピクセルから分割された複数のサブピクセルの少なくとも１つがレンダリング処理されるときにプリミティブの既知の属性データに基づいてサブピクセル補間を行う補間手段と、
前記ジオメトリデータにより特定される属性データ、前記ピクセル補間により得られた新たな属性データ、及びサブピクセル補間により得られた新たな属性データを比較することにより、前記複数のプリミティブの各々を、前記２次元スクリーンに表示される第１のプリミティブと表示されない第２のプリミティブのいずれかにサブピクセル単位で選別するテスタとを備え、
前記テスタにより選別された前記第１のプリミティブに対して前記レンダリング処理を行うように構成されている、
画像処理装置。
【請求項１２】
２次元スクリーンの表示領域に対応するサイズのフレームバッファと、
３次元画像を形成する複数のプリミティブのジオメトリ処理を行って当該３次元画像についてのジオメトリデータを生成する第１プロセッサと、
前記第１プロセッサにより生成された前記ジオメトリデータを格納するためのバッファメモリと、
このバッファメモリに格納されている前記ジオメトリデータに基づいてレンダリング処理を行い、前記フレームバッファに前記３次元画像に対応する２次元画像を描画する第２プロセッサと、
前記フレームバッファに描画された前記２次元画像を前記表示領域に表示させるコントローラとを備えており、
前記第２プロセッサは、
前記バッファメモリに格納されるジオメトリデータにより特定される前記複数のプリミティブの各々の属性を表す既知の属性データに基づいてピクセル補間を行い、１ピクセルに複数のプリミティブが描画されているときの境界部分のピクセルを除いて、前記ジオメトリデータにより特定される属性データ及びピクセル補間により得られた新たな属性データをピクセル単位で比較することにより、前記複数のプリミティブの各々を、前記２次元スクリーンに表示される第１のプリミティブと表示されない第２のプリミティブのいずれかに選別するとともに、選別された前記第１のプリミティブに対して前記レンダリング処理を行うように構成されている、
画像処理装置。
【請求項１３】
２次元スクリーンの表示領域に対応するサイズのフレームバッファと、
３次元画像を形成する複数のプリミティブのジオメトリ処理を行って当該３次元画像についてのジオメトリデータを生成する第１プロセッサと、
前記第１プロセッサにより生成された前記ジオメトリデータを格納するためのバッファメモリと、
このバッファメモリに格納されている前記ジオメトリデータに基づいてレンダリング処理を行い、前記フレームバッファに前記３次元画像に対応する２次元画像を描画する第２プロセッサと、
前記フレームバッファに描画された前記２次元画像を前記表示領域に表示させるコントローラとを備えており、
前記第２プロセッサは、前記バッファメモリに格納されるジオメトリデータにより特定される前記複数のプリミティブの各々の属性を表す属性データを、前記２次元スクリーンへの表示を許可する許可領域と許可しない非許可領域とを有するステンシルデータと比較することにより、前記許可領域に少なくともその一部が重畳するプリミティブを前記２次元スクリーンに表示される第１のプリミティブとし、それ以外のプリミティブを前記２次元スクリーンに表示されない第２のプリミティブとして選別するとともに、選別された前記第１のプリミティブに対して前記レンダリング処理を行うように構成されている、
画像処理装置。
【請求項１４】
２次元スクリーンの表示領域に対応するサイズのフレームバッファと、
３次元画像を形成する複数のプリミティブのジオメトリ処理を行って当該３次元画像についてのジオメトリデータを生成する第１プロセッサと、
前記第１プロセッサにより生成された前記ジオメトリデータを格納するためのバッファメモリと、
このバッファメモリに格納されている前記ジオメトリデータに基づいてレンダリング処理を行い、前記フレームバッファに前記３次元画像に対応する２次元画像を描画する第２プロセッサと、
前記フレームバッファに描画された前記２次元画像を前記表示領域に表示させるコントローラとを備えており、
前記第２プロセッサは、前記バッファメモリから取得したジオメトリデータにより特定される複数のプリミティブの各々の属性を表す属性データ同士を比較することにより、前記複数のプリミティブの各々を、前記２次元スクリーンに表示される第１のプリミティブと表示されない第２のプリミティブのいずれかに選別するとともに、前記第１のプリミティブか第２のプリミティブかを表すフラグを、レンダリング処理時に参照可能な所定の選別テーブルに各プリミティブの属性データと対応付けて記録しておき、この選別テーブルに記録されている個々のプリミティブについての前記フラグを参照して、前記第２のプリミティブとして選別したプリミティブの属性データを特定するジオメトリデータを前記バッファメモリから削除して、前記第２のプリミティブを除く前記第１のプリミティブによる前記２次元画像を前記フレームバッファにレンダリング処理するように構成されている、
画像処理装置。
【請求項１５】
画像形成に利用されるプリミティブを格納するプリミティブバッファを有し、複数のプリミティブにより形成される３次元画像を２次元スクリーンに表示させる装置が、
前記３次元画像を形成する複数のプリミティブの各々の属性を表す属性データを、当該プリミティブと対応付けて前記プリミティブバッファに格納して、この属性データに基づいてピクセル補間を行うとともに、１ピクセルから分割された複数のサブピクセルの少なくとも１つがレンダリング処理されるときに、プリミティブの既知の属性データに基づいてサブピクセル補間を行い、格納した属性データ、前記ピクセル補間により得られた新たな属性データ、及びサブピクセル補間により得られた新たな属性データを比較して前記複数のプリミティブの各々を前記２次元スクリーン上に表示される第１のプリミティブと表示されない第２のプリミティブのいずれかに選別するテストパスと、
このテストパスにより選別された第２のプリミティブを除く前記第１のプリミティブを前記プリミティブバッファから読み出し、読み出した第１のプリミティブに対するレンダリング処理を行うレンダリングパスとをこの順に実行することを特徴とする、
レンダリング処理方法。
【請求項１６】
画像形成に利用されるプリミティブを格納するプリミティブバッファを有し、複数のプリミティブにより形成される３次元画像を２次元スクリーンに表示させる装置が、
前記３次元画像を形成する複数のプリミティブの各々の属性を表す属性データを、当該プリミティブと対応付けて前記プリミティブバッファに格納して、この属性データに基づいてピクセル補間を行い、１ピクセルに複数のプリミティブが描画されているときの境界部分のピクセルを除いて、格納した属性データ及び前記ピクセル補間により得られた新たな属性データをピクセル単位で比較して前記複数のプリミティブの各々を前記２次元スクリーン上に表示される第１のプリミティブと表示されない第２のプリミティブのいずれかに選別するテストパスと、
このテストパスにより選別された第２のプリミティブを除く前記第１のプリミティブを前記プリミティブバッファから読み出し、読み出した第１のプリミティブに対するレンダリング処理を行うレンダリングパスとをこの順に実行することを特徴とする、
レンダリング処理方法。
【請求項１７】
画像形成に利用されるプリミティブを格納するプリミティブバッファを有し、複数のプリミティブにより形成される３次元画像を２次元スクリーンに表示させる装置が、
前記３次元画像を形成する複数のプリミティブの各々の属性を表す属性データを、前記２次元スクリーンへの表示を許可する許可領域と許可しない非許可領域とを有するステンシルデータと比較することにより、前記許可領域に少なくともその一部が重畳するプリミティブを前記２次元スクリーン上に表示される第１のプリミティブとし、それ以外のプリミティブを前記２次元スクリーンに表示されない第２のプリミティブとして選別するテストパスと、
このテストパスにより選別された第２のプリミティブを除く前記第１のプリミティブを前記プリミティブバッファから読み出し、読み出した第１のプリミティブに対するレンダリング処理を行うレンダリングパスとをこの順に実行することを特徴とする、
レンダリング処理方法。
【請求項１８】
画像形成に利用されるプリミティブを格納するプリミティブバッファを有し、複数のプリミティブにより形成される３次元画像を２次元スクリーンに表示させる装置が、
前記３次元画像を形成する複数のプリミティブの各々の属性を表す属性データを、当該プリミティブと対応付けて前記プリミティブバッファに格納し、格納した属性データ同士を比較して前記複数のプリミティブの各々を前記２次元スクリーン上に表示される第１のプリミティブと表示されない第２のプリミティブのいずれかに選別して、第１のプリミティブか第２のプリミティブかを表すフラグを、レンダリング処理時に参照可能な所定の選別テーブルに各プリミティブの属性データと対応付けて記録するとともに、この選別テーブルに記録されている個々のプリミティブについての前記フラグを参照して、前記第２のプリミティブとして選別したプリミティブの属性データを前記プリミティブバッファから削除するテストパスと、
このテストパスにより選別された前記第１のプリミティブを前記プリミティブバッファから読み出し、読み出した第１のプリミティブに対するレンダリング処理を行うレンダリングパスとをこの順に実行することを特徴とする、
レンダリング処理方法。
【請求項１９】
２次元スクリーンを有するディスプレイが接続されるコンピュータに搭載され、前記コンピュータが有する他の構成部品と協働で、該コンピュータに、
３次元画像を形成する複数のプリミティブの各々の属性を表す属性データを当該プリミティブと対応付けて格納するプリミティブバッファと、
前記プリミティブバッファに格納された属性データに基づいてピクセル補間を行うとともに、１ピクセルから分割された複数のサブピクセルの少なくとも１つがレンダリング処理されるときに、プリミティブの既知の属性データに基づいてサブピクセル補間を行う補間手段と、
前記プリミティブバッファに格納されている複数の属性データ、前記ピクセル補間により得られた新たな属性データ、及びサブピクセル補間により得られた新たな属性データを比較することにより、前記複数のプリミティブの各々を、前記２次元スクリーンに表示される第１のプリミティブと表示されない第２のプリミティブのいずれかにサブピクセル単位で選別するテスタと、
前記テスタにより選別された第２のプリミティブを除く前記第１のプリミティブに対してレンダリング処理を行って前記２次元スクリーンに表示させる２次元画像を生成するレンダリング処理手段とを構築する、
半導体デバイス。
【請求項２０】
２次元スクリーンを有するディスプレイが接続されるコンピュータに搭載され、前記コンピュータが有する他の構成部品と協働で、該コンピュータに、
３次元画像を形成する複数のプリミティブの各々の属性を表す属性データを当該プリミティブと対応付けて格納するプリミティブバッファと、
プリミティブの既知の属性データに基づいてピクセル補間を行う補間手段と、
１ピクセルに複数のプリミティブが描画されているときの境界部分のピクセルを除いて、前記プリミティブバッファに格納されている複数の属性データ及びピクセル補間により得られた新たな属性データをピクセル単位で比較することにより、前記複数のプリミティブの各々を、前記２次元スクリーンに表示される第１のプリミティブと表示されない第２のプリミティブのいずれかに選別するテスタと、
前記テスタにより選別された第２のプリミティブを除く前記第１のプリミティブに対してレンダリング処理を行って前記２次元スクリーンに表示させる２次元画像を生成するレンダリング処理手段とを構築する、
半導体デバイス。
【請求項２１】
２次元スクリーンを有するディスプレイが接続されるコンピュータに搭載され、前記コンピュータが有する他の構成部品と協働で、該コンピュータに、
３次元画像を形成する複数のプリミティブの各々の属性を表す属性データを当該プリミティブと対応付けて格納するプリミティブバッファと、
前記プリミティブバッファに格納されている複数の属性データを、前記２次元スクリーンへの表示を許可する許可領域と許可しない非許可領域とを有するステンシルデータと比較することにより、前記許可領域に少なくともその一部が重畳するプリミティブを前記２次元スクリーンに表示される第１のプリミティブとし、それ以外のプリミティブを前記２次元スクリーンに表示されない第２のプリミティブとして選別するテスタと、
前記テスタにより選別された第２のプリミティブを除く前記第１のプリミティブに対してレンダリング処理を行って前記２次元スクリーンに表示させる２次元画像を生成するレンダリング処理手段とを構築する、
半導体デバイス。
【請求項２２】
２次元スクリーンを有するディスプレイが接続されるコンピュータに搭載され、前記コンピュータが有する他の構成部品と協働で、該コンピュータに、
３次元画像を形成する複数のプリミティブの各々の属性を表す属性データを当該プリミティブと対応付けて格納するプリミティブバッファと、
前記プリミティブバッファに格納されている複数の属性データ同士を比較することにより、前記複数のプリミティブの各々を、前記２次元スクリーンに表示される第１のプリミティブと表示されない第２のプリミティブのいずれかに選別するとともに、第１のプリミティブか第２のプリミティブかを表すフラグを、レンダリング処理時に参照可能な所定の選別テーブルに各プリミティブの属性データと対応付けて記録するテスタと、
前記選別テーブルに記録されている個々のプリミティブについての前記フラグを参照して、前記第２のプリミティブとして選別したプリミティブの属性データを前記プリミティブバッファから削除する編集手段と、
前記テスタにより選別された第２のプリミティブを除く前記第１のプリミティブに対してレンダリング処理を行って前記２次元スクリーンに表示させる２次元画像を生成するレンダリング処理手段とを構築する、
半導体デバイス。
【請求項２３】
画像形成に利用されるプリミティブを格納するプリミティブバッファと、２次元スクリーンを有するディスプレイとが接続されるコンピュータに、
３次元画像を形成する複数のプリミティブの各々の属性を表す属性データを、当該プリミティブと対応付けて前記プリミティブバッファに格納する処理、
前記プリミティブバッファに格納された属性データに基づいてピクセル補間を行うとともに、１ピクセルから分割された複数のサブピクセルの少なくとも１つがレンダリング処理されるときに、プリミティブの既知の属性データに基づいてサブピクセル補間を行う処理、
前記プリミティブバッファに格納されている複数の属性データ、前記ピクセル補間により得られた新たな属性データ、及びサブピクセル補間により得られた新たな属性データを比較することにより、前記複数のプリミティブの各々を、前記２次元スクリーンに表示される第１のプリミティブと表示されない第２のプリミティブのいずれかにサブピクセル単位で選別する処理、及び、
前記選別された第２のプリミティブを除く前記第１のプリミティブに対してレンダリング処理を行って前記２次元スクリーンに表示させる２次元画像を生成する処理、を実行させるためのコンピュータプログラム。
【請求項２４】
画像形成に利用されるプリミティブを格納するプリミティブバッファと、２次元スクリーンを有するディスプレイとが接続されるコンピュータに、
３次元画像を形成する複数のプリミティブの各々の属性を表す属性データを、当該プリミティブと対応付けて前記プリミティブバッファに格納する処理、
前記プリミティブバッファに格納された属性データに基づいてピクセル補間を行う処理、
１ピクセルに複数のプリミティブが描画されているときの境界部分のピクセルを除いて、前記プリミティブバッファに格納されている複数の属性データ及び前記ピクセル補間により得られた新たな属性データをピクセル単位で比較することにより、前記複数のプリミティブの各々を、前記２次元スクリーンに表示される第１のプリミティブと表示されない第２のプリミティブのいずれかに選別する処理、及び、
前記選別された第２のプリミティブを除く前記第１のプリミティブに対してレンダリング処理を行って前記２次元スクリーンに表示させる２次元画像を生成する処理、を実行させるためのコンピュータプログラム。
【請求項２５】
画像形成に利用されるプリミティブを格納するプリミティブバッファと、２次元スクリーンを有するディスプレイとが接続されるコンピュータに、
３次元画像を形成する複数のプリミティブの各々の属性を表す属性データを、当該プリミティブと対応付けて前記プリミティブバッファに格納する処理、
前記プリミティブバッファに格納されている複数の属性データを、前記２次元スクリーンへの表示を許可する許可領域と許可しない非許可領域とを有するステンシルデータと比較することにより、前記許可領域に少なくともその一部が重畳するプリミティブを前記２次元スクリーンに表示される第１のプリミティブとし、それ以外のプリミティブを前記２次元スクリーンに表示されない第２のプリミティブとして選別する処理、及び、
前記選別された第２のプリミティブを除く前記第１のプリミティブに対してレンダリング処理を行って前記２次元スクリーンに表示させる２次元画像を生成する処理、を実行させるためのコンピュータプログラム。
【請求項２６】
画像形成に利用されるプリミティブを格納するプリミティブバッファと、２次元スクリーンを有するディスプレイとが接続されるコンピュータに、
３次元画像を形成する複数のプリミティブの各々の属性を表す属性データを、当該プリミティブと対応付けて前記プリミティブバッファに格納する処理、
前記プリミティブバッファに格納されている複数の属性データ同士を比較することにより、前記複数のプリミティブの各々を、前記２次元スクリーンに表示される第１のプリミティブと表示されない第２のプリミティブのいずれかに選別する処理、
第１のプリミティブか第２のプリミティブかを表すフラグを、レンダリング処理時に参照可能な所定の選別テーブルに各プリミティブの属性データと対応付けて記録する処理、
前記選別テーブルに記録されている個々のプリミティブについての前記フラグを参照し、前記第２のプリミティブとして選別したプリミティブの属性データを前記プリミティブバッファから削除する処理、及び、
前記選別された第２のプリミティブを除く前記第１のプリミティブに対してレンダリング処理を行って前記２次元スクリーンに表示させる２次元画像を生成する処理、を実行させるためのコンピュータプログラム。
【請求項２７】
請求項２３〜２６のいずれかに記載されたコンピュータプログラムを記録してなる、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディスプレイ等の２次元スクリーンに表示される３次元画像のレンダリング処理を効率的に行う画像処理技術に関する。
【０００２】
【従来の技術】
画像をディスプレイに表示させる画像処理装置、例えばゲームコンソール装置又はパーソナルコンピュータ等における画像処理能力は、近年のプロセッサの高速化に伴い、著しく進歩している。
例えば精細で高品位な３次元画像を２次元スクリーンに表示させるための２次元画像を、ほぼリアルタイムで生成することが可能になっている。
２次元画像は、３次元画像に存する仮想的な物体の画像（以下、「オブジェクト」という）を構成するポリゴンなどの複数のプリミティブと、各プリミティブの形状、サイズ、色、輝度などの属性を表す属性データとにより生成される。
【０００３】
３次元画像を２次元スクリーンに表示させるときに行われる画像処理は、大別して、プリミティブの頂点座標等に座標変換などを施すジオメトリ処理と、このジオメトリ処理の結果得られるジオメトリデータからピクセル毎の色などを決定して２次元画像を生成するレンダリング処理とからなる。
本明細書では、主としてレンダリング処理を実行する装置（分散システム、半導体デバイスを含む）をレンダリング処理装置と称する。このレンダリング処理装置は、画像処理装置の一部を構成するものである。
【０００４】
レンダリング処理装置の中には、同じプリミティブに対して複数回のレンダリング処理を行うことにより、複雑な絵柄等の視覚効果の高い画像を描画できるものがある。この複数回のレンダリング処理を「マルチパスレンダリング」と称し、このマルチパスレンダリングにおける１回の処理を「パス」と称する。３回のパスによってレンダリング処理を行うマルチパスレンダリングの場合、例えば１パス目でテクスチャの貼り付けを行わないポリゴン描画を行い、２パス目でテクスチャを貼り付ける処理を行い、３パス目で別のテクスチャを貼り付ける処理を行う。
【０００５】
【発明が解決しようとする課題】
従来のレンダリング処理装置では、マルチパスレンダリングを行うときに、すべてのプリミティブについて必ず複数回のレンダリング処理を行う。そのため、複雑な絵柄の画像を描画しようとすると、レンダリング処理の回数が多くなって処理量が増大し、負担が大きくなる。
【０００６】
本発明の課題は、上記のような問題に鑑みてなされたものであり、３次元画像のレンダリング処理を従来技術よりも少ない処理量で実現するレンダリング処理装置及びレンダリング処理方法を提供することにある。
本発明の他の課題は、視覚効果の高い画像をオーバーヘッドなく生成する画像処理装置及びその構成部品を提供することにある。
【０００７】
【課題を解決するための手段】
上記の課題を解決する本発明のレンダリング処理装置は、複数のプリミティブにより形成される３次元画像を２次元スクリーンに表示させるためのレンダリング処理を行う装置であって、前記複数のプリミティブの各々の属性を表す属性データを当該プリミティブと対応付けて格納するプリミティブバッファと、前記プリミティブバッファに格納されている複数の属性データ同士を比較することにより、前記複数のプリミティブの各々を、前記２次元スクリーンに表示される第１のプリミティブと表示されない第２のプリミティブのいずれかに選別するテスタとを備え、前記テスタにより選別された第２のプリミティブを除く前記第１のプリミティブに対して前記レンダリング処理を行うように構成されている装置である。
【０００８】
レンダリング処理は、同一のプリミティブに一つのテクスチャの描画を行う通常の１パスレンダリング処理であっても、複数回のテクスチャ描画を行うマルチパスレンダリングであってもよい。いずれにしても実際に２次元スクリーンに表示されることになるプリミティブ（第１のプリミティブ）についてレンダリング処理を行うので、３次元画像を構成するすべてのプリミティブについて描画を行っていた従来のレンダリング処理装置よりも処理量は大幅に低減する。
「属性データ」は、プリミティブが２次元スクリーンに現れるものかどうかを判別可能にするものであれば、どのような種類のデータであってもよい。通常は、数値データ、例えば、プリミティブの頂点に関する数値データ（頂点座標、頂点輝度、テクスチャ座標等）、プリミティブのサイズ、色又は透過度等を属性データとすることができる。頂点に関する数値データは、例えば、ジオメトリ処理により得られたジオメトリデータを用いることができる。
【０００９】
前記プリミティブバッファに格納される複数のプリミティブは、好ましくは、少なくとも前記２次元スクリーンに表示される一画面分の３次元画像を形成し得る数のプリミティブとする。このようにすれば、画面単位で効率的なレンダリング処理を行うことができる。
【００１０】
ピクセル単位でのレンダリング処理をより効率的に行う場合は、プリミティブの既知の属性データに基づいてピクセル補間を行う補間手段をさらに備えてレンダリング処理装置を構成し、前記テスタが、前記ピクセル補間により得られた新たな属性データを前記比較の対象に含めることで前記選別をピクセル単位で行うようにする。このような構成にすると、１ピクセルでも２次元スクリーンに表示されるプリミティブは第１のプリミティブとされる。
【００１１】
より高解像度の画像を表示させる場合は、前記補間手段を、１ピクセルから分割された複数のサブピクセルの少なくとも１つがレンダリング処理されるときにプリミティブの既知の属性データに基づいてサブピクセル補間を行い、前記テスタは、前記サブピクセル補間により得られた新たな属性データを前記比較の対象に含めることで前記選別をサブピクセル単位で行うように構成する。
【００１２】
レンダリング処理されるサブピクセルの、１ピクセル分のサブピクセル全体に占める割合をプリミティブ毎に算定する占有率算定手段をさらに備え、この占有率算定手段による算定結果に応じて当該１ピクセルについての属性データを決定するようにしてもよい。このようにすれば、アンチエイリアシングを迅速に行うことができるようになる。
【００１３】
アンチエイリアシングを可能にするため、前記テスタを、１ピクセルに複数のプリミティブが描画されるときの境界部分のピクセルについては前記選別を回避するように構成してもよい。
【００１４】
前記プリミティブバッファに格納されている複数の属性データの各々が前記３次元画像における当該プリミティブの位置を表す位置情報、例えば座標値（Ｘ、Ｙ、Ｚ）を含むようにし、前記テスタが、個々の属性データに含まれる位置情報を比較することにより前記２次元スクリーンを通じて視る者の視点に最も近いプリミティブを前記第１のプリミティブとし、それ以外のプリミティブを前記第２のプリミティブとして選別するように構成してもよい。このように構成すると、他のプリミティブに隠される位置にあるプリミティブについてのレンダリング処理を回避することができる。
【００１５】
前記複数のプリミティブの各々は、前記２次元スクリーンへの表示を許可する許可領域と許可しない非許可領域とを有し表示対象となる画像の透過度及び形状を表すステンシルデータ上に重畳可能なものとすることができる。この場合、前記テスタは、前記ステンシルデータの許可領域又は非許可領域と少なくともその一部が重畳するプリミティブを前記第１のプリミティブとし、それ以外のプリミティブを前記第２のプリミティブとして選別する。
【００１６】
レンダリング処理をより迅速にする観点からは、第１のプリミティブか第２のプリミティブかを表すフラグを、レンダリング処理時に参照可能な所定の選別テーブルに、各プリミティブの属性データと対応付けて記録するように前記テスタを構成する。このように構成することにより、レンダリング処理装置が、選別テーブルのフラグを確認するだけで、属性データが第１のプリミティブのものか、第２のプリミティブのものかを判別することができるようになる。フラグを、プリミティブ毎に複数種類の値を呈し得る数値データとし、前記フラグの値が前記２次元スクリーンに表示されるプリミティブのピクセル数に応じて更新されるようにしてもよい。
前記選別テーブルに記録されている個々のプリミティブについての前記フラグを参照し、前記第２のプリミティブについては、その属性データの前記プリミティブバッファからの読み出しを制限する編集手段をさらに備えるようにしてもよい。より確実に第２のプリミティブの使用を回避する観点からは、前記編集手段は、前記第２のプリミティブとして選別したプリミティブの属性データを前記プリミティブバッファから削除するようにする。
【００１７】
上記他の課題を解決する本発明の画像処理装置は、２次元スクリーンの表示領域に対応するサイズのフレームバッファと、３次元画像を形成する複数のプリミティブのジオメトリ処理を行って当該３次元画像についてのジオメトリデータを生成する第１プロセッサと、生成された前記ジオメトリデータに基づいて前記フレームバッファに前記３次元画像に対応する２次元画像をレンダリング処理する第２プロセッサと、レンダリング処理された前記２次元画像を前記表示領域に表示させるコントローラとを備える。
前記第２プロセッサは、前記第１プロセッサより取得したジオメトリデータにより特定される複数のプリミティブの各々の属性を表す属性データ同士を比較することにより、前記複数のプリミティブの各々を、前記２次元スクリーンに表示される第１のプリミティブと表示されない第２のプリミティブのいずれかに選別するとともに、前記第２のプリミティブを除く前記第１のプリミティブによる前記２次元画像を前記フレームバッファにレンダリング処理する。
【００１８】
好ましい実施の態様では、前記第１プロセッサと前記第２プロセッサとの間にバッファメモリが介在し、前記第１プロセッサにより生成されたジオメトリデータが前記バッファメモリを介して前記第２プロセッサに伝達されるようにする。
処理対象となる前記３次元画像を外部機器より受領して前記第１プロセッサに導く画像受領機構をさらに備えて画像処理装置を構成してもよい。
【００１９】
上記他の課題を解決する本発明のレンダリング処理方法は、画像形成に利用されるプリミティブを格納するプリミティブバッファを有し、複数のプリミティブにより形成される３次元画像を２次元スクリーンに表示させる装置により実行される方法である。すなわち、この装置が、前記３次元画像を形成する複数のプリミティブの各々の属性を表す属性データを、当該プリミティブと対応付けて前記プリミティブバッファに格納し、格納した属性データ同士を比較して前記複数のプリミティブの各々を前記２次元スクリーン上に表示される第１のプリミティブと表示されない第２のプリミティブのいずれかに選別するテストパスと、このテストパスにより選別された第２のプリミティブを除く前記第１のプリミティブを前記プリミティブバッファから読み出し、読み出した第１のプリミティブに対するレンダリング処理を行うレンダリングパスとをこの順に実行することを特徴とする。
前記レンダリングパスを複数回実行し、同一のプリミティブに対して異なるテクスチャを複数回レンダリング処理するようにする形態も可能である。
【００２０】
上記他の課題を解決するため、本発明は、半導体デバイス、コンピュータプログラムをも提供する。
本発明の半導体デバイスは、２次元スクリーンを有するディスプレイが接続されるコンピュータに搭載されるデバイスであって、前記コンピュータが有する他の構成部品と協働で、該コンピュータに、３次元画像を形成する複数のプリミティブの各々の属性を表す属性データを当該プリミティブと対応付けて格納するプリミティブバッファと、前記プリミティブバッファに格納されている複数の属性データ同士を比較することにより、前記複数のプリミティブの各々を、前記２次元スクリーンに表示される第１のプリミティブと表示されない第２のプリミティブのいずれかに選別するテスタと、前記テスタにより選別された第２のプリミティブを除く前記第１のプリミティブに対して前記レンダリング処理を行って前記２次元スクリーンに表示させる２次元画像を生成するレンダリング処理手段とを構築するものである。
【００２１】
本発明のコンピュータプログラムは、画像形成に利用されるプリミティブを格納するプリミティブバッファと、２次元スクリーンを有するディスプレイとが接続されるコンピュータに、３次元画像を形成する複数のプリミティブの各々の属性を表す属性データを、当該プリミティブと対応付けて前記プリミティブバッファに格納する処理、前記プリミティブバッファに格納されている複数の属性データ同士を比較することにより、前記複数のプリミティブの各々を、前記２次元スクリーンに表示される第１のプリミティブと表示されない第２のプリミティブのいずれかに選別する処理、及び、前記選別された第２のプリミティブを除く前記第１のプリミティブに対して前記レンダリング処理を行って前記２次元スクリーンに表示させる２次元画像を生成する処理、を実行させるためのコンピュータプログラムである。このコンピュータプログラムは、コンピュータ読み取り可能な記録媒体に記録されることにより実体化される。
【００２２】
【発明の実施の形態】
以下、本発明を、マルチパスレンダリングが可能な画像処理装置に適用した場合の実施形態を説明する。
図１は、この実施形態による画像処理装置のハードウエア構成図である。
画像処理装置１は、レンダリング処理装置の一例となるレンダリングプロセッサ１６を搭載し、マルチパスレンダリングを行うことにより、視覚効果の高い３次元画像を２次元スクリーン、例えばディスプレイ４１の画面にリアルタイムに表示させる。マルチパスレンダリングに際しては、後述するテストパスを先行させ、他のプリミティブに隠れて見えなくなるなどの理由でディスプレイ４１に表示されない第２プリミティブを選別し、選別したプリミティブを除いたレンダリングパスを実行する。このようにして、画像処理装置１は、実際にはディスプレイ４１に表示されないプリミティブを描画するような無駄な処理を排除し、レンダリング処理の効率化を図る。
【００２３】
画像処理装置１は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等のディスク媒体１５が装着されるディスクドライブ１０、有線若しくは無線により外部機器との間との通信を可能にする通信制御部１１、ジオメトリプロセッサ１２、メモリ１３、ＣＰＵ１４、レンダリングプロセッサ１６が、バスにより相互にデータの送受信が可能に接続されている。
レンダリングプロセッサ１６には、ビデオ信号などの画像信号をディスプレイ４１に出力するためのディスプレイコントローラ４０が接続されている。
【００２４】
ディスクドライブ１０は、ディスク媒体１５から画像処理用のデータ及びプログラムを読み出し、これをメモリ１３に格納する。画像処理用のデータは、例えば、プリミティブについての図形データなどである。この実施形態における図形データは、例えばプリミティブについての頂点座標値（Ｘ，Ｙ，Ｚ）、頂点輝度値（Ｒ，Ｇ，Ｂ）、ベクトル値、頂点同士の接続状況を表す連結情報、などを含んでいる。
通信制御部１１は、上述の画像処理用のデータ及びプログラムを外部機器から取り込み、これをメモリ１３に格納する。すなわち、通信制御部１１は、ディスクドライブ１０がディスク媒体１５から取り込むデータと同様のデータを外部機器から取り込んでメモリ１３に格納するように動作する。
このような構成を採用することにより、画像処理装置１は、ディスクドライブ１０と通信制御部１１の少なくとも一方から、画像処理用のデータ及びプログラムを受領することができる。
【００２５】
ジオメトリプロセッサ１２は、ＣＰＵ１４の制御のもと、メモリ１３に格納された図形データに対して、アフィン（affine）変換処理、頂点に対する光源処理などのジオメトリ処理を行う。ジオメトリ処理の結果得られるジオメトリデータは、プリミティブについての頂点座標値（Ｘ，Ｙ，Ｚ）、各頂点でのテクスチャ座標値（Ｓ，Ｔ，Ｑ）、頂点輝度値（Ｒ，Ｇ，Ｂ，Ａ）など、プリミティブの属性を表すデータからなる。頂点輝度値の“Ａ”は、公知のアルファブレンディング処理を行う際に用いられる半透明係数である。
【００２６】
メモリ１３には、ディスクドライブ１０及び通信制御部１１の少なくとも一方から取り込んだ画像処理用データ及びプログラムが格納されるほか、画像処理装置１による処理の際に生成される各種データも格納される。これにより、画像処理装置１におけるメインメモリとしても利用される。
【００２７】
ＣＰＵ１４は、各構成要素間のデータの受け渡し、例えば、ジオメトリプロセッサ１２で生成されたジオメトリデータを、メモリ１３等をバッファとしてレンダリングプロセッサ１６へ伝達させるための制御等を行う。
なお、本実施形態では、ジオメトリプロセッサ１２をＣＰＵ１４とは別に設けた例を示すが、これらが一体となって、ＣＰＵ１４がジオメトリプロセッサ１２の機能を持つようにしてもよい。
【００２８】
レンダリングプロセッサ１６は、ジオメトリプロセッサ１２で生成されたジオメトリデータに基づいてマルチパスレンダリングを行う。
ディスプレイコントローラ４０は、レンダリング処理の結果生成された２次元画像を、ディスプレイ４１で表示可能な構造の画像信号に変換してディスプレイ４１へ出力する。この画像信号によりディスプレイ４１に画像が表示される。
【００２９】
レンダリングプロセッサ１６は、より具体的には、プリミティブバッファ２１、マルチパス制御部２２、ＸＹＺクリップ部２３、セットアップＤＤＡ（Digital Differential Analyzer）部（以下、「ＳＵ／ＤＤＡ部」という）２４、Ｚテスト部２５、Ｚバッファ２６、ステンシルテスト部２７、ステンシルバッファ２８、プリミティブ選別部２９、プリミティブ編集部３０、テクスチャマッピング部３１、フレームバッファ３２を備えている。
Ｚテスト部２５、ステンシルテスト部２７、プリミティブ選別部２９、及びプリミティブ編集部３０は、それぞれ本発明におけるテスタの一構成要素となるものである。
これらの構成要素は、半導体デバイスなどにより個別に実現することができるが、汎用のディジタルシグナルプロセッサ（Digital Signal Processor：ＤＳＰ）、或いはグラフィックプロセッサ（Graphic Processor：ＧＰ）等と、コンピュータプログラムとの協働により、すなわち、これらのプロセッサがコンピュータプログラムを読み込んで実行することにより実現されるようにしてもよい。
【００３０】
プリミティブバッファ２１は、プリミティブの少なくとも１グループ分のジオメトリデータを、これらのプリミティブの各々の属性データの一例として格納する。プリミティブの１グループとは、例えば、ディスプレイ４１における一つの画面上の画像又は一つのオブジェクトを構成するプリミティブの集合を指す。各プリミティブには、それぞれを識別するための識別情報となる識別番号（以下、「プリミティブ番号」という）が、これも属性データの一つとして付される。
【００３１】
図２は、プリミティブバッファ２１に格納されるジオメトリデータと、各ジオメトリデータに付されるプリミティブ番号（PN1、PN2…）との関係を示した図である。なお、図示の例以外に、ジオメトリデータのそれぞれに、そのジオメトリデータをマルチパスレンダリングに用いるか否かを表すためのフラグを対応付けておいてもよい。
【００３２】
ジオメトリデータが、三角形状を表現するための所謂トライアングルストリップ（triangle  strip)データになっている場合、ジオメトリデータは、トライアングルストリップの各頂点について生成される。そのために、レンダリングプロセッサ１６は、各頂点のジオメトリデータにプリミティブ番号を付してプリミティブバッファ２１に格納する。
トライアングルストリップデータによるトライアングルストリップの例を図３に示す。図示の「０」〜「７」はそれぞれ頂点である。図３のようなトライアングルストリップデータの場合は、頂点０，１，２…７のそれぞれにプリミティブ番号が付される。トライアングルファンにも、同様のプリミティブバッファ２１を用いることができる。
【００３３】
プリミティブバッファ２１は、ジオメトリプロセッサ１２とレンダリングプロセッサ１６との間におけるジオメトリデータの転送が、マルチパスレンダリングのパス毎に発生してしまうことを防止するために設けられる。このプリミティブバッファ２１を介在させることにより、ジオメトリプロセッサ１２とレンダリングプロセッサとの間のオーバヘッドを低減させることができる。
プリミティブバッファ２１は、この実施形態ではレンダリングプロセッサ１６内に設けることとしているが、これに限らずレンダリングプロセッサ１６とは独立に設けるようにしてもよい。また、メモリ１３内に設けるようにしてもよい。
【００３４】
マルチパス制御部２２は、マルチパスレンダリングの制御を行う。例えば、レンダリングプロセッサ１６内の各構成要素に対して、後述するＺバッファ描画、テストパス、マルチパスレンダリングのどれを実行するかを通知する。また、プリミティブバッファ２１から、レンダリング処理されるプリミティブのジオメトリデータ及びそのジオメトリデータのプリミティブ番号を読み出してＸＹＺクリップ部２３へ送る。
マルチパスレンダリングの実行中、マルチパス制御部２２は、ジオメトリデータを必要に応じて変更する。例えば、１つのプリミティブ（例えば、ポリゴン）に対してパス毎に異なるテクスチャをマッピングする場合、テクスチャ座標値の倍率を変えたり、或いはシフトさせる処理を行う。
【００３５】
マルチパス制御部２２は、また、必要に応じて、テクスチャの原点座標のシフト量を変更させる。この変更の処理を行うことにより、レンダリングプロセッサ１６で、テクスチャ座標軸毎の線形変換を行うことが可能となる。さらにマルチパス制御部２２は、必要に応じて、頂点輝度値（Ｒ，Ｇ，Ｂ，Ａ）を選択的に固定値に置き換える。これにより、レンダリングプロセッサ１６において、例えば２パス目以降に同じ頂点輝度値を再送する無駄を無くすことができる。
【００３６】
ＸＹＺクリップ部２３は、予め用意されているクリップデータに基づいて、マルチパス制御部２２から送られたジオメトリデータによるプリミティブの３次元のクリッピング（Clipping）を行う。クリップデータは、ディスプレイ４１の表示領域を表すデータであり、クリッピングは、クリップデータによる表示領域外となるプリミティブの除去、或いは、表示領域からはみ出すプリミティブについての形状変更等を行う処理である。
【００３７】
ここで、クリッピングの動作を図４、図５を参照して具体的に説明する。
図４は、頂点座標（Ｘ１，Ｙ１）、（Ｘ２，Ｙ２）、（Ｘ３，Ｙ３）で表されるプリミティブ５１とディスプレイ４１の表示領域５０との関係を表している。ＸＹＺクリップ部２３は、プリミティブ５１が表示領域５０からはみ出しているときに、クリッピングによりその形状の変更を行う。この変更された形状のプリミティブ５２と表示領域５０との関係を示したのが図５である。
ＸＹＺクリップ部２３は、図５のように、表示領域５０からはみ出しているプリミティブ５１の形状を変更し、頂点座標（Ｘ３，Ｙ３）、（Ｘ６，Ｙ６）、（Ｘ５，Ｙ５）、（Ｘ４，Ｙ４）、（Ｘ７，Ｙ７）からなる新たなプリミティブ５２を生成する。この新たなプリミティブ５２のプリミティブ番号は、形状変更前のプリミティブ５１と同じ番号である。
ＸＹＺクリップ部２３は、クリッピング後のジオメトリデータとプリミティブ番号とを、ＳＵ／ＤＤＡ部２４へ送る。
【００３８】
ＳＵ／ＤＤＡ部２４は、セットアップ処理及びＤＤＡ処理を行う。
セットアップ処理とは、ＸＹＺクリップ部２３から送られたクリッピング後のジオメトリデータに基づいて、ＤＤＡ処理に用いられる初期座標値及び傾き値を算出する処理である。
ＤＤＡ処理とは、セットアップ処理で算出された初期座標値及び傾き値に基づいて、プリミティブの頂点間を線形補間すると共に、プリミティブ内部についても補間して、プリミティブを構成する各ピクセルの座標値（Ｘ，Ｙ，Ｚ）、輝度値（Ｒ，Ｇ，Ｂ，Ａ）、テクスチャマッピングのためのテクスチャ座標値（Ｓ，Ｔ，Ｑ）等を含む補間データを求める処理である。
例えば図５に示したプリミティブ５２の場合は、斜線で示した部分の各ピクセルについて補間データを求める。ただし、後述するＺバッファ描画及びテストパスの際には、ＳＵ／ＤＤＡ部２４は、各ピクセルの座標値の補間のみを行うようにしてもよい。
ピクセル毎の補間データは、プリミティブ番号とともに、Ｚテスト部２５に送られる。
【００３９】
Ｚテスト部２５は、Ｚバッファ描画時とテストパス時とで異なる形態の処理を行う。
Ｚバッファ描画時にＺテスト部２５は、ピクセル毎に、ＳＵ／ＤＤＡ部２４から送られる補間データに含まれるＺ値とＺバッファ２６に書き込まれているＺ値とを比較し、比較の結果に基づいて、いずれかのＺ値をＺバッファ２６に書き込む。例えば、より視点に近い方のＺ値を選択し、このＺ値をＺバッファ２６に書き込む。ＳＵ／ＤＤＡ部２４から送られたＺ値を選択した場合は、このＺ値によりＺバッファ２６の当該ピクセルのＺ値を更新する。Ｚバッファ２６に記憶されていたＺ値を選択した場合には、Ｚバッファ２６の更新は行わない。
但し、１ピクセルのＺバッファについて、そのピクセルの全域を埋めないプリミティブについては、その背面部分に表示に必要な他のプリミティブが存在することがあるので、アンチエイリアシング（Anti-Aliasing）のために、Ｚテスト部２５は、そのピクセルのＺ値をＺバッファ２６に書き込まないでおく。また、プリミティブが透明または半透明な場合にも、同様の理由でＺバッファ２６にＺ値を書き込まない。
他方、テストパス時にＺテスト部２５は、Ｚバッファ２６に記憶されたＺ値とＳＵ／ＤＤＡ部２４から送られた補間データとをピクセル毎に比較して、Ｚバッファ２６に記憶されたＺ値と同じＺ値を持つ補間データを選択する。そして、選択した補間データを、プリミティブ番号と共にステンシルテスト部２７へ送る。なお、前述のようにＺバッファ２６にＺ値が書き込まれていない場合には、Ｚテスト部２５は、最も視点に近いＺ値を持つ補間データを選択して、これをプリミティブ番号と共にステンシルテスト部２７へ送る。
【００４０】
Ｚバッファ２６には、Ｚバッファ描画の結果として、ピクセル毎に視点に最も近いプリミティブのＺ値が書き込まれる。
なお、レンダリングパスをピクセル単位でなく、サブピクセル単位で実行し、より高解像度の画像をレンダリングすることもできる。この場合は、サブピクセル用のＺバッファを用い、サブピクセルのレンダリング処理を終えた時点で、実際のピクセルを求めるための縮小描画を行う。
【００４１】
図６は、縦３×横２ピクセルをサブピクセルで表示した例を示した図である。図６において、各ピクセルは、４×４のサブピクセルに分割されている。この例では右上がりの斜線が描かれている。右下のピクセルは、通常のピクセルでは、斜線が描かれないピクセルと判断される。しかし、サブピクセルを用いると、１つのサブピクセルにこの斜線が描かれるので、右下のピクセルにも斜線が影響を与えることになる。このように、サブピクセル単位でＺ値を書き込むことにより、一つのピクセルに２以上のプリミティブが含まれる場合であっても、すべてのプリミティブを考慮した表示が可能となる。
Ｚバッファ２６の記憶容量に余裕がある場合には、Ｚ値の他に、当該Ｚ値のプリミティブに付されたプリミティブ番号を格納するようにしてもよい。
【００４２】
ステンシルテスト部２７は、ステンシルバッファ２８に格納されているステンシルデータに基づいてステンシルテストを行う。
このステンシルテストの概要を図７を参照して説明する。
図７に示すように、ステンシルデータは、ディスプレイ４１への表示を許可しない非許可領域５３と、許可する許可領域５４とを表すものである。本実施形態によるステンシルテストは、例えばＺテスト部２５から送られる補間データの座標値とステンシルデータの座標値を比較することで、許可領域５４にプリミティブ５２が表示されるか否か、すなわち許可領域５４に位置する補間データが存在するか否かを判別する処理である。表示されるプリミティブ５２のプリミティブ番号は、プリミティブ選別部２９へ送られる。
マルチパスレンダリングの場合は、表示されるプリミティブの補間データをテクスチャマッピング部３１へ送る。
【００４３】
ステンシルバッファ２８は、ステンシルデータを格納し、ステンシルテスト部２７からの要求により、これを随時読み出すように構成される。ステンシルバッファ２８に格納されるステンシルデータは、例えば、バスを介してメモリ１３から供給される。
【００４４】
ＸＹＺクリップ部２３、Ｚテスト部２５及びステンシルテスト部２７により、ディスプレイ４１に表示されるピクセルを含むプリミティブと表示されないプリミティブとが分けられる。
ディスプレイ４１に表示されるピクセルを含むプリミティブのプリミティブ番号は、ステンシルテスト部２７からプリミティブ選別部２９へ送られる。
【００４５】
プリミティブ選別部２９は、図８に示すように、アドレス制御部６１と選別テーブル６２とを備えて構成される。
選別テーブル６２は、アドレス（ＮＡ１，ＮＡ２，…）と、ディスプレイ４１に表示されるかどうかを表すための可視フラグとが記録される。
アドレスは、プリミティブバッファ２１に格納されたプリミティブデータに付されるプリミティブ番号（ＰＮ１，ＰＮ２，…）に対応している。
アドレス制御部６１は、選別テーブル６２の初期化、選別テーブル６２のアドレス計算、可視フラグの変更を行う。例えば、アドレス制御部６１は、全プリミティブのＺバッファ描画が終了した時点で可視フラグを“０”クリア（初期化）する。そして、ステンシルテスト部２７から送られるプリミティブ番号を、選別テーブル６２のアドレスに変換し、そのアドレスに対応する可視フラグを“０”から“１”へ変更する。
“１”の値が格納された可視フラグのアドレスは、ディスプレイ４１に表示されるプリミティブのプリミティブ番号に対応する。また、“０”の値が格納された可視フラグのアドレスは、ディスプレイ４１に表示されるピクセルを一つも含んでいないプリミティブのプリミティブ番号に対応する。
なお、アドレスは、上述のプリミティブ番号と同じものであってもよい。
【００４６】
プリミティブが、図９に示したトライアングルストリップである場合、選別テーブル６２の内容は、図１０のようになる。図９の例では、頂点２、３、４で構成される三角形のプリミティブが形成されていない。
すなわち、頂点０，１，２…７のそれぞれのプリミティブ番号に対応したアドレスに、表示するか否かを表す可視フラグが格納される。トライアングルストリップの場合には、各頂点のジオメトリデータが０から順に読み出されて三角形のプリミティブが生成される。例えば、頂点０、１のジオメトリデータが読み出された後に、頂点２のジオメトリデータが読み出され、頂点０、１、２による三角形のプリミティブが生成される。頂点０、１についての可視フラグは、“Not Active”とされ、頂点０、１は可視フラグに左右されない。
図１０の例では、アドレスＮＡ４に対応するプリミティブ番号４の頂点４は、表示されない。これは、レンダリング処理の際に、頂点４のジオメトリデータを読み出したときには、それによってできる頂点２、３、４による三角形が形成されないことを意味しており、頂点４に関係するすべての三角形が形成されないことを意味するものではない。つまり、頂点２、３、４による三角形は形成されないが、頂点３、４、５による三角形、頂点４、５、６による三角形は形成される。また、トライアングルファンについても同様の選別テーブル６２を用いることができる。
【００４７】
可視フラグは、単一の数値、あるいは二値のほか、整数値を保持できるものとしてもよい。この場合のアドレス制御部６１は、ステンシルテスト部２７から送られてくる各ピクセルのプリミティブ番号を、選別テーブル６２のアドレスへ順次変換し、そのアドレスに対応する可視フラグの値を順次インクリメントする。これにより、可視フラグは、プリミティブ毎に、ディスプレイ４１上に表示されるピクセル数に応じた数値を呈することになる。
【００４８】
プリミティブ選別部２９の選別テーブル６２への書き込みは数ビット程度のサイズなので、フレームバッファ３２への書き込みに比べてページブレイクを起こす可能性が非常に低い。そのため、高速なテストパス処理が可能である。
【００４９】
プリミティブ編集部３０は、本発明の編集手段の一例となるもので、プリミティブ選別部２９の選別テーブル６２に基づいて、ディスプレイ４１に表示されないプリミティブのプリミティブ番号を確認する。そして、確認したプリミティブ番号に対応するジオメトリデータが、プリミティブバッファ２１から読み出されないようにする。
例えば、プリミティブ編集部３０は、選別テーブル６２の可視フラグが“０”であるアドレスに対応するプリミティブ番号を確認して、このプリミティブ番号に対応するプリミティブがマルチパスレンダリングの際にプリミティブバッファ２１から読み出されないようにする。プリミティブバッファ２１内の各ジオメトリデータに、マルチパスレンダリングに用いるか否かを表すためのフラグが付されている場合には、このフラグにより、マルチパスレンダリングの際に読み出されないようにする。ジオメトリデータを、プリミティブバッファ２１から消去するようにしてもよい。
【００５０】
テクスチャマッピング部３１は、パス数に応じた回数のレンダリング処理を行う。テクスチャマッピング部３１は、例えば、パス毎に異なるテクスチャを同一のプリミティブにマッピングする。このマッピングによってフレームバッファ３２に、表示対象となる画像が描画される。
【００５１】
フレームバッファ３２は、ディスプレイ４１に対応したメモリ空間を備えており、そのメモリ空間上に、当該ディスプレイ４１の２次元平面に対応するようにして各ピクセルの描画を行う。フレームバッファ３２に描画されたフレーム単位の画像は、ディスプレイコントローラ４０を介して画像信号としてディスプレイ４１に送られ、表示される。
【００５２】
次に、上記のように構成される画像処理装置１の動作、特にレンダリングプロセッサ１６によるレンダリング処理方法の例を具体的に説明する。
前提として、レンダリングプロセッサ１６のプリミティブバッファ２１に、ジオメトリプロセッサ１２によるジオメトリ処理の結果であるジオメトリデータが、属性データの一例として格納されているものとする。
【００５３】
図１１は、このレンダリング処理方法の概要図である。
レンダリングプロセッサ１６は、プリミティブバッファ２１に格納されているすべてのジオメトリデータに対してＺバッファ描画を行い、視点に近いＺ値をＺバッファに書き込む（ステップＳ１０）。このＺバッファ描画が終了すると、レンダリングプロセッサ１６は、プリミティブ選別部２９の選別テーブル６２をクリアして、可視フラグをすべて“０”にする（ステップＳ２０）。次いで、テストパスを行い、その結果に応じて選別テーブル６２の可視フラグを変更する（ステップＳ３０）。テストパスにより、選別テーブル６２には、ディスプレイ４１に表示されるプリミティブか表示されないプリミティブかを表すフラグが格納されるので、レンダリングプロセッサ１６は、この選別テーブル６２を確認して、プリミティブバッファ２１に格納されたジオメトリデータのうちディスプレイ４１に表示されないプリミティブのジオメトリデータを消去させる。つまり、プリミティブを消去させる（ステップＳ４０）。プリミティブの消去が終了すると、レンダリングプロセッサ１６は、ディスプレイ４１に表示されるプリミティブに対するマルチパスレンダリングを実行する（ステップＳ５０）。
このようにして無駄のないレンダリング処理を行うことが可能になる。
【００５４】
次に、図１１における各処理ステップの内容を、より具体的に説明する。
［Ｚバッファ描画：ステップＳ１０］
Ｚバッファ描画時の手順を図１２、データの流れを図１３に示す。
Ｚバッファ描画時には、まず、マルチパス制御部２２がプリミティブバッファからジオメトリデータをプリミティブ番号と共に読み出して、これをＸＹＺクリップ部２３に送る（ステップＳ１１）。ＸＹＺクリップ部２３は、マルチパス制御部２２から送られてきたジオメトリデータに基づくプリミティブに対してクリッピングを行い、ディスプレイ４１の表示領域５０外に位置するプリミティブの除去、変形を行う。そして、この除去、変形の結果をジオメトリデータに反映させる（ステップＳ１２）。クリッピング後のジオメトリデータはプリミティブ番号とともにＳＵ／ＤＤＡ部２４へ送られる。なお、クリッピングにより除去されるプリミティブのジオメトリデータについては、ＳＵ／ＤＤＡ部２４へ送られることはない。
【００５５】
ＳＵ／ＤＤＡ部２４は、クリッピング後のジオメトリデータに基づいて補間を行い、プリミティブを構成する各ピクセルの座標値を生成する（ステップＳ１３）。ＳＵ／ＤＤＡ部２４は、生成した座標値を補間データとして、プリミティブ番号と共にＺテスト部２５へ送る。
【００５６】
Ｚテスト部２５は、ＳＵ／ＤＤＡ部２４から送られてきた各ピクセルの補間データを用いて、Ｚテストを行う（ステップＳ１４）。Ｚテスト部２５は、Ｚバッファ２６から当該ピクセルのＺ値を読み込み、このＺ値と補間データに含まれるＺ値とを比較して、より視点に近い方を選ぶ。Ｚバッファ２６から読み込んだＺ値の方が視点に近ければＺバッファ２６をそのままにしておき（ステップＳ１４：更新なし）、補間データに含まれるＺ値の方が視点に近ければ、Ｚバッファ２６のＺ値を更新する（ステップＳ１４：更新あり、ステップＳ１５）。
【００５７】
以上のような一連の処理を、プリミティブバッファ２１に格納されているすべてのジオメトリデータに対して行う（ステップＳ１６）。このようにしてＺバッファ描画が終了する。
Ｚバッファ描画が終了すると、Ｚバッファ２６には、ピクセル毎に視点に最も近いプリミティブのＺ値が書き込まれる。但し、１つのピクセルの全域を埋めない場合、プリミティブが透明または半透明である場合には、当該ピクセルにＺ値は書き込まれない。
【００５８】
［テストパス：ステップＳ３０］
図１４、図１５は、テストパス時の処理を説明する図である。テストパス時には、まず、マルチパス制御部２２がプリミティブバッファからジオメトリデータをプリミティブ番号とともに読み出して、これをＸＹＺクリップ部２３に送る（ステップＳ３１）。ＸＹＺクリップ部２３は、マルチパス制御部２２から送られてきたジオメトリデータに基づくプリミティブに対してクリッピングを行い、ディスプレイ４１の表示領域外に位置するプリミティブの除去、変形を行う（ステップＳ３２）。ＸＹＺクリップ部２３は、除去、変形の結果をジオメトリデータに反映させる。クリッピングのジオメトリデータはプリミティブ番号とともにＳＵ／ＤＤＡ部２４へ送られる。なお、クリッピングにより除去されるプリミティブのジオメトリデータについては、ＳＵ／ＤＤＡ部２４へ送られることはない。
【００５９】
ＳＵ／ＤＤＡ部２４は、クリッピング後のジオメトリデータに基づいて補間を行い、プリミティブを構成する各ピクセルの座標値を生成する（ステップＳ３３）。ＳＵ／ＤＤＡ部２４は、生成した座標値を補間データとして、プリミティブ番号とともにＺテスト部２５へ送る。
【００６０】
Ｚテスト部２５は、テストパス用の動作を行う。テストパス用の動作では、Ｚテスト部２５は、ＳＵ／ＤＤＡ部２４から送られた補間データのＺ値と、Ｚバッファ２６に格納されたＺ値とを比較して、合致するものについてはその補間データとプリミティブ番号とをステンシルテスト部２７へ送る（ステップＳ３４：合致する）。合致しない場合には、レンダリングプロセッサ１６は、プリミティブバッファ２１に格納されるすべてのジオメトリデータについてテストパスが終了したか否かを判断する（ステップＳ３４：合致しない、ステップＳ３７）。
なお、Ｚバッファ２６にＺ値が記憶されていないピクセルについては、最も視点に近いＺ値を持つ補間データとプリミティブ番号をステンシルテスト部２７へ送る。
【００６１】
ステンシルテスト部２７は、Ｚテスト部２５から送られた補間データについてステンシルテストを行う（ステップＳ３５）。ステンシルテストの結果、補間データが示すピクセルが許可領域５４にある場合には、このピクセルは表示するのでプリミティブ番号をプリミティブ選別部２９へ送る（ステップＳ３５：表示）。補間データが示すピクセルが非許可領域５３にある場合には、レンダリングプロセッサ１６は、プリミティブバッファ２１に格納されるすべてのジオメトリデータについてテストパスが終了したか否かを判断する（ステップＳ３５：非表示、ステップＳ３７）。
【００６２】
プリミティブ選別部２９は、ステンシルテスト部２７からプリミティブ番号が送られてくると、このプリミティブ番号に対応したアドレスの可視フラグを“１”に更新する（ステップＳ３６）。
以上のような処理をプリミティブバッファ２１に格納されるすべてのジオメトリデータについて行う（ステップＳ３７）。このようにしてテストパスが終了する。
【００６３】
Ｚバッファ描画及びテストパスにより、ディスプレイ４１に表示されないプリミティブが選別される。つまり、ＸＹＺクリップ部２３によるクリッピングにより表示領域５０外のプリミティブが選別され、Ｚテスト部２５によるＺテストにより他のプリミティブにより隠されるプリミティブが選別され、ステンシルテスト部２７によるステンシルテストにより非許可領域５３のプリミティブが選別される。
以上のようにして選別されたプリミティブのプリミティブ番号に対応する、プリミティブ選別部２９のアドレスの可視フラグが“０”である。このプリミティブがディスプレイ４１に表示されないものである。
つまり、ＸＹＺクリップ部２３、Ｚテスト部２５、ステンシルテスト部２７により、ディスプレイ４１に表示されるプリミティブと表示されないプリミティブとが分けられ、表示されるプリミティブのみ、プリミティブ選別部２９の可視フラグが“１”になる。ＸＹＺクリップ部２３、Ｚテスト部２５、ステンシルテスト部２７の少なくとも一つで表示されないプリミティブに選別されたプリミティブは、可視フラグが“０”のままである。
【００６４】
なお、ここではＺテストをテストパスとは異なるパスで実行する例を示しているが、Ｚバッファ２６の記憶容量に余裕がある場合には、Ｚテストをテストパスと同じパスで行うことも可能である。この場合には、Ｚテスト時に、Ｚバッファ２６にＺ値とともに当該Ｚ値のプリミティブ番号を書き込むようにして、最も視点に近いプリミティブがわかるようにする。Ｚテストの結果、Ｚバッファ２６に書き込まれたプリミティブ番号によりプリミティブの選別が可能となり、Ｚバッファ描画及びテストパスを１回のパスで行うことができる。
この実施形態では、ステップＳ３０において選別テーブル６２の可視フラグを“０”にしてテストパスを行っているが、この工程を省いてもよい。この場合には、Ｚバッファ描画及びテストパスにより、ディスプレイ４１に表示されるプリミティブと表示されないプリミティブとを判別して、可視フラグを“０”又は“１”にセットする。
また、ＸＹＺクリップ部２２、Ｚテスト部２５、ステンシルテスト部２７のそれぞれで、表示されないプリミティブとして選別されたプリミティブの選別番号を、それぞれから、プリミティブ選別部２９に送るようにしてもよい。
【００６５】
［プリミティブ消去：ステップＳ４０］
レンダリングプロセッサ１６は、プリミティブ選別部２９の選別テーブル６２に基づいて、プリミティブバッファ２１に格納されたジオメトリデータのうちディスプレイ４１に表示されないプリミティブのジオメトリデータが、マルチパスレンダリングの際に読み出されないようにする（ステップＳ４０）。図１６は、プリミティブ消去時のレンダリングプロセッサ１６における処理を説明する図である。
【００６６】
プリミティブ編集部３０は、プリミティブ選別部２９の選別テーブル６２の可視フラグにより、ディスプレイ４１に表示するプリミティブと、表示されないプリミティブとを確認する。例えば、図８の選別テーブル６２で、可視フラグが“０”のアドレスに対応するプリミティブ番号のプリミティブが表示されないプリミティブ、可視フラグが“１”のアドレスに対応するプリミティブ番号のプリミティブが表示されるプリミティブである。
プリミティブ編集部３０は、確認した表示されないプリミティブのジオメトリデータを、プリミティブバッファ２１から消去する。
これにより、マルチパスレンダリングの際に処理されるジオメトリデータが、ディスプレイ４１に表示されるもののみとなり、マルチパスレンダリングによるレンダリングプロセッサへの付加が軽減される。
【００６７】
なお、例えば、トライアングルストリップの場合には、すべてのジオメトリデータを使用するので、ジオメトリデータの消去は行えない。そのために、例えば、ジオメトリデータのそれぞれに、マルチパスレンダリングに用いるか否かを表すためのフラグを付して、これによりディスプレイ４１に表示されないプリミティブを表すようにする。当然、トライアングルストリップ以外でも、ジオメトリデータの消去を行わず、このようなフラグを用いるようにしてもよい。
【００６８】
［マルチパスレンダリング：ステップＳ５０］
図１７、図１８は、マルチパスレンダリング時の処理を説明する図である。
マルチパスレンダリング時には、まず、マルチパス制御部２２がプリミティブバッファからジオメトリデータをプリミティブ番号とともに読み出して、これをＸＹＺクリップ部２３に送る（ステップＳ５１）。
【００６９】
ＸＹＺクリップ部２３は、マルチパス制御部２２から送られてきたジオメトリデータに基づくプリミティブに対してクリッピングを行い、ディスプレイ４１の表示領域外に位置するプリミティブの除去、変形を行う（ステップＳ５２）。ＸＹＺクリップ部２３は、除去、変形の結果をジオメトリデータに反映させる。クリッピングのジオメトリデータはプリミティブ番号とともにＳＵ／ＤＤＡ部２４へ送られる。
【００７０】
ＳＵ／ＤＤＡ部２４は、クリッピング後のジオメトリデータに基づいて補間を行い、プリミティブを構成する各ピクセルの座標値、輝度値、テクスチャ座標値を含む補間データを生成する（ステップＳ５３）。ＳＵ／ＤＤＡ部２４は、生成した補間データを、プリミティブ番号とともにＺテスト部２５へ送る。
【００７１】
Ｚテスト部２５は、ＳＵ／ＤＤＡ部２４から送られた補間データに含まれるＺ値と、Ｚバッファ２６に格納されたＺ値とをピクセル毎に比較して、合致するものについてはその補間データとプリミティブ番号とをステンシルテスト部２７へ送る（ステップＳ５４：合致する）。合致しない場合には、ステップＳ５７へ移行する。
なお、Ｚバッファ２６にＺ値が記憶されていないピクセルについては、最も視点に近いＺ値を持つ補間データとプリミティブ番号をステンシルテスト部２７へ送る。
【００７２】
ステンシルテスト部２７は、Ｚテスト部２５から送られた補間データについてステンシルテストを行う（ステップＳ５５）。ステンシルテストの結果、補間データが示すピクセルが許可領域５４にある場合には、このピクセルは表示するので補間データをテクスチャマッピング部３１へ送る（ステップＳ５５：表示）。補間データが示すピクセルが非許可領域５３にある場合には、ステップＳ５７へ移行する。
【００７３】
テクスチャマッピング部３１は、ステンシルテスト部２７から送られた補間データに基づいて、フレームバッファ３２に描画を行う（ステップＳ５６）。以上のようにして１つのプリミティブについての描画が終了する。
レンダリングプロセッサ１６は、当該プリミティブを構成するすべてのピクセルについて描画が終了するまでステップＳ５４〜Ｓ５６の処理を実行する（ステップＳ５７）。
【００７４】
１つのプリミティブの描画が終了すると他のプリミティブについて描画が終了したか否かを確認する（ステップＳ５８）。描画が済んでいないプリミティブがあると、ステップＳ５１に戻る（ステップＳ５８：N）。すべてのプリミティブについて描画が終了すると（ステップＳ５８：Y）、決められたパスの回数だけ描画が終了したかを確認する（ステップＳ５９）。決められたパスの回数を満たしていなければステップＳ５１に戻る（ステップＳ５９：N）。すべてのプリミティブについて決められたパスが終了するとマルチパスレンダリングを終了する（ステップＳ５９：Y）。
【００７５】
以上の処理により、フレームバッファ３２（図１参照）には、ディスプレイ４１に表示すべき２次元画像が描画される。この後、ディスプレイコントローラ４０は、フレームバッファ３２に描画された２次元画像を画像信号に変換して、ディスプレイ４１へ送る。ディスプレイ４１は、この画像信号を表示する。
【００７６】
このように、本実施形態の画像処理装置１によれば、マルチパスレンダリングの際にプリミティブバッファ２１から読み出すジオメトリデータを必要最小限に抑えるので、レンダリング処理時の負荷を低減させることができる。
【００７７】
なお、レンダリングプロセッサ１６を図１９のような構成としてもよい。
図１９のレンダリングプロセッサ１６は、図１のレンダリングプロセッサとは、Ｚテスト部２５の前に占有率算出部３３を設けた点で異なる。
占有率算出部３３は、レンダリング処理されるサブピクセルの、１ピクセル分のサブピクセル全体に占める割合（占有率）をプリミティブ毎に算定するものである。占有率は、例えば、特開２００２−１４０７２２号（発明の名称：エイリアシングを除去した画像を描画する装置及び方法）に開示される装置及び方法により求めることができる。図２０は、１ピクセル内のプリミティブの占有率を説明する図である。図２０では、１ピクセルにプリミティブａ、ｂ、ｃの３つのプリミティブが描画されている。それぞれの、１ピクセル内での占有率の比がプリミティブａ、ｂ、ｃの順で２：３：７である。
レンダリングプロセッサ１８は、この比にしたがってプリミティブａ、ｂ、ｃを合成し、このピクセルを代表するプリミティブとする。
プリミティブａ、ｂ、ｃは、このピクセルにレンダリングされるので、このピクセルについてプリミティブａ、ｂ、ｃでＺバッファ２６を更新しないようにする。このようなレンダリングプロセッサ１６により、ジャギーなどが効果的に抑えられるので、この方法によってもアンチエイリアシングが達成される。
なお、１ピクセル分毎の占有率を求めていく方法では、Ｚバッファは、占有率が１（不透明あるいはプリミティブ内部）の部分でのみそれを行い、占有率が１未満の境界部分では、Ｚバッファを行わない。そのため、境界での不自然さを無くすために、Ｚバッファを用いるにも拘わらず、Ｚソート（Ｚ値の並び替え）をおこない、遠方から順にフレームバッファ３２に書き込む。但し、この場合でも、他のプリミティブの影になるプリミティブについては除去される。
【００７８】
なお、以上の説明ではマルチパスレンダリングについて説明しているが、通常の１パスのみのレンダリング処理についても、テストパスを実行してディスプレイ４１に表示するプリミティブのみを描画するようにしてもよい。
【００７９】
【発明の効果】
以上の説明から明らかなように、本発明によればレンダリング処理、特にマルチパスレンダリング時の処理量を従来よりも格段に低減させることができる。
【図面の簡単な説明】
【図１】  本実施形態の画像処理装置のハードウェア構成図。
【図２】  プリミティブバッファに格納されたジオメトリデータの例示図。
【図３】  トライアングルストリップの説明図。
【図４】  クリッピングを説明するための図。
【図５】  クリッピングを説明するための図。
【図６】  サブピクセルの例示図。
【図７】  ステンシルテストの説明に用いる図である。
【図８】  プリミティブ選別部の構成例を示す図。
【図９】  トライアングルストリップの例示図。
【図１０】  プリミティブがトライアングルストリップのときの選別テーブルの例示図。
【図１１】  本実施形態のレンダリング処理の処理手順を表す図。
【図１２】  Ｚバッファ描画の処理手順を表す図。
【図１３】  Ｚバッファ描画のデータの流れを表す図。
【図１４】  テストパスの処理手順を表す図。
【図１５】  テストパスのデータの流れを表す図。
【図１６】  ディスプレイに表示されないプリミティブを消去するときのデータの流れを表す図。
【図１７】  マルチパスレンダリングの処理手順を表す図。
【図１８】  マルチパスレンダリングのデータの流れを表す図。
【図１９】  他の実施形態のレンダリングプロセッサのハードウェア構成図。
【図２０】  プリミティブの占有率の説明図。
【符号の説明】
１…画像処理装置、１０…ディスクドライブ、１１…通信制御部、１２…ジオメトリプロセッサ、１３…メモリ、１４…ＣＰＵ、１５…ディスク媒体、１６…レンダリングプロセッサ、２１…プリミティブバッファ、２２…マルチパス制御部、２３…ＸＹＺクリップ部、２４…セットアップ・ＤＤＡ部、２５…Ｚテスト部、２６…Ｚバッファ、２７…ステンシルテスト部、２８…ステンシルバッファ、２９…プリミティブ選別部、３０…プリミティブ編集部、３１…テクスチャマッピング部、３２…フレームバッファ、４０…ディスプレイコントローラ、４１…ディスプレイ、６１…アドレス制御部、６２…選別テーブル
【図１】
0003761085.tif 000002
【図２】
0003761085.tif 000003
【図３】
0003761085.tif 000004
【図４】
0003761085.tif 000005
【図５】
0003761085.tif 000006
【図６】
0003761085.tif 000007
【図７】
0003761085.tif 000008
【図８】
0003761085.tif 000009
【図９】
0003761085.tif 000010
【図１０】
0003761085.tif 000011
【図１１】
0003761085.tif 000012
【図１２】
0003761085.tif 000013
【図１３】
0003761085.tif 000014
【図１４】
0003761085.tif 000015
【図１５】
0003761085.tif 000016
【図１６】
0003761085.tif 000017
【図１７】
0003761085.tif 000018
【図１８】
0003761085.tif 000019
【図１９】
0003761085.tif 000020
【図２０】
0003761085.tif 000021