2018年02月一覧

WPF と OpenGL の空域問題への対処

WPF を使っていて厄介な問題の1つに空域の問題があります。特に DirectX や OpenGL, Vulkan といった HWND を使うものを扱って WPF の世界に持ち込むと遭遇します。他にも HWND を必要とする(従来型の)コントロールを配置すると出遭います。ブラウザのコントロールなどが該当するようです。

具体的には HWND を使用したコントロールを配置、ホストすると、その上には WPF のコントロールを配置できません。配置してエラーになるというわけで無く、 HWND のコントロールが最前面に来てしまうため見えない状態となってしまいます。

今までは、描画結果を D3DImage や Image など画像にしてしまって配置する方法を考えていましたが、もっと別の手段があるようだったので試してみることにしました。

続きを読む


低レベルプログラミング

タイトルにつられ気味で、この本を買いました。

タイトルや副題が心に刺さったので買ったのですが、予想通りにいい本だったと思います。
今時珍しい、C言語とアセンブラを繋いでくれる内容となっています。しかも”古くさいC”ではなく”今時のC言語”ですし、 8086 や 486 のアセンブラでは無く、 x64 のアセンブラとなっています。

昔は割と低レベルといえば、以下の書籍が定番だったように思います。

  • はじめて読む486―32ビットコンピュータをやさしく語る
  • はじめて読む8086―16ビット・コンピュータをやさしく語る

これらの現代版といった感じになるのかなという印象でした。

ここのブログを読んでくれているような人は分かっていると思いますが、「低レベルプログラミング」というのはハードウェアに近いレイヤでのプログラミングのことを差しています。最近は書籍の種類も減ってきている中、こういったレイヤの書籍が出てくるのは本当に嬉しく思いました。前に読んだ同類な印象のものは以下の書籍たちでした。

自分としては 30日でできる~のほうが、読みやすかったし読んでいてワクワクした記憶があります。ただどちらもハードウェアに近い部分の話をしてくれているので面白かったですね。