Részletes textúra
A részletleképezés egy szoftveres technika a 3D számítógépes grafikában, amely javítja a textúrák részleteit a kamerától közeli távolságban. A végeredmény a hatalmas felbontású textúra használatának illúzióját kelti.
Amikor a fényképezőgép ráközelít egy sokszögű modellre, a textúra elmosódottá válik. Ha van elegendő szabad memória, az elmosódást a textúra felbontásának növelésével lehet kiküszöbölni. Az egyes textúrák hatalmas felbontású tárolása azonban nem praktikus megoldás. A részletes textúra más módon oldja meg a problémát:
- Az alap textúra ésszerű közepes felbontású marad
- Részletes textúra jön létre az apró részletek (egyedi fűszálak, kavicsok, faszerkezet stb.) nagyméretű képével.
- A kapott textúra elszíneződött
- A felüláteresztő szűrő a legapróbb részletek kivételével minden eltávolítható.
- A hisztogram korrekciós szűrő az átlagos fényerőt 0,5-re állítja be
- Mindkét textúra keveredik a pixel shaderben
- Keverés előtt a részletes textúra textúra-koordinátáit úgy méretezik, hogy a részletes textúra többszörösen ismétlődik, mint az alaptextúra.
- A részletes textúrák ismétlődéseinek láthatóságának csökkentése érdekében a skála nem egész számot választ
- Az alaptextúra színét megszorozzuk a részletes textúra színével, megszorozva 2-vel (az eredeti fényerő megőrzése érdekében)
Példa shader forráskódra
const float detailRepeat = 7,5 ;
float4 color = tex2D ( TextureSampler , bemenet . uv );
float4 detail = tex2D ( DetailSampler , input . uv * detailRepeat );
szín . rgb *= részlet * 2 ;
Lásd még
Linkek