Toshihiro Shimizu 890ddd
//------------------------------------------------------------
Toshihiro Shimizu 890ddd
#include "tfxparam.h"
Toshihiro Shimizu 890ddd
#include "stdfx.h"
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include "ino_common.h"
shun-iwasawa e00258
#include "igs_color_blend.h"
shun-iwasawa 70bc26
shun-iwasawa 70bc26
//------------------------------------------------------------
shun-iwasawa 70bc26
// Regarding computation in linear color space mode is based on the "ComposeAdd"
shun-iwasawa 70bc26
// plugin fx by DWANGO Co., Ltd. The major difference from the original
shun-iwasawa 70bc26
// "ComposeAdd" is the "Source is premultiplied" option; the semi-transparent
shun-iwasawa 70bc26
// pixels are un-premultiplied before converting to linear color space. Also
shun-iwasawa 70bc26
// modified the transfer functions to use standard gamma correction.
shun-iwasawa e00258
//-------------
shun-iwasawa 70bc26
Toshihiro Shimizu 890ddd
/* tnzbase --> Source Files --> tfx --> binaryFx.cppを参照 */
Shinya Kitaoka d1f6c4
class ino_blend_add final : public TBlendForeBackRasterFx {
Shinya Kitaoka 120a6e
  FX_PLUGIN_DECLARATION(ino_blend_add)
shun-iwasawa 70bc26
Toshihiro Shimizu 890ddd
public:
shun-iwasawa e00258
  ino_blend_add() : TBlendForeBackRasterFx(true) {
shun-iwasawa e00258
    // expand the opacity range
Shinya Kitaoka 120a6e
    this->m_opacity->setValueRange(0, 10.0 * ino::param_range());
Shinya Kitaoka 120a6e
  }
Shinya Kitaoka 120a6e
  ~ino_blend_add() {}
Toshihiro Shimizu 890ddd
shun-iwasawa e00258
  void brendKernel(double& dnr, double& dng, double& dnb, double& dna,
shun-iwasawa e00258
                   const double upr, double upg, double upb, double upa,
shun-iwasawa e00258
                   const double up_opacity,
shun-iwasawa 26a3ce
                   const bool alpha_rendering_sw = true,
shun-iwasawa 481b59
                   const bool do_clamp           = true) override {
shun-iwasawa 26a3ce
    igs::color::add(dnr, dng, dnb, dna, upr, upg, upb, upa, up_opacity,
shun-iwasawa 481b59
                    do_clamp);
Shinya Kitaoka 120a6e
  }
Toshihiro Shimizu 890ddd
};
shun-iwasawa e00258
FX_PLUGIN_IDENTIFIER(ino_blend_add, "inoAddFx");