トップページ > 過去ログ > 記事閲覧
DrawBox(塗り潰し無し)の際に発生する1ドット
名前:Totoki 日時: 2008/02/14 15:09

こんにちは。 表題の件について、報告がないようなので。 現在、DrawBox関数のFillFlagに0を渡した物、及び 隠し関数(?)DrawLineBox関数を使用した際に描画される図形の、 右下の角の一つ右のピクセルが描画されてしまうようです。 なお、FillFlagが1の時には、正しい描画が行われているようです。 使用している環境は、  ・Windows XP SP2  ・Visual Studio 2008 Express Edition  ・DXライブラリ バージョン2.24a  ・Mobile Intel 945 Express Chipset Family  ・DirectX 9.0c (4.09.0000.0904) よろしくお願いします。

Page: 1 |

Re: DrawBox(塗り潰し無し)の際に発生する1ドット ( No.1 )
名前:Totoki 日時:2008/02/17 09:43

すみません、追記させていただきます。 もう少しこの現象を調べてみました。 まず、安定版である2.19bでは、この現象は発生しませんでした。 また、SetUse3DFlagに0を渡し、3D機能を切るとこの現象は発生しませんでした。 別の環境で試してみましたが、今度は最新版、かつ3D機能付きの場合でも発生しませんでした。 その為、こちらの環境に起因するものである気がしてきました。 (そもそも、他の方からの報告がない時点で、こちらの環境を疑うべきだったと反省しております・・・) お騒がせして申し訳ありませんでした。
Re: DrawBox(塗り潰し無し)の際に発生する1ドット ( No.2 )
名前:管理人 日時:2008/02/17 15:41

DrawBox の外枠のみの描画には3D描画機能を使用しているのですが、この機能は チップやドライバによって微妙に結果が違うので、何処かの環境で正常に描画される ようにしても別の環境では1ドット欠けたり、逆にはみでたりということが起きて しまいます。 2.19b の頃はこの問題に対処する為にソフトウエアレンダリングで正確な描画を 行うようにしていたのですが、そうすると今度は DrawLine や外枠のみの DrawBox を多用するソフトで動作が非常に遅くなってしまい、結局3D描画機能を使用する 方に戻しました。 なので、申し訳ありませんが正確な外枠の描画をされたい場合は描画の前に SetUse3DFlag( FALSE ); を実行してから DrawBox を呼ぶようにしてみて下さい。 (そして DrawBox を呼んだ後に SetUse3DFlag( TRUE ); で設定を元に戻して下さい)

Page: 1 |