.[ ČeskéHry.cz ].
Depth buffer problém (?)

 
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: 879

PříspěvekZaslal: 10. prosinec 2013, 20:53:36    Předmět: Depth buffer problém (?) Odpovědět s citátem

Zase já Smile V poslední době jsem se nějak rozjel s příspěvky... což asi bude dokončováním projektu a laděním bugů.

O co se tedy jedná tentokrát. Mám problém se z-bufferem (nebo si to alespoň myslím).

Na obrázku kreslím dvě roviny. Spodní je Z= 0 , ta šedivá nad ní Z = 0.5. Celá ta zeleně zobrazená síť by měla být šedě vybarvená, ale není. Navíc se to celé mění s pohybem kamery (nejenom na zoom, ale i na left / right apod.)


Zásadní problém je, že na kompu a na iPhone 4 se to renderuje korektně. Problém mám opět s "tadá"... 5S Confused

ZBuffer čistím pře každým renderem na 0.0

Už jsem to řešil i s mickym, poradil mi změnit zNear a zFar (což jsem měl hloupě na 0.3 - 600). Teď mám 2 - 170, ale nějak se problém příliš nezměnil. Navíc předpokládám, že 5S asi nebude mít nižší rozlišení bufferů než 4ka, takže třeba problém s 16bit hloubkou by se musel projevit na obou zařízeních.

Absolutně netuším kde hledat, ani moc jak hledat.

Díky
_________________
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: 1526
Bydliště: Telč

PříspěvekZaslal: 11. prosinec 2013, 11:44:57    Předmět: Odpovědět s citátem

Nějak mě to celý mate :-). DepthBuffer se většinou čistí 1.0 (nejdál) a porovnává se GL_LESS nebo GL_LEQUAL. Ty to máš nějak obráceně. Vzhledem k nelinearitě hodnot v ZBufferu to možná dělá problémy.
_________________
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: 879

PříspěvekZaslal: 11. prosinec 2013, 13:55:37    Předmět: Odpovědět s citátem

Já to mám obráceně, protože mám otočený souřadný systém po vzoru DirectX Smile Pak to musím čistit na 0 a mít právě GL_GREATER
_________________
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: 1526
Bydliště: Telč

PříspěvekZaslal: 11. prosinec 2013, 14:32:56    Předmět: Odpovědět s citátem

A důvod? :)
_________________
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: 879

PříspěvekZaslal: 11. prosinec 2013, 14:56:21    Předmět: Odpovědět s citátem

a) Lenost to přepisovat
b) Jsem na ten systém zvyklý a přijde mi logičtější Smile

Ale s problémem podle mě nesouvisí, ten rozdíl mezi těmi zařízeními je obrovský.
_________________
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: 1526
Bydliště: Telč

PříspěvekZaslal: 11. prosinec 2013, 15:36:18    Předmět: Odpovědět s citátem

A to zko teda vypočteš v shaderu tak, aby byla největší přesnost u kamery? Radši se ptám, protože mě nic jinýho nenapadá.

EDIT: a ještě jednu věc nechápu: píšeš, že jedna rovina má Zko 0 a druhá 0.5. Jaktože nemá každý pixel jinou hodnotu? Nějak to víc popiš.
_________________
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: 879

PříspěvekZaslal: 11. prosinec 2013, 19:20:53    Předmět: Odpovědět s citátem

Mám dvě rovnoběžné roviny. SOuřadný systém, kde Z je UP. První rovina má celá Z = 0, druhá má celá Z = 0.5 (X a Y jsou pak souřadnice vrcholů té roviny od [0,0] do [100,100] nebo tak něco)

Každý vrchol transformuju maticí: World * (View * Projection). View a Projection jsou v LH systému
_________________
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: 1526
Bydliště: Telč

PříspěvekZaslal: 12. prosinec 2013, 12:44:20    Předmět: Odpovědět s citátem

Aha, tak já měl teda na myslil Depth-ka, ne Zet-ka :-). No, stejně ti neporadím, asi by to chtělo víc informací; kód, shader... .
_________________
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: 879

PříspěvekZaslal: 12. prosinec 2013, 13:23:08    Předmět: Odpovědět s citátem

Kód je moc rozsáhlý na to abych to sem postoval Smile Crying or Very sad

V shaderech nic moc není.. ve VS do gl_Position nacpu position přenásobenou těmi maticemi, jak jsem psal výše. V PS akorát čtu texturu, popř. u ní upravuju alfu pokud mám povolěný blend.

Co se týče obsahu depth bufferu, tak jsem na to koukal a vypadá to, že se tam buď nic nezapisuje a nebo jsou ty hodnoty moc podobné, takže je na vizualizaci nevidím.

Jinak pokud by to bylo nedostatečnou přesnotí depth bufferu, tak co s tím. Ptozože změnit zNear a zFar nemůžu. Tím jak mam izometrický pohled, tak jsem víceméně na těsno. Zmenšení = začne mizet geometrie. Ale u 24bit bufferu bych čekal rozsah +- 0 - 200, že bude OK.
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
perry



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

PříspěvekZaslal: 12. prosinec 2013, 17:50:07    Předmět: Odpovědět s citátem

Tak už jsem to asi opravil. Jsem neskutečný debil Rolling Eyes Jsem měl ve VS u float specifikovaný precision na mediump místo highp.. to bych si jednu fláknul Evil or Very Mad

Díky semovi za různé tipy
_________________
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: 1526
Bydliště: Telč

PříspěvekZaslal: 12. prosinec 2013, 18:03:58    Předmět: Odpovědět s citátem

...za hrůzné tipy :-) Tak hlavně že už to nebudu muset číst :-D.
_________________
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: 879

PříspěvekZaslal: 12. prosinec 2013, 18:12:00    Předmět: Odpovědět s citátem

Proč za hrůzné Laughing Tipy byly v pohodě s ohledem na to, co jsem poskytnul Smile (Pravda, až na ten zmatek s depth vs Z Wink )
_________________
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