タグ

DirectXに関するsyaianのブックマーク (21)

  • 昨日やったこと - yappyの日記

    githubのアカウントだけ取った。yappyはいなかった(爆笑)。 gitは分散型で、ローカルにプライベートなリポジトリを持てる(というかそうする)のがよい。が、なんかoggとかへのフルパス依存があって一度ストップ。 MSDNでMS公式の見解を確認した。 DirectGraphics グラフィクス。DirectDrawは非推奨になりました。Direct3Dでやってください。 DirectMusic 非推奨になりました。高レベルサウンド。 DirectPlay 廃止予定。ネットワーク。winsockでやってください。 DirectSound 非推奨になりました。低レベルサウンド。単に波形データを再生するだけの機能はエミュレーションで残っている。見た感じXAudio2が十分な機能を持っているよう。 DirectShow 非推奨になりました。マルチメディア。 Direct3D SDKには9/1

    昨日やったこと - yappyの日記
    syaian
    syaian 2013/06/03
    DirectXの推奨技術とか非推奨技術とか
  • XAudio2を使ってみる。まとめ - while( c++ );

    XAudio2のまとめ XAudio2を使ってみる。その1-初期化- - while( c++ ); XAudio2を使ってみる。その2-音の再生- - while( c++ ); XAudio2を使ってみる。その3-WAVファイルの再生- - while( c++ ); XAudio2を使ってみる。その4-ストリーミング再生- - while( c++ ); XAudio2を使ってみる。その5-スレッドによるポーリング- - while( c++ ); 予定 XAudio2を使ってみる。その6-スレッドによるイベント通知- XAudio2を使ってみる。その7-OGGファイルの再生- XAudio2を使ってみる。その8-オーディオ管理クラス- XAudio2を使ってみる。その9-3Dサウンド- XAudio2を使ってみる。その10-エフェクト-

    XAudio2を使ってみる。まとめ - while( c++ );
  • 高解像度マウス動作の使用

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 ゲーム ディベロッパー グループ 2006 年 4 月 はじめに 標準のコンピューター マウスは、1 インチあたり 400 ドット (400 DPI) でデータを返しますが、高解像度マウスは、800 DPI 以上でデータを生成します。このため、高解像度マウスからの入力精度は、標準マウスからの入力精度よりも高くなります。ただし、高解像度データは、標準の WM_MOUSEMOVE メッセージを通して取得することができません。通常、ゲームにとって高解像度マウス デバイスは有用ですが、WM_MOUSEMOVE のみを使用してマウス データを取得するゲームでは、マウスのフィルターされていない完全な解像度を利用できなくな

    高解像度マウス動作の使用
  • 3D関連の色指定の違い

  • Zバッファ - ゲームプログラミングWiki

  • Zソート... - 暇人の反省会というなの暇つぶし

    モデラーとか作っていると、範囲を3Dで表示するために半透明のオブジェクトを良く描画します。 DirectXはZバッファ法です。 Zバッファ法では、ピクセルに点が描画されるとき、同時にその時点での一定のルールに沿った値(通常はカメラからの距離)も保存しておき、次から同じ場所に書き込まれるときは、その値と比較して描画するかしないかを決めています。 これがあるために、重なったポリゴンはちゃんと手前だけが描画されるわけです。 それとは別の方式にZソート法というものがありんす。 こちらは奥にあるポリゴンから手前に向けて描画するという方式のもので、ポリゴンのZ値に応じてソートしてから描画するものです。 現在ではZソート法は余り効率がよろしくないので、リアルタイムで処理する必要があるゲームにおいては滅多なことでは使われません。 Zソート自体はオブジェクトをまるまるクリップする場合や、複雑なピクセルシェー

    Zソート... - 暇人の反省会というなの暇つぶし
  • ゲームプログラマーを目指すひと DirectX 描画方法まとめ(コードもあるよ)

    【リンク】 ◆解説系TOP◆ 今日はプログラミングのお話。 DirectXでは、ポリゴンなどを描画する関数は、 --------------------------------------------------- ・DrawPrimitiveUP 関数 ・DrawIndexedPrimitiveUP 関数 ・DrawPrimitive 関数 ・DrawIndexedPrimitive 関数 --------------------------------------------------- 上記の4つ があります。 (まだ他にもあるかも?) で、自分はその中のDrawPrimitiveUP関数しか使っておりませんでした。 (むしろ、描画 = DrawPrimitiveUP関数だと思ってた。) さらに、最後にUPがつく関数は、 (DrawPrimitiveUP 関数 、DrawIndex

  • その54 ステンシルによるクリッピング描画

    ホーム < ゲームつくろー! < DirectX技術編 その54 ステンシルによるクリッピング描画 画面の一部分にだけ描画したいという状況が生じることがあります。例えばレーシングゲームのバックミラーの映像とか、スクロールするメッセージウィンドウなどです。これには色々な方法が考えられるのですが、その中で割とシンプルで使いやすいのが「ステンシル」です。 ステンシルはDirect3Dが持っている基機能の一つで、スクリーンに点を打つか打たないかを直接決めることが出来ます。クリッピングに持って来いの性質ですね。章ではステンシルを用いて画面の一部分だけを描画する方法を紹介します。尚、ステンシルについてはDirectX技術編その18「ステンシルバッファって?」でも軽く触れていますが、章でももう一度おさらいします。 ① 点を打つのも大変です Direct3Dが画面に点を打つまでには、長い長い過程を経

  • ステンシル バッファー テクニック (Direct3D 9)

    ステンシル バッファーを使えば、アプリケーションは画像のピクセルをマスクできます。このマスクは、ピクセルを描画するかどうかを制御します。ここでは、頻繁に使われる次のエフェクトについて説明します。 合成 デカール ディゾルブ、フェード、およびワイプ 輪郭とシルエット 2 面ステンシル ステンシル バッファーは、レンダー ターゲット サーフェスのピクセル単位の描画を有効または無効にします。このバッファーの最も基的なレベルでは、アプリケーションがレンダリングした画像の部分をマスクで覆うことが可能になり、その画像が表示されません。アプリケーションはディゾルブ、デカリング、輪郭処理などの特殊効果のためにステンシル バッファーを使うことがよくあります。 ステンシル バッファー情報は、z バッファー データに埋め込まれています。アプリケーションでは、次のコード例に示すように IDirect3D9::C

    ステンシル バッファー テクニック (Direct3D 9)
  • ステンシル バッファ テクニック

    ステンシル バッファ テクニック ステンシル バッファを使えば、アプリケーションは画像のピクセルをマスクできる。このマスクは、ピクセルを描画するかどうかを制御する。ここでは、頻繁に使われる次のエフェクトについて説明する。 合成 デカール ディゾルブ、フェード、およびワイプ アウトラインとシルエット 両面ステンシル ステンシル バッファは、レンダリング ターゲット サーフェイスのピクセル単位の描画を有効または無効にする。このバッファの最も基的なレベルでは、アプリケーションがレンダリングした画像の部分をマスクで覆うことが可能になり、その画像が表示されない。アプリケーションはディゾルブ、デカール、アウトライニングなどの特殊効果のためにステンシル バッファを使うことが多い。 ステンシル バッファ情報は、z バッファ データに埋め込まれている。IDirect3D9::CheckDeviceForm

    ステンシル バッファ テクニック
  • Performance Optimizations (Direct3D 9) - Win32 apps

    Every developer who creates real-time applications that use 3D graphics is concerned about performance optimization. This section provides guidelines for getting the best performance from your code. General Performance Tips Databases and Culling Batching Primitives Lighting Tips Texture Size Matrix Transforms Using Dynamic Textures Using Dynamic Vertex and Index Buffers Using Meshes Z-Buffer Perfo

    Performance Optimizations (Direct3D 9) - Win32 apps
  • t-pot『ボリューム影』

  • DirectX 7 の Direct3D におけるライト

    Microsoft Corporation June 2000 はじめに Microsoft® Direct3D® のシーンにおける要素の見え方は、さまざまな変数で制御されています。そのような変数のひとつがオブジェクトに与えられるマテリアル属性です。マテリアルは、ライトの処理方法やテクスチャを使用するかどうかも含め、サーフェイスの光り方や色の属性を記述します。マテリアルの詳細については、Microsoft® DirectX® SDK を参照してください。 Direct3D アプリケーションのサーフェイスは、ユーザーが作成したライトとマテリアルによりある色で発色します。ここでは、Direct3D アプリケーション プログラマ向けに、ライティング パラメータの使用方法と頂点 カラーの計算方法について解説します。その他のライトやフォグについての詳細、および、ライティングに関するヒントについては、

    DirectX 7 の Direct3D におけるライト
    syaian
    syaian 2011/01/31
    ライティング論理式が記載
  • ゲームプログラマーを目指すひと これで "2次元と3次元の世界を行き来" できるぞ!

    【リンク】 ◆解説系TOP◆ 今日は、2次元と3次元の座標の相互変換についてのお話です。 ※別の次元(2←―→3)へ座標を変換する方法を紹介します。 別に、自分がアニメの世界に入り込んだり、アニメのキャラクターが現実の世界に出てくる、 という様な意味ではありませぬ。 では、まずコレをご覧下さい。 【参考画像】 メタセコイアです。 メタセコイアでは、普通にカーソルでモデルの表面を選択する事が出来るんですが、 (写ってないですが、黄色くなっている部分がカーソルで指されています) よく考えたら、謎ですね。 x軸とy軸しかないウィンドウ(2次元の世界)から、 x、y、z軸の3次元の世界を選択できています。 一体どうやっているのか? 今日は、この謎の部分を解説します。 (まぁ、先に結論を言ってしまうと、行列で2次元と3次元の座標を変換してます。) では、下記の様な順で書いていこうかな、と。 ----

  • Zバッファの使い方

  • アルファブレンディング - ゲームプログラミングWiki

    DESTの青(RGBA(0,0,255,128))と、SRCの緑(RGBA(0,128,0,128))を合成してみましょう。 アルファ値は16進数ですので0.0〜1.0の範囲に直さなければなりません。 ということで256で割ります。 緑と青の合成 = (0,128,0) * 128 / 256 + (0,0,255) * ( 1 - 128 / 256) = (0,128,0) * 1 / 2 + (0,0,255) * 1 / 2 = (0,64,0) + (0,0,128) = (0,64,128) となります。これを全てのピクセルに対してしますと以下のような画像になります。 DirectX使用法 さて先ほどの半透明を求める公式がありましたよね。 あのアルファ値の係数を実際のDirectXでは以下のように置き換えられています。 合成結果 =SRC * SRCのブレンディング係数 + D

  • IMAGIC Blog - 半透明のトリック

    アイマジック作品の開発情報を発信前回、Zバッファの弱点を紹介しました。今回は、その弱点をなんとかしようというトリックです。 写真は、Zバッファへの書き込みを停止した状態です。最前列に不透明のキャラクター、後列に半透明キャラクターを配置しています。手前から順番に描画されると、不透明キャラクターに上書きされ、前後関係がおかしなことになります。 これを解決するためのトリックが、Zソートです。 Zソートを行うと、写真のように正しく描画できるようになります。これで解決!となれば万歳ですが、Zソートには図形交差時に前後判断ができないという重大な欠点があります。 1つのエミッターから放出されたパーティクルを単位として、Zソートが行われるため、パーティクル群同士が交差した場合、Zソートは失敗します。 Zバッファ、Zソート、それぞれ一長一短ですが、その特性を理解して適切に使い分けることで、希望する表示を得る

  • IMAGIC Blog - Zバッファの泣き所

    アイマジック作品の開発情報を発信3Dグラフィックを実現するグラフィックカードは、一般的にZバッファをベースに動作しています。メモリーが限られていた3Dグラフィックの黎明期は、ポリゴンの前後判断がもっとも難しい問題でした。現在は、潤沢なメモリーが利用できるようになり、高速で確実に前後判断ができるZバッファという仕組みが使われています。 このZバッファ、原理的にシンプルでしかも強力です。 Zバッファを停止した場合の画面です。手前のキャラから描いています。後ろのキャラクターが、後から描かれるため、手前のキャラクターを上書きしてしまいます。これだと前後関係がおかしいことになります。 Zバッファへの書き込みを有効にすると、前後判断が適切に行われ、前後関係が正しく描かれます。Zバッファは、画面のピクセル単位で判断できるため、どんなに複雑な形でも正しく描画できます。 このZバッファ、画面のピクセル単位で

  • TakusoftによるDirectX Graphics入門

    Sec.26 マテリアル(Tutorial) <<マテリアル>> 前回も言ったように、マテリアルとは物質がどのように光を反射するのか、光を放射するのか、という性質です。 この情報は、D3DMATERIAL9という構造体を用いて定義します。 D3DMATERIAL9構造体は次のように定義されています。 typedef struct D3DMATERIAL9 { D3DCOLORVALUE Diffuse; D3DCOLORVALUE Ambient; D3DCOLORVALUE Specular; D3DCOLORVALUE Emissive; float Power; } D3DMATERIAL9, *LPD3DMATERIAL9; Diffuse  ディフェーズ色 Ambient  アンビエント色 Specular  スペキュラ色 Emissive  エミッシブ色 Power   ス

  • DirectMusic

    ここでは、Microsoft® DirectMusic® を使って、C および C++ で記述されたアプリケーションでサウンドをキャプチャおよび再生する方法について説明する。 説明するトピックは、次のとおりである。 DirectMusic の新機能。Microsoft DirectX® 9.0 の DirectMusic の新機能を紹介する。 DirectMusic の概要。DirectMusic の概要。機能、基概念、アーキテクチャ、ダイナミック サウンドトラックなどを説明する。このトピックでは、DirectMusic のプログラミングの実際的な側面ではなく、原理に焦点を当てる。 DirectMusic 入門。DirectMusic プロジェクトの設定とデバッグについての情報、DirectMusic パフォーマンスの設定とサウンドの再生に関係するプログラミング手順の概要。 Direct

    DirectMusic