WPF 3.5 SP1 (Beta) GPUベースのカスタムエフェクトはどんな Visual にも適用できる

Published 19 May 08 05:47 PM | hiroyuk 

先週書いた.NET Framework 3.5 SP1 の GPU ベースのカスタムエフェクトのサンプルをちょっといじるだけで、ModelVisual3DにもMediaElementにも同じエフェクトが適用できます。

Window1.xaml の <Image Name="image1" Stretch="Uniform" Source="Creek.jpg" />を書き換えるだけです。

<MediaElement Source="Bear.wmv" LoadedBehavior="Play" />に書き換えると(もちろんプロジェクトにこのファイルを追加してから)次のようにビデオにエンボスのリアルタイム エフェクトが追加できます。

 

同じくViewport3Dにして回転するティーポットを描画すると、次のようになります。

XAMLをよく見ると、<Image>の親である<Grid>にエフェクトが適用されているので、当然と言えば当然ですが、動画や3Dのような動的なコンテンツにもリアルタイムでカスタムエフェクトが適用できるのは、なかなか魅力的です。エッジ検出による線画や階調シェーディングによるトゥーン レンダリングなどにも適用できると思います。

Greg Scheterのブログにも書いてありますが、fxファイルのHLSLからピクセル シェーダ バイトコードにコンパイルするには、DirectX SDKをダウンロードして、次のようにコマンドラインで fxc を使う必要があります。

>fxc /T ps_2_0 /E main /Fo cc.ps cc.fx

HLSLの日本語リファレンスなどは DirectX SDK 日本語ドキュメント2004年版をダウンロードしてください。

Comments

No Comments
Anonymous comments are disabled

About hiroyuk

マイクロソフト㈱エバンジェリスト。北海道大学理学部物理学科卒。リアルタイム3Dグラフィックスを専門とし、グラフィックスやシェーダに関する技術文章を執筆・講演。 DirectX SDK日本語ドキュメントの開発に携わるとともに、Windows Presentation Foundation プログラミング(オーム社)、Game Programming Gemsシリーズ、リアルタイム レンダリング第2版(ボーンデジタル)、Texturing & Modeling, A Procedural Approach などを翻訳・監修、XAMLプログラミング(ソフトバンク クリエイティブ)を執筆。趣味は薪割り。

Search

This Blog

DirectX 情報

Silverlight 情報

Windows 情報

WPF 情報

並列コンピューティング情報

著書

Syndication

Page view tracker