Pixel Bender Plug-in zu Photoshop
Berechnungen für pixel-basierte Filter lassen sich mithilfe eines modernen Grafikprozessors durch hohe Parallelisierung markant beschleunigen. Zur Programmierung der so genannten Kernel für die Filteroperationen dient eine Sprache, die stark an C angelehnt ist; die grafische Oberfläche und die Optimierung des Codes für unterschiedliche Hardware übernimmt das Pixel Bender Plug-in automatisch. Das Beispiel unten zeigt einen simplen Filter, der in regelmässigen Abständen jeweils Streifen einer wählbaren Breite invertiert.
Download des Plug-ins bei Adobe Labs.
![]()
<languageVersion : 1.0;>
kernel NegativeStripes2
<
namespace: "com.pixsource";
vendor: "Eric A. Soder";
version: 1;
description: "This filter partially inverts color (alternating columns).";
>
{
parameter int width
<
minValue: int(1.0);
maxValue: int(150.0);
defaultValue: int(10.0);
description: "Column width";
>;
dependent float col;
dependent float threecol;
dependent float fourcol;
input image4 source;
output pixel4 result;
void evaluateDependents() {
col = float(width);
threecol = 3.0 * col;
fourcol = 4.0 * col;
}
void evaluatePixel() {
float4 inputColor = sampleNearest(source, outCoord());
float4 inverseColor;
inverseColor.rgb = float3(1.0) - inputColor.rgb;
inverseColor.a = inputColor.a;
bool invert = mod( outCoord().x, fourcol ) >= threecol;
result = invert ? inverseColor : inputColor;
}
}