トップページ > 記事閲覧
輝度以外でクリップする条件を指定する方法
名前:名無三 日時: 2021/01/07 22:08

void buf_bloom(const int& level = 255) { if (bloom_flag) { GraphFilterBlt(BufScreen_.get(), BufScreen_.get(), DX_GRAPH_FILTER_TWO_COLOR, 250, GetColor(0, 0, 0), 255, GetColor(128, 128, 128), 255); GraphFilterBlt(BufScreen_.get(), GaussScreen_.get(), DX_GRAPH_FILTER_DOWN_SCALE, EXTEND); GraphFilter(GaussScreen_.get(), DX_GRAPH_FILTER_GAUSS, 16, 1000); } BufScreen.SetDraw_Screen(false); if (bloom_flag) { SetDrawMode(DX_DRAWMODE_BILINEAR); SetDrawBlendMode(DX_BLENDMODE_ADD, level); GaussScreen_.DrawExtendGraph(0, 0, disp_x, disp_y, true); GaussScreen_.DrawExtendGraph(0, 0, disp_x, disp_y, true); SetDrawBlendMode(DX_BLENDMODE_NOBLEND, 255); } } 現在サンプルを参考にこのような形でブルームエフェクトを実装しているのですが、GraphFilterBltのクリップフィルタ(2種?)は輝度によってのみクリップしています。 この場合赤色光などを表現できません。赤の輝度付近でクリップしようにも他の色が混じってしまいます。そこでお伺いします。 @輝度以外でクリップする方法はありますか? Aこのように実装しましたが、より良い方法はありますか?シェーダーなど検討しましたが、知識不足でして…
メンテ

Page: 1 |

Re: 輝度以外でクリップする条件を指定する方法 ( No.1 )
名前:管理人 日時:2021/01/08 23:53

> @輝度以外でクリップする方法はありますか? 現状では輝度以外でクリップする方法はありません > Aこのように実装しましたが、より良い方法はありますか?シェーダーなど検討しましたが、知識不足でして… 赤色光をブルームさせたい、等の場合は予め赤色光を MakeScreen で作成した別の画面に描画して、 その画面に対してブルーム処理を行う、といった方法があります( その画面に描画した物すべてが ブルーム処理対象とするので、クリップ処理を行わない )
メンテ
Re: 輝度以外でクリップする条件を指定する方法 ( No.2 )
名前:名無三(解決) 日時:2021/01/11 11:24

輝度以外にクリップ方法がないと言うことで承知しました。ありがとうございます
メンテ

Page: 1 |

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

   クッキー保存