DirectX

Draco を C++ と DirectX11 で触ってみる 前編

Google の Draco が公開されています。これは 3D データ圧縮ライブラリでして、 Zip よりも効率よく圧縮ができるというのが特徴です。公開されたのは2017年1月ごろの話なので、ずいぶんと出遅れている状態ですがちょっと触ってみました。 効果的に使える場面は WebGL の環境だと思いますが、あえてデスクトップPC の DirectX11 でデー...
プログラミング

WPF で描画結果を画像ファイルへ

GDI のメモリ DC で書いたオフスクリーンの内容で画像ファイルを作成するという方法はよく知られていると思います。これを WPF ではどうするのだろうと思って試してみました。 描画 まずは画像作成元となるものを作ります。 WPF では RenderTargetBitmap というクラスがあり、これを使うと保持している内容をビットマップとして取得が出来ます。...
linux

Raspberry Pi でパケット遅延器

Raspberry Pi を使って、パケットの遅延器を作ってみました。 Linux なら2枚の NIC を使って簡単に作ることができます。これの Raspberry Pi 版となります。 USB-NIC を増設 Raspberry Pi 2/3 には1つの LAN ポートしかないため、2つめを追加する必要があります。 そこで今回 USB NIC を追加しまし...
DirectX

ソフトパーティクルの実装方法

テクスチャとして読み込むデプスバッファと、アウトプットマージャーにセットしたデプスバッファでデプステストを使っての事例として、ソフトパーティクルがお題に合致している感じだったので試してみました。 ようやく読み込み専用 DepthStencilView を意味あるものとして使えたかなと思います。 ソフトパーティクル ソフトパーティクルとは、パーティクルに使用す...
DirectX

デプスバッファからワールド座標を復元

以前ディファードレンダリングを試していたときの続きネタになります。あのときにはワールド座標の位置も G-buffer に書き出していました。デプスバッファも別にセットして出力していたので、このデプスバッファを活用出来れば実は G-buffer としての出力テクスチャが1つ削減出来ます。
プログラミング

LINQ で歯抜けインデックスと重複データ

LINQ って便利ですよね。書きやすいし、従来のコードよりも簡潔に記述できるような感触があります。今回はその LINQ で書いてみたコード片を共有したいと思います。
プログラミング

Flask を使ったプロジェクトひな形

Python で WebApplication のフレームワークと言えば、Django が強いみたいですが、様々なことがラッピングされて一見ブラックボックス感が強いと思いました。 特に、始めてフレームワークを触る人には難しい印象でした。 自分は Python 初心者ではありますが、 Flask というフレームワークは使いやすさを感じたので紹介したいと思います...
DirectX

読み取り専用 DepthStencilView

今更ですがディファードレンダリングのコードを書いていました。ポイントライトをたくさんおける仕組みなのがいいですね。 古いタイプのレンダリングコードとはまた違った感じで、入力は既に描画したテクスチャを参照してデータが入ってくるのは新鮮でした。 そのときに、既に描画済みのデプスバッファを参照しつつも、デプステストは有効にしたいというようなケースでワーニングに出遭...
PC環境設定

Windows10 1607 に Windows Update の適用済みディスクを作る

以前に Windows7 に WindowsUpdate 適用済みディスクを作成する記事を書きました。 あれから環境も変わって Windows10 を使うことも増えてきました。今度は Windows10 で同じように統合したいと思うようになりました。 そこで Windows10 の環境でも Windows update を適用済みディスクを作るといったことに...
プログラミング

WPF TreeView の破線描画付き その3

もうすこし TreeView の見た目に足掻いてみました。 今までのものは項目の部分でクリックが有効になるのですが、 Windows エクスプローラーなどではその行で選択できるようです。 これを実現してみようとトライしてみました。 結果 現時点の実装状態ではこんな感じが出来ています。 実現方法 通常のものだと TreeViewItem の要素は 田 の形で区...