プログラミング

DirectX

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

前回は draco のビルドと、サンプルのモデルデータをとりあえず読み込んで描画を行いました。今回は、モデルデータをコンバートする部分と、別のモデルデータの読み込みについて確認したいと思います。 コンバート 現時点において Draco をビルドすると ply, obj ファイルから drc ファイルを生成するコンバーターが付属しています。 使い方は以下のよう...
DirectX

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

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

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

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

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

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

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

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

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

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

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

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

読み取り専用 DepthStencilView

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

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

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

WPF TreeView で破線付きを作ってみた その2

先日の続きの話になります。 TreeView の階層構造を破線でつなげて描画したものにするといったネタになります。 TreeView 本体ではなく、 TreeViewItem のテンプレートを編集して以下のようなものが実現できました。 標準のテンプレートで変更した箇所と言えば、開閉のための三角を+や-に変更したところでしょうか。 未使用の列については破線を描...