トップページ > 記事閲覧
GetIgnoreDrawGraphColor()は無いのでしょうか?
名前:へけぽん 日時: 2021/11/11 23:05

描画する画像のRGB成分を無視するかどうかを指定する int SetIgnoreDrawGraphColor( int EnableFlag ) という関数があります お手軽に画像を真っ白な状態に出来るので割と重宝してるのですが だいたいの関数でセットになっているGet〜がこの関数には無かったので質問させていただきました
メンテ

Page: 1 |

Re: GetIgnoreDrawGraphColor()は無いのでしょうか? ( No.1 )
名前:管理人 日時:2021/11/12 01:25

ご指摘ありがとうございます 大体は Set と Get で対になっていますが、探すと Set しかない関数も幾つかあった気がします (・・; ( それらの関数は実装当時『Get の関数に有用性を感じられない』という思考が働いていた気がします( 因みに今は『Get があった方が良い』派です ) ) ともあれ早速 GetIgnoreDrawGraphColor を追加しましたので、よろしければお使いください m(_ _)m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.3 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい)
メンテ
Re: GetIgnoreDrawGraphColor()は無いのでしょうか? ( No.2 )
名前:へけぽん(解決) 日時:2021/11/12 07:14

望外の対応、ありがとうございます ちなみに質問なのですが SetIgnoreDrawGraphColor()を使う理由として 「画像を一色にしたいのなら、これが一番処理が軽いだろう」という予想からです SetDrawBrightと併用すれば明るさを0〜255にもできます 今ならSetDrawAddColor()もありますし SetIgnoreDrawGraphColor()を使わなくても出来るようになりました 例、(128,64,32)のカラー一色で描画したい場合 今まで SetIgnoreDrawGraphColor(TRUE) SetDrawBright(128,64,32) 使わないなら SetDrawBright(0,0,0) SetDrawAddColor(128,64,32) どちらも見た目は同じになるようです そこで質問なのですが この場合、描画処理が軽いのはSetIgnoreDrawGraphColor()を使う処理の方だろうと言う予想はあっていますか?
メンテ
Re: GetIgnoreDrawGraphColor()は無いのでしょうか? ( No.3 )
名前:へけぽん(バグ) 日時:2021/11/13 22:01

ビルド中に以下のようなメッセージで中断されます 1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(268,5): error MSB6006: "link.exe" はコード 1120 を伴って終了しました。 1>main.obj : error LNK2001: 外部シンボル ""int __cdecl DxLib::GetIgnoreDrawGraphColor(void)" (?GetIgnoreDrawGraphColor@DxLib@@YAHXZ)" は未解決です。 1>D:\DXライブラリ\自作\Debug\プロジェクト.exe : fatal error LNK1120: 外部参照 1 が未解決です。
メンテ
Re: GetIgnoreDrawGraphColor()は無いのでしょうか? ( No.4 )
名前:管理人 日時:2021/11/14 06:51

> ビルド中に以下のようなメッセージで中断されます すみません、テスト版の libファイルに不備がありました 修正しましたので、申し訳ありませんが再度ダウンロードしてください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.3 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい) > この場合、描画処理が軽いのはSetIgnoreDrawGraphColor()を使う処理の方だろうと言う予想はあっていますか? いえ、シェーダーではテクスチャカラーを変数に読み込んだ後に SetIgnoreDrawGraphColor(TRUE); の場合は テクスチャカラーを読み込んだ変数の r,g,b に 1.0f を代入する、と言う処理を行っているので、 厳密には SetIgnoreDrawGraphColor(TRUE); を使う方が処理が重いのではないかと思います ( 1命令分なので SetDrawBright + SetDrawAddColor の方が軽いといっても誤差レベルだと思いますが… )
メンテ
Re: GetIgnoreDrawGraphColor()は無いのでしょうか? ( No.5 )
名前:へけぽん(解決) 日時:2021/11/14 10:13

正常にビルドできました 対応ありがとうございます >いえ、シェーダーではテクスチャカラーを変数に読み込んだ後に SetIgnoreDrawGraphColor(TRUE); の場合は >テクスチャカラーを読み込んだ変数の r,g,b に 1.0f を代入する、と言う処理を行っているので、 >厳密には SetIgnoreDrawGraphColor(TRUE); を使う方が処理が重いのではないかと思います >( 1命令分なので SetDrawBright + SetDrawAddColor の方が軽いといっても誤差レベルだと思いますが… ) なるほど、そうなると今私がやりたいことを実現するために組んでいる関数は僅かですが無駄が出てるようです SetDrawAddColor登場のおかげでSetIgnoreDrawGraphColorを使わずともやりたいことが実現できるようになりましたので SetIgnoreDrawGraphColorを使わない形で組み直してみようと思います (どのみち、カラー設定の時には毎回SetDrawAddColorを呼んで値を調整しているので) 回答ありがとうございました
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存