A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
ちょっと回答が遅くなりました。
ちょっと、誤解が生じたようですね。
以後気をつけたいと思います。これからはもっと考えて回答しますから、もし間違いとかあればどんどんつっこんでください。
ただ、私が述べた
RISC-CPUにおいてというのは、CISCの原型はパイプライン処理との違い(高級言語処理を優先する)から生じたものですから述べただけです。現CISC-CPUは内部的にRISCを格納(吸収)しているというのが正式な言い方かと思いますし・・・
(もともとのRISCの定義は命令を簡略化したパイプライン処理のことです。高速化のためにCISCがそれを加えたのであって、この場合特定の簡易命令を下すグラフィックスチップという点などを考えてRISC-CPUにおいて、と述べたのです。まあ、屁理屈かもしれませんね)
本当に質問者の方にも難しい回答になってしまったかも・・・すみません。
本題です。
まず、PS2の簡易仕様サイトを見てくださいな
http://www.watch.impress.co.jp/mobile/column/ps2 …
GS側はvertexシェーダー(以下VSD)やpixel シェーダー(以下PSD、こちらは最近のものなので当時は組み込めなかった)自体は含まれませんが、高度なポリゴン処理を可能にしています。
基本的にpixelシェーダーはGSではGF3のようなネイティブなハードウェアサポートではありません。
そのため、いずれもPS2ではEEが基本処理することになるでしょう。逆にGF3は両方をnfiniteFX Engine(いわゆるGPU)が行うことになります。
ついでにnfiniteFX EngineのVSDとPSD機能についても簡易的に、
http://www.vwalker.com/news/0102/25_/25_213601.h …
これをそのまま、転載しないでね。
私は、保証できませんよ。
既に、前の方がほぼ回答されているので、私はこのぐらいですかね。もし、3Dプログラマーでもお探しなら、参考のリンクを見ても良いかも・・・
参考URL:http://homepage2.nifty.com/tenk/prog/plink.htm
No.2
- 回答日時:
確か復刊後のOh!Xの4号目ぐらいにPSのアーキテクチャについて解説してあったと思います。
その他ではOpenGLやDirectXの解説書あたりでしょうか?
OpenGLでは
・OpenGLプログラミングガイド第2版
ピアソン・エデュケーション発行 星雲社発売 定価12000円
通称赤本と呼ばれるOpenGLの解説書です。3Dの基礎的なシステムはこの本で分かるかと思います。
DirectXでは
・MSDN Online - DirectX Developer Center
http://www.microsoft.com/japan/developer/directx …
Microsoftのwebサイトです。
DirectXの技術情報が解説されています。
・DirectX 8.0のプログラマブルシェーダ
http://www.microsoft.com/japan/developer/directx …
DirectX Developer Center内のドキュメントです。
・DirectX 8 SDK
Microsoft発行 http://www.microsoft.com/downloads/release.asp?R …
にてダウンロード可。書籍として出ているもの(アスキー刊)も多分同内容だと思います。
んでpartsさんの回答にちょっとしたツッコミ。
>3.パイプライン処理とはRISC-CPUにおいて
別にRISC-CPUである必要はありません。
Intelのx86シリーズはCISCタイプのCPUですが(PentiumProからはそうとも言えないですが・・・)8086の時代から命令デコード用のパイプラインを持ってます。ただ書籍などでは RISC CPUで・・・といったくだりが多いようですが。
ピクセルシェーディングについて
ピクセルシェーダは3D処理のステージの片割れであるラスタライズ処理をプログラマブルにしたものです。今まではラスタライズ処理の高速化のため専用のハードウェアを使ってラスタライズがされてきていました。しかし、近年さまざまなエフェクトが施された3D映像が必要になり、固定化されたハードウェアではその要求にこたえる事ができません。確かにラスタライズ処理自体をソフトウェアにすれば可能ですが、ラスタライズ処理はとんでもない計算コストがかかるため、汎用に設計されたCPUとメモリでは処理速度やメモリバンドなどの面で問題が出ます。
そこで出てきたのがPixelShaderです。PixelShaderは今までハードウェア固定であったラスタライズ処理ハードウェアをいくつかの命令セットとレジスタを用意し、ラスタライズ処理をプログラマに任せています。これによって今まではハードウェアラスタライズ後に画素情報にアクセスしなければ実現できなかった処理などもラスタライズ処理中で実現できるようになります。
PixelShaderの考え方自体はCPUにおけるマイクロコードの考え方に近いですね。確かNintendo64はラスタライズユニットにマイクロコードをセットしていろいろできたらしいです。
あと
>汎用に設計されたCPUとメモリでは処理速度やメモリバンドなどの面で問題が出ます。
とかいてますが、実際にはSGIからOpenGL ShaderというまんまSoftwareで実現されてるPixelShaderがあったり・・・。
5について
考えられるのはViewやModel変換後の頂点座標、色情報、法線、あとはテクスチャ座標でしょうか?
6について
DDAが何の事か・・・前後の文が無いとDDAが何を指しているのか分からないです。PS2ハードウェアに関するものでしょうか?
7について
PS2ではEE内のVU0、VU1がジオメトリエンジンであり、各種操作はプログラムがVU0,1を叩いて操作するため、VertexShader相当の処理はここで実現できるでしょう。
GSのアーキテクチャについてはあまり知りませんが、PS2のVRAM容量がたった4MBと考えると、PixelShader相当の機能はあると考えるのが妥当でしょう。
なお、nVidiaのGPUでは両方ともGPU内部で処理されます。
8について
Oh!XとかC Magazine・・・ぐらいしか思い付きませんね。というより最新情報はnet上のプログラマに聞いた方が早いです。プログラマが集まる掲示板やMailingListを当たる方が良いでしょう。
>nVIDIAのGeForce3とATIのSmartShaderのpixelpipeまわりの性能についての比較をレビューすることになりまして…(しかも〆切が来週の水曜)。
来週の水曜日ですか・・・前提知識があるならともかく・・・
一番いいのは近くにいる3Dプログラムのできる人を捕まえて聞く事でしょう。
自身で覚える事自体は悪くは無いですが、期間が短すぎるかと。
No.1
- 回答日時:
1.演算命令やPS2ではCPUで描画データの作成→モデリング→座標計算→光源計算(CPUによる座標光源計算をソフトウェアT&Lという)→クリッピングが行われ、そのデータをエモーションエンジンからグラフィックシンセサイザーに受け渡します。
ということで、クリッピング後のデータが受け渡されるわけです。ただし、ハードウェアT&L登載GPUでは、座標~クリッピングはGPUが負担しますから、モデリング後の画像がやりとりされます。
2.ラスタ処理ですか上の処理を終えたあとグラフィックアクセラレータ側(GPU)が処理する工程です。
まずラスタ変換→隠面消去→テクスチャー処理までの工程を言います。
3.パイプライン処理とはRISC-CPUにおいて、複数の処理を同時にこなせることです。
GeForce2では、7つのピクセル処理を同時に実行できる能力を持っています。
RADEON256ではレタリングパイプライン1つで3つのテクスチャー処理が可能です。
4.ピクセルシェーダー、ピクセル光源に陰を付ける技術です。GeForce3ではこれとアンチェリアス処理で画像をよりリアルに再現できます。
しかしこんなこと、何で知りたいわけ?
物好きですね!
これ以降を本気で知りたいなら、自力で徹底的に探してください。雑誌なんかにも最近は書いてありますよ。
定期購読していれば、分かるはずですけど・・・
(たとえば、DirectX8SDKにはピクセルシェーダーについてのことも書いてあったような?・・・SDKは全て英語のはずです)
ご回答ありがとうございます!
>しかしこんなこと、何で知りたいわけ?
こういったCG関係については全くのど素人なのですが、とあることがきっかけでnVIDIAのGeForce3とATIのSmartShaderのpixelpipeまわりの性能についての比較をレビューすることになりまして…(しかも〆切が来週の水曜)。聞いたこともなかったので、PS2のGS当たりから調べていたのですが、専門用語の連続で…。はっきり言って間に合いませんっ!!救世主になりそうな本やURLもあったらよろしくお願いします。
補足質問になってしまうのですが、
5.EEから渡されるデータというのは、ポリゴンの頂点データですよね?そのデータというのはRBG等の色情報やXYZ等の位置情報のほかにどういったものが渡されるのでしょうか。
6.ラスタライジングについて、「プリミティブを構成するピクセルをDDAによって発生します」という表現で説明しているものがあったのですが、これはどういうことでしょうか?
7.ピクセルシェーダについてなのですが、PS2では頂点シェーダをCPUのEEで行い、GF3ではGPUでピクセル単位のシェーディングを行う、という解釈で間違ってませんでしょうか。
8.この当たりの事が書いてある雑誌とはどういったものでしょうか。ぜひ知りたいです!
以上です。またよろしくお願いします。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CPU・メモリ・マザーボード パソコンにGPU自体が全くないこともあるのですか? タスクマネージャーにGPUが表示されないのですが 15 2022/05/12 10:51
- その他(コンピューター・テクノロジー) コンピュータの処理は主にCPUが担うが,数値演算に特化した装置(FPU)やグラフィック処理に特化した 4 2022/09/28 16:34
- CPU・メモリ・マザーボード パソコンについて GPUをCPUの代わりに処理出来ないのはなぜですか?GPUにしたら処理か爆速化する 7 2023/07/06 06:54
- ノートパソコン ダヴィンチリゾルブ Davinci Resolve 未対応のgpu処理モードというエラー 1 2022/09/06 18:00
- CPU・メモリ・マザーボード PCスペック(CPUとGPUのバランス)について ボトルネックチェッカー (https://babl 3 2022/10/30 15:33
- BTOパソコン 次の条件に合うパソコンってありますか? 1 2022/10/16 18:04
- CPU・メモリ・マザーボード パソコンのCPU1コア性能が低くで発熱少ないコアをGPUみたいにめっちゃ多く搭載したら少ないコアで1 5 2023/07/18 00:56
- ノートパソコン 次の条件に合うパソコンってありますか? 3 2022/10/16 18:01
- デスクトップパソコン ミニPCをゲーミングPCとして使いたい。 3 2023/05/04 01:10
- デスクトップパソコン z390-p 外付けGPU優先 4 2023/06/03 22:52
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
win10で、正確な待ち時間の作り方
-
小数点を含む数値かどうか判断...
-
DoEvents関数って何?
-
C言語 時刻差分の算出方法
-
SQLの速度をあげるには・・・
-
If Not c Is Nothing Then ~延...
-
Excelでのセル内容の高速消去方法
-
ナップザック問題?をエクセル...
-
VBでの簡易電卓の作成(減算方...
-
C言語で、文字とか入力されなく...
-
絶対パスの取得について
-
LINUX QT上でパソコンのシャッ...
-
C言語プログラミングで、多項式...
-
pgmファイルをC言語で読込、処...
-
VBA言語プログラミング
-
実行時のCPU使用率を増やしたい
-
Excel(VBA)でSetTimer関数を使...
-
異なるプログラミング言語を連...
-
C言語:関数を使うメリットとデ...
-
Excel VBA データ削除の高速化
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelでのセル内容の高速消去方法
-
DoEvents関数って何?
-
win10で、正確な待ち時間の作り方
-
小数点を含む数値かどうか判断...
-
SQLの速度をあげるには・・・
-
絶対パスの取得について
-
Excel VBAにて、2GB超の点群デ...
-
VBでの簡易電卓の作成(減算方...
-
C言語:関数を使うメリットとデ...
-
テキストファイルの空行をスキ...
-
プログラム上のCPU稼働率低減に...
-
Excel(VBA)でSetTimer関数を使...
-
ナップザック問題?をエクセル...
-
If Not c Is Nothing Then ~延...
-
プログラム 擬似コードとはどん...
-
基本情報技術者試験詳しい方へ...
-
ノットイコールを教えて下さい
-
符号付きにすべきか、符号なし...
-
C言語 時刻差分の算出方法
-
実行時のCPU使用率を増やしたい
おすすめ情報