Bulletでぬいぐるみを作ってみる Part1 簡易形状によるスキニング

投稿日:

SoftBodyを使って、ぬいぐるみを再現しみます。SoftBodyのポリゴン数に制限があるようなので、ローポリモデルをソフトボディーで動かし、その動きをハイポリモデルに反映するという方法を採用します。これでSoftBodyの制限回避と計算負荷を軽減しつつ、見た目の良いハイポリモデルを動かすことが可能になります。
今回、解説動画を作成しました。大まかな説明は動画で行って、ここではローポリとハイポリモデルの連動について解説します。

SoftBodyぬいぐるみ
SoftBodyぬいぐるみ

続きを読む Bulletでぬいぐるみを作ってみる Part1 簡易形状によるスキニング

Bullet Physics ソフトボディーを使ってみる

投稿日:

Bullet PhysicsのSoftBodyが前から気になっていたので試してみます。ソフトボディーと聞いてまず”ぬいぐるみ”を思い浮かべたので、ぬいぐるみっぽい動きを実現することを目標にします。
まずは、任意形状のポリゴンモデルをSoftBody機能を使って動かすために必要な準備やパラメータ設定を調べ、実験用プログラムを作成します。

ソフトボディー(任意形状) GIFアニメ
ソフトボディー(任意形状) GIFアニメ

続きを読む Bullet Physics ソフトボディーを使ってみる

Bullet Physicsを使ってみる VS2013&DirectX11

投稿日:

Visual Studio 2013でBullet Physicsをビルド、環境構築してみます。それと、デバッグ表示(OpenGL)をDirectX11での表示に変更してみる。
新バージョンの使い方 Bullet Physicsを使ってみる⇒(Bullet2.86 VS2017 DirectX11)

Bullet Physics デバッグ表示
Bullet Physics デバッグ表示

続きを読む Bullet Physicsを使ってみる VS2013&DirectX11

VisualStudio2013でDirectX11プログラミング

投稿日:

VisualStudio2013でDirectX11プログラミングをしてみる。必要なのはVisualStudio2013のインストールのみ!
使用するVSのバージョンは”Visual Studio Express 2013 for Windows Desktop”。

続きを読む VisualStudio2013でDirectX11プログラミング

DX11エフェクトシステム作成 Part4 ツール作成

投稿日:

コンパイル結果をバイナリデータに、コンパイラをオフラインツールにしてVisualStudioに組み込みます。バイナリデータは、ファイル出力とC++ソースコード(配列データ)の2形式で出力できるようにする。VSの組み込みはカスタムビルド。
とりあえず、これで完成。これまでで得られたもの、シェーダの知識(変数、コンパイル)、字句解析処理、カスタムビルドの方法など。

続きを読む DX11エフェクトシステム作成 Part4 ツール作成

D3DCOMPILER_xx.dllがない! シェーダのコンパイルについて

投稿日:

DirectX11プログラムでシェーダのコンパイルを行っているとexeファイルを起動時に”D3DCOMPILER_xx.dllがない”というエラーが発生して起動できません。VisualStudio2012のデバッガで実行した場合は起動できます。単純にdllをインストールすればいいといわけではなさそうなので調査してみる。

続きを読む D3DCOMPILER_xx.dllがない! シェーダのコンパイルについて

DX11エフェクトシステム作成 Part3 変数情報取得

投稿日:

コンパイルしたシェーダバイナリコードから使用されている変数の情報を取得します。ただしEffects11のような複雑(詳細)な情報ではなく必要最小限の情報のみ扱います。

続きを読む DX11エフェクトシステム作成 Part3 変数情報取得

DX11エフェクトシステム作成 Part2 コンパイラ作成

投稿日:

FXファイルのコンパイラを作成します。ただし一部の仕様のみに対応した簡易コンパイラです。複雑な構文解析は行わないので、文字列によって処理を分岐させる程度のプログラムになります。

続きを読む DX11エフェクトシステム作成 Part2 コンパイラ作成

DX11エフェクトシステムの作成 Part1 FXファイル解析

投稿日:

DirectX11ではEffect関連の機能が削除されていて、使用するには別途公開されているEffects11ソースコードが必要なります。しかし、その説明には古いコードの移植支援とあるため、あまり推奨されているものではないようです。
そこで、EffectのFXファイルを使用した独自のエフェクトシステムを作成してみます。
まず最初はFXファイル(HLSL)の字句解析と構文解析を行い必要な情報を取得できるようにします。

続きを読む DX11エフェクトシステムの作成 Part1 FXファイル解析

D3DPreprocessでプリプロセス

投稿日:

スクリプトやテキストデータを記述する際、Cプリプロセッサの機能があればかなり便利になります。しかし、それを実装するのは大変です。コンパイラ付属のプリプロセッサは入出力がファイルなので使い勝手がわるい。何かないか探していたところDirectxのシェーダコンパイラ関連の関数にD3DPreprocessというものを発見、使ってみる。

続きを読む D3DPreprocessでプリプロセス