.[ ČeskéHry.cz ].
OpenGL 3.3 & GLSL 1.50 - CMSM - zvláštní self shadow

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



Založen: 21. 10. 2012
Příspěvky: 51

PříspěvekZaslal: 21. říjen 2012, 19:40:49    Předmět: OpenGL 3.3 & GLSL 1.50 - CMSM - zvláštní self shadow Odpovědět s citátem

Zdravím,

upravil jsem název topicu, aby odpovídal aktuálnímu problému. Ten je nyní takový, že mám implementovaný cubemap shadowmapping. Vše funguje akorát mám problém se selfshadowingem (viz obrázek) - aktuálně nepočítám osvětlení (ale to by vadit nemělo)

Cubemapa z gDebuggeru:


vertex shader:
kód:

out vec4 WorldSpacePosition;
out vec3 WorldSpace_lightPosition;
...
gl_Position = p*mv*vec4(vertex,1.0);
WorldSpace_lightPosition = (m*vec4(lightPosition,1)).xyz;
...
WorldSpacePosition = m*vec4(vertex, 1.0);


fragment shader:
kód:

//Cube Shadow mapa
layout (location=1) uniform samplerCubeShadow cube_shadow;
....
vec4 shadow = vec4(1.0,1.0,1.0,1.0);
vec3 lightDir = WorldSpacePosition.xyz - WorldSpace_lightPosition.xyz;
shadow *= texture(cube_shadow, vec4((lightDir.xyz),1.0));
...


EDIT: Když "nemapuji" shadow texturu na objekty, tak to vypadá následovně, ovšem ten selfshadow bych chtěl:


Naposledy upravil mafian89 dne 5. listopad 2012, 18:39:00, celkově upraveno 5 krát
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



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

PříspěvekZaslal: 21. říjen 2012, 19:51:40    Předmět: Odpovědět s citátem

pouzil si glPolygonOffset(1, 1) ?
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mafian89



Založen: 21. 10. 2012
Příspěvky: 51

PříspěvekZaslal: 21. říjen 2012, 20:03:12    Předmět: Odpovědět s citátem

No někde v dokumentech (tuším od NVidie) jsem viděl doporučeno glPolygonOffset(1.1, 4.0);. Nicméně to mi nepomohlo.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 21. říjen 2012, 21:04:36    Předmět: Odpovědět s citátem

Co takhle ten offset aplikovat v shaderu namísto funkce glPolygonOffset, jejíž chování není úplně zřejmé na první pohled. Jsi první, koho vidím, že to používá při shadow mappingu. (já bych zas na shadow mapy nepoužíval depth textury, ale použil bych float textury)
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mafian89



Založen: 21. 10. 2012
Příspěvky: 51

PříspěvekZaslal: 21. říjen 2012, 21:41:40    Předmět: Odpovědět s citátem

No já polygon offset nepoužívám, jsem to jen zkoušel. Jo v shaderu jsem to zkoušel, ale nějak jsem nepochodil. Zkusím ale ještě,
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



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

PříspěvekZaslal: 21. říjen 2012, 22:57:18    Předmět: Odpovědět s citátem

no a nastavis ten polygon offset aj naspet na [0, 0]? pretoze ma byt nastaveny len ak rederujes do depth textury.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mafian89



Založen: 21. 10. 2012
Příspěvky: 51

PříspěvekZaslal: 21. říjen 2012, 23:57:55    Předmět: Odpovědět s citátem

nou: Ano, to jsem zkoušel. Bohužel bez výsledku.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 22. říjen 2012, 02:11:08    Předmět: Odpovědět s citátem

No já si myslím, že ten depth offset máš prostě moc malej. Při dostatečně velkým offsetu to akné prostě musí zmizet (zároveň to ale bude posunovat stín). Pokud nemizí, tak to máš úplně celé špatně implementované.
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mafian89



Založen: 21. 10. 2012
Příspěvky: 51

PříspěvekZaslal: 22. říjen 2012, 11:37:23    Předmět: Odpovědět s citátem

...

Naposledy upravil mafian89 dne 5. listopad 2012, 14:58:05, celkově upraveno 2 krát
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



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

PříspěvekZaslal: 26. říjen 2012, 11:28:49    Předmět: Odpovědět s citátem

Ja tam to acne furt vidim, alebo je to proste nejaky strasne hnusny mesh?
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mafian89



Založen: 21. 10. 2012
Příspěvky: 51

PříspěvekZaslal: 26. říjen 2012, 18:47:25    Předmět: Odpovědět s citátem

No bohužel tam trochu ještě je. A mesh je taky nic moc (cca 1500 vertexů). Bohužel teďka nemám moc času, až trochu bude, tak na to kouknu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Vilem Otte



Založen: 18. 09. 2007
Příspěvky: 462
Bydliště: Znojmo - Sedlesovice, Kravi Hora

PříspěvekZaslal: 27. říjen 2012, 02:52:45    Předmět: Odpovědět s citátem

Ono je také viditelné, protože model nestínuješ - e.g. nepočítáš osvětlení. Kdybys to vynásobil blbým kosinem úhlu mezi normálou a vektorem světla k bodu (Lambert's cosine law) - tak získáš o dost lepší obrázek, takto samozřejmě acne půjde vidět (nicméně máš nějakých 8 bpp přesnost v shadow mapě afaik - nebo dost špatně nastavené near/far roviny, při 32 bpp fp shadow mapě by acne nemělo jít téměř vidět).
_________________
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
mafian89



Založen: 21. 10. 2012
Příspěvky: 51

PříspěvekZaslal: 27. říjen 2012, 14:18:54    Předmět: Odpovědět s citátem

Vilem Otte: Stínování resp. osvětlení implementované mám, ale z jistých důvodů jsem ho vypl. Ohledně near a far ořezových rovin. Tak ty budou docela blbě asi (near = 1.0, far = 1000). Bohužel mě teďka vytěžuje škola, ale po víkendu se k tomu dostanu. Momentálně to předělávám po kouscích na všesměrová světla.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mafian89



Založen: 21. 10. 2012
Příspěvky: 51

PříspěvekZaslal: 5. listopad 2012, 14:58:30    Předmět: Odpovědět s citátem

Upraven název topicu a aktuální problém Confused
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 -> Grafika Č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