.[ ČeskéHry.cz ].
Barva průhledných texelů

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
TeaTime



Založen: 17. 06. 2011
Příspěvky: 264

PříspěvekZaslal: 10. leden 2014, 23:04:03    Předmět: Barva průhledných texelů Odpovědět s citátem

Vykresluji textury ve 2D. Textura má spoustu průhledných a poloprůhledných texelů. Takže uprostřed je nakreslený objekt nepravidelného tvaru a okolo jsou průhledné texely. A právě na okraji toho objektu (kde jsou ty poloprůhledné texely) se mi objevuje takový šedivý okraj.

Je to způsobené tím, že při jiném zvětšní než 1:1 se při lineárním filtrování textury míchá poloprůhledný texel se zcela průhledným texelem. Průhlednost výsledného pixelu je dobrá, ale podělá se barva (protože ten průhledný texel je zakódovaný v obrázku jako bílý).

Chtělo by to asi vyřešit nějak, aby byl každý průhledný texel měl stejnou barvu jako nejbližší alespoň částečně viditelný pixel. Obrázky načítám pomocí knihovny DevIL.

Potřeboval bych poradit, jak to mám konkrétně řešit. Tedy jestli mám nějak automaticky konvertovat ten obrázek na jiný se správnými barvami. Jestli jo, tak by mě zajímalo jak to udělat a do jakého formátu můžu obrázek uložit (abych měl jistotu, že se informace zachová). Radši bych to stejně ale řešil nějak za běhu - nejde to třeba v shaderu (když je jeden z texelů průhledných tak nepoužívej jeho barvu ale jen alphu)? Uvědomuji si, že tohle je trochu naivní představa, ale doufám, že mě navedete do správného směru.

Díky.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



Založen: 28. 07. 2007
Příspěvky: 1050

PříspěvekZaslal: 11. leden 2014, 11:11:22    Předmět: Odpovědět s citátem

http://www.youtube.com/watch?v=mV0pSQGC0hs
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
TeaTime



Založen: 17. 06. 2011
Příspěvky: 264

PříspěvekZaslal: 11. leden 2014, 13:08:59    Předmět: Odpovědět s citátem

Díky moc, sice nehodlám každý obrázek ručně předělávat ve photoshopu, ale navedlo mě to na správnou stopu: http://forum.unity3d.com/threads/181647-Removing-white-black-borders-around-transparent-textures-with-ImageMagick.

Akorát jsem to upravil pro bash a pro nejnovější ImageMagic.

Script na opravu průhledných pixelů:
kód:
#!/bin/bash
convert \( "$1" \
 \( +clone -channel RGBA -adaptive-blur 0x1 \) -compose DstOver -composite \
 \( +clone -channel RGBA -adaptive-blur 0x1 \) -compose DstOver -composite \
 \( +clone -channel RGBA -adaptive-blur 0x1 \) -compose DstOver -composite \
 \( +clone -channel RGBA -adaptive-blur 0x1 \) -compose DstOver -composite \
 \( +clone -channel RGBA -adaptive-blur 0x1 \) -compose DstOver -composite \
 \( +clone -channel RGBA -adaptive-blur 0x1 \) -compose DstOver -composite \
 \( +clone -channel RGBA -adaptive-blur 0x2 \) -compose DstOver -composite \
 \( +clone -channel RGBA -adaptive-blur 0x2 \) -compose DstOver -composite \
 \( +clone -channel RGBA -adaptive-blur 0x2 \) -compose DstOver -composite \
 \( +clone -channel RGBA -adaptive-blur 0x3 \) -compose DstOver -composite \
 \( +clone -channel RGBA -adaptive-blur 0x3 \) -compose DstOver -composite \
 \( +clone -channel RGBA -adaptive-blur 0x3 \) -compose DstOver -composite \
 \( +clone -channel RGBA -adaptive-blur 0x4 \) -compose DstOver -composite \
 \( +clone -channel RGBA -adaptive-blur 0x4 \) -compose DstOver -composite \
 \( +clone -channel RGBA -adaptive-blur 0x4 \) -compose DstOver -composite \
 \( +clone -channel RGBA -adaptive-blur 0x5 \) -compose DstOver -composite \
 \( +clone -channel RGBA -adaptive-blur 0x5 \) -compose DstOver -composite \
 \( +clone -channel RGBA -adaptive-blur 0x5 \) -compose DstOver -composite \
 \) "$1" -compose CopyOpacity -composite "$1"


Script který zkonverguje všechny png obrázky ve složce a podsložkách:
kód:
#!/bin/bash
IFS=$'\n'
for i in `find . | grep "\.png$"`
do
   echo $i
   ./solidify.sh "$i"
done
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna