| Mesaj |
Info autor |
Postat la 09 Oct 2009 20:50:53 Subiect: Water
|
|
|
Katalin info:
|
Katalin:
Am nevoie de ajutor de la cineva care se pricepe bine la matematica ( sau cel putin, mai bine ca mine) . Incerc sa fac un ocean. Pentru crearea meshului am ales tehnica "projected grid" care insa ma cam depaseste un pic dar arata nemaipomenit. Asa ca am nevoie de ajutorul vostru. Din ce am inteles eu incepi cu un grid de vertexi cu x= [0..1], y = [0..1] in spatiul post-perspective al camerii pe care trebuie sa ii proiectezi pe un plan. Pentru asta transform fiecare vertex cu inversa matricii view projection a camerii odata cu Z=-1 si odata cu Z=1. Obtinem 2 puncte. Linia care trece prin aceste 2 puncte o intersectam cu planul unde vrem sa fie apa si obtinem coordonatele pe care le dorim. Teoria o stiu insa cand vine vorba sa o aplic in cod cunostintele mele de matematica nu prea ma ajuta. Un exemplu bun ar fi "Real-time water rendering - introducing the projected grid concept". Pagina originala e moarta dar o puteti gasi totusi aici : http://web.archive.org/web/20080403225838/http://graphics.cs.lth.se/theses/projects/projgrid/
Fighting on the internet is like running in the special olympics: even if you win, you're still retarded !
|
Status:
Înregistrat pe: 02 May 2007 18:38:03
Vârsta: 23 ani
Mesaje: 84
Locatie: Slatina
Programator
LightningTeam
|
| |
Postat la 10 Oct 2009 10:49:38 Subiect: < fara subiect >
|
|
|
Deliverance info:
|
Deliverance:
Trebuie sa transformi atat segmentul de dreapta cat si planul apei in acelasi spatiu, sa zicem clip space(inainte de divide prin w, adica proiectia propriu zisa). Dupa care poti gasi punctul de intersectie aplicand urmatorul algoritm: www.gamesrebirth.com/adrian/graphics/intersectie_dreapta_plan_algebric.pdf
|
Status:
Înregistrat pe: 13 Oct 2006 10:05:37
Vârsta: 25 ani
Mesaje: 253
Locatie: Iasi , Romania
Programator
|
| |
Postat la 10 Oct 2009 17:14:02 Subiect: < fara subiect >
|
|
|
Katalin info:
|
Katalin:
Mi-a venit o idee care cred ca ar simplifica un pic procesul. As putea sa calculez colturile frustumului care se poate face foarte usor si as obtine coordonate in world space. Din cele 8 puncte am 4 linii pe care le intersectez cu planul mult mai usor ( fara coordonate homogene si alte tampenii). Asa am vertexii din cele 4 colturi ale gridului iar restul pot interpola. Asta cred ca ar fi mult mai usor de aplicat in cod.
Fighting on the internet is like running in the special olympics: even if you win, you're still retarded !
|
Status:
Înregistrat pe: 02 May 2007 18:38:03
Vârsta: 23 ani
Mesaje: 84
Locatie: Slatina
Programator
LightningTeam
|
| |
Postat la 10 Oct 2009 18:09:00 Subiect: < fara subiect >
|
|
|
Deliverance info:
|
Deliverance:
Hmm, nu stiu algoritmul dar spune-mi daca reusesti asa, pare oarecum rezonabil.
|
Status:
Înregistrat pe: 13 Oct 2006 10:05:37
Vârsta: 25 ani
Mesaje: 253
Locatie: Iasi , Romania
Programator
|
| |
Postat la 11 Oct 2009 01:18:55 Subiect: < fara subiect >
|
|
|
Katalin info:
|
Katalin:
Am incercat metoda la care m-am gandit eu dar rezultatele nu sunt bune deloc. Gridul este egal distantat in world space ci nu in screen space cum imi doream defapt. Cand te uiti spre orizont (cel mai rau caz ) , aproape de camera nivelul de detaliu este ingrozitor. Cam asta am obtinut Poate reusesc cumva atunci cand fac interpolarea sa "imping" vertexii spre camera cu cat ma uit mai mult in sus. Desigur cu tehnica pe care incerc sa o implementez mai vin o gramada de alte probleme cum ar fi faptul ca daca te uiti mai sus de linia orizontului se alege praful de tot dar astea pot fi rezolvate destul de usor folosind o a doua camera pe care nu o las sa se uite mai sus de orizont.
Ultima editare efectuată de Katalin pe 11 Oct 2009 01:22:54; 1 editări în total
Fighting on the internet is like running in the special olympics: even if you win, you're still retarded !
|
Status:
Înregistrat pe: 02 May 2007 18:38:03
Vârsta: 23 ani
Mesaje: 84
Locatie: Slatina
Programator
LightningTeam
|
| |
Postat la 12 Oct 2009 10:26:10 Subiect: < fara subiect >
|
|
|
Pintea info:
|
Pintea:
Daca nu au aceeasi distributie in screen space (cum de fapt presupune metoda), inseamna ca implementarea nu ti-a reusit.
|
Status:
Înregistrat pe: 05 May 2007 14:50:45
Vârsta: 29 ani
Mesaje: 301
Locatie:
Programator
|
| |
Postat la 12 Oct 2009 12:44:30 Subiect: < fara subiect >
|
|
|
Katalin info:
|
Katalin:
Da intradevar numai vertexii din colturi sunt proiectati pe plan, ceea ce am facut eu nu e projected grid. Dar am reusit sa "imping" vertexii spre camera si in final am obtinut ceea ce vroiam fara sa fie prea complicat si ( zic eu ) mult mai ieftin.
Fighting on the internet is like running in the special olympics: even if you win, you're still retarded !
|
Status:
Înregistrat pe: 02 May 2007 18:38:03
Vârsta: 23 ani
Mesaje: 84
Locatie: Slatina
Programator
LightningTeam
|
| |
Postat la 12 Oct 2009 13:02:45 Subiect: < fara subiect >
|
|
|
Katalin info:
|
Katalin:
Apropo stie cineva un tool cu care pot transforma un heightmap intr-un normal map ? Pluginul pt DDS pentru Photoshop poate face asta ? Si merge folosit pluginul pe versiunea trial de la Photoshop ?
Fighting on the internet is like running in the special olympics: even if you win, you're still retarded !
|
Status:
Înregistrat pe: 02 May 2007 18:38:03
Vârsta: 23 ani
Mesaje: 84
Locatie: Slatina
Programator
LightningTeam
|
| |
Postat la 12 Oct 2009 14:57:20 Subiect: Re:
|
|
|
Deliverance info:
|
Deliverance:
Katalin a scris: Apropo stie cineva un tool cu care pot transforma un heightmap intr-un normal map ? Pluginul pt DDS pentru Photoshop poate face asta ? Si merge folosit pluginul pe versiunea trial de la Photoshop ? Aici ai un heightmap 2 normal map converter http://www.blitzbasic.com/Community/posts.php?topic=34566Daca nu iti place incearca asta: http://www.google.ro/search?hl=ro&client=firefox-a&rls=org.mozilla%3Aro%3Aofficial&hs=5cK&q=heightmap+to+normal+map+converter&btnG=C%C4%83utare&meta= Desi daca vrei sa se vada foarte bine potzi face asa: Importezi heightmap-ul intr-un program de modelare, il transformi in geometrie, aplici cateva efecte de eroziune de exemplu si apoi ai optiunea de a exporta un normal map la orice rezolutie. (Ma intreb ce program de modelare / editare suporta asta...).
Ultima editare efectuată de Deliverance pe 12 Oct 2009 15:38:50; 5 editări în total
|
Status:
Înregistrat pe: 13 Oct 2006 10:05:37
Vârsta: 25 ani
Mesaje: 253
Locatie: Iasi , Romania
Programator
|
| |
Postat la 12 Oct 2009 16:53:05 Subiect: Re:
|
|
|
Pintea info:
|
Pintea:
Katalin a scris: Pluginul pt DDS pentru Photoshop poate face asta ? Da.
|
Status:
Înregistrat pe: 05 May 2007 14:50:45
Vârsta: 29 ani
Mesaje: 301
Locatie:
Programator
|
| |