.[ ČeskéHry.cz ].
GLSL - mediump vs highp

 
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
perry



Založen: 28. 07. 2009
Příspěvky: 857

PříspěvekZaslal: 9. leden 2018, 19:14:17    Předmět: GLSL - mediump vs highp Odpovědět s citátem

Mám shader, který běží na mobilech. Problém je, že některé androidy neumí highp precision

kód:
High precision not supported, instead compiling high precision as medium precision


což je problém, protože mi to rozbíjí texturovací souřadnice počítané ve fragment shaderu(počítám tam mapové projekce) a dále ruční interpolaci (bilinerání i bikubickou).

Lze to nějak "vyřešit", nebo mám smůlu a prostě tam místo pěkné interpolace uvidím "kostičky" Smile
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
mar



Založen: 16. 06. 2012
Příspěvky: 478

PříspěvekZaslal: 9. leden 2018, 21:12:30    Předmět: Re: GLSL - mediump vs highp Odpovědět s citátem

perry napsal:
Mám shader, který běží na mobilech. Problém je, že některé androidy neumí highp precision

To se mi nezdá, transformace vertexů v half floatech by byly snad nesmysl.
Můžeš sem postnout shader (ideálně minimální verzi, kde to ještě háže tu chybu)?
Nepřiřazuješ třeba hodnotu uniformu nebo tak něco?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
perry



Založen: 28. 07. 2009
Příspěvky: 857

PříspěvekZaslal: 10. leden 2018, 07:22:31    Předmět: Odpovědět s citátem

Vertex shader má highp... fragment shader ne a texturovací souřadnice počítám v něm.
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
TeaTime



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

PříspěvekZaslal: 10. leden 2018, 08:46:16    Předmět: Odpovědět s citátem

Ten shader by podle mě mělo jít upravit tak, aby mu stačila nižší přesnost. Hoď sem ten shader. Stejně jsem zkoušel najít na netu nějakou GLSL implementaci texturových interpolačních shaderů a moc jsem toho nenašel, tak by mě to zajímalo i tak, se na to podívat Smile.

Jo a není taky možné, že tam je ještě nějaký jiný problém specifický pro mobily? To co popisuješ (náhlý výskyt kostiček) není úplně to, co bych čekal od změny přesnosti.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1371
Bydliště: Telč

PříspěvekZaslal: 10. leden 2018, 09:29:18    Předmět: Odpovědět s citátem

Na mapový projekce je potřeba velká přesnost. Nemusíš je ale počítat ve fragment shaderu. Jako dobrá aproximace by měla stačit mřížka a vypočítat to ve vertex shaderu. Nebo dokonce rovnou na CPU, což mi připadá nejlepší. Nemusíš se pak zatěžovat s problémy v shaderu a můžeš na projekce použít i nějakou knihovnu (libGeo, nebo něco takového).

Já osobně to tak dělám v práci (mřížka + projekce předpočítané na CPU) když generuju terény.


K té interpolaci: Divím se, že na bilineární interpolaci mediump nestačí. Není to nějaká nepřesnost spojená s těmi projekcemi?
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
perry



Založen: 28. 07. 2009
Příspěvky: 857

PříspěvekZaslal: 10. leden 2018, 12:22:13    Předmět: Odpovědět s citátem

Jo, myslel jsem to tak, ze prave ty projekce spoctou uz blbe ty texturovaci souradnice a tim se pak asi rozbije i ta bilinear projekce.

Na cpu to nespoctu, ve vertex shaderu by to ssi slo. Ta mrizka bude muset byt asi dost detailni. Ted mam quad a konec. Zkusim udelat treba grid 512x512 nisto jednoho quadu. Side effect bude asi i celkove urychleni Smile
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
]semo[



Založen: 29. 07. 2007
Příspěvky: 1371
Bydliště: Telč

PříspěvekZaslal: 10. leden 2018, 12:30:37    Předmět: Odpovědět s citátem

Proč by to na CPU nemělo jít spočítat? A ani nemyslím, že by to muselo být nějak extra detailní :-). Já třeba přepočítávám z UTM do Lon/Lat a mřížka vpodstatě stačí i po kilometru a runway letiště sedí. Pokud bys měl třeba pohled na celý svět, bude ti zase stačit malá přesnost, protože z tý dálky nebude vidět ani kilometrová chyba. To bys vyzkoušel.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
perry



Založen: 28. 07. 2009
Příspěvky: 857

PříspěvekZaslal: 10. leden 2018, 12:49:10    Předmět: Odpovědět s citátem

Jako slo by to na CPU Smile akorat semi to moc nelibi, protoze bych to stejne pocital pri pohybu mapy porad znova a ten vypocet na gpu bezi pekne paralelne Smile
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
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