Sponsored Link

アプリケーションの最近のブログ記事

即席でお年玉を用意しました。

90度回転させることができるPivot機能付きのモニタで、東方風神録を縦画面で遊べます。

pivot-080103.zip

風神録は左側のゲーム画面だけ見えていればプレイに支障は無いので、その部分だけを画面一杯に拡大表示させることができます。Alt+BSでゲーム中にいつでも、全体表示/拡大表示を切り替えることができます。

アス比固定拡大ツールに少し手を加えただけなので、使い方は一緒です。シェーダも使えます。

本ソフトウェアを導入すると縦画面専用となります。横画面に戻したいときは、dllを消すかリネームしてください。

アス比固定拡大ツールを更新しました。

DX8用、DX9用どちらも同じ変更で、変わった点は2つあります。

1つは強制遅延キャンセル時にトリプルバッファも無効にして、強制的にダブルバッファにするようにしました。ただし、ドライバで強制トリプルバッファにしている場合には効果がありません。

もう1つは、アスペクト比を任意に設定可能にしました。以前のバージョンでは、PCのモニタはスクエアピクセルで、元のプログラムは4:3であることを想定していましたが、自由な比率に変更できるようになりました。

アスペクト比を固定したまま画面を拡大するツール for DirectX8(仮)

アスペクト比を固定したまま画面を拡大するツール for DirectX9(仮)

また、DX9用のシェーダに、特殊効果シェーダを追加しました。画面に特殊効果をかけて、普段とは違った気分を味わうことができます。用意したのはモノクロとセピア調の2つです。モノクロシェーダは、完全モノクロとカラーの間で調節ができ、中間の設定にすると色あせた感じを楽しめます。

DX9用のアス比固定拡大ツールに、バイキュービックシェーダを軽量化したものを追加しました。

アスペクト比を固定したまま画面を拡大するツール for DirectX9(仮)

通常のバイキュービック補間は、4*4の16点から補間していますが、角の4点の影響度は僅か数%程度なので、これらを省略して12点補間としました。

テクスチャ参照回数を25%削減したので、だいぶ軽くなったと思います。

DirectX9用のアス比固定拡大ツールを更新しました。

画面の拡大にピクセルシェーダが使えるようになりました。また、これをもって正式公開とします。

アスペクト比を固定したまま画面を拡大するツール for DirectX9(仮)

バイキュービック補間のシェーダも用意してあります。

バイキュービック補間は思っていたよりも高画質で、これなら固定画素のモニタでも良さそうです。ただし、非常に重い処理で、GeForce7600GSではSXGA解像度が限界です。テクスチャ参照回数がかなり多いので、高解像度での使用はメモリクロックの高いビデオカードが必要です。

DirectX8用アス比固定拡大ツールを更新しました。

東方シリーズでスナップショット撮影をすると落ちる問題を修正しました。

原因はif文の条件が真逆になっていたという、マヌケなミスorz

DX8用からソースをコピペしたはずのDX9用では、何故か間違っていませんでした。

DirectX9用のアス比固定拡大ツールを更新しました。

前のバージョンは、Debug版ランタイムでしか動かなかったので、Retail版でも動くように直しました。

動かなかった原因は、なぜかIDirect3DDevice9::GetStreamSourceで返されるIDirect3DVertexBuffer9のVtblが壊れていました。DirectX側のバグなのか、それとも私のプログラムに原因があるのか調べるのが面倒だったので、この部分(追加の処理を入れる前後で同じ状態に保つ処理)をスッパリと削除しました。

どうせ前のフレームでセットした頂点データを、そのまま次のフレームでも再セットせずに使うプログラムなんて無いので問題ないでしょう。

DirectX9用のアスペクト比固定拡大ツールも作りました。

アスペクト比を固定したまま画面を拡大するツール for DirectX9(仮)

とりあえず東方風神録の体験版で動作確認したバージョンを暫定公開しておきます。

某掲示板でこっそり配布していたアスペクト比固定拡大ツールを公開しました。

アスペクト比を固定したまま画面を拡大するツール for DirectX8(仮)

DirectX8を使用したフルスクリーンのアプリケーション専用です。

海外のサイト等で、GDIベースのストップウォッチアプリケーションを使って液晶モニタの遅延時間を測定しているところがありますが、VSYNCと同期していないカウンタの値では画面に表示されている数値が常に最新の値である保証がなく、正確性にかなり疑問があるので、DirectXを使ってVSYNCと同期して動くソフトを作ってみました。

LCDDelayChecker070905.zip

LCDDelayChecker070919.zip (07/09/19更新)

クローンだけでなく水平スパン、垂直スパンにも対応しました。

lcddelaycheck.gifこのソフトを使用して液晶モニタの遅延時間を測定するには、次の物が必要になります。

  • DirectX9が使えるPC(WindowsXP SP2以外では動作確認をしておりません)
  • 映像出力が2系統あるビデオカード
  • 液晶モニタ
  • ブラウン管モニタ
  • デジカメ

これら全てが揃っている人は稀だと思いますが、1つでも欠けると意味がありません。ちなみに私は全部揃っていますが、設置するのが面倒なので自分で測定したことはありませんw

詳しくは添付されているテキストファイルを読んでください。

なお、安定して動作しているときでもfpsの値が僅かに変動すると思いますが、1より小さい値の変動はただの測定誤差なので気にする必要はないです。

自己紹介

名前:新坂秀敏

e-mail:mail

ウェブページ/掲示板

このアーカイブについて

このページには、過去に書かれたブログ記事のうちアプリケーションカテゴリに属しているものが含まれています。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

アプリケーション: 月別アーカイブ

Powered by Movable Type 4.01