//-------------------------------------------------------------------- public void apply_gamma_dir(GammaLookupTable gamma) { R_Byte = gamma.Dir((byte)R_Byte); G_Byte = gamma.Dir((byte)G_Byte); B_Byte = gamma.Dir((byte)B_Byte); }
/* //-------------------------------------------------------------------- //template<class Function> public void for_each_pixel(Function f) { uint y; for(y = 0; y < Height(); ++y) { row_data r = m_rbuf->row(y); if(r.ptr) { uint len = r.x2 - r.x1 + 1; value_type* p = (value_type*)m_rbuf->RowPointer(r.x1, y, len) + (r.x1 << 2); do { f(p); p += 4; } while(--len); } } } //-------------------------------------------------------------------- public void PreMultiply() { for_each_pixel(multiplier_rgba<color_type, order_type>::PreMultiply); } //-------------------------------------------------------------------- public void DeMultiply() { for_each_pixel(multiplier_rgba<color_type, order_type>::DeMultiply); } //-------------------------------------------------------------------- //template<class GammaLut> public void apply_gamma_dir(GammaLut g) { for_each_pixel(apply_gamma_dir_rgba<color_type, order_type, GammaLut>(g)); } //-------------------------------------------------------------------- //template<class GammaLut> */ public void apply_gamma_inv(GammaLookupTable g) { throw new System.NotImplementedException(); //for_each_pixel(apply_gamma_inv_rgba<color_type, order_type, GammaLut>(g)); }
public BlenderGammaBGRA(GammaLookupTable g) { m_gamma = g; }
//-------------------------------------------------------------------- public FormatRGBA(RasterBuffer rb, IBlender blender, GammaLookupTable gammaTable) : this(rb, blender) { throw new System.NotImplementedException("Not using the Gamma table yet."); }
public BlenderGammaBGRA() { m_gamma = new GammaLookupTable(); }