public void WriteTo(BufferedBinaryWriter writer)
{
writer.SynchBits();
writer.WriteBoolean(hasAddTerms);
writer.WriteBoolean(hasMultTerms);
uint nBits = GetNumBits();
writer.WriteUBits(nBits, 4);
if (hasMultTerms)
{
writer.WriteSBits(redMultTerms, nBits);
writer.WriteSBits(greenMultTerms, nBits);
writer.WriteSBits(blueMultTerms, nBits);
}
if (hasAddTerms)
{
writer.WriteSBits(redAddTerms, nBits);
writer.WriteSBits(greenAddTerms, nBits);
writer.WriteSBits(blueAddTerms, nBits);
}
writer.SynchBits();
}