Elkezdtem integrálni a multiple render target és az MSAA supportot az enginebe. Az eddigi koncepció egy részét ki kellett dobni (push/poprendertarget). Nyilván mint mindig DirectX-el össz 20 sor (és alig kellett módosítani), OpenGL-el viszont több száz...
Két flag van amit meg lehet adni textúra kreáláskor: rendertarget és renderattachment. A megkülönböztetés azért kell, mert míg a rendertargetnek van saját FBO-ja, addig a renderattachmentnek nincs. Azaz utóbbi vagy egy rendertargethez csatolható (ha be volt állítva), vagy a default framebufferhez.
Rendertargetet csak a 0-s unitba lehet berakni, attachmentet viszont bárhova. Ha egy unitba nem akarsz már renderelni, akkor NULL-t kell megadni. Ez megint csak OpenGL-ben a problémásabb, mert detacholni kell az attachmenteket. Az optimalizálhatóság érdekében megadható kétféle flag.
Az egyik flag azt mondja meg, hogy ne detacholódjanak a targetek (mert mondjuk nemsokára használni kell megint). A másik flag pedig arra ad egy hintet, hogy mikor hívjon az engine glDrawBuffers()-t.
Offscreen rendertargetet a CreateOffscreenMSAATarget() metódussal lehet majd csinálni.