játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5440
FZoli:    4892
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2519

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2186
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1625
syam:    1491
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] > 8 < [9] [10] [15] [20] [22]
newversion - Tag | 197 hsz       Online status #92711   2008.07.17 18:23 GMT+1 óra  
azér annyi mert direkt ugy akarjuk

van a perspektivikus leképzés , aminél egy tér kockát(csonka gula) kényszeritünk a 0-1 tartományba, és azért oda mert a lebegöpontos szám it a legsürübb

amugy meg má mondtam zuzzá matekot tanulni, mert anélkül nulla egy programozo
   
AmidaBucu - Tag | 281 hsz       Online status #92710   2008.07.17 17:13 GMT+1 óra  
de a w mér pont annyi hogy ha elosztm vele a z-t akkor az pont 1 és 0 közés esik?
Ami tönkremehet, az tönkre is megy!!!
   
newversion - Tag | 197 hsz       Online status #92709   2008.07.17 17:05 GMT+1 óra  
After dividing the Z compontent by the homogeneous component, the result will be between 0 and 1
   
AmidaBucu - Tag | 281 hsz       Online status #92708   2008.07.17 16:24 GMT+1 óra  
Nah hi. Néztem netes tutorokat shadowmap témában és (mivel láma vok) sehol sem jöttem rá, hogy a pixelshaderben mérkell osztani Z-t W-vel. Amugy a többi részt értem.
Ami tönkremehet, az tönkre is megy!!!
   
newversion - Tag | 197 hsz       Online status #92706   2008.07.17 14:47 GMT+1 óra  
az egy dolog hogy nem szereted, de ettöl még müködik ,
szerintem a tökéletes technika az amikor a pervertex,perpixel dispmappingot vegyesen használjuk

a cone stepping a surolo szögeknél artifactosodik, mivel ilyenkor a 50+ shaderciklusig felszalad
, lassu is emiatt mint a dudva
de találtam jobb megoldást , még nem volt tökéletes mert 10-20 oráig számolta a mapokat a régi gépem, és enyhén szolva is idegesitö volt
most majd átirom több procira, vagy shaderrel számolom , és akkor talán már elviselhetö lesz

a nagyobb probléma számomra hogy az AA elég számitásigényes, kéne találni valami jo modszert rá
   
TPG - Tag | 3402 hsz       Online status #92704   2008.07.17 13:13 GMT+1 óra  
Idézet
Asylum :
ehhez kapcsolodan ezt találtam (gpu gems böl részlet?)

http://developer.download.nvidia.com/books/gpu_gems_3/samples/gems3_ch18.pdf

eléggé numerikus analizis szagu, legalábbis a "relaxáció"


Jah, ez a GPU Gems 3-ból részlet. Ez mondjuk kevésbé beteg mint amire én utaltam (javítottam is a hsz-t, a GPU Gems 2-beli cikkre gondoltam), de még ez sem elég praktikus sztem, nem különösen szeretem az olyasmit amihez előfeldolgozás szükséges. Nem nagyon lehet futásidőben az ilyesmit macerálni, márpedig egy relief-elt falnál ez kellhet a golyónyomok és egyebek miatt.
Reality is almost always wrong. - House

   
Asylum - Törzstag | 5440 hsz       Online status #92703   2008.07.17 12:55 GMT+1 óra  
ehhez kapcsolodan ezt találtam (gpu gems böl részlet?)

http://developer.download.nvidia.com/books/gpu_gems_3/samples/gems3_ch18.pdf

eléggé numerikus analizis szagu, legalábbis a "relaxáció"
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
TPG - Tag | 3402 hsz       Online status #92700   2008.07.17 12:34 GMT+1 óra  
Idézet
newversion :
a relief map a jövö

nálam 100+ fps-el fut már, de nem fal rajzolására használom, hanem egy kocka egy szobor
ez az alap, aztán ezt lehet fokozni hogy egy object sok kis kocka
durván néz ki a cucc


Ezzel akad néhány probléma:
1, A relief is ugyanúgy artifactosodik mint a parallax csak más okok miatt és szélsőségesebb körülmények között

Szóval ez sem a Szent Grál.

2, Az előbb említett artifactosodás miatt és alapvetően is a működési elve miatt is a technika alkalmatlan összetett 3D-s objektumok előállítására egyszerű geometriai objektumokból (nem lesz gömbből toronyóra meg hasonlók). Eleve a technikának nem ez a célja hanem a részletesség növelése ugyanúgy mint a displacement mapping-nak, csak míg a displacement mapping vertex szinten dolgozik addig a relief pixel szinten (nem véletlen hívják nem véletlen hívják a reliefet és annak rokon technikáit per pixel displacement mappingnak is, lásd GPU Gems 2, 8-as fejezet, 123. oldal)

3, Az artifactok enyhítésére egy halom elmélet született már, de praktikus még nem nagyon.

4, Hogy kerül ide az a kép? Az egy trueSpace (Caligari Corp. által készített modellező/animáló/renderelő csomag) fórumról való ahol a srác demonstrálja az új megvilágítás shadereit a szobor modellen. (Még azt is leírja hogy a "Advanced Lighting and Materials with Shaders" című könyvből dolgozott.) Relief mappingról is esik szó de csak később és ahhoz van egy klasszikus "falfelület málló téglákkal" típusú kép.

Ezt a hozzászólást TheProGamer módosította (2008.07.17 12:58 GMT+1 óra, ---)
Reality is almost always wrong. - House

   
AmidaBucu - Tag | 281 hsz       Online status #92697   2008.07.17 11:44 GMT+1 óra  
rendben, vettem
Ami tönkremehet, az tönkre is megy!!!
   
gaborlabor - Moderátor | 4449 hsz       Online status #92694   2008.07.17 10:50 GMT+1 óra  
több vertex, több poligon
magyarul: részletesebb mesh

   
AmidaBucu - Tag | 281 hsz       Online status #92690   2008.07.17 10:17 GMT+1 óra  
sűrűbb mesh, nem nagyon vágom mire gondolsz.
Ami tönkremehet, az tönkre is megy!!!
   
Asylum - Törzstag | 5440 hsz       Online status #92687   2008.07.17 09:40 GMT+1 óra  
probáld ki ugy amit mondtam, hogy egy sürübb mesh re rakod (szal érted ilyen négyzetrácsra) mert nálam az megoldotta a problémát.

szerk.: részben...érdekes modon a doboz egyik oldalán jó, a többi oldalon nem jó...

Ezt a hozzászólást Asylum módosította (2008.07.17 10:17 GMT+1 óra, ---)
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
AmidaBucu - Tag | 281 hsz       Online status #92680   2008.07.17 06:38 GMT+1 óra  
lényeg hogy megtod nézni böngészőbe nem, és azé láccik hol csunyácska az effekt
Ami tönkremehet, az tönkre is megy!!!
   
beast - Törzstag | 1241 hsz       Online status #92678   2008.07.17 06:07 GMT+1 óra  
MS Paint tud jpeg-be, sőt png-be is menteni, nem csak bmp-be...

   
ShAdeVampirE - Törzstag | 1313 hsz       Online status #92674   2008.07.17 05:19 GMT+1 óra  
Egy pixel-shader 2-es ReliefMapping megvalósítást találhattok itt:
http://www.ogre3d.org/phpBB2/viewtopic.php?t=38668&highlight=relief+mapping
   
AmidaBucu - Tag | 281 hsz       Online status #92669   2008.07.17 03:19 GMT+1 óra  
987-amida 2008-07-15 14-54-51-54.bmp
Nah, valakinél nem jön elő szintén a textúra szétfolyás? És szerintetek nem ronda ez egy kicsit egy sima normalmapphoz képest? Érdekes, hogy ha nem a mapbol veszem ki a normalokat hanem szimplán a meshből akkor nem jön elő ez a textura elmosás.
Ami tönkremehet, az tönkre is megy!!!
   
newversion - Tag | 197 hsz       Online status #92658   2008.07.17 01:43 GMT+1 óra  
nem tudom mért hülyeség, most irta Carmack hogy a következö motorja ezt fogja használni , csak várni kell egy generácio váltást, mivel a mostani konzolok nem birkoznak meg vele
   
kicsy - Szerkesztő | 4304 hsz       Online status #92655   2008.07.17 01:21 GMT+1 óra  
Jaj ne kezd már megint a hülyeséged plz
kicsy ● SilentVertigo Team - project Solarah
http://blog.yscik.com
   
newversion - Tag | 197 hsz       Online status #92648   2008.07.16 23:58 GMT+1 óra  
a relief map a jövö

nálam 100+ fps-el fut már, de nem fal rajzolására használom, hanem egy kocka egy szobor
ez az alap, aztán ezt lehet fokozni hogy egy object sok kis kocka
durván néz ki a cucc

   
Asylum - Törzstag | 5440 hsz       Online status #92646   2008.07.16 19:59 GMT+1 óra  
poén: a hiba a meshben van. ugyanis a példában szereplö disc-re tökjol müködik...most akkor az jön, hogy mi a hiba a meshben (panda export?..)

szerk.: hát persze...tul kevés vertex...ugyh akkor most már müködik -.- de most megéri ez, hogy egy eygszerü fal helyett egy sok vertexböl állo falat kell kirajzolni?

Ezt a hozzászólást Asylum módosította (2008.07.16 20:33 GMT+1 óra, ---)
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
TPG - Tag | 3402 hsz       Online status #92645   2008.07.16 19:21 GMT+1 óra  
Idézet
Asylum :
ha jol értelmeztem annyi a különbség, hogy az árnyékokat is beleveszi a buliba, arrol is találtam papirt és kb. ugyanazt irja le mint az a másik.

de akkor átolvasom mégeccer mert elsöre csak átfutottam
szal ez a relief mapping? mért nem lehet egyféleképpen nevezni ezeket.


A sima parallax mapping egy förtelmes ronda hack (nem véletlen írtam hogy közelítés a valósághoz de a barbárabb fajtából, javulást lehet vele elérni de a módszer a normálistól messze van cserébe viszont nem igényen nagyon sok extra számítást). A relief mapping más, tök más szemszögből fut neki a problémának. Úgy szokták összefoglalni hogy egy PS-be épített mini raytracer. Self Shadow-t és egyéb finomságokat is tud de cserébe förtelmes a számításigénye (a shotokon is látszik amiket beraktam, a sima parallax 100+ FPS-t megy még a relief alig 10-et), ezért nem is túl gyakori még az alkalmazása (a Crysis-ban van de az alá alapvetően erőmű kell, ez már nem oszt nem szoroz ott). A sallang és extrák nélküli verziót állítólag be lehet préselni a PS2 keretein belülre (én még nem láttam ilyet), de ha az ember nekiáll tunningolni akkor PS3 a minimum.
Reality is almost always wrong. - House

   
Asylum - Törzstag | 5440 hsz       Online status #92644   2008.07.16 18:47 GMT+1 óra  
ha jol értelmeztem annyi a különbség, hogy az árnyékokat is beleveszi a buliba, arrol is találtam papirt és kb. ugyanazt irja le mint az a másik.

de akkor átolvasom mégeccer mert elsöre csak átfutottam
szal ez a relief mapping? mért nem lehet egyféleképpen nevezni ezeket.

szerk.: asszem kezdem felfogni h miröl van szo..persze még mindig szarrá folyik.
szerk.: a problémára is kezdek rájönni:

float2 vParallaxDirection = normalize( Out.vViewTS.xy );

nálam ez akárhonnan nézem mindig ugyanaz..hoppá...

Ezt a hozzászólást Asylum módosította (2008.07.16 19:42 GMT+1 óra, ---)
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
TPG - Tag | 3402 hsz       Online status #92641   2008.07.16 17:13 GMT+1 óra  
Idézet
Asylum :
de ha megnézed azt ami a dx sdk ban van az meg ilyen szögböl is tökéletes (söt mindenhonnan). nálam viszont összevissza folyik holot szinte már teljesen ugyanaz a kód.

és szerintem akkorsem igy kéne kinéznie ennek.


Az előbb néztem meg és a DXSDK-s cucc kegyetlenül szétfolyik alacsony szögeknél. Parallax Occlusion Mapping != Parallax Mapping.


Parallax Mapping With Offset Limiting - majdnem merőlegesen nézve


Parallax Mapping With Offset Limiting - alacsonyabb szögből, már itt tökig van artifact-al, normálisan beállítgatva nem ilyen durva


Relief Mapping (Parallax Occlusion Mapping/Steep Parallax Mapping meg még Isten tudja minek hívják)
Reality is almost always wrong. - House

   
Asylum - Törzstag | 5440 hsz       Online status #92640   2008.07.16 16:55 GMT+1 óra  
de ha megnézed azt ami a dx sdk ban van az meg ilyen szögböl is tökéletes (söt mindenhonnan). nálam viszont összevissza folyik holot szinte már teljesen ugyanaz a kód.

és szerintem akkorsem igy kéne kinéznie ennek.

Ezt a hozzászólást Asylum módosította (2008.07.16 17:00 GMT+1 óra, ---)
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
TPG - Tag | 3402 hsz       Online status #92637   2008.07.16 15:57 GMT+1 óra  
Idézet
Asylum :
mit csinál a tex2Dgrad(), mért lesz ettöl jobb?
a ddx röl azt találtam, hogy kiszámolja a parciális deriváltájt a forrásnak, ezt se értem igazán, hogy hogyan csinálja.

szerk.: és mégvalami...ennyire nem kéne h hülyén nézzen ki, egyáltalán nem "emelkedik ki" a sikbol, inkább csak szét van lapitva



ez vajon mitöl van? kirajzoltattam a tangens teret hát lényegében ilyen határeset-szerü, de abszolut nem ortogonális szoval nemtudom mi a fene lehet.


tex2Dgrad() - Gyakorlatilag minden fontosat leír.

A képpel meg így első ránézésre nincs baj, a parallax ilyen, közelítés a valósághoz méghozzá a barbárabb fajtából. 100% csak akkor működik ha a felületre amin van merőlegesen tekintesz, ahogy a szög csökken úgy fog romlani. A szétfolyás ellen van az offset limit amit a papír is leír amit linkeltél (én is ebből csináltam az enyémet anno).
Reality is almost always wrong. - House

   
Asylum - Törzstag | 5440 hsz       Online status #92628   2008.07.16 14:23 GMT+1 óra  
végre sikerült csinálni egy müködö parallax (majdnem) mapping ot ez alapján

http://www.cs.cmu.edu/afs/cs/academic/class/15462/web.06s/asst/project3/parallax_mapping.pdf

a probléma az (és ezt irja is), hogy közelröl nézve látszik a turpisság, mint a bump mappingnál, és nem is olyan szép mint ami a dx sdk ban van (az viszont teljesen hülyére mosódik).

néhány kérdés:

mit csinál a tex2Dgrad(), mért lesz ettöl jobb?
a ddx röl azt találtam, hogy kiszámolja a parciális deriváltájt a forrásnak, ezt se értem igazán, hogy hogyan csinálja.

szerk.: és mégvalami...ennyire nem kéne h hülyén nézzen ki, egyáltalán nem "emelkedik ki" a sikbol, inkább csak szét van lapitva



ez vajon mitöl van? kirajzoltattam a tangens teret hát lényegében ilyen határeset-szerü, de abszolut nem ortogonális szoval nemtudom mi a fene lehet.

Ezt a hozzászólást Asylum módosította (2008.07.16 14:29 GMT+1 óra, ---)
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
AmidaBucu - Tag | 281 hsz       Online status #92544   2008.07.15 14:23 GMT+1 óra  
nah teljes csekk után se találtam meg semmi hibát.
Az érdekes az hogy a shaderemben van egy másik PPL technika ami 100% ugyanaz mint a normalmappos csak a map helyet a mesh alap normáljait használja. Ennél az effektnél viszont nincs szétkenődés. A két techinka között csak ez a különbség
Kód:
float3 normal = 2*(tex2D(bumptex, In.tex.xy))-1;
normal = normalize(mul(In.ttbn, normal)); //ttbn, tbn transzmicsodáltja, még timondtátok
                                                                   //hogy az egyenlő itt az ellentéttel, nem vágom, de nem is
                                                                   //érdekel
//helyett
float3 normal = In.normal;


jah arra kiváncsi volnék hogy
Kód:
2*(tex2D(bumptex, In.tex.xy))-1 //ez mért jelent kevesebb utasitást mint
2*(tex2D(bumptex, In.tex.xy)-0.5)// ez
Ami tönkremehet, az tönkre is megy!!!
   
Asylum - Törzstag | 5440 hsz       Online status #92497   2008.07.15 09:08 GMT+1 óra  
ööö hát lehet h ugyanarra gondlunk mert nálam is ilyen olvadás figyelhetö meg a parallax mappingnál...pedig generáltattam tangenst meg binormált a shader meg 100% hogy jo mert szinte szorol szora ua. mint az ati-s (kivéve néhány fölösleges dolgot amit abbol is kiszedtem tehát nem az a gond).

minnyá adok egy kodot amivel ki lehet rajzoltatni a tangens tér bázisvektorait.

http://ati.amd.com/developer/vertexblendD3D.html
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
AmidaBucu - Tag | 281 hsz       Online status #92490   2008.07.15 07:48 GMT+1 óra  
Ott a kép. Jah a szerkesztést akartam használni, csak olyan figyelmetlen voltam, hogy mire észrevettem volna már nem a szerkeszéts hanem a újüzenet texareába irtam
Jah Asylum, köztudottan sötét vok ilyenekben , de nem a normállal van vmi?
Ha samplebol van az egész hlsl és tutijó, akkor nem lehet hgy nem kapolja meg a tangent,binormalt a sháder? vagy esetleg a vertex deklaráció nincs/rosz? (tom, nem segítet de aszándék a fontos)

Ezt a hozzászólást AmidaBucu módosította (2008.07.15 08:00 GMT+1 óra, ---)
Ami tönkremehet, az tönkre is megy!!!
   
Asylum - Törzstag | 5440 hsz       Online status #92487   2008.07.15 07:08 GMT+1 óra  
nem tudom mit értesz azalatt, hogy szétolvad
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
AmidaBucu - Tag | 281 hsz       Online status #92483   2008.07.15 06:07 GMT+1 óra  
Hi! Nekem is probléma van az effektemmel. Néhol kockássá szétfolyik a textúra, mega mugyis ronda az egész.

987-amida%202008-07-15%2014-54-51-54.bmp
Ha ott az aljafelé nézitek látjátok hogy szétolvad. Ha kell a ps-t is berakom.

Használd már a szerkesztés gombot, özzekh!

Ezt a hozzászólást kuzanth módosította (2008.07.15 07:05 GMT+1 óra, ---)
Ami tönkremehet, az tönkre is megy!!!
   
Asylum - Törzstag | 5440 hsz       Online status #92412   2008.07.13 13:17 GMT+1 óra  
nos én is szarakodtam egy kicsit a normal mappinggal és lényegében müködik is (xna-s sample) csak valahogy furán nézki, föleg ha hátulrol nézem a modellt (teljesen kifordul a bump).



mintha a nézési iránytol nem függne (és tényleg nem függ a kód alapján, csak a specular highlight).
a környezö kockán meg abszolut hülyén nézki de az minden kockával igy van..
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
AmidaBucu - Tag | 281 hsz       Online status #92237   2008.07.11 04:03 GMT+1 óra  
Mind1 má müxik.
Ami tönkremehet, az tönkre is megy!!!
   
fpeti - Törzstag | 1280 hsz       Online status #92227   2008.07.10 19:13 GMT+1 óra  
Lehet, hogy ugyanaz, nem próbáltam ki, de tényleg megeshet. (akkor végképp nemtom)
   
AmidaBucu - Tag | 281 hsz       Online status #92225   2008.07.10 17:11 GMT+1 óra  
fpeti

worldToTangentSpace[0] = mul(In.tangent, World);
worldToTangentSpace[1] = mul(cross(In.tangent, In.normal), World);
worldToTangentSpace[2] = mul(In.normal, World);

a második sor lenne a mumus, mert ha kiszámoltad elforgatva a normál és a tangenst, akkor az azokra merőleges 3. vektort (bitangens - nálad a második sorban) már nem kell forgatni, eleve merőleges lesz a másik kettőre, valahogy így:
Kód:
worldToTangentSpace[0] = mul(In.tangent, World);
worldToTangentSpace[2] = mul(In.normal, World);
worldToTangentSpace[1] = cross(worldToTangentSpace[0],worldToTangentSpace[2]);



Ez a kető lényegében ugyanaz, nem?
Ami tönkremehet, az tönkre is megy!!!
   
fpeti - Törzstag | 1280 hsz       Online status #92208   2008.07.10 13:05 GMT+1 óra  
Na, én észrevételeznék egy hibát a shaderkódodban, ha szabad

Kód:
worldToTangentSpace[0] = mul(In.tangent, World);
worldToTangentSpace[1] = mul(cross(In.tangent, In.normal), World);
worldToTangentSpace[2] = mul(In.normal, World);

a második sor lenne a mumus, mert ha kiszámoltad elforgatva a normál és a tangenst, akkor az azokra merőleges 3. vektort (bitangens - nálad a második sorban) már nem kell forgatni, eleve merőleges lesz a másik kettőre, valahogy így:
Kód:
worldToTangentSpace[0] = mul(In.tangent, World);
worldToTangentSpace[2] = mul(In.normal, World);
worldToTangentSpace[1] = cross(worldToTangentSpace[0],worldToTangentSpace[2]);


- amúgy egy komplett bump... akarom mondani normalmap-es tutorialt erősen ajánlanék átrágni, xna-s shaderkódokat is lehet nézni, ugyanaz (linkem nincs sajna, de ) - onnan copipaszta, utána meg jöhet a megértés, magunktól nehezebb..

ps: ha jó a tbn mátrix, nem kell megordítani a szorzást... egyébként az olyan, mint ha a mátrix transzponáltjával szoroznál..
   
Asylum - Törzstag | 5440 hsz       Online status #92201   2008.07.10 12:28 GMT+1 óra  
nem mindegy, hogy csapba szarsz vagy szarba csapsz
a.k.a.

nem mindegy, hogy jobbról vagy balról szorzol mátrixxal ugyanis a mátrixxszorzás nem kommutativ.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
AmidaBucu - Tag | 281 hsz       Online status #92200   2008.07.10 12:23 GMT+1 óra  
Jolvan jolvan megvan. Eggyet had kérdezzek még. Ez volt a hiba
Kód:
Output.lD = mul(lPos-WPos, worldToTangentSpace);

És igy jó
Kód:
Output.lD = mul(worldToTangentSpace, lPos-WPos);

De mér nem jó hisz a vertexeket isigy kell rendesen eltolni a testel
Kód:
float4 WPos = mul(In.Pos, World);


Akk most mért nem mind1 hogy hogyan, fordítva vagy nem fordítva?
Ami tönkremehet, az tönkre is megy!!!
   
AmidaBucu - Tag | 281 hsz       Online status #92197   2008.07.10 11:48 GMT+1 óra  
stimmül, leteszteltem, és belevanrakva a meshbe a tangent és binormal is

jo hülyevoltam, bumpmapnak az alaptexet adtam meg

Ezt a hozzászólást AmidaBucu módosította (2008.07.10 11:53 GMT+1 óra, ---)
Ami tönkremehet, az tönkre is megy!!!
   
TPG - Tag | 3402 hsz       Online status #92181   2008.07.10 09:06 GMT+1 óra  
FVF/Vertex deklaráció stimmel C++ oldalon?
Reality is almost always wrong. - House

   
Asylum - Törzstag | 5440 hsz       Online status #92178   2008.07.10 08:43 GMT+1 óra  
azt hogy bemásoltad ide
én speciel sose olvasom el az ilyen kodrészleteket mert marha nehéz kitalálni h mit is akartál.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
AmidaBucu - Tag | 281 hsz       Online status #92177   2008.07.10 08:12 GMT+1 óra  
Ebbe szerintetek mit hibáztam?
Kód:
TP VS(TV In)
{
    VTP Output = (VTP)0;
    Output.pos = mul(In.pos, WVP);

float4 WPos = mul(In.pos, World);
     
    float3x3 worldToTangentSpace;
worldToTangentSpace[0] = mul(In.tangent, World);
worldToTangentSpace[1] = mul(cross(In.tangent, In.normal), World);
worldToTangentSpace[2] = mul(In.normal, World);

Output.lD = normalize(mul(lPos-WPos, worldToTangentSpace));
Output.cD = normalize(mul(camPos-WPos, worldToTangentSpace));
         
    Output.tex = In.tex;
    Output.at = 1-saturate(distance(lPos,WPos)/lRad);

       
    return Output;
}

float4 PS(VTP In) : COLOR0
{
float4 color;
float3 normal = 2*(tex2D(difftex, In.tex)-0.5);

float3 halfV = normalize(In.lD + In.cD);
float d = dot(halfV, normal);
    float4 diff =  saturate(dot(In.lD, normal));
    float4 spec = pow(saturate(d),lPow)* lSpec;
    color = ((tex2D(difftex,In.tex.xy)+(lDiff/2))*diff+spec)*In.at;
    return color;
}
Ami tönkremehet, az tönkre is megy!!!
   
AmidaBucu - Tag | 281 hsz       Online status #92173   2008.07.10 06:37 GMT+1 óra  
D3DXComputeTangentFrame(stbstb,NULL) sort benymtam a kódba. Egy ctrl-c ctrl-v vel ellenőrzésnek egy hlslkódót. De igy se müxik. Olyan hogy az egyik háromszög textura színű(ámbár elég érdekesen...), a következő meg fehér és igy tovább pepitában. Lehet hogy ezt nem lehet lerendezni ezzel az egy sorral? mind1 guglimugli

Egyszerűen nem jövök rá hogy lehet át adni azt a fene vektorokat a hlslnek.

Megvamegvan gugli 4EWA

Ezt a hozzászólást AmidaBucu módosította (2008.07.10 07:11 GMT+1 óra, ---)
Ami tönkremehet, az tönkre is megy!!!
   
Asylum - Törzstag | 5440 hsz       Online status #92109   2008.07.09 07:57 GMT+1 óra  
D3DXComputeTangentFrame() vagy valami hasonlo
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
AmidaBucu - Tag | 281 hsz       Online status #92105   2008.07.09 07:09 GMT+1 óra  
na végre értem azt a hülye tbn mátrixokat. Már csak azt nem tom hogy szerezzem mega tangent, normalt, binormalt és hogy aggyam át a shadernek
Ami tönkremehet, az tönkre is megy!!!
   
AmidaBucu - Tag | 281 hsz       Online status #92087   2008.07.08 10:13 GMT+1 óra  
Okok. Azt megkérdezhetem hogy akkor a normal meg stb megszerzésére jó a D3DXComputeNormals meg stb. fügvények? és abbol a három vektorbol hogy kecs csinálni mátrixot dx allatt? És akkor a transz... izéjét is áthathatm a hlslnek? Jah, és 3szögenként számolhatok ugyanazzal a mátrixxal?

Ezt a hozzászólást AmidaBucu módosította (2008.07.08 10:23 GMT+1 óra, ---)
Ami tönkremehet, az tönkre is megy!!!
   
Asylum - Törzstag | 5440 hsz       Online status #92086   2008.07.08 10:00 GMT+1 óra  
hát az a probléma, hogy limitált a regiszterek száma és egy mátrix 4 regisztert elfoglal, és azok kellenek a transzformácioknak (igy is max kettöt érdemes csak átadni).

én amit eddig láttam shadereket azokban mindig a shaderben rakták össze a mátrixot és ugy szorozták be. Viszont ha jol emléxem még ez a TBN mátrix ortonormált tehát az inverze a transzponáltja arra pedig szerintem van függvény.

szerk.: naná hogy az, de az is elég, hogy ortogonális
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
AmidaBucu - Tag | 281 hsz       Online status #92083   2008.07.08 09:26 GMT+1 óra  
kk. olyat szabad csinálnom hogy programból megadom a tbn inverzét és a ps-ben ezzel beszorzom azt amit a mapből kiszedtem és esetleg utána megszorzoma model mátrixxal?
Így már nyugodtan számolhatnám a szögeket ezzel a normállal, nem?
Ez így jó lenne, ha nem akkor miért nem?
Ami tönkremehet, az tönkre is megy!!!
   
Asylum - Törzstag | 5440 hsz       Online status #92029   2008.07.07 09:16 GMT+1 óra  
AmidaBucu - Tag | 281 hsz       Online status #92026   2008.07.07 08:29 GMT+1 óra  
Jah, értem, csak azt nem hogy pl a bumpmapnél ha kapunk képből egy vektorvéleséget, az ugye nem az igazi térben van. De kell a normal és a fény felé irányulo vektorok dotja ezér tbn mátrixxal átkell rakni abba a térbe ahol a normál van. Na itt nem értem. Mikor átkerül ez a vektor a térbe akkor az általa bezárt szög nem változik meg?
Ami tönkremehet, az tönkre is megy!!!
   
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] > 8 < [9] [10] [15] [20] [22]