2016-01-26 1 views
0

J'essaie de comprendre pourquoi la méthode sample(sampler img, vec2 coord) dans un CIKernel j'écris continue à me donner des résultats inattendus, donc je fait simple test:personnalisée CIFilter: échantillon de CIKernel() se comporte étrangement

Cela fonctionne.

kernel vec4 simpleFilter(sampler p) 
{ 
    vec2 dc = destCoord(); 
    return sample(p, samplerTransform(p, dc)); 
} 

Cela ne fonctionne pas. Il produit [0, 0, 0, 255] pour les premiers 255 pixels, puis [0, 0, 0, 0] par la suite.

kernel vec4 simpleFilter(sampler p) 
{ 
    vec2 dc = destCoord(); 
    vec2 tc = samplerTransform(p, dc); 
    return sample(p, tc); 
} 

Pourquoi l'acte d'affectation du résultat de l'échantillonneur transformer résultat à une vec2 cause de tout le processus de briser?

Répondre

0

Il s'est avéré que c'était un artefact d'utiliser le simulateur plutôt que du matériel réel. Leçon apprise: n'utilisez pas de simulateur pour le développement personnalisé de CIFilter.