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

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2198
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1654
syam:    1491
Korábbi postok
> 1 < [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [22]
FZoli - Szerkesztő | 4894 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 | 184 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 | 619 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 | 184 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 | 619 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 | 184 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 | 619 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 | 184 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 | 5512 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 | 450 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 | 5512 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 | 184 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 | 1654 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ő | 4894 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 | 5512 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ő | 4894 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
   
syam - Törzstag | 1491 hsz       Online status #202895   2014.05.11 15:10 GMT+1 óra  
Ez pedig interpoláció okozatnak tűnik.
Próbáld meg nearestre állítani a min és mag filtert. Ha akkor eltűnik akkor nagy eséllyel interpoláció a gond.
alias aalberik
   
peti634 - Tag | 148 hsz       Online status #202894   2014.05.11 13:30 GMT+1 óra  
igen-igen.
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
De szerintem itt ez nem számít, mivel az adott textúra 2 pont között dönt rosszul?
Ennek akkor lenne értelme ha csak a textúra szélénél lenne gond, jól gondolom?
ha már szép nem vagy, hülye ne légy
http://www.pokolstudio.hu
   
syam - Törzstag | 1491 hsz       Online status #202893   2014.05.11 13:20 GMT+1 óra  
Texture wrap clamp to edgere van allitva?
alias aalberik
   
peti634 - Tag | 148 hsz       Online status #202892   2014.05.11 12:51 GMT+1 óra  
Üdv.
Segítséget szeretnék kérni, WebGL alapú shaderek terén.
Adott egy 16x16 méretű textúra, itt a pixelek tárolják azt hogy hol kell megjeleníteni valamit (később pedig azt hogy mit).
A vertexek csak egy sima 16x16-os lap, így ezeken belül a textúra alapján helyezkednének el a kisebb lapok.
VS:
attribute vec3 aVertexPosition;
attribute vec2 aIndexPos;

uniform mat4 uMVMatrix;
uniform mat4 uPMatrix;

varying highp vec2 tex;
varying highp vec2 vIndexPos;
void main(void) {
gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0);
tex = aVertexPosition.xz; //csak a sima szín
vIndexPos = aIndexPos;
}
FS:
varying highp vec2 tex;
varying highp vec2 vIndexPos;

uniform sampler2D uTexIndex;

void main(void) {
highp float szin = texture2D(uTexIndex,vIndexPos).r;
if (szin == 0.0) discard;
gl_FragColor = vec4(fract(tex),szin,1.0);
}
Tökéletesen működne, ám a sarkoknál elszámolás van. Ha ezt egy hibával kezelem (vIndexPos-ból kivonok valamennyit) akkor működik. Viszont több gépen is teszteltem, és valahol hibátlan a megjelentés, máshol más értékeket kell kivonni hogy hibamentes legyen.
KÉP:
272-hiba.png

Azért így használom, mert később optimalizálni szeretnék rengeteg lap megjelenítését!
Tudja valaki miért "számolja el" a textúra képpontját?

Ezt a hozzászólást peti634 módosította (2014.05.11 13:30 GMT+1 óra, ---)
ha már szép nem vagy, hülye ne légy
http://www.pokolstudio.hu
   
Viperion - Tag | 540 hsz       Online status #200286   2014.01.10 21:12 GMT+1 óra  
A hullámzó felületet milyen logika alapján csinálják meg?
Egyáltalán nincs rálátásom ezekre a dolgokra.

Ezt a hozzászólást Viperion módosította (2014.02.14 19:08 GMT+1 óra, ---)

   
FZoli - Szerkesztő | 4894 hsz       Online status #199947   2013.12.17 11:22 GMT+1 óra  
helyesen kell csak paddingolni és jó lesz a video alapján.

   
Tunyu - Tag | 450 hsz       Online status #199939   2013.12.16 19:49 GMT+1 óra  
Nem tudom hogy ez segít e, de ilyen relief shadert találtam, letölthetőt és magát a kódot is ha érdekel:
ReliefDiffuse

ReliefSpecular

   
nab - Tag | 30 hsz       Online status #199876   2013.12.12 17:38 GMT+1 óra  
Ok kösz.

   
syam - Törzstag | 1491 hsz       Online status #199875   2013.12.12 17:05 GMT+1 óra  
Az a sima bump map.
Ha mindenképp akarsz virtual displacementet akkor relief mapping / parallax occlusion mapping, de ezek már drágák.
alias aalberik
   
nab - Tag | 30 hsz       Online status #199874   2013.12.12 16:53 GMT+1 óra  
Értem, ennek nem örülök egyébként. Milyen shader -rel lehet azt megoldani, hogy high poly model látszatát kelti egy low poly model, de a uw kordinátákat nem érinti?

   
syam - Törzstag | 1491 hsz       Online status #199873   2013.12.12 16:46 GMT+1 óra  
Idézet
nab :
Csináltam egy 3d -és modelt, unity -ben szeretném használni, viszont a parallax map bugos. Nincs valakinek valami ötlete hogy mi okozhatja ezt? Fehér csíkok jelenek meg a modellen.

Videó itt: http://www.screenr.com/u29H



Ha jól láttam a fehér csíkok a textúrából jönnek.
A parallax map mértékétől függően "arrébb" címez a shader a textúrában így más textúrarészletek jelennek meg adott pixelen. Tile-os textúrával nincs gond, atlasz esetében paddingolni kell.
Vagy az effekt mértékét csökkenteni.
alias aalberik
   
nab - Tag | 30 hsz       Online status #199872   2013.12.12 16:27 GMT+1 óra  
Csináltam egy 3d -és modelt, unity -ben szeretném használni, viszont a parallax map bugos. Nincs valakinek valami ötlete hogy mi okozhatja ezt? Fehér csíkok jelenek meg a modellen.

Videó itt: http://www.screenr.com/u29H

   
ddbwo - Tag | 1654 hsz       Online status #194142   2013.05.21 16:38 GMT+1 óra  

Hát ezaz. Már csak hozzá kell adni.
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
   
Korábbi postok
> 1 < [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [22]