Fonctions de couleurs échantillonnées natives
Le renderer Cairo natif évalue les fonctions de couleurs échantillonnées de FunctionType 0 avec Order 1 ou Order 3, entrées de teinte multiples et sorties de couleurs alternatives multiples comprises
L'évaluation cubique étend la convention existante d'interpolation scalaire à quatre nœuds par un produit tensoriel à travers les dimensions d'entrée ; les fenêtres se déplacent vers l'intérieur aux bords de table, les dimensions de moins de quatre échantillons gardent le repli linéaire existant, et Size 1 reste constant
Le chemin de fonction de transfert scalaire à une entrée et une sortie garde son comportement existant
Traitement des échantillons
Les entrées sont bornées au Domain, mappées par Encode et bornées aux limites de la table ; l'interpolation lit des échantillons continus du bit de poids fort d'abord, applique Decode et borne les composantes finies au Range
Les profondeurs d'échantillons de 1, 2, 4, 8, 12, 16, 24 et 32 bits sont prises en charge, la première dimension d'entrée variant le plus vite
La section 7.10.2 de l'ISO 32000-1 définit la disposition et la séquence de traitement des fonctions échantillonnées ; la formule d'acceptation numérique consigne la convention à quatre nœuds existante de la bibliothèque sans prétendre que la norme sélectionne un noyau cubique unique
Limites de ressources
L'évaluation tensorielle peut visiter quatre branches par dimension d'entrée ; chaque nœud visité et chaque bit d'échantillon cubique rejoint les limites d'opérations agrégées et l'interrogation d'annulation, tandis que les branches de poids nul ne font aucun travail d'échantillonnage
Les flux décodés, les données de fonction conservées et le stockage d'évaluation rejoignent l'admission d'octets décodés et d'octets de travail actifs ; de grandes tables valides peuvent exiger une limite d'opération choisie par l'appelant
Les échecs surviennent avant la publication PNG, et le rendu ultérieur peut réutiliser la même API de thread et de document chargé
Acceptation
Des équations tensorielles indépendantes résolvent les poids d'interpolation via un système de Vandermonde et vérifient les pixels natifs pour les profondeurs d'échantillons compactées, les fenêtres multidimensionnelles, les dimensions courtes, les encodages et le clipping de sortie
Les différences de sources MuPDF et Poppler sont conservées séparément de l'acceptation tensorielle native ; les deux lecteurs vérifient aussi des compagnons d'équations RGB explicites
Voir Tests/Linux/HeadlessSampledCubic.en-us.md pour la reproduction ciblée de fixtures et de budgets, et le renderer Cairo Linux natif pour les contrats de rendu et de propriété