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:    2185
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1625
syam:    1491
Frissebbek | [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] > 22 <
Kuz - Törzstag | 4455 hsz       Online status #23579   2006.08.01 04:08 GMT+1 óra  
Következő kérdésem : ha van egy shader, ami a textúrával foglalatoskodik, annak hogy kell átadni magát a textúrát?
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
beast - Törzstag | 1241 hsz       Online status #22660   2006.07.24 05:24 GMT+1 óra  
Sztem az jó érték!

   
Kuz - Törzstag | 4455 hsz       Online status #22659   2006.07.24 05:18 GMT+1 óra  
Lenne egy általánosabb kérdésem is! Nézzétek már meg ezt a képet, plíz! Szerintetek ezek az értékek (10125 vertices átlag 960-970 fps-sel) mennyire elfogadhatóak (háttérben egy diffuse+light shader megy)?
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
Kuz - Törzstag | 4455 hsz       Online status #22658   2006.07.24 05:00 GMT+1 óra  
Ha valakit érdekel (főleg a kezdőket), itt a működő változat. Ez a shader elvileg a bejövő object színét (helyesebben annak árnyalatát) változtatja (azaz pl. világos zöldből átmegy sötét zöldön keresztül feketéig, majd vissza). A 'szam' változó 1.0f-től -1.0f-ig megy 0.005f közökkel, majd visszafelé, így azt fogjuk (általában) tapasztalni, hogy egyszer elhalványul az object, egyszer pedig felerősödik a szín. És itt van még egy gond! Néha, amikor az .exe-ről indítom a progit, csak a fekete hátteret látom, és az fps érték ugyanannyi, mintha rendesen kirajzolna mindent (gondolom számolni számol, csak nem jelenít meg semmit az objectből). Ez miért lehet??? Fordítási és egyéb hibákat nem generál sem a shader, sem a progi, ráadásul nem is nyúltam hozzájuk a legutolsó működő verzió után! Még1x mondom, csak néha fordul elő ez a hiba!

Kód:
float4x4 worldMatrix;  // World matrix for object
float4x4 worldViewProjection; // World * View * Projection matrix
float szam;

struct a2v
{
   float4 Position : POSITION;
   float4 Color : COLOR0;
};

struct v2p
{
   float4 Position : POSITION;
   float4 Color : COLOR0;
};

struct p2f
{
   float4 Color : COLOR0;
};

//VERTEX SHADER
void ves(in a2v IN, out v2p OUT )
{
   OUT.Position = mul(IN.Position,worldViewProjection);
   OUT.Color = IN.Color;
}

void pixs(in v2p IN, out p2f OUT)
{
   OUT.Color = mul(IN.Color,szam);
}

//--------------------------------------------------------------------------------------
// Techniques
//--------------------------------------------------------------------------------------
technique RenderScene
{
    pass P0
    {
vertexshader = compile vs_1_1 ves();
pixelshader  = compile ps_1_1 pixs();
    }
}
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
Kuz - Törzstag | 4455 hsz       Online status #22233   2006.07.20 04:03 GMT+1 óra  
Bár még nem tudtam letesztelni, de találtam egy hibát! A shader első változója 'world' néven fut, a setValue-nál viszont worldMatrix-ot írtam! Csúnya hiba , így hát elnézést kérek! Ha még mindig nem lesz jó, akkor szólok!
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
TPG - Tag | 3402 hsz       Online status #22075   2006.07.19 08:02 GMT+1 óra  
Idézet
kuzanth :
Ahogy nézegettem az eddigi hozzászólásokat, megakadt a szemem TheProGamer shader-jén, ami szintén fényt használ. Ott viszont float4-et láttam, én viszont float3-at találtam az egyik .fx-ben, amiből a kódot is kiloptam. Most akkor mi is az a float3, ill. float4?


Pozíciókra jobban szeretek float4-et használni, kitudja mikor jöhet olyan eset mikor hirtelen jól jön hogy homogén koordinátás alakban van a cucc.
Reality is almost always wrong. - House

   
ferchild - Törzstag | 815 hsz       Online status #22062   2006.07.19 05:54 GMT+1 óra  
float3 : 3 komponensű vektor melynek az elemei lebegőpontos számok. Van egy implicit 4. eleme is ennek a vektornak (mert minden ilyen vektor a shaderekben 4 elemű) és az 1.0f -fel egyenlő.
pl: float4 Positionav : POSITION0; itt rendre a következők : X,Y,Z,1.0f ha homogén vágás után vagy


float4: 4 elemmel ugyanaz itt mind a 4 elemet te adod meg.
pl: float4 Colorpf : COLOR0; és itt minden egyes elem sorra ezt jelenti R,G,B,A

a lightpost szerintem jól adtad meg mert nem ott szállt el
a hiba szerintem az
Kód:
effect.SetValue("worldMatrix", mat);

sorban lesz..........a hiba lehetséges forrásai:

effect == null.......baj a betöltéskor van
|
mat != érvényes paraméter -> mat nem Matrix típus vagy nem létezik, vagy null vagy mittudoménmiértdenemjó
|
nincs kiválasztva technique


ui: lehet, hogy más az oka......nem tudom én sem. Nehéz shadert debugolni távolról. Ez nekem egy kicsit mindig olyan mint a felhívom a nagy mágust telefonon és megkérem hogy had érezzem már a bizyergést és meleget a fájós bokámban amit úgy küld nekem
Feci Barath (by Kuz)
XD
http://már nem elérhető...új lesz
   
Kuz - Törzstag | 4455 hsz       Online status #22054   2006.07.19 04:45 GMT+1 óra  
Ahogy nézegettem az eddigi hozzászólásokat, megakadt a szemem TheProGamer shader-jén, ami szintén fényt használ. Ott viszont float4-et láttam, én viszont float3-at találtam az egyik .fx-ben, amiből a kódot is kiloptam. Most akkor mi is az a float3, ill. float4?
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
Kuz - Törzstag | 4455 hsz       Online status #22031   2006.07.19 03:30 GMT+1 óra  
Több helyről próbáltam összeollózni egy fény-shadert. Mivel ez a második shaderem, ezért nem akartam nagy dolgot csinálni (az első csak a bejövő .X object színét változtatta), viszont nem a szokásos helyen akad ki a progi, azaz nem az effect = Effect.FromFile(...)-nál, hanem a második effect.SetValue(...)-nál! Íme a shader :

Kód:
float4x4 world;  // World matrix for object
float4x4 worldViewProjection; // World * View * Projection matrix
float szam; //float a színek folyamatos változtatásához

struct a2v
{
   float4 Positionav : POSITION0;
   float3 Normalav : NORMAL0;
};

//vertex to pixel shader structure
struct v2p
{
   float4 Positionvp : POSITION0;
   float4 Colorvp : COLOR0;
};

//pixel shader to screen
struct p2f
{
    float4 Colorpf : COLOR0;
};

//VERTEX SHADER
void vs(in a2v IN, out v2p OUT )
{
   float3 lightPos = float3(1.0f, 2.0f, 5.0f); //ezzel lehetnek gázok,
                                                                        //de nem tudtam hogy kell megadni

   OUT.Positionvp = mul(IN.Positionav, worldViewProjection);

   float3 posWorld = mul(IN.Positionav, world).xyz;

   float3 normal = mul(IN.Normalav, world).xyz;

   float3 light = normalize(lightPos - posWorld);

   float lightIntensity = clamp(dot(normal, light), 0, 1);

   float3 lightColor = float3(1.0f, 1.0f, 1.0f);

   float4 color = float4(lightColor * lightIntensity, 1.0f);

   color.rgb += 0.5f;

   OUT.Colorvp = clamp(color, 0, 1);
}

//void ps(in v2p IN, out p2f OUT )
//{
//    //output some color
//    OUT.Colorpf = IN.Colorvp*szam;
//}

//--------------------------------------------------------------------------------------
// Techniques
//--------------------------------------------------------------------------------------
technique RenderScene
{
    pass P0
    {
vertexshader = compile vs_1_1 vs();
//pixelshader = compile ps_1_1 ps(); //egyelőre nem akartam a pixelshaderrel
                                                                                         //foglalkozni, így ezt ne nézzétek
    }
}


A C#-os kódrészlet pedig :

Kód:
...
effect = Effect.FromFile(dev, "EmptyProject.fx", null, ShaderFlags.None, null);
...
effect.SetValue("worldMatrix", mat);
effect.SetValue("worldViewProjection", mat*view*proj); //és itt jelez
//hibát a fordító, de biztos, h nem ez a rossz, mert ehhez nem is
//nyúltam!!!
...

Mi lehet a gond? Talán a lightPos-t rosszul adtam meg (jelzem nem tudom, hogyan kell...)?
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
TPG - Tag | 3402 hsz       Online status #19468   2006.06.25 10:37 GMT+1 óra  
Idézet
kuzanth :
Kösze!!! Majd gyúrok rá, mert most átnézni nincs időm! Remélem érteni fogom. Majd úgyis nézegetem a többi hlsl-es anyagot, aztán majd lesz valami. Warlock-éhoz hasonló linket nem tudsz/tudtok directx-re (lehetőleg C#-hoz)? Ismétlésül : http://www.lighthouse3d.com/opengl/glsl/index.php?pipeline


Sajna nem tudok de ezeknek egy kis részével foglalkozom a cikkemben is. Bár az erősen elméleti megközelítésü.
Reality is almost always wrong. - House

   
Kuz - Törzstag | 4455 hsz       Online status #19467   2006.06.25 10:31 GMT+1 óra  
Kösze!!! Majd gyúrok rá, mert most átnézni nincs időm! Remélem érteni fogom. Majd úgyis nézegetem a többi hlsl-es anyagot, aztán majd lesz valami. Warlock-éhoz hasonló linket nem tudsz/tudtok directx-re (lehetőleg C#-hoz)? Ismétlésül : http://www.lighthouse3d.com/opengl/glsl/index.php?pipeline
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
TPG - Tag | 3402 hsz       Online status #19462   2006.06.25 10:22 GMT+1 óra  
Idézet
kuzanth :
Hát, ha ezeket konkrét példán keresztül is elmagyarázod, én igazán nem fogok megharagudni rád ...


Render:
Kód:
effect.SetValue("tex",textureobject); // tex a textúrának fenntartott konstans neve az Effect fájlban, textureobject meg maga a tex amit átadok

Effectben:
Kód:
texture Tex; //textúra
matrix World;  //mátrixok ezeket is át kell küldeni SetValue-val de az nem írom le külön
matrix View;
matrix Proj;
float4 lightpos; //fény pozíciója

sampler2D samp= sampler_state  //a sampler
{
texture= <Tex>;
MinFilter=linear;  //filterek linearra állítva
MagFilter=linear;
MipFilter=linear;
};

struct vertexIn{
    float3 Position : POSITION;
    float3 Normal : NORMAL;
    float4 texturecord : TEXCOORD0;
};

struct vertexOut {
    float4 PositionOut : POSITION;
    float4 texturecordout: TEXCOORD0;
    float3 Normal: TEXCOORD1;  //itt küldöm tovább a normálokat a Pixel shadernek
};

vertexOut VertexShader (vertexIn In)
{
vertexOut  Out;
Out.PositionOut = mul(World*View*Proj,float4(IN.Position.xyz , 1.0));  //vertex pozíciójának kiszámolása
Out.Normal = normalize(mul(World,In.Normal)); //normál transzformálása object space-ből world space-be
Out.texturecordout = In.texturecord;
return Out;
}

float4 PixelShader(vertexOut In) : Color0  //azt adjuk a PS-nek inputnak amit a VS kiadott
{
float3 LocNormal = normalize(In.Normal);  //a bejövő normált normalizáljuk, hogy biztos 1 hosszú legyen
float3 LocLightPos = normalize(lightpos.xyz);
float diffuse = saturate(dot(LocNormal,-LocLightPos ); //diffuse komponens kiszámolása, per pixel diffuse fény
float4 Output = tex2D(samp,In.texturecordout)*diffuse;  //textúramintavétel, és a minta megszorzása a kiszámolt diffuse komponensel
Output.a=1.0f;  //alpha-t 1-re állítom hogy tuti ne látszon át
return Output;
}


Igen valószínü hogy vannak hibák a kódban, mert 10 perc alatt dobtam össze, de a lényeg remélem érthető.
Reality is almost always wrong. - House

   
Kuz - Törzstag | 4455 hsz       Online status #19459   2006.06.25 09:54 GMT+1 óra  
Hát, ha ezeket konkrét példán keresztül is elmagyarázod, én igazán nem fogok megharagudni rád ...
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
TPG - Tag | 3402 hsz       Online status #19455   2006.06.25 08:09 GMT+1 óra  
Idézet
kuzanth :
Igen, eddig kb én is megvagyok... Erre utaltam azzal, h a kirajzolás köré teszem a shader kódját. És innentől kéne vmi tutor! Pl. van egy urhajo.X fileom, betöltöm, van egy shader.fx fileom (ez egy külön tutor ), betöltöm és akkor mit, hogy adok át kinek és miért ? Amit előbb leírtál, azt én is úgy csinálom.


Ha a mátrixokat áttolod a Vertex Shader-ben akkor kötelezően mást már nem kell átadni, onnantól a fantáziádra van bízva minden. Mondjuk én nem szoktam használni a FixedFunction SetTexture-t ilyenkor hanem úgymond konstansként átadom a tex-et is a shadernek, csinálok hozzá egy sampler-t s az alapján veszek mintát. De ennyi ezután már azt adsz át a shadereknek ami jól esik. Lighting calc-hoz a fényeket, HDR-nél adapted lum calc-hoz az előző frame óta eltelt időt stb. A trükk igazán ott van mikor a Vertex Shader olyan adatait adod át a Pixel Shadernek amit elvileg nem lehet. Ilyenkor texcoord-ként kell tovább küldeni a dolgokat, pl a normál-okat (a PS-ben normalizálni kell), pos adatokat stb. Még kérdés?
Reality is almost always wrong. - House

   
Kuz - Törzstag | 4455 hsz       Online status #19453   2006.06.25 08:01 GMT+1 óra  
Igen, eddig kb én is megvagyok... Erre utaltam azzal, h a kirajzolás köré teszem a shader kódját. És innentől kéne vmi tutor! Pl. van egy urhajo.X fileom, betöltöm, van egy shader.fx fileom (ez egy külön tutor ), betöltöm és akkor mit, hogy adok át kinek és miért ? Amit előbb leírtál, azt én is úgy csinálom.
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
TPG - Tag | 3402 hsz       Online status #19452   2006.06.25 07:54 GMT+1 óra  
Idézet
kuzanth :
Minden érdekel, bár a C# jobban ! Viszont csak olyam kódot akarok látni, ahol nincs hivatkozás 85 másik .cs file kódjára (lásd sdk-s samlpe-ek...)! Meg vmi tutor szerű anyag sem ártana. Odáig megvagyok, h egy üres törzsű shader filet betöltök, ezt a mesh kirajzolás köré rakom, és lefut a progi, igaz az üres törzs miatt "nem csinál semmit" a shader (értjük...). Röviden ennyi az eddigi shader eredményem .


Megcsinálod a shadereket .fx fájlként (HLSL-ben). Effect.FromFile-al betöltöd. A Renderben Effect.Technique-ban beállítod a használni kívát technika nevét. Effect.Begin-el elkezded a shader renderelését és ez mindjárt visszadobja a pass-ok számát. Pass-ok számaszor Effect.BeginPass rajzolás Effect EndPass. A végén hívsz egy Effect.End-et. Az effect konstansait Effect.SetValue-val tudod beállítani. Az effekt fájl Vertex shader részében el kell végezni az alap mátrix műveleteket magyarul a Position koordinátákat megszorozni a 3 mátrix-al, a 3 mátrixot konstansként át tudod adni SetValue-val. A Pixel Shader-ben meg mindenképpen mintát kell venni a a beérkező texcoord-ok alapján, itt nem kell alapvetően beállítani semmit. Most leírtam mindent ami hirtelen eszembe jutott, remélem nincs benne hiba, az MDX-ben nagyon nem vagyok otthon.
Reality is almost always wrong. - House

   
Kuz - Törzstag | 4455 hsz       Online status #19451   2006.06.25 07:40 GMT+1 óra  
Minden érdekel, bár a C# jobban ! Viszont csak olyam kódot akarok látni, ahol nincs hivatkozás 85 másik .cs file kódjára (lásd sdk-s samlpe-ek...)! Meg vmi tutor szerű anyag sem ártana. Odáig megvagyok, h egy üres törzsű shader filet betöltök, ezt a mesh kirajzolás köré rakom, és lefut a progi, igaz az üres törzs miatt "nem csinál semmit" a shader (értjük...). Röviden ennyi az eddigi shader eredményem .
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
TPG - Tag | 3402 hsz       Online status #19218   2006.06.23 07:04 GMT+1 óra  
Idézet
kuzanth :
Emberek! Nem tudnátok olyan tutort adni, ahol .x fileokra használnak shadert? Az SDK-s sample-ek s...t sem érnek, máshol meg mindig csak a vertexbufferes adatokkal dolgoznak, .x file meg vagy nincs, vagy túl bonyolult, mert nem az elejétől kezdik a magyarázatot.


D3DXMESH-es meshre utólag dobott shader megfelel? Mert olyat tudok mutatni, nem tutorial hanem részletet a motorom kódjából, igaz a C++ de a lényeget meg lehet belőle érteni.
Reality is almost always wrong. - House

   
Kuz - Törzstag | 4455 hsz       Online status #19208   2006.06.23 04:13 GMT+1 óra  
Idézet
warlock :
Nah majd én
http://www.lighthouse3d.com/opengl/glsl/index.php?pipeline
Akit érdekel olvassa végig
ha vki vmit nem ért dobja be közösbe és megdumáljuk



DirectX-re nem tudsz vmi ilyet ? Lehetőleg C#-osat.
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
Kuz - Törzstag | 4455 hsz       Online status #19205   2006.06.23 03:15 GMT+1 óra  
Emberek! Nem tudnátok olyan tutort adni, ahol .x fileokra használnak shadert? Az SDK-s sample-ek s...t sem érnek, máshol meg mindig csak a vertexbufferes adatokkal dolgoznak, .x file meg vagy nincs, vagy túl bonyolult, mert nem az elejétől kezdik a magyarázatot.
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
TPG - Tag | 3402 hsz       Online status #17623   2006.06.11 12:28 GMT+1 óra  
Nah csodás, félig dobhatom ki a jól kitalált kis módszeremet az avg. Lum kiszámolásához mert az NV SDK mutatott jobbat. Az egésznek annyi a lényege hogy a Linear tex filterek-et csodásan lehet a negyedére kicsinyítéshez használni. Viszont itt jön az hogy a floating point texeken az ATI ha minden igaz csak a point filtert támogatja. Úgyhogy lehet hogy nem ártana valahova már kiírni a motorban hogy "optimized for nVidia".
Reality is almost always wrong. - House

   
warlock - Törzstag | 704 hsz       Online status #14935   2006.05.26 09:50 GMT+1 óra  
Na így már rögtön jobban néz ki.
G

   
TPG - Tag | 3402 hsz       Online status #14921   2006.05.26 08:40 GMT+1 óra  
Idézet
TheProGamer :
Most hogy volt egy kis időm agyalni, eszembe jutott egy kis technika amivel ha minden igaz baromi pontos avg.luminance értéket lehet számolni HDR-hez. Az egész lényege: először egy asszimetrikus kernel-el 12-edére csökkentem a textúra méretét ( és ezzel együtt a 4:3 arányu képből négyzet alaku lesz), majd ezután megkeresem a kapott magasság 2 és 5 közti legnagyobb osztóját (azért csak 5-ig mert a PS2.0 csak 32 textúra op-ot enged egy passban és ugye 6*6 az már 36), és egy akkora kernelel csökkentem (tehát pl ha 5 jön ki akkor 5*5-ös kernelt használok stb.). Utána ezt elvégzem a csökkentett tex-re is addig amíg el nem érem az 1x1-es tex méretet. Ezeket az adatokat az init részben kiszámolom, tehát a render folyamatot annyival lassítja csak az egész hogy pár menettel tovább tart mire elérem a végeredményt. Az egésznek az az előnye hogy az összes a képen létező pixel színe beleszámít a végeredménybe, ha minden igaz egy tökéletesen pontos végeredményt kapunk. Szerintetek érdemes használni ezt a kis trükköt?


Nah lekódoltam az ötletemet és működött, úgyhogy lehet használni nyugodtan. Teljesen pontos értékeket számolt, és alig lassított valamennyit, viszont a kód ami előállította hozzá a texeket és ami belerenderelt nagyon ronda lett. Ha valaki esetleg ingerenciát érez arra hogy a témakörnek szintén nekiálljon és esetleg elakad az szóljon, én az elmúlt pár napban amíg ezzel foglalkoztam minden létező hibát amit lehet elkövettem, nehéz már újat mutatni. Így hogy az ötletem működőképesnek bizonyult, teljesen sikerült a HDR-t beépítenem (nah jó Star effect még nincs de dolgozom rajta ). Azért mutatóba felrakom ide is a két screenshot-ot amit majd a weboldalamra fogok később felpakolni.


Reality is almost always wrong. - House

   
warlock - Törzstag | 704 hsz       Online status #14354   2006.05.23 08:02 GMT+1 óra  
D we are the borg

   
TPG - Tag | 3402 hsz       Online status #14341   2006.05.23 06:09 GMT+1 óra  
Szerintetek hasonlít a cucc így legalább valamilyen Bloom effektre, vagy még finomítsak rajta?
Reality is almost always wrong. - House

   
warlock - Törzstag | 704 hsz       Online status #13911   2006.05.22 04:57 GMT+1 óra  
Nah majd én
http://www.lighthouse3d.com/opengl/glsl/index.php?pipeline
Akit érdekel olvassa végig
ha vki vmit nem ért dobja be közösbe és megdumáljuk

   
kicsy - Szerkesztő | 4304 hsz       Online status #13908   2006.05.22 04:53 GMT+1 óra  
Kezd mondjuk te
kicsy ● SilentVertigo Team - project Solarah
http://blog.yscik.com
   
Kuz - Törzstag | 4455 hsz       Online status #13893   2006.05.22 02:55 GMT+1 óra  
Akkor tehát ki vállalja magára?
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
TPG - Tag | 3402 hsz       Online status #13812   2006.05.21 07:41 GMT+1 óra  
Idézet
kuzanth :
Ha már úgyis ide várjuk a shaderes dolgokat, szerintetek nagy hülyeség lenne ebbe a topicba összehozni egy shader tutort? Csak arra gondoltam, hogy az alapoktól kezdve be lehetne írkálni a különféle shadereket, és mondjuk el is magyarázhatná őket a hozzá értő ember. Bár ezeket az ötleteket nem szokták szeretni valamiért az emberek, de azért megpróbáltam...Nekem egyébként rengeteg hlsl-es anyagom van (C#-ra és C++ -ra), de még nem volt időm feldolgozni őket, azonban a téma mindenképp érdekel!


Végülis lehetne.
Reality is almost always wrong. - House

   
kicsy - Szerkesztő | 4304 hsz       Online status #13501   2006.05.19 14:43 GMT+1 óra  
Támogatom az elképzelést, úgyis tervezünk ilyesmit, hogy a fórumból kiemelünk hasznos dolgokat
kicsy ● SilentVertigo Team - project Solarah
http://blog.yscik.com
   
warlock - Törzstag | 704 hsz       Online status #13386   2006.05.19 07:39 GMT+1 óra  
ellenvetésre kár várnod

   
Kuz - Törzstag | 4455 hsz       Online status #13376   2006.05.19 06:34 GMT+1 óra  
Ha már úgyis ide várjuk a shaderes dolgokat, szerintetek nagy hülyeség lenne ebbe a topicba összehozni egy shader tutort? Csak arra gondoltam, hogy az alapoktól kezdve be lehetne írkálni a különféle shadereket, és mondjuk el is magyarázhatná őket a hozzá értő ember. Bár ezeket az ötleteket nem szokták szeretni valamiért az emberek, de azért megpróbáltam...Nekem egyébként rengeteg hlsl-es anyagom van (C#-ra és C++ -ra), de még nem volt időm feldolgozni őket, azonban a téma mindenképp érdekel!
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
TPG - Tag | 3402 hsz       Online status #13291   2006.05.18 13:39 GMT+1 óra  
Idézet
warlock :
de van
Mikor írsz már tutort


De majd írok (egyszer ha olyan kedvem lesz ).
Reality is almost always wrong. - House

   
TPG - Tag | 3402 hsz       Online status #13290   2006.05.18 13:37 GMT+1 óra  
Idézet
Seeting :
TheProGamer: akkor te most C++-t használsz vagy C#-t?


C++ .VisualC++. Halvány fogalmam van a C#-ről is.
Reality is almost always wrong. - House

   
Seeting - Törzstag | 2306 hsz       Online status #13289   2006.05.18 13:33 GMT+1 óra  
TheProGamer: akkor te most C++-t használsz vagy C#-t?
   
warlock - Törzstag | 704 hsz       Online status #13283   2006.05.18 13:04 GMT+1 óra  
de van
Mikor írsz már tutort

   
TPG - Tag | 3402 hsz       Online status #13282   2006.05.18 13:00 GMT+1 óra  
Idézet
TheProGamer :
Most hogy volt egy kis időm agyalni, eszembe jutott egy kis technika amivel ha minden igaz baromi pontos avg.luminance értéket lehet számolni HDR-hez. Az egész lényege: először egy asszimetrikus kernel-el 12-edére csökkentem a textúra méretét ( és ezzel együtt a 4:3 arányu képből négyzet alaku lesz), majd ezután megkeresem a kapott magasság 2 és 5 közti legnagyobb osztóját (azért csak 5-ig mert a PS2.0 csak 32 textúra op-ot enged egy passban és ugye 6*6 az már 36), és egy akkora kernelel csökkentem (tehát pl ha 5 jön ki akkor 5*5-ös kernelt használok stb.). Utána ezt elvégzem a csökkentett tex-re is addig amíg el nem érem az 1x1-es tex méretet. Ezeket az adatokat az init részben kiszámolom, tehát a render folyamatot annyival lassítja csak az egész hogy pár menettel tovább tart mire elérem a végeredményt. Az egésznek az az előnye hogy az összes a képen létező pixel színe beleszámít a végeredménybe, ha minden igaz egy tökéletesen pontos végeredményt kapunk. Szerintetek érdemes használni ezt a kis trükköt?


Nah senkinek nincs semmi gondolata ehhez?
Reality is almost always wrong. - House

   
TPG - Tag | 3402 hsz       Online status #13227   2006.05.18 08:53 GMT+1 óra  
Most hogy volt egy kis időm agyalni, eszembe jutott egy kis technika amivel ha minden igaz baromi pontos avg.luminance értéket lehet számolni HDR-hez. Az egész lényege: először egy asszimetrikus kernel-el 12-edére csökkentem a textúra méretét ( és ezzel együtt a 4:3 arányu képből négyzet alaku lesz), majd ezután megkeresem a kapott magasság 2 és 5 közti legnagyobb osztóját (azért csak 5-ig mert a PS2.0 csak 32 textúra op-ot enged egy passban és ugye 6*6 az már 36), és egy akkora kernelel csökkentem (tehát pl ha 5 jön ki akkor 5*5-ös kernelt használok stb.). Utána ezt elvégzem a csökkentett tex-re is addig amíg el nem érem az 1x1-es tex méretet. Ezeket az adatokat az init részben kiszámolom, tehát a render folyamatot annyival lassítja csak az egész hogy pár menettel tovább tart mire elérem a végeredményt. Az egésznek az az előnye hogy az összes a képen létező pixel színe beleszámít a végeredménybe, ha minden igaz egy tökéletesen pontos végeredményt kapunk. Szerintetek érdemes használni ezt a kis trükköt?
Reality is almost always wrong. - House

   
Hacker - Törzstag | 567 hsz       Online status #11787   2006.05.10 08:34 GMT+1 óra  
Hát igen máshogy nehéz lenne ilyen szép és gyors látvány létrehozása.
No [img] !
Programozz ne háborúzz!!!!

   
TPG - Tag | 3402 hsz       Online status #11786   2006.05.10 08:31 GMT+1 óra  
Idézet
Hacker :
Nem rossz dolog mondjuk a shaderezés, de még a nagyobb játékfejlesztő cégek is csak alig-alig használják és ha használják akkoris még az 1-es verzióknál maradnak, hogy nagyobb körnek legyen elérhető és játszható a játék.


A HL2 1920 teljesen különálló egyéni shader-t tartalmaz ha jól tudom. Igazán most kezd általánossá válni a shaderek használata ha jól megnézzük az összes nextgen játék erősen a shaderekre épít.
Reality is almost always wrong. - House

   
Hacker - Törzstag | 567 hsz       Online status #11785   2006.05.10 08:30 GMT+1 óra  
Akkor kisebb teljesítménynövekedést tapasztalhattál
No [img] !
Programozz ne háborúzz!!!!

   
TPG - Tag | 3402 hsz       Online status #11784   2006.05.10 08:29 GMT+1 óra  
Idézet
Hacker :
De már írtál a shaderekről ProGamer nem? Mondjuk én azért nem shaderezek, mert Gef4 MX 440-es kártyám van, az pedig nem a shaderjeiről híres


Csak a PostProcessing-et abban meg alig volt igazi olyan shader ami tényleg látványos.

Nekem Gef3Ti200-am volt de mikor elkezdtem shadereket pakolni a motorba akkor hirtelen kevés lett a kártya ereje és tudása úgyhogy lecseréltem egy Gef6800-ra.
Reality is almost always wrong. - House

   
Hacker - Törzstag | 567 hsz       Online status #11783   2006.05.10 08:29 GMT+1 óra  
Nem rossz dolog mondjuk a shaderezés, de még a nagyobb játékfejlesztő cégek is csak alig-alig használják és ha használják akkoris még az 1-es verzióknál maradnak, hogy nagyobb körnek legyen elérhető és játszható a játék.
No [img] !
Programozz ne háborúzz!!!!

   
warlock - Törzstag | 704 hsz       Online status #11782   2006.05.10 08:25 GMT+1 óra  
Shaderekről átfogó részletes faxa tutort ami segít az elindulásban.

   
Hacker - Törzstag | 567 hsz       Online status #11781   2006.05.10 08:23 GMT+1 óra  
De már írtál a shaderekről ProGamer nem? Mondjuk én azért nem shaderezek, mert Gef4 MX 440-es kártyám van, az pedig nem a shaderjeiről híres
No [img] !
Programozz ne háborúzz!!!!

   
TPG - Tag | 3402 hsz       Online status #11780   2006.05.10 08:21 GMT+1 óra  
Idézet
warlock :
TheProGamer nem akarsz tutort írni?


Előbb befejezem a HDR shaderemet, és bepakolom a motorba, utána esetleg lehet róla szó. Egyébként miről is kellene?
Reality is almost always wrong. - House

   
warlock - Törzstag | 704 hsz       Online status #11779   2006.05.10 08:16 GMT+1 óra  
TheProGamer nem akarsz tutort írni?

   
Hacker - Törzstag | 567 hsz       Online status #11777   2006.05.10 08:04 GMT+1 óra  
Még egyelőre maradunk az alapoknál
No [img] !
Programozz ne háborúzz!!!!

   
TPG - Tag | 3402 hsz       Online status #11760   2006.05.10 05:56 GMT+1 óra  
Nah senki?
Reality is almost always wrong. - House

   
TPG - Tag | 3402 hsz       Online status #11602   2006.05.09 09:08 GMT+1 óra  
Mivel nem találtam külön ilyen topicot, és gondoltam jól jöhet ha a shader programozással kapcsolatos dolgokat egy helyre gyüjtjük, ezért megnyitottam ezt. Jöhet ide bármi, általános elméleti rész, HLSL, GLSL, Shader Asm, Cg stb.

Nekem mindjárt lenne is egy kérdésem (sejthettétek hogy nem csak azért nyitottam a topikot mert még nincs ilyen ). A Finite Radius Cube Mapping-ről lenne szó. Az ATI féle megvalósítással próbálkozom (ahogy észrevettem az nVidia félének is kb ugyanaz az eredménye csak 3-4-szer annyi számítás után), az egész tiszta is fejben csak azt nem értem hogy honnan szedték hogy mekkora a radius. Ha valaki ezt el tudná rendesen magyarázni annak nagyon örülnék.
Reality is almost always wrong. - House

   
Frissebbek | [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] > 22 <