Windows

やっぱりMFCでしょ

(はじめに:「再頒布」の読み方は「さいはんぷ」。だよん) WindowsアプリケーションをC++で作るとき、ユーザーインタフェースのところをMFCで作るべきか.NETで行くべきかと今更のように毎回悩んでしまう輩も多いのではないだろうか。今回一仕事を終えたタ…

MFCが進化しているみたいだ

C#とかVBとかの華々しさに押され気味だったかに見えたネイティブC++だが(C++/CLIのことじゃないよC++/CLIはどっかに飛んで行け!)、そんなネイティブC++で使用する、これからはもう廃れていくだけだと思っていたあのMFCが、VC++2008から、実に10年ぶりくら…

IntelのTBBライブラリ

IntelからTBBというマルチスレッドサポートライブラリが出ているらしい。マルチスレッドに対応した、concurrent_vector, concurrent_hash_map などもあるらしい。parallel-for文とか、結構簡単に使えそうなものもあるみたい。テンプレートなので使用方法もダ…

マネージドヒープのメモリアロケーションは高速だった

.NETフレームワークのCLRな環境の提供する、マネージドヒープというやつにおけるメモリアロケーションは非常に高速なのであった。これまでは、「GCなんて機構があるのだから、Nativeヒープを使ってのメモリ確保には、速度面、効率面では到底及ぶまい」と決め…

MSIME2007って…

WindowsXP64bit版上でVisualStudio2005Proを使っているのだが、日本語の入力がどうもままならない。というのも、「半角/全角」キーを押しても日本語モードになってくれず、半角英数モードになったままになってしまうのである。 とくに、プログラムなどを書…

BMPファイルフォーマット読み込み関数

やあ子供たち、元気にしてたかい?本当に作ろうとしてたものではなくて、何となくツールとか使ってるうちに出来てきちゃってそれが結構よく見えてきちゃったからこれが私の作品です、私の絵ですモデルですプログラムですって出しちゃうのってさ、それぁ君た…

OpenCVとWebカメラ

OpenCVというリアルタイム画像処理ライブラリがあるというので、Webカメラを買ってきて実際にリアルタイム画像処理というものをやってみた。するとどうだ、Chihara-Labという人たちのページに乗っていたサンプルプログラムを若干改造、VC++8でコンパイルし実…

Visio2003で寸法線を出そう

MicrosoftVisio2003を使っていて、せっかく書いたレイアウト上の物体あるいは隙間の寸法線を出したい場合は、 【ファイル】→【図形】→【Visioエキストラ】→【寸法〜工学系】だ。 デフォルトのツールウィンドウに入ってないから、「何だできないのか」とずっ…

ペンタブレットアプリ製作におけるAPIについて

WindowsXP上で、C++あるいはC++/CLIを使ってペンタブレット対応のアプリを作るにあたり、ペンタブレットからの情報(位置のみでなく、筆圧も!)を取得するための、APIが必要になる。候補としては、 Microsoft Windows XP Tablet PC Edition Software Develo…

Vista on VirtualPC2007日記

今日はWindowsXP上に立てたVirtualPC2007の上にWindowsVistaをインストールしてみた。いっぱしに使えるようになるまでに、以下のことをする必要があった。 マシンパワーに遜色はないはずだがそのままだとやはりかなり遅い。そこで「バーチャルマシン追加機能…

BMPファイルフォーマットで出力

メモリ上に画像イメージバッファがあるとき、それをBMP形式の画像ファイルとして出力するための簡易関数だ。その名もwrite_bmp()。もちろん汎用的なものではないが、こいつを1行呼び出すだけだ。 ただし、以下ソース中の FourByteBoundaryPadding クラスに…

OpenGL Simple Adapter

(2016年10月11日(火曜日)PFDを外部から取り出せるようにマイナーチェンジ) Win32やMFCであれ、.NETであれ、WindowsでOpenGL画面を出すのはちょっと厄介だ。初期化のためのコードや、また描画時のコード、ダブルバッファのスワップなど、最初のブラックス…

ティアリングについて

リアルタイム描画環境を実現するゲームループができたところで、次に気になるのがティアリングだ。例えば30FPSで、トップのFormの中に、OpenGLもしくはDirect3Dを関連付け、SwapBuffers()もしくはdevice->Present()を使って、バックバッファをFLIPすると、ひ…

 ゲームループについて

Windowsにおける、リアルタイムアクションゲームのメインループのあるべき姿について方々で調べたところ、システムのタイマーを使うのではなく、ループを自分で作ってしまうアプローチが妥当というか、ポピュラーなようだ。これはGDI、OpenGL、Direct3Dのい…

ファイルコピーとプログレスバー

Windowsで、ファイルをコピーする処理を実装するとき、小さなファイルはいいのだが、大きなファイルともなると、数十秒間はコピー処理から帰ってこないことがよくある。そこで思いつくのがプログレスバーなのだが、これがなかなかいい方法がない。 .NET 環境…