Nativa samplade färgfunktioner

Den nativa Cairo-renderaren evaluerar samplade färgfunktioner av FunctionType 0 med Order 1 eller Order 3, inklusive flera tint-indata och flera utdata för alternativa färger

Kubisk evaluering utökar den befintliga skalära konventionen med interpolation över fyra knutpunkter med en tensorprodukt över indatadimensioner; fönster flyttas inåt vid tabellkanter, dimensioner med färre än fyra sampel behåller den befintliga linjära fallbacken, och Size 1 förblir konstant

Sökvägen för skalära överföringsfunktioner med en indata och en utdata behåller sitt befintliga beteende

Behandling av sampel

Indata klipps till Domain, mappas av Encode och klipps till tabellgränserna; interpolationen läser kontinuerliga sampel med mest signifikant bit först, tillämpar Decode och klipper färdiga komponenter till Range

Sampeldjup på 1, 2, 4, 8, 12, 16, 24 och 32 bitar stöds, och den första indatadimensionen varierar snabbast

ISO 32000-1 avsnitt 7.10.2 definierar layout och behandlingssekvens för samplade funktioner; den numeriska acceptansformeln dokumenterar bibliotekets befintliga fyrpunktskonvention utan att hävda att standarden väljer en unik kubisk kärna

Resursgränser

Tensorevaluering kan besöka fyra grenar per indatadimension; varje besökt nod och varje bit i de kubiska sampelen ansluts till aggregerade operationsgränser och avbrottspollning, medan grenar med vikten noll inte utför något sampelarbete

Avkodade strömmar, behållen funktionsdata och evalueringslagring ansluts till antagningen av avkodade bytes och aktiva arbetsbytes; stora giltiga tabeller kan kräva en av anroparen vald operationsgräns

Fel inträffar före PNG-publicering, och efterföljande rendering kan återanvända samma tråd och API för laddat dokument

Acceptans

Oberoende tensorekvationer löser interpolationsvikter genom ett Vandermonde-system och verifierar nativa pixlar för packade sampeldjup, flerdimensionella fönster, korta dimensioner, kodningar och utklippning av utdata

Källskillnader hos MuPDF och Poppler behålls separat från den nativa tensoracceptansen; båda läsarna verifierar också explicita RGB-ekvationskompanjoner

Se Tests/Linux/HeadlessSampledCubic.en-us.md för fokuserad fixture- och budgetreproduktion, och Native Linux Cairo-renderare för renderings- och ägarskapskontrakt