View previous topic :: View next topic |
Author |
Message |
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Thu Feb 11, 2010 12:29 pm Post subject: |
|
EDDY wrote: | Vot tikai jāpagaida vēl pāris gadiņi, kad videokartes spēs saprast splines dzelžu valodā. |
DX11 Hull&Domain šeideros to jau var tagad darīt. Protams, tie [šeideri] tās aproksimē ar poligoniem, bet detalizācijas pakāpi vari dinamiski kontrolēt kaut vai tā, ka poligoni ir pikseļu izmēros - respektīvi bez nekādām kvalitātes atšķirībām no tīrām virsmām. Pie tam neatpaliekot performancē no parastu trijstūru renderēšanas.
Uzmeklē Catmull-Clark surfaces DXSDK sampļos.
Quote: | Bet tik vienkārši jau viss nav. Mākslīgi palielināts trijstūru skaits nebūs laba lieta |
EDDY to droši vien domāja tā, ka no high-poly 3d-modeļa ģenerē to low-poly modeli + heightmapes. Tas gan ir vienkārši. Un tas arī strādā un pat ļoti labi strādā ar D3D11. Ļoti izcili strādā, es pat teiktu. Gan no performances viedokļa, gan kvalitātes viedokļa.
Drīzāk jau modeli jātaisa nevis ar poligoniem, bet ar biezier patchiem, vai citiem virsmu primitīviem. Tādus D3D11 teselācijas šeideri renderēs bez problēmām. Tā par visu 100 un 1 procenti ir 3d grafikas api nāktone. |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Thu Feb 11, 2010 12:48 pm Post subject: |
|
Zinu, Snake, esmu 3d grafiķis.
Tā kā pēdējā laikā visi ņemas ar to ZBrush, tad tā ir īstā vieta DirectX 11 iespēju pielietošanā.
Bubu, noteikti palasīšu, bet man jau tagad šķiet, ka tīrā dzelžu līmenī tas nestrādās. Ja varam no 4 spline līnijām izveidot ovālu pilnas/noslēgtas virsmas objektu, tad reāli būtu pāris tūkstoši poligoni (ieskaitot normāļu mapju nepieciešamību), bet spline (bezier) gadījumā tur ir tikai punktu koordinātes, ko dzelži paši varētu izkalkulēt, kā tas ir ar teselāciju vai antialiasing iekš to AMD/ATi kartes. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Thu Feb 11, 2010 12:53 pm Post subject: |
|
Jā, vajag pāris tkstošu poligonu. Bet tie visi ģenerējas hardwarē. Tas ir mega ātri. Un performanci maz ietekmēs, ja lietosi papildus vēl citas tehnikas - piemēram, samazinot poligonu skaitu, ja virsma ir plakanāka. Ne visas virsmas visās vietās vajag apaļumus. |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Thu Feb 11, 2010 3:19 pm Post subject: |
|
Un ko darīt tur, kur vajag asus stūrus? _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Thu Feb 11, 2010 3:41 pm Post subject: |
|
Man tev uztaisīt piemēru? :lol:
Dabā nekur nevienam objektam nav asi stūri. Pat ne ežiem. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Thu Feb 11, 2010 3:43 pm Post subject: |
|
Tur patči savienojas. Piemēram, bezier patčiem var būt asi stūri. Nav problēmu. Tāpat arī ar cita veida virsmu interpolācijām/aproksimācijām. |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Thu Feb 11, 2010 4:24 pm Post subject: |
|
Snake laikam domāja, ka uzliekot smooth kādam aso stūru modelim, tas pārvērtīsies par neasu-noapaļotu objektu.
3d grafiķi lieto smooth groups. Es gan nezinu, kas tur galā sanāks un vai videokarte ar savu teselāciju tiešām neko nesalaidīs ķīsēlī. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Thu Feb 11, 2010 4:39 pm Post subject: |
|
Videokarte teselēs tā, kā tu šeiderī uzrakstīsi. Pati tā neko nemāk. Tik saskaitīt un atņemt (+ vēl kaudz primitīvu operāciju). Tieši kā rēķināt tās virsmas - tas ir pašam šeiderī jāapraksta (formulas & stuff). Veidi kā tādas virsmas rēķināt ir daudz un dažādas. Tieši tāpat kā ar apgaimsojuma modeļiem fragmentu šeiderī.
Salaist ķīselī rēķināšanu var tikai pats programmētājs. |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Thu Feb 11, 2010 6:17 pm Post subject: |
|
Un cik daudz vietas (diskā/VRAM) aizņems šāds 3d modelis ar dažāda asuma stūriem? _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Thu Feb 11, 2010 6:39 pm Post subject: |
|
Kāds šāds modelis? Bizbizmārītes modelis? Nīlzirga modelis? Tas taču atkarīgs no modeļa un mākslinieka darba mākas. Kā arī no interpolācijas veida - bezier surfaces, Catmull-Clark spline, utt... Kā uztaisīti tik arī aizņems. Reku ļoti populārie geimdevu modeļu taisīšanā Catmull-Clark splaini: http://research.microsoft.com/~cloop/msrtr-2007-44.pdf (demonstrācija SubD10/11 DXSDK samplī). |
|
Back to top |
|
|
elvman Indago Uzvarētājs
Joined: 09 Apr 2003 Posts: 1278 Location: Kuldiga
|
Posted: Thu Feb 11, 2010 7:17 pm Post subject: |
|
bubu wrote: | Tur patči savienojas. Piemēram, bezier patčiem var būt asi stūri. Nav problēmu. Tāpat arī ar cita veida virsmu interpolācijām/aproksimācijām. |
Bezier ar asu stūri? Pie maksimāla zooma viņš vienalga nebūs ass. Kaut vai piemērs: līknes ar asiem stūriem nevar integrēt, bet bezier līkni var. Tas nozīmē, ka bezier līknei nekad nebūš asi stūri. _________________ long time; /* know C */ |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Thu Feb 11, 2010 7:27 pm Post subject: |
|
Tu pārprati. Ne jau viena bezier līkne/virsma tur ir. Bet vairākas. Paskaties tai pdf'ā 5 lapusē Figure 3. Tie ir bezier-patcha kontrolpunkti No tādiem gabaliņiem-bezier-patchiem tiek modelis taisīts. Bezier-patcha iekšpusē virsma ir apaļa-nepārtraukta. Bet uz malām tai var būt asums/stūris. Taču patcha izmērs nav noteikts. Cik lielu/mazu gribi/vajag, tik taisi.
Kāpēc jūs neapskataties to DXSDK SubD11 sampli/dokumentāciju? Tur ir gatavs piemērs, kas to (teselāciju ar bezier virsmām) dara. Ir tur gan asi stūri, gan daudz poligoni. Labi, nav gan LOD tehnikas, bet to jāskatās/jāpaņem no cita DXSDK sampļa - DetailTesselation11. |
|
Back to top |
|
|
|