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

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2186
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1625
syam:    1491
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] > 25 < [30] [35] [40] [45] [50] [55] [60] [65] [70] [75] [80] [82]
Asylum - Törzstag | 5440 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 | 464 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 | 5440 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 | 1280 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
   
Geri - Törzstag | 2186 hsz       Online status #171739   2012.01.01 19:03 GMT+1 óra  
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

   
syam - Törzstag | 1491 hsz       Online status #171734   2012.01.01 14:45 GMT+1 óra  
Igen. Egy részecskerendszert akár egy textúraváltással megúszol.
alias aalberik
   
Mangal - Tag | 19 hsz       Online status #171733   2012.01.01 14:37 GMT+1 óra  
Sebesség szempontjából is a 2.ik az előnyösebb?

   
Matzi - Szerkesztő | 2519 hsz       Online status #171732   2012.01.01 14:27 GMT+1 óra  
Az utóbbit, mert úgy jó eséllyel ráférsz egyetlen értelmes méretű textúrára, és nem kell sok apró kicsit betöltened hozzá.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
Mangal - Tag | 19 hsz       Online status #171731   2012.01.01 14:23 GMT+1 óra  
Heló!
Szerintetek sprite alapú animáció kezelésénél melyik a célszerűbb
,a képkockákat külön textúraként legenerálni, vagy pedig az össz képet egy nagy képként, és azt úgy feszíteni a quadtra hogy csak egy képkocka látszon belőle?

   
MaNiAc - Szerkesztő | 1735 hsz       Online status #171521   2011.12.28 22:51 GMT+1 óra  
Idézet
proof88 :
hát nem le lettem cseszve?!
de most valszeg nem az lesz a bottleneck hogy 4x4-et használ 3x3 helyett, na!

Részemről abszolút nem lecseszésnek szántam. Csak annyit mondtam, hogy egyetértek Gerivel abban, hogy sok kis optimizációs lehetőség kihagyása is okozhat nagy performance-veszteséget.
Dare to imagine!
http://www.insaneidea.hu
   
proof88 - Törzstag | 528 hsz       Online status #171518   2011.12.28 22:29 GMT+1 óra  
hát nem le lettem cseszve?!
de most valszeg nem az lesz a bottleneck hogy 4x4-et használ 3x3 helyett, na!
   
syam - Törzstag | 1491 hsz       Online status #171511   2011.12.28 20:11 GMT+1 óra  
Ha tudod egy mátrixról, h csak eltolást és forgatást tartalmaz akkor azt gyorsan tudod invertálni: minor mátrix transzponálás aztán az eltolást transzformálod és negálod a transzponált minor mátrixszal.
Ha jól tudom a skálázást is bele lehet venni a tengelyek hosszának figyelembevételével.
alias aalberik
   
Asylum - Törzstag | 5440 hsz       Online status #171510   2011.12.28 20:09 GMT+1 óra  
Lagrange-féle kifejtési tétel (ez az a bizonyos aldeterminánsos). Telejesen jól használható, nem kell hozzá se ciklus se semmi (viszont jó sok szorzás).
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Eldor - Tag | 162 hsz       Online status #171508   2011.12.28 20:00 GMT+1 óra  
Ketfele modszert tanultam invertalasra. Az egyik bazistranszformaciokkal tortenik, a masik pedig adjungalt matrixszal es determinansokkal. Ha jol sejtem, akkor a determinans szamolas futasi ideje faktorialis, szoval ez esetben egyaltalan nem mindegy, hogy 2x2-es vagy 3x3-as determinansokkal kell szamolni. Elso megerzesre a masik algoritmus kobos, igy ez esetben sem lenyegtelen a ketto kozti kulonbseg. Szoval ha van ra mod, akkor sporolok. Bar meg mindig nem hiszem, hogy hasznalni fogom.
Amugy Ti melyiket implementalnatok? Vagy valami mas algoritmust hasznaltok?

   
Pretender - Törzstag | 2498 hsz       Online status #171493   2011.12.28 18:08 GMT+1 óra  
ja, azt csak összeröffentettem tudom mi mit csinál...

   
gaborlabor - Moderátor | 4449 hsz       Online status #171492   2011.12.28 18:03 GMT+1 óra  
Idézet
Pretender :
Idézet
MaNiAc :
Ott a pont! Például kezdésnek mi értelme a glLoadIdentity()-nek glLoadMatrix() előtt, ráadásul 2x is?

(Idezet a glLoadMatrix() doksijabol: "glLoadMatrix replaces the current matrix..."


most miről is beszélsz?


Arról, hogy a kódodban indokolatlanul sok a glLoadIdentity(...)

   
Asylum - Törzstag | 5440 hsz       Online status #171483   2011.12.28 17:17 GMT+1 óra  
Idézet
Geri :




Igen, neked szólt, Geri. Tudom, hogy te framenként vered a milliós rajzolási számot, lászik is a szarjaidon.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Pretender - Törzstag | 2498 hsz       Online status #171481   2011.12.28 17:15 GMT+1 óra  
Idézet
MaNiAc :
Idézet
Geri :
Idézet
proof88 :
sose ilyen piszlicsáré dolgokon próbálj spórolni ... add meg a módját a dolgoknak, az algoritmusokon optimalizálj! Keresgélj, olvass utána módszereknek, van-e jobb, stb. Ilyen bájtokon nem érdemes spórolni.



ott kell spórolni, ahol bottleneck van. ha framenként 2 milliószor megcsinálod a piszlicsárét, és amiatt szaggat a gecibe, akkor a piszlicsárén kell spórolni more

Ott a pont! Például kezdésnek mi értelme a glLoadIdentity()-nek glLoadMatrix() előtt, ráadásul 2x is?

(Idezet a glLoadMatrix() doksijabol: "glLoadMatrix replaces the current matrix..."


most miről is beszélsz?

   
Geri - Törzstag | 2186 hsz       Online status #171479   2011.12.28 17:12 GMT+1 óra  
lol, asylum megszólalt megint

Idézet
Asylum :
Ha valamit framenként 2 millioszor csinál, akkor inkább ne is programozzon.




   
Asylum - Törzstag | 5440 hsz       Online status #171478   2011.12.28 17:10 GMT+1 óra  
Idézet
Matzi :
Egy pixel shader kód azért simán lefut 2 milliószor framenként, néha ott kell optimalizálni.



Párhuzamositva nem ér
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
syam - Törzstag | 1491 hsz       Online status #171475   2011.12.28 16:20 GMT+1 óra  
Kövessétek a Samsung driveríróinak a tanácsát: ne renderelj sokat, mert lassít!
alias aalberik
   
Matzi - Szerkesztő | 2519 hsz       Online status #171474   2011.12.28 15:38 GMT+1 óra  
Egy pixel shader kód azért simán lefut 2 milliószor framenként, néha ott kell optimalizálni.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
Asylum - Törzstag | 5440 hsz       Online status #171473   2011.12.28 15:34 GMT+1 óra  
Ha valamit framenként 2 millioszor csinál, akkor inkább ne is programozzon.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
MaNiAc - Szerkesztő | 1735 hsz       Online status #171468   2011.12.28 13:36 GMT+1 óra  
Idézet
Geri :
Idézet
proof88 :
sose ilyen piszlicsáré dolgokon próbálj spórolni ... add meg a módját a dolgoknak, az algoritmusokon optimalizálj! Keresgélj, olvass utána módszereknek, van-e jobb, stb. Ilyen bájtokon nem érdemes spórolni.



ott kell spórolni, ahol bottleneck van. ha framenként 2 milliószor megcsinálod a piszlicsárét, és amiatt szaggat a gecibe, akkor a piszlicsárén kell spórolni more

Ott a pont! Például kezdésnek mi értelme a glLoadIdentity()-nek glLoadMatrix() előtt, ráadásul 2x is?

(Idezet a glLoadMatrix() doksijabol: "glLoadMatrix replaces the current matrix..."
Dare to imagine!
http://www.insaneidea.hu
   
Geri - Törzstag | 2186 hsz       Online status #171462   2011.12.28 13:19 GMT+1 óra  
Idézet
proof88 :
sose ilyen piszlicsáré dolgokon próbálj spórolni ... add meg a módját a dolgoknak, az algoritmusokon optimalizálj! Keresgélj, olvass utána módszereknek, van-e jobb, stb. Ilyen bájtokon nem érdemes spórolni.



ott kell spórolni, ahol bottleneck van. ha framenként 2 milliószor megcsinálod a piszlicsárét, és amiatt szaggat a gecibe, akkor a piszlicsárén kell spórolni more

   
proof88 - Törzstag | 528 hsz       Online status #171432   2011.12.27 21:48 GMT+1 óra  
sose ilyen piszlicsáré dolgokon próbálj spórolni ... add meg a módját a dolgoknak, az algoritmusokon optimalizálj! Keresgélj, olvass utána módszereknek, van-e jobb, stb. Ilyen bájtokon nem érdemes spórolni.
   
Pretender - Törzstag | 2498 hsz       Online status #171431   2011.12.27 21:33 GMT+1 óra  
szükséged lehet rá például, ha deferred shadinget csinálsz, ott rögtön kell.

   
Asylum - Törzstag | 5440 hsz       Online status #171430   2011.12.27 21:33 GMT+1 óra  
Nem a mátrix invertáláson kell spórolni.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Eldor - Tag | 162 hsz       Online status #171428   2011.12.27 21:18 GMT+1 óra  
Nem akarok sporolni rajta, csak elmeleti sikon erdekel a dolog. Eddig meg mindenhol eltaroltam a teljes 4x4-es matrixot. Mondjuk invertalas eseten egy ilyen tulajdonsag kihasznalasa gyorsithatja az algoritmus futasi idejet. Bar nem tudom, hogy szuksegem lesz-e modelview matrix invertaltjara. Egyenlore meg nem latom sok ertelmet.

   
Asylum - Törzstag | 5440 hsz       Online status #171421   2011.12.27 16:01 GMT+1 óra  
Akár van akár nincs, ezzel nem jo ötlet spórolni.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
zeller - Törzstag | 464 hsz       Online status #171420   2011.12.27 15:39 GMT+1 óra  
A lenyeg, hogy homogen liearis transzformacioknal alul (0,0,0,1) van. Legalabbis igy remlik, de javitsatok ki, ha tevedek.

   
Eldor - Tag | 162 hsz       Online status #171403   2011.12.27 06:50 GMT+1 óra  
Bocs, elfelejtettem irni, hogy csak Modelview matrixra gondoltam.

   
fpeti - Törzstag | 1280 hsz       Online status #171398   2011.12.26 19:44 GMT+1 óra  
Projekciós mátrixnál lehet alul más is.
   
Eldor - Tag | 162 hsz       Online status #171393   2011.12.26 18:51 GMT+1 óra  
Egy 4x4-es matrix eseteben a legalso sornak van valamilyen specialis jelentese? En eddig csak ilyen matrixxal talalkoztam:

Kód:
m00    m10    m20    x
m01    m11    m21    y
m02    m12    m22    z
0      0      0      1


Ezzel a matrixxal az utolso oszlop hatarozza meg az eltolas merteket. A m00 -> m22 3x3-as matrix pedig a forgatast es az atmeretezest valositja meg.

Tehat a kerdes ujra, hogy ne kelljen visszaolvasni:
Az also sort szoktak barmire hasznalni? Fogok valaha talalkozni olyan matrixxal, amiben az also sor nem (0, 0, 0, 1)?

   
Pretender - Törzstag | 2498 hsz       Online status #171367   2011.12.25 10:47 GMT+1 óra  
tudom nem túl optimális a dolog, de akkor sem ésszerű, hogy alt-tab után megjavult, de a draw-ban most csak ennyi van:
Kód:
glMatrixMode(GL_PROJECTION);
glLoadIdentity();

Matrix proj = Matrix::PerspectiveFOView(Pi/4.0f, 4.0f/3.0f, 0.1f, 1000.0f);
glLoadMatrixf((const float*)&proj);

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

Matrix viewOrient = Matrix::RotationY(0.1f * a);
Vector3 eye = Vector3(0.0f,2.0f,-5.0f);
Matrix view = Matrix::LookAt(Vector3::Transform(eye,viewOrient),Vector3::Zero,Vector3::Up);
glLoadMatrixf((const float*)&view.m);

glPushMatrix();
{
Matrix world = Matrix::RotationY(a);
glMultMatrixf((const float*)&world.m);

glBegin(GL_TRIANGLES);

glColor3f(1,0,0);
glVertex3f(0,1,0);

glColor3f(0,1,0);
glVertex3f(-1,-1,0);

glColor3f(0,0,1);
glVertex3f(1,-1,0);

glEnd();
}
glPopMatrix();

Ha a push-pop közötti kód nincs, akkor fullscreenen normális sebességgel megy az üres képernyő alt-tab nélkül is.

   
Asylum - Törzstag | 5440 hsz       Online status #171363   2011.12.25 09:48 GMT+1 óra  
Visual studio pro-d van? Menüböl analyze -> launch performance wizard. Azzal meg tudod nézni, hogy hol tölti az idejét.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Pretender - Törzstag | 2498 hsz       Online status #171361   2011.12.25 08:34 GMT+1 óra  
Ilyesmi a baj nekem is, csak én win7-en vagyok sdl nélkül

   
Asylum - Törzstag | 5440 hsz       Online status #171320   2011.12.24 12:18 GMT+1 óra  
Ja sry, benéztem...de a pozicio is jo nyilván...
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Eldor - Tag | 162 hsz       Online status #171310   2011.12.24 10:48 GMT+1 óra  
A kodban, amit irtam a poziciot adom meg ( GL_POSITION ), nyilvanvaloan, ha a pozicio utolso koordinataja ( homogen koordinata ) inicializalatlan ( iranyitott feny eseten 0, pontfeny eseten 1 ), akkor furcsa jelensegeket tud produkalni ( nalam olyanok voltak a tunetek, mint amit Asylum leirt ). De ha a diffuse megvilagitas jol mukodik, akkor tobb, mint valoszinu, hogy tenyleg nem ez a gond.

   
Pretender - Törzstag | 2498 hsz       Online status #171307   2011.12.24 10:26 GMT+1 óra  
hogy jön a pozícióhoz a color?

   
Asylum - Törzstag | 5440 hsz       Online status #171305   2011.12.24 10:01 GMT+1 óra  
Nem hiszem, hogy ez a gond, mert nálam minden color érték 4 db float.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Eldor - Tag | 162 hsz       Online status #171301   2011.12.24 06:21 GMT+1 óra  
En akkor futottam bele ilyen " totál érthetetlen modon változik ahogy forog a kamera" jelensegbe, amikor nem adtam meg megfelelo meretu tombot.

Tehat peldaul igy hasznaltam:
Kód:
glLightfv(GL_LIGHT0, GL_POSITION, (float[]) {1.0, 1.0, 1.0})

es nem igy:
Kód:
glLightfv(GL_LIGHT0, GL_POSITION, (float[]) {1.0, 1.0, 1.0, 1.0})


De ha csak a specular rossz es a diffuse jo, akkor lehet, hogy nem jo a tippem.

   
Asylum - Törzstag | 5440 hsz       Online status #171297   2011.12.23 23:30 GMT+1 óra  
Megint ffp-s kérdés, remélhetöleg most már az utolso
Minden tökjo, kivéve a speculart; egyszerüen nem jelenik meg, pedig mindent beállitok (gdebuggerrel meg is néztem):

bal:dx, jobb: gl



A material propertyket igy állitom be:

Kód:
glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, diff);
glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, (GLfloat*)&Properties.Ambient);
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, (GLfloat*)&Properties.Specular);
glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, (GLfloat*)&Properties.Emissive);
glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, Properties.Power);


A fény poziciot meg minden frame elején beállitom:

Kód:
SetMatrixMode(GL_MODELVIEW);
glLoadMatrixf((GLfloat*)transforms[qTS_View].transform._m);

...

glLightfv(GL_LIGHT0, GL_POSITION, (GLfloat*)pos._v);


Bizonyos helyzetekben egyébként van specular de valami totál érthetetlen modon változik ahogy forog a kamera.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Pretender - Törzstag | 2498 hsz       Online status #171253   2011.12.23 13:30 GMT+1 óra  
már micsoda...? Az SW_RESTORE?
most néztem, hogy nem is úgy csináltam. na mind1
Ilyen SetWindowPos-om már volt, csak máshol, de ez valamivel tényleg jobb, mint ami volt.

A probléma továbbra is fennáll, ha fullscreenben indítom, akkor lemegy 40-50 fps-re, alt-tab után megjavul. Ötlet?

szerk.:
- fullscreen indítom, fps ~ 700
- 3mp múlva: 40
- 10mp várakozás -> ~700
- 3mp-en belül újra 40
- ezt ismételgeti.
Wtf?
vsync-el stabilan hozza a 60-at, nem megy alá.

Ezt a hozzászólást Pretender módosította (2011.12.23 13:42 GMT+1 óra, ---)

   
Asylum - Törzstag | 5440 hsz       Online status #171252   2011.12.23 13:23 GMT+1 óra  
10 böl egy kártyán biztos jo lesz, az összes többin nem.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Pretender - Törzstag | 2498 hsz       Online status #171246   2011.12.23 12:46 GMT+1 óra  
Amúgy aktiváláskor miért nem csak ShowWindow(SW_RESTORE)-t nyomsz?
Nálam is valami hasonló van, egy kevéske különbséggel.
A wglMakeCurrent miért szükséges? Ha elrejted az ablakot is, meg kikapcsolod a fullscreent, akkor jónak kell lennie.

Nálam így van:
Kód:
// deactivate
ChangeDisplaySettings(0, CDS_FULLSCREEN);
ShowWindow(handle, SW_MINIMIZE);

// reactivate
Show();
if (ChangeDisplaySettings(&screen, CDS_FULLSCREEN) != DISP_CHANGE_SUCCESSFUL)
{ /* ... */ }
glViewport(0, 0, width, height) // a biztonság kedvéért

// Show():
void Application_win::Show()
{
    ShowWindow(handle, SW_SHOW);
    //SetActiveWindow(handle);
    SetForegroundWindow(handle);
    SetFocus(handle);
}

És végülis így működik, csak mondom első indításra lebattyog 40-50 fps körülre, ottmarad, de alt-tab után megjavul...

   
Asylum - Törzstag | 5440 hsz       Online status #171243   2011.12.23 12:33 GMT+1 óra  
Na ez egy nagyon jo kérdés, ezzel mi is rengeteget szivtunk ám (föleg amikor open/save dialogot is fel akarsz hozni). Nálam a következöképpen megy:

Kód:
case WM_ACTIVATE:
case WM_ACTIVATEAPP:
    switch( wParam )
    {
    case WA_INACTIVE:
        if( instance->active )
        {
            instance->HideFullscreenWindow();

            instance->active = false;
            instance->deactivated();

            Console() << "qWin32Application::Deactivate()\n";
        }
        break;

    case WA_ACTIVE:
    case WA_CLICKACTIVE:
        if( !instance->active && instance->state != qWS_Minimized )
        {
            instance->ShowFullscreenWindow();

            instance->active = true;
            instance->activated();

            Console() << "qWin32Application::Activate()\n";
        }
        break;

    default:
        break;
    }

    break;
}

void qWin32Application::HideFullscreenWindow()
{
    if( hrc && !windowed )
    {
        ShowWindow(hwnd, SW_MINIMIZE);
        ChangeDisplaySettings(NULL, 0);

        bool success = (0 != wglMakeCurrent(hdc, NULL));
    }
}

void qWin32Application::ShowFullscreenWindow()
{
    if( hrc && !windowed )
    {
        SetWindowPos(hwnd, HWND_TOP, 0, 0, dimension.x, dimension.y, SWP_SHOWWINDOW);
           
        if( DISP_CHANGE_SUCCESSFUL != ChangeDisplaySettings(&devmode, CDS_FULLSCREEN) )

        bool success = (0 != wglMakeCurrent(hdc, hrc));
    }
}


Ez eddig mindig jol müködött (ellenben a dx-el ami viszont dual monitor esetében nem képes fullscreenbe váltani).

Ezen kivül semmi mást nem kell csinálni (megintcsak szemben azzal az agyalágyult dx-el).
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Pretender - Törzstag | 2498 hsz       Online status #171205   2011.12.22 20:47 GMT+1 óra  
ha egy fullscreenes ablakból alt-tabolok, majd vissza, akkor miket kell visszaállítani? Mindenféle glEnable/Disable, illetve egyéb "renderstate"-hez hasonló dolgot?
Jelenleg amit biztosan nyomok, az egy glViewport. Másra van szükség?

Illetve ha már fullscreen, a nehe-s tutorialban úgy olvastam, hogy a fullscreent az ablak létrehozása előtt kell beállítani (ChangeDisplaySettings)

szerk.:
Meg történik ilyen furcsaság, hogy elindítom fullscreenben, az FPS pár mp múlva lezuhan 40-re, akörül mozog... ha alt-tabolok, aztán meg vissza, akkor meg megjavul. WTF?

   
Pretender - Törzstag | 2498 hsz       Online status #171190   2011.12.22 18:26 GMT+1 óra  
jól sejtem ennek az interleaved dolog performanciális okok miatt létezik? Azt hiszem amúgy értem, hogy mi van, köszi. Lesznek még ilyesmi kérdéseim

szerk.:
Kód:
glDepthMask = depth write enable / disable
glEnable/glDisable ( GL_DEPTH_TEST ) = depth read

Most még csak ilyen teszt háromszögek vannak bent, ha mind a kettő be vagy ki van kapcsolva, akkor jó, viszont ha a depth write ki, a depth read pedig be van kapcsolva, akkor nem látszik semmi. Miért nem?
Kód:
glClearDepth(1.0f); // nyilván initnél, nem mindig
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

ennek nem úgy kellene működnie, hogy akkor nem írja bele a depth bufferbe az értéket, viszont a már bennlévő értékkel dolgozik?

szerk.2.:
áhá, hogy a clear erejéig vissza kell állítani!

Ezt a hozzászólást Pretender módosította (2011.12.22 18:56 GMT+1 óra, ---)

   
syam - Törzstag | 1491 hsz       Online status #171179   2011.12.22 13:39 GMT+1 óra  
Idézet
Pretender :
Idézet
syam :
Vagy mindent vbozol vagy semmit. A vegyes felhasználás egész szép eredményt produkálhat különösen ATI kártyákon.


Tehát akkor olyat ne csináljon az ember, hogy a tényleges scene-t vbo-zza, a fullscreen quadot meg mondjuk nem, csak "simán" kirajzolja? Vagy azért ezt lehet?



Egy draw híváshoz tartozó adatokra vonatkozik ez a szabály.
alias aalberik
   
Frissebbek | 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]