DirectX触ってみた
今回からDirectX11を触り始めました。
理由は単純で以前から色々なところでゲーム開発といえばC++と
DirectXやOpenGLを使って全部自分で作るもんだよねという話を聞いていて
じゃ自分もできるようになろうと思ったからです。
ということで触ってみたんですが、書く量がとにかく多いです。
初期化して画面を表示するということだけに
↓こんな構造体とか
DXGI_SWAP_CHAIN_DESC sd; ZeroMemory(&sd,sizeof(sd)); sd.BufferCount = 1; sd.BufferDesc.Width = width; sd.BufferDesc.Height = height; sd.BufferDesc.RefreshRate.Numerator = 60; sd.BufferDesc.RefreshRate.Denominator = 1; sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM; sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; sd.OutputWindow = mHwnd; sd.SampleDesc.Count = 1; sd.SampleDesc.Quality = 0; sd.Windowed = true;
↓こんなにたくさん引数があるやつとか
hr = D3D11CreateDeviceAndSwapChain (NULL,mDriverType,NULL,flags,&fLevel,1,D3D11_SDK_VERSION,&sd,&mSwapChain,&mDevice,&mLevel,&mDeviceContext);
ただの初期化処理がこんなに大変だとは・・・
これは世間でDirectXは難しいとか面倒くさいとか言われますねw
自分はプログラミング初心者であるということもあって
これだけで3時間ぐらいかかってしまいましたorz
ただ出来たときはやった!って思いましたし
関数名や型名も何をするのかわかりやすいものが多かったりと
慣れたらサクサク作れるかもなとは思いました。
今回作ったものはgithubに上げました。
https://github.com/hakase0724/DirectX