電子書籍の厳選無料作品が豊富!

C言語プログラマー暦10年ですが、DirectX超初心者です。
このたび、DirectXのサンプルソースをダウンロードして実行してみました。
しかし、以下の関数で失敗して先に進みません。
正常に動作するように、ご教授お願いいたします。

[関数]D3DXCreateEffectFromFile()
[戻り値]E_NOTIMPL

[環境]WinXP Home SP3,Microsoft Visual C++ 2005,
Microsoft DirectX SDK (November 2008)

[ソース一部]
if (hr = D3DXCreateEffectFromFile(m_pDeviceD3D, "MyShader.fx",
NULL, NULL, 0, NULL, &m_pEffect, NULL), FAILED(hr))
return hr;
この関数を呼ぶ以前の処理で「m_pDeviceD3D」は正常に取得できており、MyShader.fxも存在しています。

[サンプルソースの注意書き]
ビルドするためには Summer2004 以降の DirectX9.0 SDKがインストールされている必要になります.

お忙しいところ、申し訳ございませんが、ご教授のほどよろしくお願いいたします。

A 回答 (2件)

MyShader.fxのシェーダーが古いバージョンになっているからでしょうか


MyShader.fxをテキストエディタで開いて
// フォンシェーダテクニック
technique PhongShader
{
pass P0
{
VertexShader = compile vs_1_1 PhongVS();
PixelShader = compile ps_1_1 PhongPS();
}
}

// フォンシェーダテクニック
technique PhongShader
{
pass P0
{
VertexShader = compile vs_2_0 PhongVS();
PixelShader = compile ps_2_0 PhongPS();
}
}
にしてみてください
    • good
    • 0
この回答へのお礼

さっそくの御回答有難う御座います。
できました!!

お礼日時:2009/09/04 11:29

勝手に


http://www.tmps.org/index.php?HLSL%20-%20High%20 …
のサイトだと思い込んでましたが違ったら補足してください
    • good
    • 0
この回答へのお礼

上記サイトではありませんが、こちらのファイルも「1_1」になってました。
有難う御座いました。

お礼日時:2009/09/04 11:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!