Die mtlView.c -Bibliothek enthält eine Sammlung von vordefinierten Postprocessing-Shadern. Die Postprocessing-Shader lassen sich im Shader Viewer untersuchen und bearbeiten. Sie können auch per bmap_process zum Bitmap-Verfremden benutzt werden. Um einen Postprocessing-Shader zu verwenden, definieren Sie eine View-Stage und weisen Sie dieser das Shader-Material zu. Es stehen die folgenden Postprocessing-Shader zur Verfügung:
|
Material / Effect
|
Shader | Adjustable Parameters | Remark |
|---|---|---|---|
| mtl_hdr A8.12 | HDR Effekt | Strength, Threshold, facExposure, timeExposure |
View-Größe wird automatisch an Engine-Fenster angepasst. A8.22 facExposure = 0 schaltet Belichtungsanpassung ab (schneller). |
| mtl_blur | Blur filter | facBlur | |
| mtl_bloomblur | Bloom blur | facBlur | |
| mtl_gaussian | Gaussian blur | ||
| mtl_dilate | Dilatation filter | ||
| mtl_displace | Displacement filter | displacement | |
| mtl_erode | Erosion filter | ||
| mtl_kuwahara | Kuwahara filter | nPixels | |
| mtl_median | Median filter | ||
| mtl_sharpen | Sharpen | facSharpen | |
| mtl_sharpen2 | Sharpen more | ||
| mtl_bleach | Bleach | opacity | |
| mtl_desaturate | Desaturate | desat | |
| mtl_sepia | Sepia tone | desat, tone | |
| mtl_monochrome | Monochrome | ||
| mtl_negative | Negative | ||
| mtl_colorshift | Colorshift | xShift, yShift, zShift | |
| mtl_colorspin | Colorspin | ||
| mtl_emboss | Emboss effect | ||
| mtl_laplace | Laplace filter | ||
| mtl_sobel | Sobel filter | ||
| mtl_posterize | Posterize effect | nColors, gamma | |
| mtl_lens | Lens effect | xPos, yPos | |
| mtl_bias | Bias effect | bias, gradient | |
| st_stencilblur.fx | Poisson Stencil Blur | Rufen Sie zum Aktivieren stencil_blur(1); auf. |
Um einen Postprocessing-Shader zu editieren und das Ergebnis in Echtzeit zu beobachten, kopieren Sie den pp_....fx-Shadercode aus dem code-Ordner in den Ordner projects\shadertest und bearbeiten Sie ihn mit SED. Ist derselbe Shader im Shader-Viewer ausgewählt, lassen sich die Ergebnisse sobald der Shadercoce gespeichert ist sofort beobachten. Um einen neuen Postprocessing-Shader hinzuzufügen, kopieren Sie mtlView.c in den Ordner projects\shadertest und fügen, ganz so wie bei den bereits definierten Shadern ein neues Material sowie einen neuen .fx-Effekt hinzu.
Die einstellbaren Parameter können mit skill1...skill4 des Materials manipuliert werden. Sie haben den Wertebereich floatv(0)...floatv(100).
In der Bibliothek mtlView.c stehen die folgenden Funktionen zur Verfügung:
#include <mtlView.c>
...
function main()
{
pp_set(camera,mtl_blur);
...
}