JP2014229217A - 2次元グラフィックス処理の高速化を図る画像処理装置及び画像処理方法 - Google Patents

2次元グラフィックス処理の高速化を図る画像処理装置及び画像処理方法 Download PDF

Info

Publication number
JP2014229217A
JP2014229217A JP2013110423A JP2013110423A JP2014229217A JP 2014229217 A JP2014229217 A JP 2014229217A JP 2013110423 A JP2013110423 A JP 2013110423A JP 2013110423 A JP2013110423 A JP 2013110423A JP 2014229217 A JP2014229217 A JP 2014229217A
Authority
JP
Japan
Prior art keywords
graphics
processing
dimensional
primitive
hardware
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.)
Pending
Application number
JP2013110423A
Other languages
English (en)
Inventor
栄作 大渕
Eisaku Obuchi
栄作 大渕
カザコフ マキシム
Kazakov Maxim
カザコフ マキシム
広志 海野
Hiroshi Unno
広志 海野
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.)
DIGITAL MEDIA PROFESSIONAL KK
Digital Media Professionals Inc
Original Assignee
DIGITAL MEDIA PROFESSIONAL KK
Digital Media Professionals 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 DIGITAL MEDIA PROFESSIONAL KK, Digital Media Professionals Inc filed Critical DIGITAL MEDIA PROFESSIONAL KK
Priority to JP2013110423A priority Critical patent/JP2014229217A/ja
Publication of JP2014229217A publication Critical patent/JP2014229217A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

【課題】CGアプリケーションを2次元グラフィックスハードウェアと3次元グラフィックスハードウェアとを用いて高速に処理する。
【解決手段】コンパイラ処理部10は、グラフィックスアプリケーション30内のシェーダプログラム31を読み込み、2次元グラフィックス処理に必要な機能を抽出した2次元グラフィックスハードウェア向け設定33と、当該2次元グラフィックス処理が含まれていない処理を含むシェーダバイナリ32と、を出力する。プリミティブ変換処理部20は、グラフィックスアプリケーション30内の頂点データ及び描画コマンドを読み込んで矩形プリミティブを抽出し、当該矩形プリミティブについては、2次元グラフィックス処理用のコマンドバッファ25へと出力し、当該矩形プリミティブ以外のプリミティブについては、頂点バッファ26と3次元グラフィックス処理用のコマンドバッファへ27と出力する。
【選択図】図1

Description

本発明は,3次元グラフィックスアプリケーションから,2次元の矩形プリミティブと,この矩形プリミティブに対する処理を抽出し,低コストかつ高速な2次元グラフィックスハードウェアに処理させるための画像処理装置に関するものである。すなわち,本発明の画像処理装置は,グラフィックスアプリケーションに含まれる2次元グラフィックスと3次元グラフィックスを分離して,2次元グラフィックスハードウェアと3次元グラフィックスハードウェアのそれぞれに描画処理させることにより,処理の効率化を図る。
近年,ゲーム機やカーナビゲーション装置などの分野においては,グラフィックスを3次元的にリアルタイムに描画する3次元画像表示装置が普及している。3次元画像表示装置は,例えばグラフィック処理チップなどにより実現されている。このグラフィックス処理チップには,プロセッサが搭載されており,このプロセッサは,プログラマが画像生成アルゴリズムを定義するシェーダが組み込まれることによって画像処理に特化した機能を有するものとなっている。シェーダは,主として,ライティング(光源計算),シェーディング(陰影処理),及びレンダリング(ピクセルに対する色値演算)等を実行するためにグラフィックリソースに対して使用するソフトウェア命令の組み合わせである。グラフィック処理チップで3次元の画像表示を行う方法としては,CPU側で処理を行うほか,グラフィック処理チップにおいて実装されたシェーダをプログラム可能に構成し,各シェーダを通じて最終的にレンダリングされるオブジェクトに対して処理を行うようにすることもできる。
ところで,ゲーム機やカーナビゲーション装置には,3次元グラフィックスだけでなく,2次元グラフィックスも表示される。例えば,ゲーム機を例に挙げて説明すると,キャラクタや建造物等の3次元的な描写が可能なオブジェクトは,3次元グラフィックスとして表示される。他方,アイコンや選択画面のような3次元的な描画の必要がないユーザーインターフェース等は,2次元グラフィックスとして表示されることが多い。このように,ゲーム機等に搭載された画像表示装置で処理されるグラフィックスアプリケーションは,平面的な矩形プリミティブ等で表現される2次元グラフィックスと,それ以外のプリミティブ等で表現される3次元グラフィックスが内在していることがある。このような場合であっても,従来,グラフィックスアプリケーションに含まれる2次元グラフィックスと3次元グラフィックスは,共に高性能な3次元グラフィックスハードウェアによって描画処理することが一般的であった。
ただし,2次元用のグラフィックスアプリケーションと3次元用のグラフィックスアプリケーションのそれぞれについて処理を行う際には,2次元用のグラフィックスアプリケーションについては,低コストで高速な2次元グラフィックスハードウェアで処理を行い,3次元用のグラフィックスアプリケーションについては,高性能な3次元グラフィックスハードウェアで処理を行うようにすることで,グラフィックス処理の効率化を図ることができるため,好ましいとされている。このような課題に対し,例えば特許文献1では,一つの装置において,2次元グラフィックスアプリケーションタと3次元グラフィックスアプリケーションの両方を扱うことができる技術が提案されている。
特許文献1に開示された発明は,2次元グラフィックス処理と3次元グラフィック処理とを共用するグラフィックス装置に関するものである。このグラフィックス装置は,一枚のボード上に,2次元グラフィックス処理用の2次元処理コントローラと,3次元グラフィック処理用の3次元処理コントローラと,描画コマンドの種類によって2次元処理コントローラと3次元処理コントローラとを切り替え可能なコントローラ切り替え回路と,を備えている。また,このグラフィックス装置は,2次元及び3次元用のアプリケーションから呼び出された描画コマンドに切り替え用のフラグを付すグラフィックスドライバを有している。
特開平11−353495号公報
しかしながら,特許文献1のグラフィックス装置は,2次元グラフィックスデータの処理命令と3次元グラフィックスデータの処理命令とを識別し,その識別結果により,2次元処理コントローラと3次元処理コントローラのどちらか一方にグラフィックスアプリケーションを入力して描画処理を実行するものに過ぎなかった。例えば,特許文献1のグラフィックス装置では,2次元グラフィックスデータの処理と3次元グラフィックスデータの処理の切り替えを行うために,2次元グラフィックスデータの処理を実行する場合には,2次元アプリケーション(Win32_GUI)から,装置に対して,2D処理であることが明示的に分かる形のコマンドを送り込む必要がある。このため,グラフィックスアプリケーション内に2次元グラフィックスデータと3次元グラフィックスデータの両方が含まれているような場合には,グラフィックスアプリケーションを処理することが出来なくなるか,もしくは描画処理機能の切替回数が増加してグラフィックスアプリケーションを高速に処理することが困難になるという問題があった。
そこで,本発明は,上記従来発明の問題点に鑑みてなされたものであり,2次元グラフィックスと3次元グラフィックスを含むグラフィックスアプリケーションを,2次元グラフィックスハードウェアと3次元グラフィックスハードウェアを効率的に用いて,高速に描画処理することのできる技術を提供することを目的とする。
本発明の発明者は,上記の従来発明の問題点を解決する手段について鋭意検討した結果,ドライバ後にプリミティブ変換処理を行うと共に,コンパイラ内で2次元機能抽出処理を行うことにより,グラフィックスアプリケーションから,2次元の矩形プリミティブと,2次元グラフィックス処理に必要な機能とを抽出して,低コストかつ高速な2次元グラフィックスハードウェアにて処理させることにより,3次元グラフィックスハードウェアだけでなく,2次元グラフィックスハードウェアを効率的に用いた高速な描画処理を実現することができるという知見を得た。そして,本発明者は,上記知見に基づけば,従来技術の課題を解決できることに想到し,本発明を完成させた。
具体的に説明すると,本発明は以下の構成を有する。
本発明の第1の側面は,2次元グラフィックス及び3次元グラフィックスを含むグラフィックスアプリケーションを,2次元グラフィックスハードウェア2及び3次元グラフィックスハードウェア3に処理させるための画像処理装置1に関する。
画像処理装置1は,コンパイラ処理部10と,プリミティブ変換処理部20を含む。
コンパイラ処理部10は,グラフィックスアプリケーション内のシェーダプログラムを読み込み,2次元グラフィックス処理に必要な機能を抽出した2次元グラフィックスハードウェア向け設定と,当該2次元グラフィックス処理が含まれていない処理を含むシェーダバイナリと,を出力する。
プリミティブ変換処理部20は,グラフィックスアプリケーション内の頂点データ及び描画コマンドを読み込んで矩形プリミティブを抽出し,当該矩形プリミティブについては,2次元グラフィックス処理用のコマンドバッファへと出力し,当該矩形プリミティブ以外のプリミティブについては,頂点バッファと,3次元グラフィックス処理用のコマンドバッファへと出力する。
そして,画像処理装置1は,2次元グラフィックスハードウェア向け設定と,2次元グラフィックス処理用のコマンドバッファとを用いて,2次元グラフィックスを2次元グラフィックスハードウェア2に描画処理させる。さらに,画像処理装置1は,シェーダバイナリと,頂点バッファと,3次元グラフィックス処理用のコマンドバッファとを用いて,3次元グラフィックスを3次元グラフィックスハードウェア3に描画処理させる。
本発明の画像処理装置において,コンパイラ処理部10は,フロントエンド処理部11と,2次元機能抽出部12と,バックエンド処理部13とを有していることが好ましい。
フロントエンド処理部11は,シェーダプログラムに対してフロントエンド処理を行い,中間表現へと変換する。
2次元機能抽出部12は,中間表現と,2次元グラフィックスハードウェアの処理パターンとのパターンマッチ処理を行うことにより,当該中間表現から,2次元グラフィックス処理に必要な機能を抽出する。
バックエンド処理部13は,中間表現に対してバックエンド処理を行い,2次元機能抽出部12が抽出した2次元グラフィックス処理に必要な機能を2次元グラフィックスハードウェア向け設定として出力すると共に,2次元グラフィックス処理が含まれていない処理を含むシェーダバイナリを出力する。
本発明の画像処理装置において,プリミティブ変換処理部20は,ドライバ21と,頂点バッファ22と,コマンドバッファ23と,プリミティブ変換部24とを有していることが好ましい。
ドライバ21は,グラフィックスアプリケーションから,頂点データ及び描画コマンドを取得する。
頂点バッファ22は,ドライバ21により取得された頂点データが格納される。
コマンドバッファ23は,ドライバ21により取得された描画コマンドが格納される。
プリミティブ変換部24は,頂点バッファ22とコマンドバッファ23を参照して,グラフィックスアプリケーション内の平面的な矩形プリミティブの抽出し,当該矩形プリミティブについては,2次元グラフィックス処理用のコマンドバッファ25へと出力し,当該矩形プリミティブ以外のプリミティブについては,再構成された頂点バッファ26と,3次元グラフィックス処理用のコマンドバッファ27へと出力する。
本発明の第2の側面は,画像処理装置1が,2次元グラフィックス及び3次元グラフィックスを含むグラフィックスアプリケーションを,2次元グラフィックスハードウェア2及び3次元グラフィックスハードウェア3に処理させる画像処理方法に関する。
本発明の画像処理方法においては,画像処理装置1が,コンパイラ処理工程と,プリミティブ変換処理工程と,2次元描画工程と,3次元描画工程とを実行する。
コンパイラ処理工程は,グラフィックスアプリケーション内のシェーダプログラムを読み込み,2次元グラフィックス処理に必要な機能を抽出した2次元グラフィックスハードウェア向け設定と,当該2次元グラフィックス処理が含まれていない処理を含むシェーダバイナリと,を出力する工程である。
プリミティブ変換処理工程は,グラフィックスアプリケーション内の頂点データ及び描画コマンドを読み込んで矩形プリミティブを抽出し,当該矩形プリミティブについては,2次元グラフィックス処理用のコマンドバッファへと出力し,当該矩形プリミティブ以外のプリミティブについては,頂点バッファと,3次元グラフィックス処理用のコマンドバッファへと出力する工程である。
2次元描画工程は,2次元グラフィックスハードウェア向け設定と,2次元グラフィックス処理用のコマンドバッファとを用いて,2次元グラフィックスを2次元グラフィックスハードウェア2に描画処理させる工程である。
3次元描画工程は,シェーダバイナリと,頂点バッファと,3次元グラフィックス処理用のコマンドバッファとを用いて,3次元グラフィックスを3次元グラフィックスハードウェア3に描画処理させる工程である。
本発明の第3の側面は,上記第1の側面に係る画像処理装置を具備するコンピュータに関する。
本発明の第4の側面は,上記第1の側面に係る画像処理装置を具備するゲーム機に関する。
本発明は,グラフィックスアプリケーション内に矩形プリミティブによって表現される2次元グラフィックスが含まれている場合には,この矩形プリミティブを抽出して2次元グラフィックスハードウェアで高速に処理することができる。従って,本発明は,2次元グラフィックスと3次元グラフィックスを含むグラフィックスアプリケーションを,2次元グラフィックスハードウェアと3次元グラフィックスハードウェアの両方を効率的に用いて高速に描画処理することができる。すなわち,通常は3次元グラフィックスハードウェアで行われていた処理を,2次元グラフィックスハードウェアで行うことにより,高解像度のデバイスに対する描画を行う際にも,高性能な3次元グラフィックスハードウェアを使用する必要がなくなる。また,ユーザーインターフェースのような画面を描画処理する場合,3次元グラフィックスよりも,アイコンや選択画面のように矩形プリミティブをベースとした2次元グラフィックスの画面が生成されることが多いため,2次元グラフィックスハードウェアを効率的に利用して矩形プリミティブに関する処理を高速化することで,グラフィックスアプリケーションに関する処理性能を全体的に改善することができる。
また,本発明では,3次元グラフィックス処理を前提とした3次元グラフィックスアプリケーション(OpenGL)を実行する場合であっても,その3次元グラフィックスアプリケーション内にある矩形プリミティブとこれに関連するシェーダを抽出することで,その3次元グラフィックスアプリケーション内の2次元グラフィックス処理を自動的に抽出することができる。従って,本発明では,3次元グラフィックスアプリケーション内にある2次元グラフィックス処理を,2次元グラフィックスハードウェアに自動的にマッピングすることが可能となる。その結果,本発明では,2次元グラフィックスハードウェアと3次元グラフィックスハードウェアを並列的又は時分割に実行して,3次元グラフィックスアプリケーションを実行することができる。特に,本発明では,3次元グラフィックスアプリケーション内の2次元グラフィックス処理が高速化される。さらに,本発明において,2次元グラフィックスハードウェアと3次元グラフィックスハードウェアの明示的な切り替えは必要とされない。
また,従来,2次元グラフィックスアプリケーションは,専用のAPIを利用して生成される場合が多かったため,ソフトウェア資産を様々なプラットフォーム向けに展開することが難しいという問題があった。これに対し,本発明では,3次元グラフィックスアプリケーション内に含まれる矩形プリミティブを自動的に抽出することが可能であるため,3次元グラフィックスアプリケーションとは別に,専用のAPIを利用して2次元グラフィックスアプリケーションを生成する必要がなくなる。すなわち,本発明の技術を利用することで,標準的な3次元グラフィックス用APIでつくられたアプリケーション内で生成される矩形プリミティブを,ソフトウェアの変更なしで高速に処理することが可能になる。
図1は,画像処理装置,2次元グラフィックスハードウェア,及び3次元グラフィックスハードウェアを含むシステムの例を示すブロック図である。 図2は,コンパイラにおける処理の一例を示すフロー図である。 図3は,2次元グラフィックスハードウェアにおける処理の一例を示すフロー図である。 図4は,グラフィックス処理用のコンピュータの構成の例を示すブロック図である。 図5は,ゲーム機の構成の例を示すブロック図である。
以下,図面を用いて本発明を実施するための形態について説明する。本発明は,以下に説明する形態に限定されるものではなく,以下の形態から当業者が自明な範囲で適宜修正したものも含む。
[1.画像処理装置,画像処理方法]
図1は,本発明に係る画像処理装置1と,2次元グラフィックスハードウェア2と,3次元グラフィックスハードウェア3を含む,システム全体のブロック図を示している。
図1に示されるように,画像処理装置1は,2次元グラフィックスハードウェア2及び3次元グラフィックスハードウェア3に接続されている。また,画像処理装置1は,コンパイラ処理部10とプリミティブ変換処理部20とを含む。画像処理装置1は,グラフィックスアプリケーション30を読み込んで,コンパイラ処理部10及びプリミティブ変換処理部20において処理することにより,2次元グラフィックスハードウェア2向けの情報と,3次元グラフィックスハードウェア3向けの情報とを出力する。すなわち,画像処理装置1のコンパイラ処理部10及びプリミティブ変換処理部20からの出力は,2次元グラフィックスハードウェア2又は3次元グラフィックスハードウェア3に選択的に入力されるように構成されている。
コンパイラ処理部10には,グラフィックスアプリケーション30内のシェーダプログラム31が入力される。コンパイラ処理部10は,シェーダプログラム31を解析してコンパイルを行うことにより,コンパイル済のバイナリファイルであるシェーダバイナリ32を出力する。また,コンパイラ処理部10は,シェーダプログラム31から,2次元グラフィックス処理に必要な機能を抽出し,2次元グラフィックスハードウェア向け設定33を出力する。なお,2次元グラフィックスハードウェア向け設定33は,グラフィックスアプリケーション30内に含まれる2次元グラフィックス処理用のシェーダプログラムに関する情報である。図1に示されるように,コンパイラ処理部10は,フロントエンド処理部11と,2次元機能抽出部12と,バックエンド処理部13と,を有している。コンパイラ処理部10では,フロントエンド処理部11がプログラミング言語のソースコードを中間表現に変換し,バックエンド処理部13がその中間表現をさらに変換して機械語などの出力言語のバイナリコードを生成し,バックエンド処理部13は,バックエンド(2次元グラフィックスハードウェア2又は3次元グラフィックスハードウェア3)において高速に動作する最適化したコードを生成する。また,コンパイラ処理部10では,フロントエンド処理部11とバックエンド処理部13の間において,2次元機能抽出部12が,シェーダプログラム31に記述された指令のうち,2次元グラフィックス処理用のシェーダプログラムを抽出し,3次元グラフィックス用のシェーダプログラムとは別に出力する。
フロントエンド処理部11は,グラフィックスアプリケーション30内のシェーダプログラム31が入力されると,構文解析等の一般的なフロントエンド処理を行い,シェーダ内演算機能を示す中間表現へと変換する。例えば,構文解析では,ソースプログラムの字句解析及び意味解析を行うことにより,ソースプログラムを中間表現(中間プログラム)へと変換する。
フロントエンド処理後の中間表現は,2次元機能抽出部12において解析される。2次元機能抽出部12は,2次元グラフィックスハードウェア2の処理パターンを予め保持しており,この2次元グラフィックスハードウェア2の処理パターンと,フロントエンド処理後の中間表現とのパターンマッチ処理を行う。そして,2次元機能抽出部12は,中間表現のうち,この2次元グラフィックスハードウェア2の処理パターンとマッチした部分(機能)を,2次元グラフィックス処理に必要な機能として抽出する。ここで,マッチングに必要な2次元グラフィックスハードウェア2の処理パターンは,画像処理装置1に接続された2次元グラフィックスハードウェア2を分析して,その2次元グラフィックスハードウェア2において実行可能な処理パターンを,予めグラフィックス処理用のメモリ等に記憶しておけばよい。また,処理パターンは,2次元グラフィックスハードウェア2特有のものであるため,画像処理装置1に接続された2次元グラフィックスハードウェア2が変更された場合には,その変更された2次元グラフィックスハードウェア2の処理パターンを保持することが好ましい。また,2次元グラフィックスハードウェア2の処理パターンとしては,例えば,2次元グラフィックスハードウェア2が有するブレンド式(例えば,アルファブレンド式)等を含む情報を用いることができる。このようにして2次元グラフィックス処理に必要な機能を抽出することで,2次元機能抽出部12は,フロントエンド処理後の中間表現を,2次元グラフィックス処理用の中間表現と,3次元グラフィックス処理用の中間表現とに分離する。
2次元機能抽出処理の後,バックエンド処理部13は,バックエンド処理を行なってハードウェアに依存するコードを生成する。すなわち,バックエンド処理部13は,2次元機能抽出部12によって抽出された2次元グラフィックス処理に必要な機能(中間表現)についてバックエンド処理を行うことで,2次元グラフィックスハードウェア向け設定33を出力する。他方,バックエンド処理部13は,2次元機能抽出部12によって抽出されなかった機能,すなわち3次元グラフィックス処理に必要な機能(中間表現)についてバックエンド処理を行うことで,2次元グラフィックス処理が含まれていない処理を含むシェーダバイナリ32を出力する。このようにバックエンド処理部13では,2次元機能抽出部12により得られた3次元グラフィックス処理用の中間表現と2次元グラフィックス処理用の中間表現のそれぞれにバックエンド処理を行うことで,3次元グラフィックスハードウェア3向けのシェーダバイナリ32と共に,2次元グラフィックスハードウェア向け設定33を出力する。バックエンド処理部13は,各中間表現を,2次元グラフィックスハードウェア2又は3次元グラフィックスハードウェア3において高速に動作する最適化したコードに変換する通常のバックエンド処理を行えばよい。
ここで,図2には,コンパイラ処理部10による処理工程の一実施形態が示されている。図2に示されるように,コンパイラ処理部10に入力されたシェーダプログラムは,構文解析などのフロントエンド処理が行われた後,シェーダ内演算機能を示す中間表現への変換処理が行われる。その後,変換された中間表現と,事前に用意された2次元グラフィックスハードウェアの処理パターンとのパターンマッチ処理が行われる。そして,中間表現のうち,2次元グラフィックスハードウェアの処理パターンとマッチした部分は,2次元グラフィックス処理用のシェーダ(2次元グラフィックスハードウェア向け設定)として出力処理される。他方,中間表現のうち,2次元グラフィックスハードウェアの処理パターンとマッチしなかった部分は,3次元グラフィックスハードウェア処理用のシェーダ(シェーダバイナリ)として出力処理される。
なお,本実施形態において,上記コンパイラ処理部10によるコンパイラ処理は,グラフィックスアプリケーションの実行時に行われるものであるが,例えば,コンパイラ処理は,アプリケーション実行前に事前に行われるものであってもよい。例えば,グラフィックスアプリケーションの実行前に,このグラフィックスアプリケーションを解析し,2次元グラフィックスハードウェア2の処理パターンとマッチングした部分を,2次元グラフィックス処理に必要な機能として抽出して予め保持しておくこととしてもよい。
他方,プリミティブ変換処理部20は,グラフィックスアプリケーション30から,2次元グラフィックス処理用の矩形プリミティブと,3次元グラフィックス処理用の他のプリミティブとを抽出して出力する。図1に示されるように,プリミティブ変換処理部20は,3次元グラフィックスドライバ21と,頂点バッファ22と,コマンドバッファ23と,プリミティブ変換部24と,を備えている。
3次元グラフィックスドライバ21は,グラフィックスアプリケーションから,3次元グラフィックス描画処理に必要となる頂点の位置情報(頂点座標)と,各頂点座標についての属性情報を持つ頂点データと,プリミティブを構成する頂点データの配列に関する描画コマンドを生成する。また,3次元グラフィックスドライバ21は,グラフィックスアプリケーションから生成した頂点データ及び描画コマンドを,それぞれ,頂点バッファ22とコマンドバッファ23に出力して記憶する。頂点バッファ22とコマンドバッファ23は,グラフィックス処理用のメモリの記憶領域内に生成すればよい。
頂点バッファ22には,色やテクスチャマッピング座標といった属性を示す頂点データが,各頂点の座標に関連付けて記憶される。また,コマンドバッファ23には,プリミティブを構成する頂点データの配列が描画コマンドとして記録され,頂点の並び順に沿って各頂点のアドレス情報が記録されている。頂点バッファ22においては,例えば,V〜VのN個の頂点データが記録されている。他方,コマンドバッファ23においては,プリミティブの頂点データが三角形や,四角形(矩形),その他の多角形を一単位とした配列として記録されている。このため,頂点バッファ22とコマンドバッファ23を参照することで,2次元処理用又は3次元処理用のプリミティブを把握することができる。また,コマンドバッファ23においては,2つの隣接する三角形のプリミティブを四角形(矩形)のプリミティブとして記録するものであってもよい。また,コマンドバッファにおける記録の仕方として,プリミティブの配列情報は,隣接する三角形のうち共通する2点の頂点についてはコマンドバッファに記録せずに,異なる頂点データへの参照値のみが記録されるものであってもよい。この場合,コマンドバッファ23の記録容量を抑制することができる。また,コマンドバッファ23は,アドレス情報への参照値である頂点インデックス値がシーケンスで記録されるとともに,このシーケンスの先頭データの位置に,プリミティブのサイズが記録される領域が設けられていてもよい。プリミティブサイズの記録領域が設けられることで,コマンドバッファ23の開始位置とサイズを把握可能となるため,プリミティブに属する頂点を識別することが可能となる。なお,プリミティブ変換部24に入力される頂点バッファ22としては,3次元グラフィックスハードウェア3によって予め座標変換が行われたバッファを用いることもできる。
プリミティブ変換部24は,頂点バッファ22とコマンドバッファ23を参照し,グラフィックスアプリケーションに含まれるプリミティブの中から平面的な矩形プリミティブを抽出することにより,2次元グラフィックス処理用のプリミティブと3次元グラフィックス処理用のプリミティブとを分離する。ここで,プリミティブ変換部24によって抽出される「平面的な矩形プリミティブ」とは,4つの頂点により定義されるプリミティブであって,カメラ座標系における4つの頂点のZ座標(奥行き値)がすべて等しいものを意味する。このように,Z座標が等しい4つの頂点によって定義される矩形プリミティブは,平面画像としてレンダリングされるものであるため,2次元グラフィックスハードウェア2によって描画処理することができる。なお,矩形プリミティブは,2点の頂点を共有する隣接した2つ三角形によって定義されるものであってもよい。図1に示されるように,プリミティブ変換部24は,頂点バッファ22とコマンドバッファ23とを読み込み,平面的な矩形プリミティブを抽出すると,抽出した矩形プリミティブを2次元グラフィックスハードウェア2において処理させるために,その矩形プリミティブに関する情報(描画コマンド)を,2次元グラフィックス処理用のコマンドバッファ25へと出力して記録する。他方,プリミティブ変換部24は,頂点バッファ22とコマンドバッファ23とを読み込み,上記平面的な矩形プリミティブ以外のプリミティブについては,3次元グラフィックスハードウェア3において処理させるために,矩形プリミティブ以外のプリミティブに関する情報(頂点データと描画コマンド)を,再構成された頂点バッファ26及び3次元グラフィックス処理用のコマンドバッファ27へと出力して記録する。このようにして,プリミティブ変換部24は,2次元グラフィックスハードウェア2によって処理することができる矩形プリミティブと,3次元グラフィックスハードウェア3によって処理する必要があるプリミティブとを分離する。
上述したコンパイラ処理及びプリミティブ変換処理の後,画像処理装置1は,グラフィックスアプリケーションから抽出した2次元グラフィックスを,2次元グラフィックスハードウェア2に描画処理させる。すなわち,画像処理装置1は,コンパイラ処理部10によって抽出した2次元グラフィックスハードウェア向け設定33と,2次元グラフィックス処理用のコマンドバッファ25に格納されているプリミティブ変換部24によって抽出した平面的な矩形プリミティブの情報とを,2次元グラフィックスハードウェア2へと出力する。2次元グラフィックスハードウェア2は,2次元グラフィックスハードウェア向け設定33と,2次元グラフィックス処理用のコマンドバッファ25とを用いて,矩形プリミティブを描画処理する。すなわち,2次元グラフィックスハードウェア2は,2次元グラフィックス処理用のコマンドバッファ25から矩形プリミティブを読み出し,2次元グラフィックスハードウェア向け設定33に基づいて,読み出した矩形プリミティブの描画処理を実行する。
2次元グラフィックスハードウェア2は,矩形プリミティブを処理可能な公知の装置を用いればよい。例えば,2次元グラフィックスハードウェア2としては,特開2000−242253号に開示されている「2次元画像処理装置」や,特開2000−020049号に開示されている「2Dグラフィックス処理装置」等を適宜用いればよい。2次元グラフィックスハードウェア2は,グラフィックスアプリケーションから抽出した平面的な矩形プリミティブのみを処理するものであるため,比較的低コストで,2次元グラフィックス処理に特化した高速のハードウェアを利用することが好ましい。
図3は,2次元グラフィックスハードウェア2における画像処理工程の一実施形態を示している。図4に示されるように,2次元グラフィックスハードウェア2は,矩形プリミティブが配置される複数の画面レイヤーに対して,画像の一部を切り出す切り出し処理,画像の回転処理,画像の拡大縮小を行うリサイズ処理,及び色空間の変換を行う色変換処理をそれぞれの画面レイヤーごとに行う。上記処理の後,2次元グラフィックスハードウェア2は,レイヤー合成処理において,すべての画面レイヤーを合成する。そして,2次元グラフィックスハードウェア2は,合成結果のイメージを,液晶ディスプレイ等の表示装置に出力する。
2次元グラフィックスハードウェア2は,図3に示されるように固定機能のパイプラインによって実現されたものであってもよいし,プログラマブルのパイプラインによって実現されたものであってもよい。また,2次元グラフィックスハードウェア2には,シェーダコアが搭載されていてもよい。シェーダコアでは,テクスチャ座標の生成,演算を用いテクスチャパターンの拡大縮小・回転操作や,プログラマブルな演算処理によるブレンディング処理を行うことが出来る。なお,2次元グラフィックスハードウェア2にシェーダコアを搭載した実施形態においては,コンパイラ処理部10において2次元グラフィックス処理機能を抽出する工程を省略することができる。
他方,上述したコンパイラ処理及びプリミティブ変換処理の後,画像処理装置1は,グラフィックスアプリケーションから得られた3次元グラフィックスを,3次元グラフィックスハードウェア3に描画処理させる。すなわち,画像処理装置1は,コンパイラ処理部10によって生成したシェーダバイナリ32と,再構成された頂点バッファ26に格納されている矩形プリミティブ以外のプリミティブの頂点データと,3次元グラフィックス処理用のコマンドバッファ27に格納されている矩形プリミティブ以外のプリミティブのコマンドデータとを,3次元グラフィックスハードウェア3へと出力する。3次元グラフィックスハードウェア3は,これらのシェーダバイナリ32と,再構成された頂点バッファ26と,3次元グラフィックス処理用のコマンドバッファ27とを用いて,平面的な矩形プリミティブ以外のプリミティブを描画処理する。すなわち,3次元グラフィックスハードウェア3は,再構成された頂点バッファ26及び3次元グラフィックス処理用のコマンドバッファ27から3次元用のプリミティブ(矩形プリミティブ以外)を読み出し,シェーダバイナリ32に基づいて,読み出した3次元用のプリミティブの描画処理を実行する。なお,図1に示した実施形態において,プリミティブ変換部24に入力される頂点バッファ22と,プリミティブ変換部24から出力される頂点バッファ(再構成されたもの)26を別々に示しているが,これらの頂点バッファ22,26は,同一のバッファ(メモリ)によって実現されたものであってもよい。
3次元グラフィックスハードウェア3は,プリミティブを処理可能な公知の装置を用いればよい。例えば,3次元グラフィックスハードウェア3としては,特開平05−266170に開示されている「3次元画像処理装置」や,特開平09−305794に開示されている「3次元画像処理装置」等を適宜用いればよい。
上記のようにして,コンパイラ処理によって出力された2次元グラフィックス処理用のシェーダ及び3次元グラフィックス処理用のシェーダと,プリミティブ変換処理により出力された2次元グラフィックス処理用のプリミティブ及び3次元グラフィックス処理用のプリミティブとを,それぞれ2次元グラフィックスハードウェア2又は3次元グラフィックスハードウェア3に入力することにより,各グラフィックスハードウェア2,3によって,描画処理が実行される。各グラフィックスハードウェア2,3における描画処理は,並列して行い,それぞれのハードウェアで描画されたイメージバッファを後処理で合成すればよい。もしくは,同じイメージバッファにそれぞれのグラフィックスハードウェア2,3を描画順で起動して描画を行うこととしてもよい。このように,本発明では,3次元グラフィックス処理を前提とした3次元グラフィックスアプリケーションを実行する場合であっても,その中から2次元グラフィックス処理に関する情報を自動的に抽出することで,2次元グラフィックスハードウェア2と3次元グラフィックスハードウェア3の両方を効率的に利用した描画処理をおこなうことができる。
[2.コンピュータ]
図4は,本発明の一実施態様に係るコンピュータを示すブロック図である。この実施態様は,コンピュータグラフィックスによるコンピュータ(グラフィック用コンピュータなど)に関する。図4に示されるとおり,このコンピュータは,中央演算装置(CPU)102,ジオメトリ演算回路103などのジオメトリ演算部,レンダラー104などの描画部,テクスチャ生成回路105などのテクスチャ生成部,照明処理回路107などの照光処理部,表示回路108などの表示情報作成部,フレームバッファ109,及びモニター110を具備する。これらの要素は,バスなどにより接続され,相互にデータを伝達できる。そのほか,図示しないメインメモリや,各種テーブル,ワーク領域となるワークメモリ111,テクスチャを格納するテクスチャメモリ112などを具備する記憶部などを有してもよい。各部を構成するハードウェアは,例えばバスなどを介して連結されている。なお,記憶部は,VRAMなどのRAMや,CR−ROM,DVD,ハードディスクなどにより構成されても良い。本発明に係る画像処理装置は,このようなコンピュータグラフィックス用のコンピュータに具備されて,実装されたものであってもよい。
中央演算装置(CPU)102は,画像を生成するためのプログラムなどを制御するための装置である。ワークメモリ111は,CPU102で使用するデータ及びディスプレイリストなどを記憶してもよい。そして,CPU102は,メインメモリに記憶されたプログラムなどを読み出して,所定の処理を行ってもよい。ただし,ハードウェア処理のみにより所定の処理を行っても良い。CPU102は,たとえばワークメモリ111から,ワールド座標の3次元オブジェクトデータとしてのポリゴンデータを読出し,ポリゴンデータをジオメトリ演算回路103へ出力する。具体的には,メインプロセッサ,コプロセッサ,データ処理プロセッサ,四則演算回路又は汎用演算回路などを適宜有するものがあげられる。これらはバスなどにより連結され,信号の授受が可能とされる。また,圧縮された情報を伸張するためのデータ伸張プロセッサを備えても良い。
具体的に説明すると,ジオメトリ演算回路103は,入力されたポリゴンデータに対して,視点を原点とするカメラ座標系のデータに座標変換などを行うための回路である。ジオメトリ演算回路103は,処理したポリゴンデータを,レンダラー104へ出力する。具体的なジオメトリ演算回路としては,前記メインプロセッサとバスなどで連結された,ジオメトリプロセッサ,コプロセッサ,データ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。
レンダラー104は,ポリゴン単位のデータをピクセル単位のデータに変換するための回路又は装置である。レンダラー104は,ピクセル単位のデータをテクスチャ生成回路105へ出力する。具体的なレンダラー104としては,前記メインプロセッサとバスなどで連結されたデータ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。
テクスチャ生成回路105は,テクスチャメモリ112に記憶されるテクスチャデータに基づき,ピクセル単位のテクスチャカラーを生成するための回路である。テクスチャ生成回路105は,テクスチャカラー情報を有するピクセル単位のデータを,照明処理回路107へ出力する。具体的なテクスチャ生成回路105としては,前記メインプロセッサとバスなどで連結されたデータ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。
照明処理回路107は,テクスチャカラー情報を有するポリゴンに対し,ピクセル単位で法線ベクトル,重心座標などを利用して陰影付けなどを行うための回路である。照明処理回路107は,陰影付けした画像データを,表示回路108へ出力する。具体的な照明処理回路107としては,前記メインプロセッサとバスなどで連結されたデータ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。そして,メモリに格納されたテーブルなどから適宜光に関する情報を読み出して陰影付けを行えばよい。
表示回路108は,照明処理回路107から入力された画像データをフレームバッファ109に書き込み,またフレームバッファ109に書き込まれた画像データを読み出し,制御して表示画像情報を得るための回路である。表示回路108は,表示画像情報をモニター110へ出力する。具体的な表示回路としては,前記メインプロセッサとバスなどで連結された描画プロセッサ,データ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。
モニター110は,入力された表示画像情報にしたがって,コンピュータグラフィックス画像を表示するための装置である。
[3.ゲーム機]
図5は,本発明の他の実施形態に係るゲーム機のブロック図である。このブロック図で表される実施形態は,特に携帯用,家庭用又は業務用のゲーム機として好適に利用されうる。そこで,以下では,ゲーム機として説明する。なお,同図に示されるゲーム機は,少なくとも処理部200を含めばよく(又は処理部200と記憶部270,又は処理部200と記憶部270と情報記憶媒体280を含んでもよく),それ以外のブロック(例えば操作部260,表示部290,音出力部292,携帯型情報記憶装置294,通信部296)については,任意の構成要素とすることができる。本発明に係る画像処理装置は,このようなゲーム機に具備されて,実装されたものであってもよい。
処理部200は,システム全体の制御,システム内の各ブロックへの命令の指示,ゲーム処理,画像処理,音処理などの各種の処理を行うものである。処理部200の機能は,各種プロセッサ(CPU,DSP等),又はASIC(ゲートアレイ等)などのハードウェアや,所与のプログラム(ゲームプログラム)により実現できる。
操作部260は,プレーヤが操作データを入力するためのものである。操作部260は,の機能は,例えば,レバー,ボタン,外枠,及びハードウェアを備えたコントローラにより実現できる。なお,特に携帯用ゲーム機の場合は,操作部260は,ゲーム機本体と一体として形成されても良い。コントローラからの処理情報は,シリアルインターフェース(I/F)やバスを介してメインプロセッサなどに伝えられる。
記憶部270は,処理部200や通信部296などのワーク領域となるものである。また,プログラムや各種テーブルなどを格納しても良い。記憶部270は,例えば,メインメモリ272,フレームバッファ274,及びテクスチャ記憶部276を含んでもよく,そのほか各種テーブルなどを記憶しても良い。記憶部270の機能は,ROMやRAMなどのハードウェアにより実現できる。RAMとして,VRAM,DRAM又はSRAMなどがあげられ,用途に応じて適宜選択すればよい。フレームバッファ274を構成するVRAMなどは,各種プロセッサの作業領域として用いられる。
情報記憶媒体(コンピュータにより使用可能な記憶媒体)280は,プログラムやデータなどの情報を格納するものである。情報記憶媒体280は,いわゆるゲームソフトなどとして販売されうる。そして,情報記憶媒体280の機能は,光ディスク(CD,DVD),光磁気ディスク(MO),磁気ディスク,ハードディスク,磁気テープ,又はメモリ(ROM)などのハードウェアにより実現できる。処理部200は,この情報記憶媒体280に格納される情報に基づいて種々の処理を行う。情報記憶媒体280には,本発明(本実施形態)の手段(特に処理部200に含まれるブロック)を実行するための情報(プログラム又はプログラム及びデータ)が格納される。
表示部290は,本実施形態により生成された画像を出力するものであり,その機能は,CRT(ブラウン管),LCD(液晶),OEL(有機電界発光素子),PDP(プラズマディスプレイパネル)又はHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
音出力部292は,音を出力するものである。音出力部292の機能は,スピーカなどのハードウェアにより実現できる。音出力は,例えばバスを介してメインプロセッサなどと接続されたサウンドプロセッサにより,音処理が施され,スピーカなどの音出力部から出力される。
携帯型情報記憶装置294は,プレーヤの個人データやセーブデータなどが記憶されるものである。この携帯型情報記憶装置294としては,メモリカードや携帯型ゲーム装置などがあげられる。携帯型情報記憶装置294の機能は,メモリカード,フラッシュメモリ,ハードディスク,USBメモリなど公知の記憶手段により達成できる。
通信部296は,外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行う任意のものである。通信部296の機能は,各種プロセッサ,又は通信用ASICなどのハードウェアや,プログラムなどにより実現できる。
ゲーム機を実行するためのプログラム又はデータは,ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部296を介して情報記憶媒体280に配信するようにしてもよい。
処理部200は,ゲーム処理部220,画像処理部230,及び音処理部250を含むものがあげられる。具体的には,メインプロセッサ,コプロセッサ,ジオメトリプロセッサ,描画プロセッサ,データ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。これらは適宜バスなどにより連結され,信号の授受が可能とされる。また,圧縮された情報を伸張するためのデータ伸張プロセッサを備えても良い。
ここでゲーム処理部220は,コイン(代価)の受け付け処理,各種モードの設定処理,ゲームの進行処理,選択画面の設定処理,オブジェクトの位置や回転角度(X,Y又はZ軸回り回転角度)を求める処理,オブジェクトを動作させる処理(モーション処理),視点の位置(仮想カメラの位置)や視線角度(仮想カメラの回転角度)を求める処理,マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理,ヒットチェック処理,ゲーム結果(成果,成績)を演算する処理,複数のプレーヤが共通のゲーム空間でプレイするための処理,又はゲームオーバー処理などの種々のゲーム処理を,操作部260からの操作データや,携帯型情報記憶装置294からの個人データ,保存データや,ゲームプログラムなどに基づいて行う。
画像処理部230は,ゲーム処理部220からの指示等にしたがって,各種の画像処理を行うものである。また,音処理部250は,ゲーム処理部220からの指示等にしたがって,各種の音処理を行う。
ゲーム処理部220,画像処理部230,音処理部250の機能は,その全てをハードウェアにより実現してもよいし,その全てをプログラムにより実現してもよい。又は,ハードウェアとプログラムの両方により実現してもよい。画像処理部230は,ジオメトリ演算部232(3次元座標演算部),描画部240(レンダリング部)を含むものがあげられる。
ジオメトリ演算部232は,座標変換,クリッピング処理,透視変換,又は光源計算などの種々のジオメトリ演算(3次元座標演算)を行う。そして,ジオメトリ処理後(透視変換後)のオブジェクトデータ(オブジェクトの頂点座標,頂点テクスチャ座標,又は輝度データ等)は,例えば,記憶部270のメインメモリ272に格納されて,保存される。
描画部240は,ジオメトリ演算後(透視変換後)のオブジェクトデータと,テクスチャ記憶部276に記憶されるテクスチャなどに基づいて,オブジェクトをフレームバッファ274に描画する。
描画部240は,例えば,テクスチャマッピング部242,シェーディング処理部244を含むものがあげられる。具体的には,描画プロセッサにより実装できる。描画プロセッサは,テクスチャ記憶部,各種テーブル,フレームバッファ,VRAMなどとバスなどを介して接続され,更にディスプレイと接続される。
テクスチャマッピング部242は,環境テクスチャをテクスチャ記憶部276から読み出し,読み出された環境テクスチャを,オブジェクトに対してマッピングする。
シェーディング処理部244は,オブジェクトに対するシェーディング処理を行う。例えば,ジオメトリ処理部232が光源計算を行い,シェーディング処理用の光源の情報や,照明モデルや,オブジェクトの各頂点の法線ベクトルなどに基づいて,オブジェクトの各頂点の輝度(RGB)を求める。シェーディング処理部244は,この各頂点の輝度に基づいて,プリミティブ面(ポリゴン,曲面)の各ドットの輝度を例えば,ホンシェーディングや,グーローシェーディングなどにより求める。
ジオメトリ演算部232は,法線ベクトル処理部234を含むものがあげられる。法線ベクトル処理部234は,オブジェクトの各頂点の法線ベクトル(広義にはオブジェクトの面の法線ベクトル)を,ローカル座標系からワールド座標系への回転マトリクスで回転させる処理を行ってもよい。
なお,ゲーム機における構成を適宜利用すれば,スロットマシーンやパチンコ遊技機などにおける画像表示装置としても機能しうるものを得ることができる。
本発明は,2次元グラフィックス及び3次元グラフィックスの描画処理を行う画像処理装置等に関する。従って,本発明はコンピュータ産業において好適に利用されうる。
1…画像処理装置
2…2次元グラフィックスハードウェア
3…3次元グラフィックスハードウェア
10…コンパイラ処理部
11…フロントエンド処理部
12…2次元機能抽出部
13…バックエンド処理部
20…プリミティブ変換処理部
21…3次元グラフィックスドライバ
22…頂点バッファ
23…コマンドバッファ
24…プリミティブ変換部
25…2次元グラフィックス処理用のコマンドバッファ
26…再構成された頂点バッファ
27…3次元グラフィックス処理用のコマンドバッファ
30…グラフィックスアプリケーション
31…シェーダプログラム
32…シェーダバイナリ
33…2次元グラフィックスハードウェア向け設定

Claims (6)

  1. 2次元グラフィックス及び3次元グラフィックスを含むグラフィックスアプリケーションを,2次元グラフィックスハードウェア(2)及び3次元グラフィックスハードウェア(3)に処理させるための画像処理装置(1)であって,
    前記画像処理装置(1)は,
    前記グラフィックスアプリケーション内のシェーダプログラムを読み込み,2次元グラフィックス処理に必要な機能を抽出した2次元グラフィックスハードウェア向け設定と,当該2次元グラフィックス処理が含まれていない処理を含むシェーダバイナリと,を出力するコンパイラ処理部(10)と,
    前記グラフィックスアプリケーション内の頂点データ及び描画コマンドを読み込んで矩形プリミティブを抽出し,当該矩形プリミティブについては,2次元グラフィックス処理用のコマンドバッファへと出力し,当該矩形プリミティブ以外のプリミティブについては,頂点バッファと,3次元グラフィックス処理用のコマンドバッファへと出力するプリミティブ変換処理部(20)と,を備え,
    前記2次元グラフィックスハードウェア向け設定と,前記2次元グラフィックス処理用のコマンドバッファとを用いて,2次元グラフィックスを前記2次元グラフィックスハードウェア(2)に描画処理させると共に,
    前記シェーダバイナリと,前記頂点バッファと,前記3次元グラフィックス処理用のコマンドバッファとを用いて,3次元グラフィックスを前記3次元グラフィックスハードウェア(3)に描画処理させる
    画像処理装置。
  2. 前記コンパイラ処理部(10)は,
    前記シェーダプログラムに対してフロントエンド処理を行い,中間表現へと変換するフロントエンド処理部(11)と,
    前記中間表現と,前記2次元グラフィックスハードウェアの処理パターンとのパターンマッチ処理を行うことにより,当該中間表現から,2次元グラフィックス処理に必要な機能を抽出する2次元機能抽出部(12)と,
    前記中間表現に対してバックエンド処理を行い,前記2次元機能抽出部(12)が抽出した前記2次元グラフィックス処理に必要な機能を2次元グラフィックスハードウェア向け設定として出力すると共に,前記2次元グラフィックス処理が含まれていない処理を含むシェーダバイナリを出力するバックエンド処理部(13)と,を有する。
    請求項1に記載の画像処理装置。
  3. 前記プリミティブ変換処理部(20)は,
    前記グラフィックスアプリケーションから,頂点データ及び描画コマンドを取得するドライバ(21)と,
    前記ドライバ(21)により取得された頂点データが格納される頂点バッファ(22)と,
    前記ドライバ(22)により取得された描画コマンドが格納されるコマンドバッファ(23)と,
    前記頂点バッファ(22)と前記コマンドバッファ(23)を参照して,前記グラフィックスアプリケーション内の平面的な矩形プリミティブの抽出し,当該矩形プリミティブについては,2次元グラフィックス処理用のコマンドバッファ(25)へと出力し,当該矩形プリミティブ以外のプリミティブについては,再構成された頂点バッファ(26)と,3次元グラフィックス処理用のコマンドバッファ(27)へと出力するプリミティブ変換部(24)と,を有する
    請求項1又は請求項2に記載の画像処理装置。
  4. 画像処理装置(1)が,2次元グラフィックス及び3次元グラフィックスを含むグラフィックスアプリケーションを,2次元グラフィックスハードウェア(2)及び3次元グラフィックスハードウェア(3)に処理させる画像処理方法であって,
    前記画像処理装置(1)が,
    前記グラフィックスアプリケーション内のシェーダプログラムを読み込み,2次元グラフィックス処理に必要な機能を抽出した2次元グラフィックスハードウェア向け設定と,当該2次元グラフィックス処理が含まれていない処理を含むシェーダバイナリと,を出力するコンパイラ処理工程と,
    前記グラフィックスアプリケーション内の頂点データ及び描画コマンドを読み込んで矩形プリミティブを抽出し,当該矩形プリミティブについては,2次元グラフィックス処理用のコマンドバッファへと出力し,当該矩形プリミティブ以外のプリミティブについては,頂点バッファと,3次元グラフィックス処理用のコマンドバッファへと出力するプリミティブ変換処理工程と,
    前記2次元グラフィックスハードウェア向け設定と,前記2次元グラフィックス処理用のコマンドバッファとを用いて,2次元グラフィックスを前記2次元グラフィックスハードウェア(2)に描画処理させる2次元描画工程と,
    前記シェーダバイナリと,前記頂点バッファと,前記3次元グラフィックス処理用のコマンドバッファとを用いて,3次元グラフィックスを前記3次元グラフィックスハードウェア(3)に描画処理させる3次元描画工程と,を行う
    画像処理方法。
  5. 請求項1に記載の画像処理装置を具備するコンピュータ。
  6. 請求項1に記載の画像処理装置を具備するゲーム機。
JP2013110423A 2013-05-24 2013-05-24 2次元グラフィックス処理の高速化を図る画像処理装置及び画像処理方法 Pending JP2014229217A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013110423A JP2014229217A (ja) 2013-05-24 2013-05-24 2次元グラフィックス処理の高速化を図る画像処理装置及び画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013110423A JP2014229217A (ja) 2013-05-24 2013-05-24 2次元グラフィックス処理の高速化を図る画像処理装置及び画像処理方法

Publications (1)

Publication Number Publication Date
JP2014229217A true JP2014229217A (ja) 2014-12-08

Family

ID=52128975

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013110423A Pending JP2014229217A (ja) 2013-05-24 2013-05-24 2次元グラフィックス処理の高速化を図る画像処理装置及び画像処理方法

Country Status (1)

Country Link
JP (1) JP2014229217A (ja)

Similar Documents

Publication Publication Date Title
EP3008701B1 (en) Using compute shaders as front end for vertex shaders
TWI584223B (zh) 藉由追蹤物件及/或基元識別符的圖形處理增強之方法及系統,圖形處理單元及非暫時性電腦可讀媒體
JP5866457B2 (ja) オーバドロー・トラッカを用いたグラフィック処理におけるダイレクト・レンダリングとビニングとの切替
US7990374B2 (en) Apparatus and methods for haptic rendering using data in a graphics pipeline
JP5960368B2 (ja) ビジビリティ情報を用いたグラフィックスデータのレンダリング
TW201816724A (zh) 用於高解析度顯示緩衝器之有效構造之方法
KR20140139553A (ko) 그래픽 프로세싱 유닛들에서 가시성 기반 상태 업데이트들
JP2007514230A5 (ja)
CN105518742A (zh) 用于图形处理的任意控制点处的容错抢占机制
JP2008250813A (ja) 画像生成装置、画像処理方法、および、プログラム
JP2016529593A (ja) 立体シーンのインターリーブ方式のタイル型レンダリング
JP4728721B2 (ja) プログラム、情報記憶媒体及び画像生成システム
US11270494B2 (en) Shadow culling
US20180322690A1 (en) Visual edge rendering using geometry shader clipping
JP5864474B2 (ja) 空間を分割してグラフィックスを処理する画像処理装置及び画像処理方法
JP2006323512A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4754384B2 (ja) プログラム、情報記録媒体および画像生成システム
JP2007026111A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2014229217A (ja) 2次元グラフィックス処理の高速化を図る画像処理装置及び画像処理方法
JP4754385B2 (ja) プログラム、情報記録媒体および画像生成システム
JP6205200B2 (ja) ソート機能を持つ画像処理装置及び画像処理方法
JP2007164736A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4693153B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4936521B2 (ja) データ構造、ファイルデータ処理プログラム、情報記憶媒体
KR20190129602A (ko) 모바일 뷰잉 시스템