네이티브 샘플링 색 함수
네이티브 Cairo 렌더러는 Order 1 또는 Order 3의 FunctionType 0 샘플링 색 함수를 평가합니다. 여러 tint 입력과 여러 대체 색 출력을 포함합니다
3차 평가는 기존 스칼라 네 매듭 보간 관례를 입력 차원에 걸친 텐서 곱으로 확장합니다. 창은 테이블 가장자리에서 안쪽으로 이동하고, 샘플이 네 개 미만인 차원은 기존 선형 폴백을 유지하며, Size 1은 상수로 남습니다
한 입력·한 출력 스칼라 전달 함수 경로는 기존 동작을 유지합니다
샘플 처리
입력은 Domain으로 클리핑되고 Encode로 매핑되며 테이블 경계로 클리핑됩니다. 보간은 최상위 비트 우선 연속 샘플을 읽고, Decode를 적용하며, 완성된 구성 요소를 Range로 클리핑합니다
샘플 깊이는 1, 2, 4, 8, 12, 16, 24, 32비트를 지원하며, 첫 입력 차원이 가장 빠르게 변합니다
ISO 32000-1 7.10.2절이 샘플링 함수 레이아웃과 처리 순서를 정의합니다. 수치 인수 공식은 표준이 고유한 3차 커널을 선택한다고 주장하지 않고, 라이브러리의 기존 네 매듭 관례를 기록합니다
리소스 한도
텐서 평가는 입력 차원마다 네 분기를 방문할 수 있습니다. 방문된 각 노드와 각 3차 샘플 비트가 집계 연산 한도와 취소 폴링에 참여하며, 가중치 0인 분기는 샘플 작업을 하지 않습니다
디코딩된 스트림, 유지된 함수 데이터, 평가 저장소가 디코딩 바이트와 활성 워킹 바이트 승인에 참여합니다. 크지만 유효한 테이블은 호출자가 선택한 연산 한도가 필요할 수 있습니다
실패는 PNG 발행 전에 일어나고, 이후 렌더링은 같은 스레드와 로드된 문서 API를 재사용할 수 있습니다
인수 검증
독립 텐서 방정식은 Vandermonde 시스템으로 보간 가중치를 풀고, 패킹 샘플 깊이, 다차원 창, 짧은 차원, 인코딩, 출력 클리핑에 대해 네이티브 픽셀을 검증합니다
MuPDF와 Poppler 소스 차이는 네이티브 텐서 검증과 분리해 유지됩니다. 두 리더 모두 명시적 RGB 방정식 동반 검사도 검증합니다
집중된 픽스처와 예산 재현은 Tests/Linux/HeadlessSampledCubic.en-us.md를, 렌더링과 소유권 계약은 네이티브 Linux Cairo 렌더러를 참고하세요