visual studio 2012のdirect3dアプリ開発者向け新機能を知ろう

25
Visual Studio 2012Direct3Dアプリ開発者向け 新機能を知ろう @masafumi http://www.shader.jp

Upload: masafumi-takahashi

Post on 02-Jul-2015

8.948 views

Category:

Technology


2 download

DESCRIPTION

Visual Studio 2012の新機能、Direct3Dアプリ開発者向け新機能を知ろう。 アセットビューワー、シェーダーデザイナー、デバッグ機能などを紹介。

TRANSCRIPT

Page 1: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

Visual Studio 2012のDirect3Dアプリ開発者向け

新機能を知ろう@masafumi

http://www.shader.jp

Page 2: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

はじめに

• 8月15日にVisual Studio 2012のRTM版がでました(&Windows 8)

• 個人でMSDN入ってたので、 Visual Studio 2012をインストールしていろいろと使ってます

• Visual Studio 2012はβ版とかRC版とかのころからいろいろと試してますが、ゲーム開発(特にDirect3Dを使った)向けのいろいろな新機能が入ってきたので紹介していきます

• 特に今回はDirect3D向けにいろいろと面白機能があるので紹介

Page 3: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

私のこと @masafumi

• ゲーム会社でグラフィックスに関するR&Dしてます• スライドアップしてもネットでは会社のことは触れないでね

• 寛容な会社だけどね

• Shader.jpというサイトをやってます• http://www.shader.jp/

• Twitterはそのまんま@masafumiです

• スライドは終わったら公開します• …が本日はスライドよりもデモの方を中心に

Page 4: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

今回の話のターゲット

• グラフィックスプログラマ

• シェーダ開発

• Direct3D使ったプログラムの分析

• テクニカルアーティスト

• グラフィカルなマテリアルエディター

• グラフィックスツールプログラマ

• ビューワーとかいろいろと

• タブレット・スマホ向けゲーム開発者

• Windows RTやWindows Phone 8のゲーム開発のためのツール

Page 5: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

Windows 8の話題

• 10/26リリースもうすぐ出ます(この発表は10/6)• RTM版はすでに使える

• Windows Storeというアップストアがあります• Windows Store

• Windows RTやWindows Phoneも対応

• アプリをリリースする場合は.NETとは違う新規のフレームワーク

• Windows Store アプリ(Metroとか呼ばれてたの)

• WinRT

• C++ならC++/CX

Page 6: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

Visual Studio 2012

• あんまり知らない人はいないと思いますがMicrtosoftの統合開発環境

• Windows 8からWindowsにアプリストアが登場• Windows 8(PC)、Windows RT(タブレット)、Windows Phone 8

• ハイエンドなPCゲームだけじゃない

• Windows ストアアプリ• Mac OS X, iOS(App Store)とかAndroid(Google Play)

• 作って売れる

• 無料版はExpress Editionだけど今日の話題の機能使えないのでProfessional Edition以上の話題

• Windows 8の話ばかりしてるけど今日の話の機能はWindows 7でも動きます• MSDN入ってる方は試してみてください

Page 7: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

Direct3D 11.1

• DirectXの3DグラフィックスAPIのバージョン11.1

• 11.1はWindows 8、Windows RT、Windows Phone 8用• ARM版がある

• デバイスによってGPU性能が違うので機能を使い分ける

• 基本的なAPIは同じなので移植しやすい• ビルドターゲットを変えることで対応できる

• ライブラリは、x86, x64, ARMと幅広い

• サポートするGPUの世代は幅広い• 従来のDirectX 9世代のものから最新のデスクトップPC向けまで

• シェーダはターゲットに合わせて作る必要がある

• C++のAPIは同じ

Page 8: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

VS 2012のグラフィックス開発者向け機能• アセットビューワー

• モデルビューワー

• テクスチャビューワー

• シェーダ開発ツール

• HLSLエディタ

• シェーダデザイナー

• GPU診断機能… Graphics Diagnostics

• GPU処理解析機能

• シェーダデバッガ

Page 9: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

アセットビューワー

• モデルビューワー

• 一般的な3Dモデル形式の閲覧

• テクスチャビューワー

• 一般的な画像ファイルフォーマットの閲覧

• DDS対応• Floating pointテクスチャ対応

• 簡単なフィルタ処理や編集

Page 10: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

モデルビューワー

• Obj, FBX, Collada

Page 11: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

テクスチャビューワー

• 一般的な画像フォーマットとDDS

• コンバーター機能もある

Page 12: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

シェーダー開発ツール

• シェーダーエディター

• HLSLのエディター• コンパイル対応

• シェーダーデザイナー

• グラフィカルなシェーダエディター• ゲームエンジンのマテリアルエディターとかに近い

• HLSLエクスポートあり

Page 13: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

HLSLエディター

• シェーダーコードの編集

Page 14: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

HLSLエディター

• HLSLの変数やキーワードの色が変わる

• シェーダーごとにfxcの設定された状態でファイルが作成でき、コンパイルまでやってくれる

• エラーがあったときはVisual Studio 2012の出力上にエラーがだせる

• Intellisenseはない

• ヘッダーのインクルードは対応

Page 15: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

シェーダデザイナー

• グラフィカルなシェーダエディター

Page 16: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

シェーダデザイナー

• グラフィカルなインターフェイスでシェーダを開発

• HLSLやC++のヘッダーファイルへのエクスポートができる

• HLSLからグラフィカルにするのは無理

• 頂点シェーダとピクセルシェーダがセットで吐き出される

• ハイエンド向けではない

• DX11のSM 5.0のフル機能を使ったテクニックを作るのは厳しい

• ポストエフェクトなども厳しい

• Windows RT(タブレット)とかWindows Phone 8用のシェーダ開発などにちょうどいいんじゃないか?

Page 17: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

GPU診断機能

• GPU処理解析機能

• フレームキャプチャ機能

• シェーダーデバッガ

• C/C++のコードのようにHLSLやマイクロコードデバッグができる

• Compute Shader以外に対応• Compute Shaderはほかのシェーダよりもフックが難しい

Page 18: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

GPU処理解析機能

Page 19: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

GPU処理解析機能

• フレームキャプチャ

• D3DのAPIコールの履歴がわかる

• ピクセル履歴

• DrawCallの詳細

• ステートのチェック

• バッファやシェーダーリソースのチェック

• できないこと

• 負荷分析

Page 20: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

シェーダーデバッガ

Page 21: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

シェーダーデバッガ

• シェーダのデバッグがVisual Studio 2012上でできる

• C++のコードのようにステップ実行やウォッチもOK

• HLSLとマイクロコード

• 制限

• Compute Shaderはできない

• 変数の書き換え

• クロス開発

Page 23: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

デモ

• 使ってみよう

• シェーダーデザイナーデモ

• GPU診断機能のデモ

• シェーダデバッガのデモ

• せっかくなのでWindowsストアアプリで。

Page 24: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

まとめ

• 使えんのコレ?• シェーダデザイナー

• ハイエンドよりもローエンドタイトルには便利かも?• Windows RT(タブレット)とかWindows Phone 8

• DGSLで吐き出したHLSLの読み込みの問題

• シェーダデバッガは便利• Compute Shader何とかしてほしいけども

• HLSLを手で書く人には全体的に便利

• 強力な開発環境• PCゲーム作ることはおいておいて…

• スマホやタブレットの3Dゲーム開発する環境としては強力• なじみのDirect3Dが使える

Page 25: Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう

おわり

• 質疑応答