DXUT

DXUTのサンプルコードを読む

DXUTはDirectXの面倒な初期化やモデルの読み込みなんかを簡単に行えるようにしたライブラリ
DirectXのサンプルコードでよく使われている



DXUTの中身をちゃんと読んでないからただの予想になるけど
書かなきゃいけないコードは次のようになる

  • コールバック関数の設定

 DXUTSetCallback*関数を使ってそれぞれ設定する
 ここでシェーダやバッファの設定を行う
 描画データの更新もコールバック関数で実装される

  • 初期化

 DXUTInitでDXUTを初期化
 DXUTCreateWindow、DXUTCreateDeviceでwindowsAPI周りの初期化

  • メインループ

 DXUTMainLoopを呼ぶ

DirectX 10の初期化に出てくるオブジェクト

DirectX10では描画のために次の3つのオブジェクトを使用している。

  • ID3D10Device
  • IDXGISwapChain
  • ID3D10RenderTargetView


それぞれの役割について簡単に説明

ID3D10Device

描画を担当するインタフェース

IDXGISwapChain

バッファの管理を行うインタフェース
バックバッファとフロントバッファの役割を入れ替えたりする

ID3D10RenderTargetView

ID3D10DeviceとIDXGISwapChainを関連付けるインタフェース
つまり、ID3D10Deviceがどこに描画を行うかを決める。
Viewはリソース(例えばテクスチャ)がどのようにデバイスで解釈されるかを意味する。
RenderTargetViewの場合だと「テクスチャをレンダーターゲットとして扱う」の意になる。



このへんを参考にしました。
DirectX10 + C++/CLI デバイスの作成と背景のクリア|Memeplexes
その1 DirectX10版極短初期化プログラム

DirectX 10 触ってみたのでメモ

  • DXGI**系のオブジェクト

DirectX Graphics Infrastructure
ビデオカードとやり取りするためのオブジェクト
MSDNでは次のような表記

DirectX グラフィックス インフラストラクチャー (DXGI) は、DirectX グラフィックスのランタイムに依存する必要のない、低レベル タスクを管理します。DXGI は、今後登場する DirectX の各バージョンに共通のフレームワークを提供します。

http://msdn.microsoft.com/ja-jp/library/cc835730%28v=VS.85%29.aspx
    • IDXGISwapChain
      • Bufferの管理を専門に行う(Bufferへ書き込む作業はID3D10Deviceを用いる)
      • フルスクリーンモードでもデバッグできるらしい

擬似おっぱい


エラストマー樹脂で作られた人工のおっぱい
たぶんオナホと同じ素材?
通販大魔王 Blogで開発されているみたい
柔らかくて触り心地が良さそう


問題点としてエラストマーの臭い(ゴム臭)があげられている。
以前、おっぱい型のエラストマーを自作したときにも感じたが
このゴム臭はちょっと気になる。
あまり顔を埋めたいとは思わない。


あと、実際に作ってみて問題に感じたのはそのテクスチャ感
柔らかさが人肌でも手で触れたときの感じが人肌とは程遠い。
最近は触覚の再現するディスプレイみたいのも研究も結構されてるので、
そういった技術と組み合わせることが出来ればあるいは・・・・


このテクスチャ感の問題
自分でいろいろ試してみた結果
最も有効かつお手軽な方法は「エラストマーを布越しに触る」というものだった。


根本的な問題はなにも解決していないのだけれども
「おっぱいに触る感触」を「布越しにおっぱいに触る感触」に置き換えることによって
そのリアリティは飛躍的に上昇する。


なので上の動画の人工おっぱいもTシャツとか着せて使えばいいんじゃないかな




布越しに触るおっぱいといえば最近こんな商品を見かけた。
http://web.doujindou.com/info/makura_magika.html
抱き枕に乳首をつけるようだ。
たぶんただのゴム製の乳首なんだろうけど
やはり布越しに触るとかなりリアルな感じになると思う。


抱き枕については詳しくないんだけど
この乳首を使用するなら参考画像に出ているような裸の状態ではなくて
何か着ている状態のほうがその効果を存分に楽しめるんじゃないだろうか。


朝から何書いてるんだろう・・・・

三角形ポリゴンを描画する

三角形ポリゴンを描画するまでの流れは大きく分けて次のようになる。

1. 頂点バッファの作成

  • 頂点構造体を宣言
  • D3D10_INPUT_ELEMENT_DESC構造体を用いて頂点構造体で宣言されている項目の種類やサイズを記述する
  • 上の二つのデータを用いて頂点バッファを作成する
  • 頂点バッファを描画デバイスにセットする
  • プリミティブの型を描画デバイスにセットする

2. シェーダの設定

  • fxファイルを読み込む&コンパイル→エフェクトが作成される
  • エフェクトからテクニックを取得
  • テクニックからパスを取得

3. 頂点バッファとシェーダの擦り合わせ(頂点レイアウト)

  • 頂点情報、シェーダへのポインタを用いて頂点レイアウトを作成する
  • 頂点レイアウトをデバイスにセットする

4. 描画

  • テクニックを取得する
  • 描画する