プログラミング

C# でアンマネージ領域のメモリコピー

単なる memcpy のようなことを、アンマネージ領域で行いたいときの話です。 Marshal.Copy が一見できるかなと期待してしまうのですが、これはマネージド配列からアンマネージドのメモリへコピーするための関数です。(オーバーライドにより逆方向も可能になってます)。 しかしコピー元もコピー先もアンマネージドのオーバーライドはありません。 これをどうする...
Vulkan

Vulkan と WPF

年末年始のタイミングで Vulkan を少し勉強してみました。個人的な印象では DirectX12 よりも難しい感触がありました。 しかしながら、発表からある程度の時間が経っており、情報も比較的多くあったため三角形を1枚出せるところまで到達できました。 既に先陣を切ってくれた人が情報を公開してくれていたのが大変参考になりました。
プログラミング

コンテキストメニューについて苦戦した話

Windows エクスプローラーが表示するようなコンテキストメニューを自分のアプリケーションでも表示したいことがあります。 このときに難しいと感じた部分や罠があったので記録として残しておこうと思います。 意外にもまとめてあるページはなかったようなので、誰かの役に立ってくれれば幸いです。 現在のシステムにおいて登録済みのコンテキストメニューを表示するまでの話で...
OpenGL

Nexus5X を Android 7.1.1

Nexus5X の端末に Android 7.1.1 の OS が配信されてきたので更新してみました。 Android 6.0.1 からの更新となり、 7.0 を飛ばしてしまった感じになりました。 更新結果 動作そのものが重くなるかなと思いましたが、逆にレスポンス良く動くようになった気がします。 そして OpenGL ES 3.2 のコンテキストで初期化でき...
linux

ラズパイ2で使えたUSB WiFi 2016

前回に続いて Raspberry Pi 2 で使えた USB WiFi 2016版です。 少なくとも手元で動作チェックをして動いたものだけをここに記載しています。 オススメできるのは手軽さから自動でドライバを認識するタイプですね。 自分でドライバを入手・ビルドするタイプはなかなかうまくいかないことが多かったです。 なおここで使用している Raspbian は...
linux

Linux で使えた USB WiFi 2016

USB WiFi を Linux で使おうとすると予想通り大変です。Windows でドライバなしで使える(標準ドライバ)とかがどれだけ恵まれているかを実感させられます。今回は個人的に試してみて Linux でも使えたものをまとめてみました。 この記事を書いている段階では生産中止になっていない入手可能なものに厳選しています。
OpenGL

ドッキングウィンドウ on WPF での OpenGLView

前回の延長戦で、ドッキングウィンドウとの組み合わせを試してみました。 ドッキングウィンドウには AvalonDock (WPF Extended Toolkit 付属) を用いています。 はじめに AvalonDock でドッキング可能なドキュメントとして、前回の カスタム版 D3D11Image を貼り付けています。 ここに OpenGL の描画をはめ込む...
OpenGL

WPF で OpenGL の描画はめ込み

WPF アプリで OpenGL の描画結果をはめ込めたらいいなと思ってトライしてみることにしました。 WPF は DirectX9 で動いているため、またアプリ全体で1つのウィンドウハンドルとなっているため、従来の C# フォームアプリのように特定の部分だけ描画を任せるというようなことが難しくなっています。
Hyper-V

クライアント Hyper-V でも DirectX/OpenGL

先日は Windows Server 2016 で試していましたが、実は Windows10 Pro に含まれている クライアント Hyper-V でも DirectX11, OpenGL 4.4 が使えるとの情報を見たので実験してみました。
Hyper-V

Windows Server 2016 で RemoteFX GPU の実験

Windows Server 2016 で個人的に魅力的に感じている RemoteFX 仮想 GPU について実験してみました。 Windows Server 2016側の準備 Hyper-V の役割だけでなく、リモートデスクトップ仮想化ホスト の役割もインストールして RemoteFX を使えるようにします。 今回の環境では Intel HD Graphi...