SlideShare une entreprise Scribd logo
1  sur  83
C++11,DirectXの話
本間翔太
もくじ
• 自己紹介
• 第1部
– C++11の誘い

• 第2部
– DirectX9のライブラリ説明
– DirectX11のライブラリ説明

• 第3部
– プログラマロードマップ
– ゲームサークルの誘い
自己紹介
こんな人
• 萌えが好きで中二病な22歳
• IT高度専門学科4年
• C++とC#を主に使う、主にコードを書く
人
• 上京する人
• ミクちゃん…!!!!
• ブログやってます「マジカル
BrainOok!Misa」
始めるぞー!
C++11
の誘い
わたし…

分

からない事あるの。
C++11の
って何
C++に、歴史あり。

今ココ
必要環境
Visual Studio

2010
2012
2013
メリット
機能拡張
auto

型推論
int&&

std::move

右辺値参
照
std::shared_ptr std::week_ptr std::unique_ptr

スマート
ポインタ
std::function

関数オブ
ジェクト
std::thread

スレッド
std::chrono

カウン
ター
分かりやすい資料が!(感謝!
そういえ
ば!
DirectXとちょうど
繋がるけど…
DirectX11標準ライブラリ

C++11で書かれてました
ソースコー
ド
当たり
前だよね!!!
クエスト出現の

前提条件
だよね!!!!!!
C++11
の誘い
DirectX9,11
のライブラリ
DirectX9
前提知識
前提知識
• DXUT(DirectX ユーティリティ ライブラリ)
– 公式の簡易フレームワーク

• 固定機能パイプライン
– デフォルトの描画手順

• PhysX
– 物理エンジン
DirectX9のライブラリ
• 概要
– DXUT依存(改造)
– 固定機能万歳
– データ圧縮ツールと連携

画像以上にDXUTに依存しています…
DirectX9のライブラリ
• 機能1
– 入力:
• ジョイパッド
• キーボード
• 箱○コン
– 出力(コピー対応)
•
•
•
•
•

文字描画
画像(アニメーション付)
モデル (アニメーション付)
サウンド
BISHAMONエフェクト

• 機能2
–
–
–
–

ゲームオブジェクト
プロセス
仮想コントローラ
PhysX

• ボックス
• カプセル
• ボリューム
• レイキャスト
• 衝突イベント
– 圧縮データ読み込み
データ圧縮ツール
• 複数ある素材データ
• 一つのデータに!

対応拡張子:
jpg / png / bmp / dds / bmb / bmsln
x / mp3 / xwb /m3r / wav
使用したっぽいゲーム
ミクちゃんゲー

CandyGirls(基礎)

Zombies_Factory
DirectX9
DirectX11
前提知識
前提知識
• D3DX系、11.1以降なし!!

• 固定機能パイプライン、なし!!
• 環境が現在3つくらいあるっぽい。カオス
1. 2010(june)でD3DXを利用
2. DirectXTex/DirectXTKを利用(D3DX廃止)
3. DXUTを利用(D3DX廃止)

2番を選択
突然の!!!!
ゲーム機の話!!
各機種のGPU
機種名

DirectX世代

Wii

9

PS3

9

XBOX360

9

Wii U

10.1

PS4

11.1

XBOX One

11.2
DirectX11の

基本方針
自分で
用意し
ろ!!
DirectX11のライブラリ
• 概要
– DirectXTex
– DirectXToolKit
– BISHAMONは使えません
DirectX11のライブラリ
• 機能1
– 入力:
• ジョイパッド
• キーボード
• 箱○コン
– 出力
•
•
•
•

文字描画
画像
モデル
サウンド

• 機能2
–
–
–
–

ゲームオブジェクト
プロセス
仮想コントローラ
PhysX
• ボックス
• カプセル
• レイキャスト
ごめん
なさ
ライブラリとして
対応してないのが沢
山!!!
DirectX11のライブラリ
• 機能1
– 入力:
• ジョイパッド
• キーボード
• 箱○コン
– 出力
•
•
•
•

文字描画
画像
モデル
サウンド

• 機能2
–
–
–
–

ゲームオブジェクト
プロセス
仮想コントローラ
PhysX
• ボックス
• カプセル
• レイキャスト

比較
DirectX9のライブラリ
• 機能1
– 入力:
• ジョイパッド
• キーボード
• 箱○コン
– 出力(コピー対応)
•
•
•
•
•

文字描画
画像(アニメーション付)
モデル (アニメーション付)
サウンド
BISHAMONエフェクト

比較

• 機能2
–
–
–
–

ゲームオブジェクト
プロセス
仮想コントローラ
PhysX

• ボックス
• カプセル
• ボリューム
• レイキャスト
• 衝突イベント
– 圧縮データ読み込み
だ・
か・ら
DirectX11の
足がかりとし
て利用して!!
備考
•

•
•

WindowsSDKを使用する場合、DirectXSDKをアンインストールしてからインストール
しましょう。
その後DirectXSDKを再度インストールすれば問題ありません。
VisualStudio付属のWinSDKの場合、VS2012ではd3dcompiler_46.dll、 VS2013では
d3dcompiler_47.dllが実行時ランタイムで必要になるような…(※ShaderReflection)
シェーダ関連の処理で実行データが起動しないバグに注意
DirectX11
え?
つまり
…?
DirectX9
DirectX11
ソース公開するの
で好きに使ってー!!
(学内)
いく
よー!!
プログラマ
ロードマップ
話し合いながら
技術書で
作ってみ

を

た
全部読めれば凄い知識量に!!
ゲーム制作
サークル
の誘い
量

量
なにこれ

?
やることの

量
授業だけでは

間に合わな
い
自主的
にやる!!!
超ヤバイ
ぞー!
え、ヤバイの?
一人どうすれば…
本気の人
ゲーム制作
サークル
学校サーバに資料有!!

入ろう
ぜ!!!!
専用のグループ有 !!
合計77ページ!
紹介ページ
•

•
C++11
– ゲーム開発者のためのC++11/C++14
–

http://www.slideshare.net/Reputeless/c11c14

– VisualC++で使えるC++11
–

http://www.slideshare.net/nekko1119/c11-in-visual-c

– 規格書で読むC++11のスレッド
–

http://www.slideshare.net/hotwatermorning/c11-24197243

– 中3女子でもわかる constexpr
–

http://www.slideshare.net/GenyaMurakami/constexpr-10458089

– C++ ポケットリファレンス
–

amazonで販売中!!&学校に1冊

DirectX11
– DirectX11 3Dプログラミング
–

amazonで発売中!! &学校に3冊

– WindowsSDK8
–

http://msdn.microsoft.com/ja-jp/windows/desktop/hh852363

–

http://www44.atwiki.jp/bokuyo/m/pages/190.html

– DirectX Tool Kit
–

https://directxtk.codeplex.com/

– DirectXTex texture processing library
–

http://directxtex.codeplex.com/

– DXUT
–

http://www.shader.jp/?p=1118

– 関連サイト
–
–
–

http://zerogram.info/?cat=17
http://asura.iaigiri.com/DirectX/dx1.html
http://maverickproj.web.fc2.com/pg00.html
このスライドはピアプロ・キャラクター・ライセンスに基
づいて
クリプトン・フューチャー・メディア株式会社のキャラク

Contenu connexe

En vedette

Visual C++で使えるC++11
Visual C++で使えるC++11Visual C++で使えるC++11
Visual C++で使えるC++11nekko1119
 
エクストリームC++11/14プログラミング
エクストリームC++11/14プログラミングエクストリームC++11/14プログラミング
エクストリームC++11/14プログラミングegtra
 
音声合成ライブラリ「AquesTalk」の紹介
音声合成ライブラリ「AquesTalk」の紹介音声合成ライブラリ「AquesTalk」の紹介
音声合成ライブラリ「AquesTalk」の紹介K Moneto
 
Ogre3d 基礎
Ogre3d 基礎Ogre3d 基礎
Ogre3d 基礎kw
 
シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!Yuichi Higuchi
 
海外ゲーム技術勉強会#1 OGRE3D
海外ゲーム技術勉強会#1 OGRE3D海外ゲーム技術勉強会#1 OGRE3D
海外ゲーム技術勉強会#1 OGRE3DKazuhisa Minato
 
Hello, DirectCompute
Hello, DirectComputeHello, DirectCompute
Hello, DirectComputedasyprocta
 
ゲーム組み込み向け独自スクリプト言語の設計で気を付けている事
ゲーム組み込み向け独自スクリプト言語の設計で気を付けている事ゲーム組み込み向け独自スクリプト言語の設計で気を付けている事
ゲーム組み込み向け独自スクリプト言語の設計で気を付けている事Shun Moriya
 
マーク&スイープ勉強会
マーク&スイープ勉強会マーク&スイープ勉強会
マーク&スイープ勉強会7shi
 
C++のビルド高速化について
C++のビルド高速化についてC++のビルド高速化について
C++のビルド高速化についてAimingStudy
 
Cコンパイラの改造(未)
Cコンパイラの改造(未)Cコンパイラの改造(未)
Cコンパイラの改造(未)7shi
 
規格書で読むC++11のスレッド
規格書で読むC++11のスレッド規格書で読むC++11のスレッド
規格書で読むC++11のスレッドKohsuke Yuasa
 
ゲームオブジェクトの管理
ゲームオブジェクトの管理ゲームオブジェクトの管理
ゲームオブジェクトの管理Shota Homma
 
最速の言語Lua ~Python Hack-a-thon #3~
最速の言語Lua ~Python Hack-a-thon #3~最速の言語Lua ~Python Hack-a-thon #3~
最速の言語Lua ~Python Hack-a-thon #3~Yuki Tamura
 
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングC++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングKohsuke Yuasa
 
ゲーム開発とデザインパターン
ゲーム開発とデザインパターンゲーム開発とデザインパターン
ゲーム開発とデザインパターンTakashi Komada
 
非同期処理の基礎
非同期処理の基礎非同期処理の基礎
非同期処理の基礎信之 岩永
 
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2Yoshito Tabuchi
 

En vedette (20)

Visual C++で使えるC++11
Visual C++で使えるC++11Visual C++で使えるC++11
Visual C++で使えるC++11
 
エクストリームC++11/14プログラミング
エクストリームC++11/14プログラミングエクストリームC++11/14プログラミング
エクストリームC++11/14プログラミング
 
音声合成ライブラリ「AquesTalk」の紹介
音声合成ライブラリ「AquesTalk」の紹介音声合成ライブラリ「AquesTalk」の紹介
音声合成ライブラリ「AquesTalk」の紹介
 
Ogre3d 基礎
Ogre3d 基礎Ogre3d 基礎
Ogre3d 基礎
 
シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!
 
海外ゲーム技術勉強会#1 OGRE3D
海外ゲーム技術勉強会#1 OGRE3D海外ゲーム技術勉強会#1 OGRE3D
海外ゲーム技術勉強会#1 OGRE3D
 
Hello, DirectCompute
Hello, DirectComputeHello, DirectCompute
Hello, DirectCompute
 
ゲーム組み込み向け独自スクリプト言語の設計で気を付けている事
ゲーム組み込み向け独自スクリプト言語の設計で気を付けている事ゲーム組み込み向け独自スクリプト言語の設計で気を付けている事
ゲーム組み込み向け独自スクリプト言語の設計で気を付けている事
 
マーク&スイープ勉強会
マーク&スイープ勉強会マーク&スイープ勉強会
マーク&スイープ勉強会
 
C++のビルド高速化について
C++のビルド高速化についてC++のビルド高速化について
C++のビルド高速化について
 
C#でゲームを作る2016 第7回
C#でゲームを作る2016 第7回C#でゲームを作る2016 第7回
C#でゲームを作る2016 第7回
 
Cコンパイラの改造(未)
Cコンパイラの改造(未)Cコンパイラの改造(未)
Cコンパイラの改造(未)
 
規格書で読むC++11のスレッド
規格書で読むC++11のスレッド規格書で読むC++11のスレッド
規格書で読むC++11のスレッド
 
ゲームオブジェクトの管理
ゲームオブジェクトの管理ゲームオブジェクトの管理
ゲームオブジェクトの管理
 
C#でゲームを作る2016 第8回
C#でゲームを作る2016 第8回C#でゲームを作る2016 第8回
C#でゲームを作る2016 第8回
 
最速の言語Lua ~Python Hack-a-thon #3~
最速の言語Lua ~Python Hack-a-thon #3~最速の言語Lua ~Python Hack-a-thon #3~
最速の言語Lua ~Python Hack-a-thon #3~
 
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングC++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
 
ゲーム開発とデザインパターン
ゲーム開発とデザインパターンゲーム開発とデザインパターン
ゲーム開発とデザインパターン
 
非同期処理の基礎
非同期処理の基礎非同期処理の基礎
非同期処理の基礎
 
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
 

Similaire à [学内勉強会]C++11とdirectxライブラリ

cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門Kohki Miki
 
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくばHirotaka Kawata
 
先端技術 競技プログラミング
先端技術 競技プログラミング先端技術 競技プログラミング
先端技術 競技プログラミング聡 中川
 
160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBMToshiki Tsuboi
 
Cc dx lib72-p
Cc dx lib72-pCc dx lib72-p
Cc dx lib72-pCHY72
 
人工知能のコードをハックする会 #2
人工知能のコードをハックする会 #2人工知能のコードをハックする会 #2
人工知能のコードをハックする会 #2Ryohei Kamiya
 
Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93
Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93
Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93hiyohiyo
 
第二世代MDD(萌え駆動開発)によるプログラミングWin32 #CLRH89
第二世代MDD(萌え駆動開発)によるプログラミングWin32 #CLRH89第二世代MDD(萌え駆動開発)によるプログラミングWin32 #CLRH89
第二世代MDD(萌え駆動開発)によるプログラミングWin32 #CLRH89hiyohiyo
 
ツイートID生成とツイッターリアルタイム検索システムの話
ツイートID生成とツイッターリアルタイム検索システムの話ツイートID生成とツイッターリアルタイム検索システムの話
ツイートID生成とツイッターリアルタイム検索システムの話Preferred Networks
 
Dreamsparkからのクリスマスプレゼント
DreamsparkからのクリスマスプレゼントDreamsparkからのクリスマスプレゼント
Dreamsparkからのクリスマスプレゼントtosaka 2
 
Siv3Dのすゝめ
Siv3DのすゝめSiv3Dのすゝめ
Siv3DのすゝめAzaika At
 
横浜国立大学PCサークルSCITEXの活動 in SGF2012
横浜国立大学PCサークルSCITEXの活動 in SGF2012横浜国立大学PCサークルSCITEXの活動 in SGF2012
横浜国立大学PCサークルSCITEXの活動 in SGF2012Tomoki Suzuki
 
Rosとgazeboを使った3d空間での3次元畳み込みニューラルネットによる物体認識
Rosとgazeboを使った3d空間での3次元畳み込みニューラルネットによる物体認識Rosとgazeboを使った3d空間での3次元畳み込みニューラルネットによる物体認識
Rosとgazeboを使った3d空間での3次元畳み込みニューラルネットによる物体認識Hiroaki Kaneda
 
C++11やemscriptenと付き合って1年間の振り返り
C++11やemscriptenと付き合って1年間の振り返りC++11やemscriptenと付き合って1年間の振り返り
C++11やemscriptenと付き合って1年間の振り返りpaosidufgythrj
 
Cocos2d x-sprite3d
Cocos2d x-sprite3dCocos2d x-sprite3d
Cocos2d x-sprite3daktsk
 
Inside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfesInside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfesTakeshi Komiya
 

Similaire à [学内勉強会]C++11とdirectxライブラリ (20)

cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
 
Cyma gdc2011 tabc報告
Cyma gdc2011 tabc報告Cyma gdc2011 tabc報告
Cyma gdc2011 tabc報告
 
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
 
先端技術 競技プログラミング
先端技術 競技プログラミング先端技術 競技プログラミング
先端技術 競技プログラミング
 
160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM
 
Cc dx lib72-p
Cc dx lib72-pCc dx lib72-p
Cc dx lib72-p
 
人工知能のコードをハックする会 #2
人工知能のコードをハックする会 #2人工知能のコードをハックする会 #2
人工知能のコードをハックする会 #2
 
Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93
Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93
Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93
 
第二世代MDD(萌え駆動開発)によるプログラミングWin32 #CLRH89
第二世代MDD(萌え駆動開発)によるプログラミングWin32 #CLRH89第二世代MDD(萌え駆動開発)によるプログラミングWin32 #CLRH89
第二世代MDD(萌え駆動開発)によるプログラミングWin32 #CLRH89
 
ツイートID生成とツイッターリアルタイム検索システムの話
ツイートID生成とツイッターリアルタイム検索システムの話ツイートID生成とツイッターリアルタイム検索システムの話
ツイートID生成とツイッターリアルタイム検索システムの話
 
Dreamsparkからのクリスマスプレゼント
DreamsparkからのクリスマスプレゼントDreamsparkからのクリスマスプレゼント
Dreamsparkからのクリスマスプレゼント
 
C++ Now 2012 report
C++ Now 2012 reportC++ Now 2012 report
C++ Now 2012 report
 
Siv3Dのすゝめ
Siv3DのすゝめSiv3Dのすゝめ
Siv3Dのすゝめ
 
横浜国立大学PCサークルSCITEXの活動 in SGF2012
横浜国立大学PCサークルSCITEXの活動 in SGF2012横浜国立大学PCサークルSCITEXの活動 in SGF2012
横浜国立大学PCサークルSCITEXの活動 in SGF2012
 
Rosとgazeboを使った3d空間での3次元畳み込みニューラルネットによる物体認識
Rosとgazeboを使った3d空間での3次元畳み込みニューラルネットによる物体認識Rosとgazeboを使った3d空間での3次元畳み込みニューラルネットによる物体認識
Rosとgazeboを使った3d空間での3次元畳み込みニューラルネットによる物体認識
 
Boost17 cpplinq
Boost17 cpplinqBoost17 cpplinq
Boost17 cpplinq
 
C++11やemscriptenと付き合って1年間の振り返り
C++11やemscriptenと付き合って1年間の振り返りC++11やemscriptenと付き合って1年間の振り返り
C++11やemscriptenと付き合って1年間の振り返り
 
Cocos2d x-sprite3d
Cocos2d x-sprite3dCocos2d x-sprite3d
Cocos2d x-sprite3d
 
dwangocpp1-lt
dwangocpp1-ltdwangocpp1-lt
dwangocpp1-lt
 
Inside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfesInside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfes
 

[学内勉強会]C++11とdirectxライブラリ