今日の呟き

その後

アバター
V30
記事: 21
登録日時: 9年前
住所: 岡山県

その後

投稿記事 by V30 » 8年前

少し調って来た。

DirectXに関してはまだまだ素人ですが、自分流に地道に制作しています。

ヘッダファイル
► スポイラーを表示
テストアプリ
► スポイラーを表示
[album]969[/album]

【ログ】
関数内部のあらゆる所でエラーチェックをして、デバックモードではメッセージ
ボックスで通知をしています。
リリースモードではログ出力のみ行いますが、ファイルを扱う関数をまだ作って
いません。
将来は、エラーチェック自体を省略したり、カスタマイズできるようにしたい
なぁ…という願望があります。

【ウインドウ】
ウインドウ領域とクライアント領域の変数ネーミングがごっちゃになっていたので、
分かりやすいように直しました。DxLibの影響?
Windows10の親ウィンドウって、普通に作ると左右と下の境界線(フレーム)の向こう
に、7ピクセル幅の見えないウインドウ領域が存在するんですね。ウインドウ座標を
(0, 0)に設定しても(7, 0)に描画されるので、若干イラっとします。(笑)
マウスカーソルの座標は、DirectInputではなくWindowsAPIから取り出して
デスクトップ・ウインドウ・クライアント・レンダーターゲットの領域座標・サイズ
から導き出しています。って普通ですね。
リソースファイルに関して何も作っていないので、まだアイコンは付けられません。

【描画】
描画命令に限らずだけれども、実行時間にシビアな関数は、他の関数を二次利用
するのではなく、同じコードでも一つ一つ個別に書いています。
コンパイラが何をどう最適化しているのかは面倒過ぎるから普通調べないので、
やれる事はやって置く事にしています。

【テキスト】
書式文字列描画は可変長引数をまんま引用する方法が分からないので自作中です。
printfの通りに作るのは、大変だと言うより無理だ。どうしよう…。
とりあえずswprintf_sと文字列描画命令を使って代用していますが、それよりも
、面倒でも項目毎に個別に描画した方が速いのでは?という気もしました。

【グラフィック】
努力しなくても簡単に8種類のフォーマット画像をロードする事ができました。
特定の色を透明として扱う機能を自作するのも面倒だから、透明部分が必要
な時は『ICO、GIF、PNG』画像を使用して簡単に済ます事にしました。

【デバイス入力】
キーボード・ジョイスティック・マウス、基本3種を作り直しました。
全てのボタン(キー)は、入力継続値(フレーム数)で取得できるようにしています。
ボタン(キー)を離したのと、マウスのダブルクリックの感知を取得する関数を
作れば、概ね完成です。

【FPS】
PCの性能のままに放置しているので現在1000f/s以上の数値を叩き出していますが、
レンダーターゲット側で画面更新に合わせて自動調整する方法と、自作で好きな
数値に設定する方法があるので、どっちが良いのか迷っています。
このままだとPCに負荷がかかるので、早くどうにかせねば…。

【全体】
ライブラリ全体を名前空間で囲むのは、全部出来てからの予定です。
インライン関数、別にインラインでなくても良いような。
テストアプリも作ってみました。ライブラリの動作は、今の所問題なさそうだ。



時間・FPS・音楽再生・乱数の概念がないのでまだゲームには使えませんが、
今ある部分をもっと丁寧に調整してから次に進もうと思ってます。

今年中に完成できるかな???
最後に編集したユーザー V30 on 2015年12月12日(土) 12:47 [ 編集 2 回目 ]

コメントはまだありません。