Keresés

Új hozzászólás Aktív témák

  • HUNszabi90

    csendes tag

    válasz #45185024 #30360 üzenetére

    Normális esetben a shader írásakor határozod meg, hogy milyen pontosságra van szükséged. Például poziciót nem jó ötlet alacsony pontossággal számoltatni, viszont egy fény intenzitását már annál inkább, hiszen ott az eltérés nem akkora probléma, a közelítő eredmény kielégítő.

    Fekete leves: a modern videókártyákon amiken teszteltem egytől egyig figyelmen kívül hagyta, hogy milyen pontosságot kérsz shaderben és az alap float32-vel számol. Emiatt akik csak pc-re fejlesztenek nem szoktak törődni vele. Mobilnál van értelme állítani, de a mobil shadereknél sokféle limitációra kell figyelni így vagy külön shader készül mobilra, vagy egy asztali gpu-nak nem okozhat gondot amúgy se.

    Automatikusan kétlem, hogy eldöntheti egy videókártya, hogy milyen pontosságot használ, emiatt ha nem explicit írták a shaderben, hogy alacsony pontosságot használjon nem fog működni.

  • HUNszabi90

    csendes tag

    válasz HSM #30410 üzenetére

    Színekkel azért vigyázni kell! Fénynél hajlamos láthatóan sávos eredményt adni, ha leveszed a precizitást, árnyékoknál pedig ismét árnyékolási technika kérdése, szögekre rendben van pozicióra már nem.

    Emellett nem úgy működik, hogy valaki nekiesik replace all float32 to float16, hanem:
    1. elemeznie kell a shader kódot
    2. megállapítani, hogy melyik változót lehetne alacsonyabb precizitással számítani
    3. átírni a shadert és tesztelni, hogy okoz-e grafikai hibákat vagy észrevehető minőségromlást.

    Régebbi játékokra szerintem nem sok értelme van, maximum ha nagyon nvidia barát a játék és feltűnően rossz benne az AMD kártya.

Új hozzászólás Aktív témák