C++ プロトタイプパターン 書いてみた。
こんばんは!
もものんです!
今回はプロトタイプパターンについて書いてみました!
生産用クラスにオブジェクトを設定することで
メソッドで簡単にそのクローンをつくる事が出来るデザインパターンです。
これは書いていて凄く分かりやすくて楽しかったです(笑)
自分の業務では色々な場面で使えそうだなって思えるデザインでした。
何しろイメージしやすかったです。
C++ ファクトリーメソッドパターン 書いてみた。
C++ ビルダーパターン 書いてみた。
こんばんは!
もものんです!
今日は作成系のデザインである「ビルダー」パターンについて書いてみました。
実装する処理部分を抽象化しておくことにより、
何かあった際に処理を差し替えしやすくすることができるイメージでした。
最近、テキストデータを加工する仕事をしていたのですが
データを「A」→「B」、「A」→「C」に加工する処理を書いていたのですが
このデザインパターンを使えば、めちゃくちゃ綺麗にソースを組めたなと思いました…(笑)
同じようなコードを書く場面があったら今度は使ってみたいと思います。
DirectX9にimguiを実装してみたい!
今更DirectX9なんかい!
って感じなんですけど、今の自分の環境がそれなので、…
①GitHubからクローンしてくる
②クローンしたプロジェクトから下記ファイルを自分のプロジェクトにもって来る
※バグが最初出るので、言われた通りに実装
- imgui(cpp、h)
- imgui_impl_dx9(cpp、h)
- imconfig.h
- imgui_internal.h
- stb_textedit.h
- imgui_draw.cpp
- stb_rect_pack.h
- stb_truetype.h
③指定のコードを記述
※初期化、終了、更新、描画処理
覚え書きコード
初期化処理をする
// Setup ImGui binding
ImGui_ImplDX9_Init(hWnd, CManager::GetRenderer()->GetDevice());
// Setup style
ImGui::StyleColorsClassic();
//ImGui::StyleColorsDark();
//グローバル領域にフラグ配置
bool show_another_window = false;
//更新処理の始まりに
ImGui_ImplDX11_NewFrame();//始めに記述
…サンプルソースのようにコード記述
/*例その1
ImGui::Begin("Another Window", &show_another_window);
ImGui::Text("Hello from another window!");
ImGui::End();
*/
ImGui::EndFrame();//更新処理の終わりに
//プログラム終了時に
ImGui_ImplDX9_Shutdown();
描画はじめに
ImGui::Render();
※自分フィードバックブラーを実装していたのですが、これを描画の最初らへんで書いていたのですが、全然Imguiが描画されなくて、結果最後のPresentのバッファ切替の手前にこのコードを記述したら描画されました。描画用のポリゴンに書き込めなかったのが原因だったのか…良く分かりません(-_-;)描画されたので良しとします!
…
…
…
ここまでかけばImGuiがとりあえずは描画されました…
まだ枠を動かしたりとかは出来ないのですが。
ちょこちょこ上手くいかなくて変に時間とられちゃいました。。
とりあえず実装出来そうなので良かったです!
なんかやるさんのブログを参考にさせて頂きました。
ありがとうございました。
ありがたやありがたやm(__)m
参考にしたサイト