Direct3D

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
初心者

Direct3D

#1

投稿記事 by 初心者 » 15年前

Direct3Dを勉強しているのですが、
頂点シェーダやピクセルシェーダは、
(ゲーム作成の)どういうときに使うのでしょうか?

初心者ですが、よろしくお願いします。

環境?は、
C++、DirectX 9です。

御津凪

Re:Direct3D

#2

投稿記事 by 御津凪 » 15年前

頂点シェーダやピクセルシェーダ等(DirectX10以降は他にもあります)は、
主に描画を行う時に使用するものです。

DirectX9 では、固定機能パイプラインという、
シェーダを使用しなくても描画できる機能がありますが、
DirectX10 以降では固定機能パイプラインが廃止されています。
(描画には頂点シェーダ・ピクセルシェーダを使用することが必須となる)

それはさておき、 DirectX9 でのシェーダの使い道ですが、
固定機能パイプラインでは補えない部分、つまり
描画時の画像処理(ぼかし・色変換等)や、頂点テクスチャを利用した波の表現、
デプスシャドウ(影)などを実現する際に必要となります。

また、最近の GPU では固定機能パイプラインよりもシェーダを使って描画したほうが
余計なプロセスを省くことができるので高速に描画できます。

初心者

Re:Direct3D

#3

投稿記事 by 初心者 » 15年前

>頂点テクスチャを利用した波の表現・・・

実際にどのように記述すればいいですか?
なにか例があったら教えてくれませんか?

御津凪

Re:Direct3D

#4

投稿記事 by 御津凪 » 15年前

下記のサイトが使用例として参考になると思います。

Maverick Project
http://maverickproj.web.fc2.com/pg00.html

こちらのサイトでは、シェーダを利用した沢山の例があります。

シェーダの大まかな基本部分については、下記の、

ゲームつくろー!
http://marupeke296.com/GameMain.html

の、「プログラマブルシェーダ編」にて解説されています。

シェーダ自体の情報は 10 年近く前(DirectX8 が登場した辺り)から存在しているので、
シェーダに関する情報は探そうと思えばいくらでも見つかります。
専門的知識や仕様を確認するには MSDN ライブラリが一番ですが。

初心者

Re:Direct3D

#5

投稿記事 by 初心者 » 15年前

参考になりました。
ありがとうございます。

閉鎖

“C言語何でも質問掲示板” へ戻る