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
Korábbi postok
> 1 < [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [22]
versio - Tag | 659 hsz       Online status #203855   2014.06.24 01:00 GMT+1 óra  
ha nem vegzel matrix4x4 -el muveletet akkor teljesen felesleges a float4 hasznalata, boven eleg a float3
   
Viperion - Tag | 540 hsz       Online status #203854   2014.06.24 00:07 GMT+1 óra  
Ezt tudom versio de ha nincs szó 4x4 mátrixról akkor azon nem végezhető el az összes művelet de van olyan ami csak 4 float értéket vár és ott a w akkor minek?.float4 típus erre mit mondasz ez,hogy van?

   
versio - Tag | 659 hsz       Online status #203849   2014.06.23 21:06 GMT+1 óra  
4 dimenzios tert ir le az xyzw, es ugy valtunk vissza 3 dimenziosra hogy leosztjuk w-vel az osszes osszetevot, igy lesz x/w, y/w, z/w, w/w = 1

es azert kell a 4 dimenzios ter , mert csak igy vegezheto el az osszes muvelet amire szuksegunk van , a 4 x 4-es matrixal

ennel egyszerubben nem lehet ezt leirni
   
Asylum - Törzstag | 5440 hsz       Online status #203846   2014.06.23 18:09 GMT+1 óra  
Most kajak végigkérdezed azokat amiket leírtam a cikkben -.-

"Az olyan irányú párhuzamos egyenesek metszéspontja."

egyébként meg (x, y, z) mint VEKTOR.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Viperion - Tag | 540 hsz       Online status #203845   2014.06.23 16:14 GMT+1 óra  
"Hogy pont esetében miért w = 1? Azért mert így van definiálva a homogén tér. A definíció szerint az (x, y, z) pontnak megfelel az (x, y, z, 1) homogén "pont" (gyk.: (wx, wy, wz, w))."
És ennek mi felel meg:
(x,y,z,0)

   
Asylum - Törzstag | 5440 hsz       Online status #203844   2014.06.23 15:45 GMT+1 óra  
vektor != pont

Mégpedig azért mert teljesen más műveletek értelmezettek rajta. Más kérdés, hogy egyébként a 3D térben mindkettőt egy (x, y, z) listával írjuk le.

Mint ahogy leírtam a matekos cikkben egy vektorokat tartalmazó vektortér kibővíthető affin térré ha hozzáveszel egy A halmazt (amelynek elemei pontok) és definiálod az összeadás műveletét egy pont és egy vektor között, mégpedig úgy, hogy "két pont különbsége egy vektor" (pongyolán mondva).

Homogén koordinátáknál ez elég világosan látszik, hiszen az (x1, y1, z1, 1) és a (x2, y2, z2, 1) pontok különbsége az (x1 - x2, y1 - y2, z1 - z2, 0) vektor.

Hogy pont esetében miért w = 1? Azért mert így van definiálva a homogén tér. A definíció szerint az (x, y, z) pontnak megfelel az (x, y, z, 1) homogén "pont" (gyk.: (wx, wy, wz, w)).

szerk.: és mert így lehet homogén osztás nélkül számolni vele.

Ezt a hozzászólást Asylum módosította (2014.06.23 16:03 GMT+1 óra, ---)
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Viperion - Tag | 540 hsz       Online status #203843   2014.06.23 15:39 GMT+1 óra  
Nem értem,hogy hogyan működik ez.
Egy másik weben találtam ezt:
Ha a w komponens értéke 0 akkor erre a vektorra vagy,mátrixra csak forgatást lehet alkalmazni mozgatás,odébhelyezés nélkül.De ha a w értéke 1 akkor mindkettőt lehet.
Elég ennyit tudnom róla,vagy hozzátennétek még valamit?

   
Viperion - Tag | 540 hsz       Online status #203842   2014.06.23 15:20 GMT+1 óra  
"Ha w 0, akkor leírtál olyan ( az origótól végtelen távolságra lévő pontokat asszem), amelyeket amúgy nem tudnál"

A fentit pedig elodin írta.
Végtelen távolságra levő pontokat,hogy lehetséges ez ha a számítógépek korlátozottak.
Lássátok ez a helyzet összezavartok teljesen.

Én tudni akarom ezt.Kűzdök érte böngészem a netet segítsetek még valahogy ti is.
float4 w komponense micsoda?
Mi célt szolgál?
Ha w=1 akkor pont de miért.A vectorok pontokat írnak le.Ha a w=0 akkor vektor ha a vektorok pontokat írnak le akkor ez is egy pont de te vectort írtál.Egy vector alatt érthetünk egy pontot is.

Asylum,hogy van ez? :-(

   
Tunyu - Tag | 444 hsz       Online status #203840   2014.06.23 14:34 GMT+1 óra  
Bár én nem vagyok matekzseni,és negyedét sem értem amit írtál, de próbálj meg végtelennel számolni.Szerinted lehetséges?Tudtommal a számítógépek is kissé korlátozottak,nem fér bele a precizitásba.Bár az is lehet hogy én írok marhaságot.

   
Asylum - Törzstag | 5440 hsz       Online status #203839   2014.06.23 14:25 GMT+1 óra  
Idézet

Hülyeségeket beszélek?



Igen

Bár a 4D tér 3D terek "egymás mellé rakása" valóban, ilyen filozófiai mélységekig fölösleges lemenni... ha w = 1 akkor pont, ha w = 0 akkor vektor. Egyéb w-k pedig akkor állnak elő amikor (perspektíven) vetítesz.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Viperion - Tag | 540 hsz       Online status #203837   2014.06.23 14:14 GMT+1 óra  
Tanulmányoztam 2,3 órát a homogén koordinátákat és azt vettem észre,hogy ez olyan mintha térben hoznának létre egy másik teret aminek elhelyezkedése függ a w értékétől.
Vector3 pozíció esetében ennek egy homogén változatát Vector4-ben lehetne leírni.

Röviden,arra jöttem rá,hogy ha a w nulla akkor megszűnik egy tér a térben és így már a homogén koordináta csak egy térrel rendelkező rendszer lesz, ha w=1 akkor z=w pontból kiindulva létrejön egy másik tér a térben(2D esetén). Azt tapasztaltam,hogy a homogén koordináta-rendszer tereket foglal magába a terek pedig együttesen jelentik a negyedik dimenziót.És homogén koordináta- rendszer-ben ha a w nem nulla,akkor a térben levő többi tér miatt egy adott tér nem lesz végtelen hosszúságú.

Annyi volt írva még egy fórumon,hogy a transzformációk sokkal egyszerűbbekké váltak amiatt,hogy egy térnek nem kell végtelennek lennie.

Hülyeségeket beszélek?Mert ha nem,akkor értem már és nem is akarom mélyebben át látni,mert értem azt,hogy erre valóban csak a hatékonyabb gyorsabb transzformációkat végző számítások miatt van szükség a w-re.

De az miatt,hogy egy tér nem végtelen egy másik miatt vajon miért lesz egyszerűbb pár számítás?

   
FZoli - Szerkesztő | 4892 hsz       Online status #203836   2014.06.23 14:07 GMT+1 óra  
Asy: Mondjuk inkább úgy, anélkül is ehetem kanállal, hogy kanalat tudnék készíteni.
   
Asylum - Törzstag | 5440 hsz       Online status #203835   2014.06.23 13:41 GMT+1 óra  
Idézet

egyetlen egy alkalommal nem volt szükségem az itt fejtegetett infokra



Végülis lábbal is lehet zabkását enni, de talán egyszerűbb ha megtanulja az ember használni a kanalat...

Idézet

hogy a float4 adattag amit a vertexshader pozícióra használ mi a negyedik adattag a w



Idézet a már belinkelt cikkemből:

A vertex shader inputja most mindössze a vertex pozíciója, azaz egy 3D vektor (4D is lehet, de ha nincs megadva a vertex bufferben, akkor w = 1 lesz).

Ezt a hozzászólást Asylum módosította (2014.06.23 13:57 GMT+1 óra, ---)
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
FZoli - Szerkesztő | 4892 hsz       Online status #203832   2014.06.23 07:45 GMT+1 óra  
De miért fontos, hogy értsd, mire kell a .w? El akadsz teljesen felesleges dolgokon.
Azért kell, mert kell, ezt próbálták a srácok elmagyarázni.

4 éve írok shadereket unity alá, és egyetlen egy alkalommal nem volt szükségem az itt fejtegetett infokra. Anno én grafikusként úgy tanultam bele, hogy láttam a shader eredményét, majd mellé tettem a kódot és kiderítettem, melyik rész miért felel. Aztán fél-egy év után már képes voltam pontosan olyan shadert írni, amire igény volt, másfél évvel később már olyat is, ami a unity-hez mérten költséghatékony.

A srácok egyetemen tanultak, ott nagyon helyesen az a szemlélet, hogy előbb értsd meg apránként, utána építs belőle valamit. Hidd el, nem csak ez az egy út van. Lentebb valaki írta, ne akarj olyan megtanulni pikk-pakk ( pláne nem fórumról, könyörgöm), amit mások évekig tanulnak.
   
Viperion - Tag | 540 hsz       Online status #203828   2014.06.22 20:43 GMT+1 óra  
Értem van a 4x4 matrix de van olyan is,hogy float4 és ezt azért nem értem mert egy shaderkódban ezt nem rgba beállításaira van használva hanem a pozícióra.
Mi a 4 adattag akkor a w pozíció estében.Ez nem vektorokat vár úgy mint a mátrix hanem csak lebegőpontos értékeket.
Hogy van ez az egész már.

Most meg úgy vagyok ezzel az egésszel,hogy semmit sem értek már teljesen össze vagyok zavarodva.

Amikor belekezdtem ebbe a témába akkor arra próbáltam rájönni,hogy a float4 adattag amit a vertexshader pozícióra használ mi a negyedik adattag a w.De aztán valahogyan a mátrixok jöttek szóba.Most ébredtem rá,hogy nem is erre voltam kíváncsi.
Már azt sem tudom mit akarok.

373 hozzászólással kezdődött ott float 4 ről van szó meg a w ről.
És ez az ami érdekelt.

   
Elodin - Tag | 171 hsz       Online status #203825   2014.06.22 16:16 GMT+1 óra  
Most dolgozom egy 3d editoron, és jól jön, hogy van egy homályos képem a vektorokról... attól függetlenül, hogy engine-t használok, ami azért elég nagy kényelem
Nem mondom, hogy minden programozónak elte matek diploma kell, de azért alapfogalmakkal illik tisztában lenni.

Ha a gameplaynek bármi köze van a fizikához, akkor oda sem ártanak a számok. Persze itt már játéka válogatja, de kijelenteni, hogy én hülye vagyok a matekhoz, középsuliba vhogy átmentem, nem baj, majd csinálok olyan játékot, amihez nem kell... nem hiszem, hogy ez működne. Főleg, hogy szerintem aki képes egy értelmes ai-t összedobni, annak nem hiszem, hogy megerőltető lett volna egy középsulis matek.

   
Instalok - Tag | 530 hsz       Online status #203824   2014.06.22 16:11 GMT+1 óra  
Elodin:
A játékfejlesztés területe sem csak az engine írásból áll. Vajon toolokat ki fog írni? És gameplayt? És egyebeket? Szóval szerintem még mindig nem feltétlen igaz az, amit írtál.

Viperion:
A példádban hol van szerinted 3x3 mátrix? Amiket te írtál az egy 3D vektor és egy skalár. Mielőtt üvegen lefolyó víz effekteket szeretnél csinálni, ismerd meg az alapfogalmakat!

A 3x3 mátrix - ahogy a neve is mutatja - 3x3, azaz 9 értékből áll. Vannak sorai és oszlopai. Vannak a mátrixnak műveletei; összeadás, kivonás, szorzás, illetve egyebek, mint invertálás, és a többi. Mivel 3D-ben gondolkozunk, ezért 3 tengelyen tudunk forgatni, nyújtani, és eltolni is (X, Y, Z tengelyek). A forgatás leírása cos és sin szögfüggvények segítségéve történik. Azonban egy 3x3 mátrix teljes tartalmát kitölti a 3 tengelyen való forgatás leírása, így "nincs hely" az eltolásra. Ezért 4x4 mátrixszal szoktak dolgozni, amiben sikeresen eltárolható az x,y,z irányú eltolás is.

   
Viperion - Tag | 540 hsz       Online status #203823   2014.06.22 15:47 GMT+1 óra  
Itt van ez az idézet ezt egy másik weben találtam.
"Pontosan azért, hogy egységesen lehessen kezelni az eltolást, a forgatást, a nyírást, kell a homogén koordinátás megadáshoz folyamodnunk. Ugyanis egy háromdimenziós eltolást nem erőltethetünk egy 3x3-as mátrixba, mert egyszerűen nincsen hely számára. Ha azonban a mátrixot 4x4-esre bővítjük ki akkor már az eltolást is mátrixszorzással kezelhetjük. Ehhez persze a vektorunkat is ki kell bővíteni négydimenzióssá."

Értessétek meg velem valahogyan azt,hogy egy 3x3 mátrixban miért nem lehetséges az eltolás?
Ez hülyeség én el tudok tolni egy 3x3 mátrixot. Így: Vector3(2,2,2) * 5; Tessék keretként 5 pixellel tolom ebben az irányba: Vector3(1,1,1);

   
syam - Törzstag | 1491 hsz       Online status #203820   2014.06.22 12:21 GMT+1 óra  
Shader programozáshoz a GPU-t kell érteni a matek részét pedig elfogadni, hogy azt és úgy csinálja amit - pl. pont a homogén osztásba nem lehet beleszólni shaderből.

A GPU miértjeiről akkor szabad csak kérdezni, ha valaki érti a mögötte lévő matekot. Addig csak el kell fogadnia, hogy úgy van.
alias aalberik
   
Elodin - Tag | 171 hsz       Online status #203819   2014.06.22 12:20 GMT+1 óra  
Nem is csak shader programozásra, de konkrétan játék programozásra gondoltam. Az, hogy egy random banki alkalmazáshoz mennyi matek kell, nem világos számomra, és nem is érdekel

Attól még, hogy kész lib-et használsz, amelyik tud vektorokkal mindenféle black magic-et, ugyanúgy eláshatod magad, ha nem tudod, mi az a vektor...

   
Instalok - Tag | 530 hsz       Online status #203818   2014.06.22 11:47 GMT+1 óra  
Ez a "nem nevezném programozásnak" dolog nekem úgy jött át, hogy általánosan kijelentetted, hogy az már pedig nem programozás. Ilyen szubjektív véleménye persze mindenkinek lehet. Bár a programozás azért elég sokrétű dolog. Attól, hogy nem mindent nulláról írsz meg, hanem egy meglévő libet vagy éppen API-t használsz, attól még nem lesz egy kész programod, tehát továbbra is programoznod kell. Legalábbis én ezt biztosan nem szorítanám meg ennyire, hogy "ami minden matekot elfed előled, akkor azt már nem nevezném programozásnak".

A másik részéhez pedig annyit tudnék hozzászólni, hogy egy eszköz használata, ismerete az nálam nem abból áll, hogy tutorial kódokat másolgatok össze, hanem valamilyen szinten ténylegesen megismerem. Ez azt is jelenti, hogy legalább halvány kis fogalmam van róla, hogy hogyan működik. Hiba pedig bármely 3rd-party eszközben előfordulhat, ekkor szoktak bugreportot küldeni - többek között. Sőt, néha az is előfordul, hogy csak jóval később derül ki számodra, hogy egy eszköz a céljaid eléréséhez használhatatlan, és keresned kell egy másikat.

Persze lehet, hogy én nagyon továbbgondoltam ezt az egészet, hiszen ez a "Shader Programozás" fóruma.

Visszatérve a fórum témájához, a shader programozáshoz azért nem árt tényleg tudni a matekot. Legalább olyan szinten, hogy mi az a mátrix, vektor, transzformációk, mire használjük őket. Ezek mellett a pipeline ismerete is alapkövetelmény. Ezek után egy-egy nyelv megtanulása már csak a szintaktika - no meg persze az alkalmazható trükkök - elsajátítása.

   
Elodin - Tag | 171 hsz       Online status #203817   2014.06.22 11:23 GMT+1 óra  
" Ha tudsz valami olyan eszközt használni, ami minden matekot elfed előled, akkor azt már nem nevezném programozásnak"
Eddig biztos így van, mert hogy én minek nevezek valamit, azt már csak tudom

"illetve az első probléma esetén, amire az általad használt eszköz nem nyújt problémamentes megoldást, szembesülni kell azzal, hogy fogalmad sincs, mit csinálsz."

Szerintem ez is védhető. Ha nem érted, hogy hogy működik, amit használsz, akkor ha azzal van probléma, vagy valamit csak alacsonyabb absztrakciós szinten lehetne megcsinálni, akkor nem fogsz tudni mit kezdeni az egésszel.


Szerintem ha kicsit jobban részleteznéd a véleményedet, akkor lehet, hogy értelmesebben is tudnánk kommunikálni.

Ezt a hozzászólást Elodin módosította (2014.06.22 11:30 GMT+1 óra, ---)

   
Instalok - Tag | 530 hsz       Online status #203816   2014.06.22 11:07 GMT+1 óra  
Idézet
Elodin :
Ha tudsz valami olyan eszközt használni, ami minden matekot elfed előled, akkor azt már nem nevezném programozásnak, illetve az első probléma esetén, amire az általad használt eszköz nem nyújt problémamentes megoldást, szembesülni kell azzal, hogy fogalmad sincs, mit csinálsz.


Szerencsére ez nem így van.

   
Elodin - Tag | 171 hsz       Online status #203815   2014.06.22 09:46 GMT+1 óra  
Ennek tényleg nincs nagyon jelentősége. Homogén koordináták olyan pontokat is le tudnak írni, amit Descartes-félék nem, és ez a visszaváltásnál pl. abban nyilvánul meg, hogy 0-val nem tudunk osztani.

Amúgy szerintem a játékfejlesztés programozás vonalán eléggé el van ásva az ember matek nélkül. Ha tudsz valami olyan eszközt használni, ami minden matekot elfed előled, akkor azt már nem nevezném programozásnak, illetve az első probléma esetén, amire az általad használt eszköz nem nyújt problémamentes megoldást, szembesülni kell azzal, hogy fogalmad sincs, mit csinálsz.

Ha meg inkább művész beállítottságú az ember, akkor lehet értelme minden matek nélkül próbálgatni átírni paramétereket shaderekben, meg összeállni programozókkal, akik majd írnak ilyen-olyan shadert, te meg csinálsz hozzájuk modelleket és összehangolod őket.

   
Asylum - Törzstag | 5440 hsz       Online status #203814   2014.06.22 09:39 GMT+1 óra  
Idézet

átengedtek mikor bukásra álltam pótvizsga nélkül



Hova jártál te?

Annak meg, hogy te nem érted nincs köze ahhoz h én értem-e, vagy hogy kinek szántam Azoknak szántam akik hajlandóak tanulni.. Mi lenne ha a tanáraid hibájából tanulva önerőből megtanulnád?

Idézet

kifejteni,hogy a float4 típus w adattagja mi célt szolgál



A cikkemben elég világosan leírtam: mert 3D pontokat nem lehet 3x3-as mátrixxal se eltolni se vetíteni. Áttérve 4x4-es mátrixokra és 3D helyett homogén 3D koordinátákra ezeknek a leírása lehetségessé válik.

A döntés amit meg kell hoznod, hogy akarsz-e 3D grafikát tanulni, vagy nem. Ha igen, akkor tanulj előbb és utána kérdezz.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Tunyu - Tag | 444 hsz       Online status #203813   2014.06.22 04:42 GMT+1 óra  
Szerintem nem kell tudnod mindent ,elég ha megnézel néhány kódot és variálod, aztán látod milyen hatással van rá. Apránként ragad rád valami.Ne akarj néhány hét alatt olyat megtanulni amit évekig tanulnak mások.

   
Viperion - Tag | 540 hsz       Online status #203812   2014.06.22 02:14 GMT+1 óra  
Asylum nem rosszból de nem értem az írásod alapján.
Én tudom,hogy te iszonyat okos vagy ez látszik is az írásodból és éppen ez a baj ha egy olyannak kell elmagyarázni valamit mint amilyen én vagyok értsd ég és föld.

Te érted azt ami ott van de én csak annyit veszek ki az egészből,hogy azt az írást ott nem egy olyannak szól amilyen én vagyok értsd nem nekem szánták.Nem vagyok képes a felfogására.

Én örülök nagyon annak,hogy az emberek még ha nem is mind képesek ilyet felfogni át-látni azt a bonyolult fősulis,egyetemes matekot amit oktatnak.Egyébként én mindig figyeltem az órákon de a tananyag elsajátítása és megértése sosem ment.Ezért nem buktattak meg, átengedtek mikor bukásra álltam pótvizsga nélkül mert olyan voltam aki figyel,próbál akar tudni még ha nem is megy neki és ez azt eredményezte,hogy megbuktatni engem nem volna értelme mert ugyanez volna jövőre is.

Én csak annyit akarok,hogy a lehető legegyszerűbben és ha lehet ne képletekben egy két mondatban agy-károsultaknak szánt módon kifejteni,hogy a float4 típus w adattagja mi célt szolgál.Van amit megértettem az eddigi válaszokból de nem világos az,hogy ez mit jelent?
Elodin
Ha w 0, akkor leírtál olyan ( az origótól végtelen távolságra lévő pontokat asszem), amelyeket amúgy nem tudnál.

   
Asylum - Törzstag | 5440 hsz       Online status #203809   2014.06.21 21:37 GMT+1 óra  
Most nem is rakok be memét, mert ez felér egy beszólással:

http://m.cdn.blog.hu/da/darthasylum/tutorials/C++/ch32_linalg.html

(ld. affin transzformációk, homogén koordináták, projektív transzformációk)

Ezt a hozzászólást Asylum módosította (2014.06.21 21:44 GMT+1 óra, ---)
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Viperion - Tag | 540 hsz       Online status #203808   2014.06.21 20:44 GMT+1 óra  
"Ha w 0, akkor leírtál olyan ( az origótól végtelen távolságra lévő pontokat asszem), amelyeket amúgy nem tudnál."
Ezt nem értem.

   
Elodin - Tag | 171 hsz       Online status #203807   2014.06.21 19:49 GMT+1 óra  
Idézet
Viperion :
A vertexsháder írásával miért lehet állítani pl egy háromszög színét.
Ezt nem értem,a vertex azok a csúcsok nem pedig a pixelek.
A vertexprogram nem pixelekre fut le mégis át lehet vertexprogrammal színezni pl egy háromszöget.Miért van ez?

Ezen kívül még elmondanátok,hogy ez micsoda?
float4 position : POSITION; //De ez micsoda? szélesség,magasság,mélység,és az utolsó tag?
float4 color : COLOR; //Ezt tudom: RGBA



Egy háromszögön belül a pontok színét pl. interpolálhatjuk a háromszög csúcsaiból. Érsd: ha egy csúcs piros, egy kék, egy zöld, akkor az adott pixel a háromszögön belül annyira kék, amennyire a kék csúcshoz van közel, annyira zöld, amennyire a zöldhöz és annyira piros, amennyire a piroshoz Tehát a háromszög csúcsainak színét ha módosítod, kihat a pixelek színére. Pl. ha mindhárom csúcs piros, akkor minden pixel piros lesz.
Textúra koordinátákat szintén interpolálhat.

A 4. koordináta azért van, mert bizonyos műveleteket a gép nem hagyományos koordinátarendszerben számol - ez ilyen matek black magic, nem tudom, mennyire van értelme foglalkoznod vele. Amúgy ha a szám p(x,y,z,w) akkor azt úgy váltod át Descartes-féle rendszerbe, hogy az első három értéket leosztod w-vel: p(x/w, y/w, z/w). Ha w 0, akkor leírtál olyan ( az origótól végtelen távolságra lévő pontokat asszem), amelyeket amúgy nem tudnál.

http://hu.wikipedia.org/wiki/Homog%C3%A9n_koordin%C3%A1t%C3%A1k


Remélem nagy hülyeséget nem mondtam, ha mégis, akkor majd kijavítanak

   
ddbwo - Tag | 1625 hsz       Online status #203803   2014.06.21 15:11 GMT+1 óra  
Idézet
Viperion :
Ezen kívül még elmondanátok,hogy ez micsoda?
float4 position : POSITION; //De ez micsoda? szélesség,magasság,mélység,és az utolsó tag?



A vertexprogram vertexenként fut le, a fragment program "pixelenként". Ezért a vertex programban gyorsabbak a számolások, de nem olyan részletes, mint a fragment shaderben.

A float4 xyzw. Az xyz értelemszerű, a w csak számolás miatt van. Normális esetben nem kell foglalkozni vele.
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
Viperion - Tag | 540 hsz       Online status #203801   2014.06.21 14:35 GMT+1 óra  
A vertexsháder írásával miért lehet állítani pl egy háromszög színét.
Ezt nem értem,a vertex azok a csúcsok nem pedig a pixelek.
A vertexprogram nem pixelekre fut le mégis át lehet vertexprogrammal színezni pl egy háromszöget.Miért van ez?

Ezen kívül még elmondanátok,hogy ez micsoda?
float4 position : POSITION; //De ez micsoda? szélesség,magasság,mélység,és az utolsó tag?
float4 color : COLOR; //Ezt tudom: RGBA

   
Viperion - Tag | 540 hsz       Online status #203700   2014.06.16 13:07 GMT+1 óra  
Beszereztem egy jó könyvet abból megpróbálom majd megtanulni de biztos vagyok benne hogy évekbe fog telni.Egyébként meg van egy csomó sháder az assetba és még ingyenesek is.Asylum nagyon pró lehetsz ha azt a weboldalt te írtad amit a profilodból elérhető.A tartalmára célzok.

   
FZoli - Szerkesztő | 4892 hsz       Online status #203696   2014.06.16 08:07 GMT+1 óra  
A középső link, teljes wiki portál, a teljesen nulláról, ráadásul unityhez igazítva smafu?
Amúgy meg miért nem használsz létező effekteket? Unity is jön párral, szerintem neked nem is kéne shader írással bíbelődni, vagy létező image effektekktel, ott a lens flare, ott vannak a halok, a részecskerendzserek, ezek nagyon elegáns, költséghatékony megoldások.
   
Asylum - Törzstag | 5440 hsz       Online status #203693   2014.06.15 23:42 GMT+1 óra  
[reklám]
http://m.cdn.blog.hu/da/darthasylum/tutorials/C++/ch35_shaders.html
[/reklám]

[sarcasm]
-.-
[/sarcasm]
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Viperion - Tag | 540 hsz       Online status #203692   2014.06.15 22:20 GMT+1 óra  
Hát ez nagyon nehéz.Nem igazán értek bele semmit.Én még életembe egy shader kódot nem írtam.
Nem hogy egyszerű anyagokkal kezdődne a chapter 1.Értékelem,hogy írtál de ne haragudj,hogy ezt írom mert ezek 100 hogy nem az alapok.
De mindegy találtam egy könyvet az nvidia weboldalán egy másikat.Talán majd abból sikerül ha olyannak szánták mint amilyen én vagyok.
Ehhez viszonyítva a c++ úgy tűnik,hogy a világon a legkönnyebben elsajátítható nyelv.

Fenébe pedig csak olyanokat akarnák,hogy pl hullámzik a tűz körül,csak ilyen apróságokat.És nem pedig vizet meg saját felhőket írni nekem ez túl sok.Bár jó volna.

Ezt a hozzászólást Viperion módosította (2014.06.15 22:38 GMT+1 óra, ---)

   
FZoli - Szerkesztő | 4892 hsz       Online status #203688   2014.06.15 19:27 GMT+1 óra  
nesze:

http://http.developer.nvidia.com/Cg/index_stdlib.html
http://en.wikibooks.org/wiki/Cg_Programming/Unity
http://http.developer.nvidia.com/GPUGems/gpugems_part01.html

amúgy abból amit kihámoztam, szerintem simán neked csak lens flare kell. Kezdetben mindenesetre elég lesz. Unityben a lens flare szépen ki van dolgozva, nem kell hozzá programoznod sem. Amúgy amik még ezsembe jutottak, az a god rays a sugarakhoz, és bloom a ragyogáshoz.
   
Viperion - Tag | 540 hsz       Online status #203686   2014.06.15 18:59 GMT+1 óra  
Hogyan hívják azt a shádert amit az irányított fényhez szokás rakni.Mint amikor belenézünk a napba és látni a sugarakat és hírtelen világosabb is lessz minden.

Cg nyelvben akarnák ilyet írni de nincs rálátásom a shader programozásra.
Azt szeretném kérdezni,hogy ehhez milyen típusú adattagok fognak kelleni.És milyen műveleteket végeznétek rajta.
Köszi.És ne legyetek bunkók velem csak mert ti már level 10 en vagytok pls.

   
peti634 - Tag | 148 hsz       Online status #202954   2014.05.15 22:43 GMT+1 óra  
nem túl előnyös a felhasználótól ilyen beállítások keresését kérni, szóval így inkább használom hibavizsgálót
ha már szép nem vagy, hülye ne légy
http://www.pokolstudio.hu
   
syam - Törzstag | 1491 hsz       Online status #202912   2014.05.12 11:54 GMT+1 óra  
"Nagyon esetleg" még az lehet, hogy valamilyen OGL beállítás nem tetszik a drivernek, amiatt produkál ilyeneket, de kapásból most nem jut túl sok ilyen az eszembe (pl. persperctive correction hint).
alias aalberik
   
peti634 - Tag | 148 hsz       Online status #202910   2014.05.12 08:09 GMT+1 óra  
köszönöm a gyors válaszokat
El is készítettem a readpixeles megoldást. Egy egyszerű js, ami ezt a felületet rajzolja ki, elsőnek 0 hibával, majd ha readpixel alapján nem megfelelő színt olvass be, addig hatványozza, amíg a helyeset nem kezdi olvasni (vagy nagyon sokáig el nem megy, ekkor hiba van).
Ha valakinek kellene a kód, szívesen megosztom.
ha már szép nem vagy, hülye ne légy
http://www.pokolstudio.hu
   
syam - Törzstag | 1491 hsz       Online status #202904   2014.05.11 17:41 GMT+1 óra  
A readpixelses ötlet szerintem jó, mert platformfüggetlen és nem kell forkolni miatta a kódod.
alias aalberik
   
peti634 - Tag | 148 hsz       Online status #202903   2014.05.11 16:59 GMT+1 óra  
Gondolom windows alatt próbáltátok, ott valóban működik nekem is, de linuxon nem, nagyszerű...
Driver ennyit számítana?
Detektáljam hogy linux vagy win környezetbe fut e?
ha már szép nem vagy, hülye ne légy
http://www.pokolstudio.hu
   
syam - Törzstag | 1491 hsz       Online status #202902   2014.05.11 16:35 GMT+1 óra  
Nálam ilyen képet ad a saroknál:
https://www.dropbox.com/s/j29aabsgha8d479/Screenshot%202014-05-11%2017.33.02.png

A zöld négyzet alá kellett mennem ehhez.

És a #3 gépemen.
alias aalberik
   
Pretender - Törzstag | 2498 hsz       Online status #202901   2014.05.11 16:34 GMT+1 óra  
Nálam jónak tűnik. Radeon HD 6670

   
peti634 - Tag | 148 hsz       Online status #202900   2014.05.11 16:22 GMT+1 óra  
1/512/textúra mérete/vertex mérete
Ezt kivontam a vIndexPos-ból.

Ezzel ment is, viszont egy másik gépen pedig pont hogy ekkor volt a rossz (nagyon régi, beépített vkari), megint másik gépen pedig csak 256, vagy 128-al volt jó, az 512 helyett.

Elég primitív, de az elején ellenőrizze le a js-glreadpixel alapján hogy mikor lenne jó????

Teszt:
http://pokolstudio.hu/nelbernest/rev1/nelbernest.html
(duplakatt az egér irányítható camera, WASD, Shift)
ha már szép nem vagy, hülye ne légy
http://www.pokolstudio.hu
   
Pretender - Törzstag | 2498 hsz       Online status #202899   2014.05.11 16:09 GMT+1 óra  
Írtad, hogy használtál egy kis biast, amivel javítottad, és úgy működik. Ott fix értéket használtál, vagy pontosan mit? Ugyan valamilyen postprocess esetben használják általában a "texel-kerekítést", de viszonylag gyakori, hogy "half-pixel" méretet (azaz vec2(0.5) / vec2(screenwidth, screenheight)) offsetelnek a textúra koordinátán.

   
peti634 - Tag | 148 hsz       Online status #202898   2014.05.11 15:58 GMT+1 óra  
gl_unpack_alignment beállítva, most már a 2x2 is megy.
De a hiba továbbra is megmaradt.
272-hiba2.png
A fehér lapnak is akkorának kellene lennie mint a zöldnek (1-1) , mivel egy 2x2-es textúrán átlósan 1-1 pixelnek van 0-tól különböző értéke, de olyan mintha a szélénél már a következő pixelt mintavételezné. (pl: 0.499-re már a 2. pixel lenne)
ha már szép nem vagy, hülye ne légy
http://www.pokolstudio.hu
   
syam - Törzstag | 1491 hsz       Online status #202897   2014.05.11 15:39 GMT+1 óra  
glpixelstorei( gl_unpack_alignment, 1) be van állítva már?
Úgy tűnik a stride lehet a gond.
alias aalberik
   
peti634 - Tag | 148 hsz       Online status #202896   2014.05.11 15:25 GMT+1 óra  
Már azon volt, Linear-on teljesen használhatatlan.

Felé rajzoltam egy másik zöld négyzetet (1-1 méretű ) , és a zöld négyzet nagyobb pont a kilógó csík méretével, tehát biztos hogy a textúrával lehet gond.

Még egy érdekes dolog:
2x2-es textúárt használva nem működik a feltöltés, kevés az adat neki, ha 6 pixelt adok be, akkor már elfogja:
gl.texSubImage2D(gl.TEXTURE_2D,0,0,0,2,2,gl.LUMINANCE,gl.UNSIGNED_BYTE,new Uint8Array([255,0,255,255,0,0]));
Hiba:
INVALID_OPERATION: texSubImage2D: ArrayBufferView not big enough for request with UNPACK_ALIGNMENT > 1

A 3. és a 6. pont nem lesz sehol, a füstbe megy, az össze többi méretnél működik, még 1x1 méretél is, ez valami bug lehet? (Linux+Chromium)
ha már szép nem vagy, hülye ne légy
http://www.pokolstudio.hu
   
Korábbi postok
> 1 < [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [22]