Re: GetIgnoreDrawGraphColor()は無いのでしょうか? ( No.1 ) |
- 名前:管理人 日時:2021/11/12 01:25
|
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
|
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を呼んで値を調整しているので)
回答ありがとうございました
|