játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5511
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] [25] [30] [35] [40] [45] [50] [55] [60] [65] [70] [75] [80] [82]
Pretender - Törzstag | 2498 hsz       Online status #172277   2012.01.08 20:57 GMT+1 óra  
áhá, ezt kerestem nem tudom hogy nem találtam meg

   
Asylum - Törzstag | 5511 hsz       Online status #172274   2012.01.08 20:44 GMT+1 óra  
Ami itt van az van: http://www.opengl.org/sdk/docs/manglsl/
ami nincs az vagy van vagy nincs
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Pretender - Törzstag | 2498 hsz       Online status #172273   2012.01.08 20:28 GMT+1 óra  
Hol van az hivatalosan leírva, hogy a GLSL-ből mik lettek kiszedve, amik már nincsenek benne a szabványban? pl. ilyesmikre gondolok: gl_ModelViewProjectionMatrix

   
Pretender - Törzstag | 2498 hsz       Online status #172203   2012.01.08 08:09 GMT+1 óra  
az emlékeim szerint mintha bent lett volna, de nem volt jó. Persze lehet, h később pont kikommenteztem xD

   
Joga - Törzstag | 1791 hsz       Online status #172196   2012.01.07 22:14 GMT+1 óra  
Nem kell ám neki, elég, ha a lezáró '\0'-t beírod a tömb utolsó elemének
(ಠ ›ಠ) Stewie!

   
Pretender - Törzstag | 2498 hsz       Online status #172193   2012.01.07 21:45 GMT+1 óra  
úgy néz ki, hogy én is a shaderekkel bajlódok...
vertex shader:
Kód:
void main()
{
    gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
}

fragment shader:
Kód:
void main()
{
    gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
}

Betöltöm a szöveges fájlt fread-del:
Kód:
FILE* stream = 0;
fopen_s(&stream, path.c_str(), "r");
if (!stream)
    return false;

fseek(stream, 0, SEEK_END);
int size = ftell(stream);
fseek(stream, 0, SEEK_SET);

char* file = new char[size + 1];
fread(file, 1, size, stream);

Majd ezekből shader-t gyártok
Kód:
shader = glCreateShaderObjectARB(shaderType);

glShaderSourceARB(shader, 1, (const char**)&file, 0);
glCompileShaderARB(shader);

Idáig elvileg nincs error, viszont amikor a "program"-ot akarom létrehozni, és ott lekérem az errort
Kód:
program = glCreateProgramObjectARB();

glAttachObjectARB(program, vs->GetShader());
glAttachObjectARB(program, ps->GetShader());
glLinkProgramARB(program);

Akkor kapok egy hibaüzenetet (ugyan ilyet a vertex shaderre) :
Kód:
Fragment shader failed to compile with the following errors:
ERROR: 0:4: error(#132) Syntax error: '<' parse error
ERROR: error(#273) 1 compilation errors.  No code generated

Ezmiez?

szerk.:
Banyek, hogy mindig akkor jövök rá, amikor bepostolom, de előtte ott nézem 2 óráig
kell neki egy memset(file, 0, size+1)

Ezt a hozzászólást Pretender módosította (2012.01.07 21:54 GMT+1 óra, ---)

   
Pretender - Törzstag | 2498 hsz       Online status #172183   2012.01.07 18:49 GMT+1 óra  
A MAC rohadjon csak meg, ahol van Nekem az már bőven jó lesz, ha esetleg linuxon le tudom majd fordítani, de nem életcélom. Viszont jelentem, egész tetszetős az OGL, kezdem megszokni, csak tök hülye vagyok hozzá

   
Asylum - Törzstag | 5511 hsz       Online status #172181   2012.01.07 18:33 GMT+1 óra  
Nem lesz jó, mert akkor macen irhatod ujra.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Pretender - Törzstag | 2498 hsz       Online status #172179   2012.01.07 18:22 GMT+1 óra  
Akkor jó lesz az utóbbi

   
Asylum - Törzstag | 5511 hsz       Online status #172178   2012.01.07 18:19 GMT+1 óra  
A szabványban az elöbbi, extensionben az utobbi
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Pretender - Törzstag | 2498 hsz       Online status #172177   2012.01.07 18:15 GMT+1 óra  
Amúgy akkor most
Kód:
glCreateShader

vagy
Kód:
glCreateShaderObject

?

   
Mangal - Tag | 19 hsz       Online status #172172   2012.01.07 17:08 GMT+1 óra  
Nem dob semmi hibát,és a shader is beáll rendesen.

   
Asylum - Törzstag | 5511 hsz       Online status #172162   2012.01.07 12:03 GMT+1 óra  
gdebuggerrel nézd meg hogy dob-e valami errort, és beállitodik-e a shader.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Mangal - Tag | 19 hsz       Online status #172159   2012.01.07 10:53 GMT+1 óra  
Itt hozom létre a shadert.
Kód:
   int  fragmentObject = GL.CreateShader(ShaderType.FragmentShader);
// Compile vertex shader
  GL.ShaderSource(fragmentObject, fs);
  GL.CompileShader(fragmentObject);
  GL.GetShaderInfoLog(fragmentObject, out info);
  GL.GetShader(fragmentObject, ShaderParameter.CompileStatus, out status_code);

  if (status_code != 1)
       throw new ApplicationException(info);

   program = GL.CreateProgram();
   GL.AttachShader(program, fragmentObject);

   GL.LinkProgram(program);
   GL.UseProgram(program);


Majd kirajzolásnál pedig beállítom a spotlightot,és meghívom a kirajzolást.
Kód:
  float[] light0_dir = new float[] { 0, 0, -1 };
  float[] light0_pos = new float[] { 500, 500, 1000f, 1 };

  GL.Light(LightName.Light0, LightParameter.SpotDirection, light0_dir);
  GL.Light(LightName.Light0, LightParameter.SpotCutoff, 45.0f);
  GL.Light(LightName.Light0, LightParameter.SpotExponent, 100.0f);
  GL.Light(LightName.Light0, LightParameter.Position, light0_pos);

  GL.UseProgram(Shader.shader_program);
  //  Textúrázás...
GL.BindTexture(TextureTarget.Texture2D, QObject.Texture.TextureData);
  // Kirajzolás
GL.CallList(QObject.GLVertex);

   
MaNiAc - Szerkesztő | 1735 hsz       Online status #172158   2012.01.07 10:25 GMT+1 óra  
Idézet
Mangal :
Fragment shadert szeretnék működésre bírni,de sehogy sem akar összejönni.
Mivel tilemap alapú a pálya szerkezetem,és a minden tile 128*128as,ezért a vertexre számolt fény elég furán néz ki.Ezért gondoltam a fragment shaderre.
Betöltöm fájlból a shadert lefordítom,lekérem van e hiba,viszont nemjelez hibát,
megcsinálom az AttachShader-t,beállítom a programot,kirajzolás előtt use-olom a programot,
Majd CallList-est meghívom a kirajzolást,viszont semmi hatása nincs.
Egyszerűen mintha nem is volna,ugyanúgy vertex-re számolja a fény hatását.
Valami lépést kihagytam volna?

Szerintem mutass 1-2 kódrészletet, mert ebből nehéz rájönni, mit rontassz el
Dare to imagine!
http://www.insaneidea.hu
   
Pretender - Törzstag | 2498 hsz       Online status #172156   2012.01.07 09:48 GMT+1 óra  
Igen, az lett belőle, csak ahhoz kellett az is, amit a szerk.-be írtam. Hát persze, hogy arról egyik tutorial sem írt (legalábbis azok között, amiket én olvastam)

   
gaborlabor - Moderátor | 4449 hsz       Online status #172147   2012.01.07 01:02 GMT+1 óra  
Kód:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);

helyett
Kód:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);

?

   
Pretender - Törzstag | 2498 hsz       Online status #172144   2012.01.06 23:54 GMT+1 óra  
nekem meg csudijó, van már modell meg textúra meg ilyesmi, a kérdés csak az, hogy azt a kis "zizit" hogy tudom eltüntetni? Az oldalán látszik.

DDS-t töltöttem be, elvileg 5 level, azaz van mipmap,
Kód:
glCompressedTexImage2DARB(GL_TEXTURE_2D, i, image->format, mipWidth, mipHeight, 0, size, image->pixels + offset);

illetve előtte beállítva, hogy
Kód:
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

Valami kapcsolót kihagytam, vagy mi? Vagy csak elrontok valamit

szerk.:
talán ez?
Kód:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, image->numMipMaps-1);

Ezt a hozzászólást Pretender módosította (2012.01.07 00:01 GMT+1 óra, ---)

   
Asylum - Törzstag | 5511 hsz       Online status #172141   2012.01.06 21:54 GMT+1 óra  
Nemis
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
proof88 - Törzstag | 530 hsz       Online status #172140   2012.01.06 21:17 GMT+1 óra  
Asylum, mostanában flegma vagy
   
Asylum - Törzstag | 5511 hsz       Online status #172128   2012.01.06 18:21 GMT+1 óra  
Igen, megtanulni az opengl-t.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Mangal - Tag | 19 hsz       Online status #172114   2012.01.06 16:15 GMT+1 óra  
Fragment shadert szeretnék működésre bírni,de sehogy sem akar összejönni.
Mivel tilemap alapú a pálya szerkezetem,és a minden tile 128*128as,ezért a vertexre számolt fény elég furán néz ki.Ezért gondoltam a fragment shaderre.
Betöltöm fájlból a shadert lefordítom,lekérem van e hiba,viszont nemjelez hibát,
megcsinálom az AttachShader-t,beállítom a programot,kirajzolás előtt use-olom a programot,
Majd CallList-est meghívom a kirajzolást,viszont semmi hatása nincs.
Egyszerűen mintha nem is volna,ugyanúgy vertex-re számolja a fény hatását.
Valami lépést kihagytam volna?

   
Pretender - Törzstag | 2498 hsz       Online status #172045   2012.01.05 19:00 GMT+1 óra  
előtte van beállítva, nem kell aggódni
Megvan a megoldás, bár még nem próbáltam ki, de biztos ez a baja:
Idézet
Another solution, available in OpenGL 1.2 (and as an extension to many 1.1 implementations), is glEnable(GL_RESCALE_NORMAL)


szerk.:
Ezzel így valóban jó.

   
Asylum - Törzstag | 5511 hsz       Online status #172043   2012.01.05 18:54 GMT+1 óra  
Mivel szorzod be a mátrixot ha nincs beállitva semmi? (brotip: glLoadIdentity())
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Pretender - Törzstag | 2498 hsz       Online status #172038   2012.01.05 18:04 GMT+1 óra  
Sikeresen betöltöttem egy modellt, vannak pozíciók, texcoordok meg normálok (normalizáltak).
Beállítottam egy fényt is:
Kód:
float lAmbient[] = {0.2f, 0.2f, 0.2f, 1.0f};
float lDiffuse[] = {1.0f, 0.85f, 0.7f, 1.0f};
float lPos[] = {-100.0f, 50.0f, -25.0f, 1.0f};

glLightfv(GL_LIGHT1, GL_AMBIENT, lAmbient);
glLightfv(GL_LIGHT1, GL_DIFFUSE, lDiffuse);
glLightfv(GL_LIGHT1, GL_POSITION, lPos);
Base::StateManager::GetInstance()->Enable(GL_LIGHT1);

Base::StateManager::GetInstance()->Enable(GL_LIGHTING);

Nagyon jól működik, amíg a ModelView mátrixot nem skálázom. Így jó
Kód:
glPushMatrix();
{
    Matrix world = Matrix::RotationY(a);
    glMultMatrixf((const float*)&world.m);

    m->GetMesh(0)->Draw();
}
glPopMatrix();

így meg nem
Kód:
glPushMatrix();
{
    Matrix world = Matrix::Scale(0.01f) * Matrix::RotationY(a);
    glMultMatrixf((const float*)&world.m);

    m->GetMesh(0)->Draw();
}
glPopMatrix();

Ez így gondolom nem egészen természetes.

Renderelés: VBO, fixed function

   
MaNiAc - Szerkesztő | 1735 hsz       Online status #171932   2012.01.04 13:28 GMT+1 óra  
Idézet
Mangal :
Szerintetek érdemes építeni az opengl-es pickingre vagy inkább sajátkezűleg számoljam ki?

Bonyulultabb a manuális, de ha jól megírod, sokkal gyorsabb. Ha scenegraph-os techikával renderelsz, akkor pedig könnyű beilleszteni is.
Dare to imagine!
http://www.insaneidea.hu
   
Mangal - Tag | 19 hsz       Online status #171928   2012.01.04 12:46 GMT+1 óra  
Szerintetek érdemes építeni az opengl-es pickingre vagy inkább sajátkezűleg számoljam ki?

   
Pretender - Törzstag | 2498 hsz       Online status #171844   2012.01.03 12:13 GMT+1 óra  
tudom, le van töltve, de előbb inkább körülnézek- és kérdezősködök

   
Asylum - Törzstag | 5511 hsz       Online status #171840   2012.01.03 11:40 GMT+1 óra  
Igen, hasonlo mint a vertexdecl de tobbet tud.

Amugy utalom reklamozni magam de a honlapomon meg mindig ottvannak a gl progik (mas kerdes hogy nem teljesen "validak". Onnan tudsz lesni.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
MaNiAc - Szerkesztő | 1735 hsz       Online status #171839   2012.01.03 11:23 GMT+1 óra  
Szerk: Nevermind, már látom, hogy megoldottad
Dare to imagine!
http://www.insaneidea.hu
   
Pretender - Törzstag | 2498 hsz       Online status #171811   2012.01.02 22:36 GMT+1 óra  
Kipróbáltam, hogy külön vettem az értékeket. Úgy se jó. Érdekes módon ez után:
Kód:
glBufferDataARB(GL_ARRAY_BUFFER_ARB, numVertices * sizeof(Vertex), &vertices[0].px, GL_STATIC_DRAW_ARB);

GL_INVALID_VALUE error-t ad a glGetError(), ami a doksi szerint akkor jön elő, ha a size negatív. Pedig megnéztem, és 768 ha jól rémlik, ami szerintem nem negatív

szerk.:
megjavult. Hülye voltam Extension-nél benéztem... először azt néztem, hogy kell ez a SubData is, aztán copy-paste volt, aztán rájöttem, hogy nem fog kelleni, kiszedtem a sub részt, de így a sima glBufferData a "glBufferSubData" extension lett. Na, működik, az a lényeg.

Ezek a gl*Pointer hívások olyasmik, mint dx-ben a SetVertexDeclaration, ha jól értem

szerk.2:
Ahogy egyelőre észrevettem, a gl*Pointer dolgokat elég a bufferek létrehozásakor az unbindelés előtt beállítani, a client state-ket pedig az összes mesh előtt és után. Legalábbis egyelőre.

Ezt a hozzászólást Pretender módosította (2012.01.03 07:16 GMT+1 óra, ---)

   
Pretender - Törzstag | 2498 hsz       Online status #171806   2012.01.02 21:19 GMT+1 óra  
Csak gondoltam spórolok ezen is Amúgy milyen oka lehet annak, hogy ha VBO-val próbálok rajzolni, akkor semmi nem látszik? az lehetséges, hogy azért, mert a GPU-nak feltöltött Vertexstruktúrámban a Position, Normal meg Texcoord egy-egy másik struktúra? (Vector3, Vector2)
Szóval így:
Kód:
struct Vertex
{
    Vector3 Position;
    Vector3 Normal;
    Vector2 Texcoord;

    static const int SIZE = 32;

   
Asylum - Törzstag | 5511 hsz       Online status #171800   2012.01.02 20:40 GMT+1 óra  
Idézet
Pretender :
A bind az nekem rendben van, én a client statekre, meg a glVertexPointer-re és társaira gondolok. Ha az minden egyes modellnél azonos (pl. Position, Normal, Texcoord mindegyiknél), akkor ezeket nem elég egyszer beállítani? Hasonlóan a glEnableClientState.



Erre ne építs, sose tudhatod hogy mikor bövited ki ugy az enginet, hogy tetszöleges layoutot tudjon használni (nálam az van, bár a dx miatt van egy default konvencióm, de egy maces programozó pont le fogja szarni). Azt viszont meg lehet csinálni, hogy minden layouthoz csinálsz egy egyedi azonositót, és ezeket a glpointer fveket levéded.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
syam - Törzstag | 1491 hsz       Online status #171797   2012.01.02 20:01 GMT+1 óra  
Ezt nem tudom. Meg kell nézni doksiban, hogy a vbo bindja érvényteleníti-e a már beállított offsetet.
alias aalberik
   
Pretender - Törzstag | 2498 hsz       Online status #171796   2012.01.02 19:53 GMT+1 óra  
A bind az nekem rendben van, én a client statekre, meg a glVertexPointer-re és társaira gondolok. Ha az minden egyes modellnél azonos (pl. Position, Normal, Texcoord mindegyiknél), akkor ezeket nem elég egyszer beállítani? Hasonlóan a glEnableClientState.

   
syam - Törzstag | 1491 hsz       Online status #171795   2012.01.02 19:38 GMT+1 óra  
A "belőni" az nem teljesen egyértelmű számomra.

Kitalálod mit raksz a vboba és amikor használni akarod a belerakott adatot akkor bindolod azt. Ha olyan adatot akarsz használni ami nem abban a vboban / nincs egyáltalán vboban akkor bindolod a másik vbot / 0-t bindolsz.
alias aalberik
   
Pretender - Törzstag | 2498 hsz       Online status #171794   2012.01.02 19:31 GMT+1 óra  
de ha az összes mesh "komponensei" megegyeznek (azaz pl. mindegyik csak position, texcoord, normal), akkor azt elég egyszer belőni az összes mesh előtt, és nem kell mindegyiknél?

   
syam - Törzstag | 1491 hsz       Online status #171793   2012.01.02 19:12 GMT+1 óra  
Mangal:
Per-fragment árnyalás kell neked csak azzal tudsz ilyet - vagy tesszellálod a 2 quadot.

Pretender:
A VBO az nem egyenlő vertex array. Nincs belőle többféle és nincs hozzá enable/disable - "bind van csak". A VBO "gpu oldali" adattárolásra való, nem tudja milyen adat van benne, hány komponensű. Csak a méretét tudja byteban.
A glvertexattribpointer vagy glvertexpointer és társaira van hatással ill. a gldraw... függvényekre.
alias aalberik
   
Mangal - Tag | 19 hsz       Online status #171792   2012.01.02 18:39 GMT+1 óra  
Azzal is ez a helyzet,csak a csúcspontokat világítja be.

   
Pretender - Törzstag | 2498 hsz       Online status #171791   2012.01.02 18:33 GMT+1 óra  
Idézet
Mangal :
Heló!
Irányított fénynél hogy lehet elérni,hogy egy 2d quadnál egy kört világítson ki,ne pedig csúcspontokra számolja ki a hatást?


Az irányított fénynek a lényege, hogy minden pontra ugyan úgy hat. Kört az spot lighttal tudsz

   
Pretender - Törzstag | 2498 hsz       Online status #171790   2012.01.02 18:32 GMT+1 óra  
akkor ahol lehet, érdemes az ARB-s verziót használni, ha jól értem.
Mostanában nem csináltam semmit, szóval ismét VBO: hogy van ez akkor? Láttam több félét is, pl. EnableClientState minden egyes mesh esetén kell, vagy csak rajzolás előtt, és Disable az összes mesh rajzolása után? Illetve:
glEnableVertexAttribArray vs. gl*Pointer
Illetve ugye ehhez kapcsolódóan igaz-e ez is, az előzőre? (összes mesh rajzolása előtt, vagy minden mesh előtt?)

   
Mangal - Tag | 19 hsz       Online status #171788   2012.01.02 18:23 GMT+1 óra  
Heló!
Irányított fénynél hogy lehet elérni,hogy egy 2d quadnál egy kört világítson ki,ne pedig csúcspontokra számolja ki a hatást?

   
Asylum - Törzstag | 5511 hsz       Online status #171787   2012.01.02 17:41 GMT+1 óra  
Arra figyelj, hogy nem mindegyiknél csak a postfix a különbség; például a shaderes extension eléggé át lett nevezgetve (viszont so far ez az egyetlen lényeges).
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
syam - Törzstag | 1491 hsz       Online status #171786   2012.01.02 17:23 GMT+1 óra  
Elvileg semmi.
Gyakorlatilag a postfix nélküli változat már a core része vagyis ahhoz már az adott verziójú OGL támogatás szükséges.
Pl. ha FBO-t használsz EXT nélkül, akkor 3.0 a min. verziókövetelmény, ha EXT-tel használod akkor csak 1.1 (+ FBO extension támogatás).
alias aalberik
   
Pretender - Törzstag | 2498 hsz       Online status #171784   2012.01.02 16:32 GMT+1 óra  
Mi a különbség a "sima" és az ARB extensionök között? pl. glBufferData vs. glBufferDataARB

   
Pretender - Törzstag | 2498 hsz       Online status #171745   2012.01.01 20:14 GMT+1 óra  
Idézet
Geri :
szerintem felesleges ilyesmivel bonyolítani a dolgot, csak a kódod komplexitását növeli feleslegesen. nem lesz jelentősen lassabb a rendszered akkor se, ha szűkség esetén textúrát váltassz


Na, meg is van egy újabb optimalizáció a számodra. Jó munkát

   
Asylum - Törzstag | 5511 hsz       Online status #171744   2012.01.01 20:02 GMT+1 óra  
Idézet
zeller :
kezelheted kulon modulkent



Ilyet ne mondj neki, az lassitja a forditást
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
zeller - Törzstag | 506 hsz       Online status #171743   2012.01.01 20:01 GMT+1 óra  
@geri
Sztem egy ilyen kodot eleg egyszer megirni, ha standardizalod a parametereit a texturanak, ezt pedig kezelheted kulon modulkent igy nem fujja fel a kodot. Sot, a legjobb, ha meta kodot irsz es forditokat gpu-kra

   
Asylum - Törzstag | 5511 hsz       Online status #171742   2012.01.01 20:01 GMT+1 óra  
Én minden epszilonnál kisebb marhasághoz textura atlaszt használok (és mellé természetesen static vagy dynamic batchinget ami részecskéknél elengedhetetlen).
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
fpeti - Törzstag | 1295 hsz       Online status #171741   2012.01.01 19:52 GMT+1 óra  
Én az összes részecskerendszert is képes vagyok egy rajzolással megoldani, mert color-ban átadok tile méretet x,y indexet tile-ra és elfordulást, így még külön-külön foroghatnak is - ezt pixelshaderben, a tileozás vs-ben mehet. Elég jól bevált. így egy rajzolás a alfásoknak, egy a addivitve és egy a sima blendelteknek. Mondjuk ez azoknak lehet fontos, ahol sok minden robbanhat egyszerre. hehe
   
Korábbi postok
> 1 < [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [40] [45] [50] [55] [60] [65] [70] [75] [80] [82]