From BlenderWiki

Jump to: navigation, search

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:

2D-filtrid: Liikumishägusti (Motion Blur).
2D-filtrid: Mänguloogika.

Filtri sisselülitamiseks:

  1. Ühenda vastav(ad) sensor(id) ja kontroller(id).
  2. Lisa 2D-filtri käitur (2D Filter).
  3. Vali rippmenüüst liikumishägusti (Motion Blur).
  4. Määra liikumishägusti väärtus (Value).

Ja filtri väljalülitamiseks:

  1. Ühenda vastav(ad) sensor(id) ja kontroller(id).
  2. Lisa 2D-filtri käitur (2D Filter).
  3. Vali liikumishägusti (Motion Blur).
  4. 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.

2D-filtrid: Liikumishägusti (Motion Blur).
2D-filtrid: Seepia (Sepia).
2D-filtrid: Sobel.

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:

  1. Tekita sobiv(ad) sensor(id) ja kontroller(id):
  2. Loo käitur 2D Filter.
  3. Vali oma filter, näiteks Blur (hägu).
  4. Määra käigu number, kuhu filter rakendatakse.

Filtri eemaldamiseks konkreetses käigus:

  1. Tekita sobiv(ad) sensor(id) ja kontroller(id).
  2. Loo käitur 2D Filter.
  3. Vali Remove Filter (eemalda filter).
  4. Määra käigu number, kust soovid filtri eemaldada.

Filtri blokeerimiseks konkreetses käigus:

  1. Tekita sobiv(ad) sensor(id) ja kontroller(id).
  2. Loo käitur 2D Filter.
  3. Vali Disable Filter (lülita filter välja).
  4. Määra käigu number, kus soovid filtri blokeerida.

Filtri konkreetses käigus sisse lülitamiseks:

  1. Tekita sobiv(ad) sensor(id) ja kontroller(id).
  2. Tekita käitur 2D Filter.
  3. Vali Enable Filter (lülita filter sisse).
  4. Määra käigu number, kus soovid filtri sisse lülitada.


Kasutaja loodud filtrid

2D-filtrid: oma filter (Custom Filter).

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);