From BlenderWiki
2D-filtri käitur (2D Filter)
2D-filtrid (2D Filter) on pildi filtreerimise käiturid (Actuator), mis rakenduvad objektide lõpprenderdusel. Tänuavaldused jms FPS_Template'i eest.
Liikumishägusti
Liikumishägusti Motion Blur on 2D-filter, mis vajab eelnevat renderdusinformatsiooni objektide liikumisefekti tekitamiseks. Allpool näed liikumishägusti filtrit (Motion Blur) Blenderi aknas koos loogikaklotsidega:
Filtri sisselülitamiseks:
- Ühenda vastav(ad) sensor(id) ja kontroller(id).
- Lisa 2D-filtri käitur (2D Filter).
- Vali rippmenüüst liikumishägusti (Motion Blur).
- Määra liikumishägusti väärtus (Value).
Ja filtri väljalülitamiseks:
- Ühenda vastav(ad) sensor(id) ja kontroller(id).
- Lisa 2D-filtri käitur (2D Filter).
- Vali liikumishägusti (Motion Blur).
- Lülita nupp Enable (toimiv) välja.
Liikumishägu filtrit saab sisse lülitada ka Pythoni kontrolleri abil:
bge import render render.enableMotionBlur(0.85)
Ja välja lülitada:
bge import render render.disableMotionBlur()
Märkus
Su graafika riistvara ja OpenGL-i draiver peavad toetama akumulatsiooni puhvrit (
glAccum-funktsiooni). |
Sisseehitatud 2D-filtrid
Kõigil 2D-filtri käituris nähtavatel 2D-filtritel on ühtne arhitektuur. Kõik sisseehitatud filtrid kasutavad lõpliku renderdusvaate esitamiseks fragmentvarjutust, seega peab su riistvara toetama varjutusalgoritme.
Blur (hägu), Sharpen (teravdus), Dilation (paisutus), Erosion (erosioon), Laplacian, Sobel, Prewitt, Gray Scale (halltoonid), Sepia (seepia) ja Invert (negatiiv) on sisseehitatud filtrid. Neid filtreid saab teatud käikudes muuta kättesaadavaks.
Filtri kasutamiseks:
- Tekita sobiv(ad) sensor(id) ja kontroller(id):
- Loo käitur 2D Filter.
- Vali oma filter, näiteks Blur (hägu).
- Määra käigu number, kuhu filter rakendatakse.
Filtri eemaldamiseks konkreetses käigus:
- Tekita sobiv(ad) sensor(id) ja kontroller(id).
- Loo käitur 2D Filter.
- Vali Remove Filter (eemalda filter).
- Määra käigu number, kust soovid filtri eemaldada.
Filtri blokeerimiseks konkreetses käigus:
- Tekita sobiv(ad) sensor(id) ja kontroller(id).
- Loo käitur 2D Filter.
- Vali Disable Filter (lülita filter välja).
- Määra käigu number, kus soovid filtri blokeerida.
Filtri konkreetses käigus sisse lülitamiseks:
- Tekita sobiv(ad) sensor(id) ja kontroller(id).
- Tekita käitur 2D Filter.
- Vali Enable Filter (lülita filter sisse).
- Määra käigu number, kus soovid filtri sisse lülitada.
Kasutaja loodud filtrid
Omaloodud filtrid võimaldavad sul GLSL-i keelt kasutades määrata enda 2D-filtri. Nende kasutusviis on sama nagu sisseehitatud filtritel, kuid sa pead 2D-filtri käituris valima omaloodud filtri (Custom Filter), siis kirjutama tekstiredaktoris varjutusprogrammi ja kirjutama varjutamisalgoritmi nime käiturisse.
Sinise seepia näide:
uniform sampler2D bgl_RenderedTexture;
void main(void)
{
vec4 texcolor = texture2D(bgl_RenderedTexture, gl_TexCoord[0].st);
float gray = dot(texcolor.rgb, vec3(0.299, 0.587, 0.114));
gl_FragColor = vec4(gray * vec3(0.8, 1.0, 1.2), texcolor.a);