View previous topic :: View next topic |
Author |
Message |
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Sat Jan 12, 2008 1:16 am Post subject: |
|
snake5 wrote: | NAV TAM VEKTORAM JĀBŪT PERPENDIKULĀRAM PRET VIRSMU pirmkārt jau tāpēc, ka katram vertexam ir savs normālvektors |
Wtf? Kas tie par slima suņa murgiem? Tavs "Jābūt X tāpēc, ka Y" ir pilnīgi bezsakarīgs teksts. Jo Y (katram vertexam sava normāle) nav nekādā sakārā saistīts ar X (normālei nav jābūt perpendikulārai pret virsmu).
Es runāju par normāles būtību, nevis konkrētajām vērtībām kautkādam vertexam. Jā, normāle var norādīt vektrou ne-perpendikulāru pret virsmu. Bet tad tā virsma, dēļ apgaismojuma formulām, kuras ietver normāles vērību, izskatīsies pilnīgi līki (vai arī, protams, ja tāds efekts ir vajadzīgs, tad tas ir efekts, nevis defekts). Pamēģini uzzīmēt kubu, kur virsotņu normāles ir vērstas uz ārpusi un norāda tieši taisnā līnijā prom no kuba centra. Kubs izskatīsies diezgan apaļš. Tāpēc normālei jābūt normālei - perpendikulārai pret virsmu. Saproti, ka normāle norāda virsmas gludumu un orientāciju. Tā, protams, var nebūt precīzi kautkāda virsotnes blakus esošā poligona normāle tikai tāpēc, ka virsotne pieder vairākiem poligoniem, kuri aprakst gludu virsmu - sfēru, piemēram.
Iesaku tev pameklēt normāles vektora definīciju. Normāle (3d pasaulē) tiek definēta kā vektors, kas ir perpendikulārs virsmai konkrētajā punktā (dx'ā un ogl'ā un daudz kur citur šis punkts ir katrs konkrētais vertexs). Tu saproti vārda definīcija nozīmi? Normāle apraksta virsmu (oglā vai dxā). Ja netici, tad atver matemātikas grāmatu.
Tas, ka dx vai gl izmanto virsotņu normāles, nevis atsevišķi katram poligonam padodamas normāles ir tikai implementācija nevis būtība. Normāle pēc būtības ir perpendikuls. Un tur nav citu variantu (un no tās pašas operas - tangente ir piesakare virsmai/līnijai).
Quote: | vektors vtt = lv - vv //vai vv - lv, īsti neatceros
normalizējam vtt
jo līdzīgāki ir vtt un nv vektori, jo vertexs ir gaišāks |
Gaismas veidi ir vairāki. Tā atņemšana ir tikai viens no gaismas komponentiem, kuru tāpat tīrā veidā neizmanto. Esi aizmirsis vēl pāris nozīmīgas komponentes, kas ietekmē gaišumu uz virsmas.
Un es par nekādu atņemšanu nestrīdos. Es tikai saku, ka tava normāles skaidrošana kā "noraada, no kura virziena gaisma buus visspozhaakaa uz sho vertexu" ir aplams. Man tev vajag bildi parādīt, kurā redzama sfēra un punktā, kurā normāle ir uz sānu attiecībā pret gaismas avotu, tomēr virsma tajā punktā ir visspožākā uz visa ķermeņa?
Iesaku padomāt pirms raksti kārtējās savas muļķības. Ja nezini 3D pamatus, tad nevajag aplamības citiem mācīt... |
|
Back to top |
|
|
Vecais_Dumais_Laacis Guru
Joined: 29 Jan 2004 Posts: 800
|
Posted: Sat Jan 12, 2008 5:11 am Post subject: |
|
te man liekaas tiek jauktas vertexu normaales un trijstuura normaale.
http://msdn2.microsoft.com/en-us/library/bb173380.aspx
trijstuura normaale tiktieshaam ir perpendikulaara trijstuurim. bet nav iespeejams sho normaali noraadiit manuaali - taa tiek reekjinaata kaa dot's no divaam malaam.
Quote: | Each face in a mesh has a perpendicular unit normal vector. The vector's direction is determined by the order in which the vertices are defined and by whether the coordinate system is right- or left-handed. The face normal points away from the front side of the face. |
vertexu normaales var buut jebkuraa (?) virzienaa un tiek izmantotas gaismas kalkulaacijaa.
Quote: | When applying Gouraud shading to a polygon, Direct3D uses the vertex normals to calculate the angle between the light source and the surface. |
_________________ ...un ja bites buutu laachi... |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Sat Jan 12, 2008 12:16 pm Post subject: |
|
vdl: kā jau augstāk saku - jā, vertexa normāla var norādīt jebkurā virzienā, bet tā norāda virsmas virzienu - ne jau paša poligona, kuram vertexs pieder (tādi ir vairāki), bet gan šo poligonu aproksimētās virsmas normāli tajā konkrētajā vertexā (iedomājies sfēru). Poligoni oglā vai dxā ir tikai virsmas aproksimācija. Trijstūra (konkrēto zīmēto poligonu) normāle kā tāda ne oglā, ne dx'ā netiek norādīta, jo nav īsti no tās jēgas. Bet normāle bija un būs perpendikuls pret virsmu, nevis patvaļīgs vektors, kurš norādīs "no kura virziena gaisma buus visspozhaakaa uz sho vertexu"". |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Sat Jan 12, 2008 12:38 pm Post subject: |
|
tu vēl nesaproti, ka viņš prasīja tieši par vertexu normālvektoriem? _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
kkeemmss
Joined: 04 Jan 2007 Posts: 232 Location: Riga
|
Posted: Wed Jan 16, 2008 5:12 pm Post subject: |
|
Ar gaismām kaut kādā skaidrībā tiku, bet tagad radās problēmas ar alpha blending.
Nav problēmu uztaisīt kasti un tai priekšā pielikt raibu stiklu, bet ja es sagribu divus stiklus, tad ir svarīgi lai tālāko objektu zīmē pirmo, citādi blenderis samaisa tās krāsas nepareizi.
kā directx iestāsyīt lai papriekšu zīmē tos objektus kas ir tālāk no kameras? |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Wed Jan 16, 2008 5:47 pm Post subject: |
|
tas tev nav gamemaker!
tur neko nevar iestatīt!
labāk vispirms mācies dx pamatus, pēctam domā par objektu attālumiem no kameras, jo sakārtošana pareizā secībā parasti nav viegls darbs ;)
tagad es tev ieteiktu sākt ar to, ka tu vnk paņem un sāc rakstīt kādu mazu programmu, pēc iespējas mazāk skatoties tutoriālī! šo darbu atkārto šad un tad līdz iemācies direct3d inicializāciju no galvas _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
Vecais_Dumais_Laacis Guru
Joined: 29 Jan 2004 Posts: 800
|
Posted: Wed Jan 16, 2008 5:56 pm Post subject: |
|
snjake kapronu velk kaa izstaas.
pa pusei gan taisniiba - dx pats neko nedariis.
transparentos objektus pasham jaasasortee peec attaaluma no kameras un taadaa seciibaa jaarenderee
Quote: | Rendering Order Laws (almost always true) ;)
1- Draw first all opaque objects in front-to-back order, with z testing enabled (this ordering is for efficient rendering).
2- Then, draw all semi-transparent objects in back-to-front order (this ordering is needed for alpha blending). |
_________________ ...un ja bites buutu laachi... |
|
Back to top |
|
|
kkeemmss
Joined: 04 Jan 2007 Posts: 232 Location: Riga
|
Posted: Wed Jan 16, 2008 6:19 pm Post subject: |
|
Nu labi, tad pie sitā atgriezīsos, kad būs lielāka pieredze, un lielāka vaidzība pēc transperentiem objektiem.
Tad ja pareizi saprotu, tad koku(piem egli) nevarēs taisīt no div ' X ' veidā saliktiem spraitiem, jo blendēšanas kropļojumi būs jebkurā gadījumā. |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Wed Jan 16, 2008 7:43 pm Post subject: |
|
vdl, par ko tu šitā?
autor, nāksies tad lietot 16 trijstūrus, 4 katrai koka malai!
spraiti ir pavisam cita lieta, tos te nejauc! _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
Vecais_Dumais_Laacis Guru
Joined: 29 Jan 2004 Posts: 800
|
Posted: Wed Jan 16, 2008 7:54 pm Post subject: |
|
tas orderings attiecaas uz semitransparentiem kur 0<alfa<255.
izmantojot alpha tekstuuru X egleem nebuus probleemas
un 16 triangljus vajaga tikai ja lieto kapronu. paareejiem pietiek ar 4 un disableetu cullingu _________________ ...un ja bites buutu laachi... |
|
Back to top |
|
|
kkeemmss
Joined: 04 Jan 2007 Posts: 232 Location: Riga
|
Posted: Wed Jan 16, 2008 7:56 pm Post subject: |
|
mazs oftopiks: vispar jau daudzām komerciālām spēlēm esmu novērojis gļukus ar koku un krūmu lapām, kad lapu malas tiek sablendotas nepareizā secībā, bet pievelkot kameru tuvumā visādus brīnumus var ieraudzīt.
Tie spraiti man nāca prātā no game maker laikiem, kad FPS tutoriālī krūmu mācija taisīt no viena spraita, kas vienmēr pavērsts uz kameras pusi. es drīz vien izdomāju lietot 4 spraitus, kas katrs vērsts uz savu pusi.
Bet laikam jau daudz smukāk un vienkāršāk koku būs taisīt no tiem 8 vai 16 poligoniem, un iztikt bez malu blenderēšanas. |
|
Back to top |
|
|
Vecais_Dumais_Laacis Guru
Joined: 29 Jan 2004 Posts: 800
|
Posted: Wed Jan 16, 2008 8:09 pm Post subject: |
|
btw pasties Billboard sampli vecajaa dx sdk. tur koki veel vienkaarshaak tiek rendereeti - kaa vienkaarshs quads. un nekas negljuchii. binaarijs @ http://3priedez.net/files/bill.rar _________________ ...un ja bites buutu laachi... |
|
Back to top |
|
|
gazz
Joined: 03 Jan 2004 Posts: 355 Location: Teika
|
Posted: Wed Jan 16, 2008 10:32 pm Post subject: |
|
nu ja - Quote: | ie spraiti man nāca prātā no game maker laikiem, kad FPS tutoriālī krūmu mācija taisīt no viena spraita, kas vienmēr pavērsts uz kameras pus | jau arii ir tas ko sauc par billboardiem |
|
Back to top |
|
|
kkeemmss
Joined: 04 Jan 2007 Posts: 232 Location: Riga
|
Posted: Thu Jan 17, 2008 2:43 pm Post subject: |
|
labi krāsu jaukšanu biski paliksim malā, līdz to man patiešām vaidēs.
Bet nu esmu nonācis pie nākamās tēmas: Loading Meshes From X Files
problēma tāda ka mans 3d max tos ' *.X ' failus neprot atvērt.
Arī savus agrāk veidotos ' *.max ' failus es nezinu kā iedabūt savā Dx projektā.
Vai ir kāds 3d konvertors kas to x failu uzgenerētu? |
|
Back to top |
|
|
Vecais_Dumais_Laacis Guru
Joined: 29 Jan 2004 Posts: 800
|
|
Back to top |
|
|
|