[ reiser @ 05.03.2014. 15:07 ] @
Da li se neko zezao sa DirectX-om u Delphiju? Konkretno bih trebao da odradim 2D igru, trenutno iscrtavam sve pomocu GDI-ja, ali posto imam 50+ layera i javlja se potreba za animacijama, treba mi neko bolje resenje od iscrtavanja promocu GDI-ja. Poceo sam da radim sa AsphyreSphinx frameworkom (http://www.afterwarp.net/products/asphyresphinx3), i sve radi super, medjutim u jednom trenutku mogu da budu otvorena 4-5 ista prozora igre koja renderuju scenu, a ne mogu da se snadjem u Asphyre-u kako da ovo izvedem. Cini mi se da nemaju bas najsrecnije odradjenu podrsku za ovo, ili nesto ne znam. Pokusao sam da dodam elemente u SwapChain, po jedan za svaki prozor, pa da renderujem odredjeni element po prozoru, ali mi ne radi kako treba, javljaju se cudni glitchevi. Pokusao sam i da kreiram po jedan DX device za svaki prozor, ali ni to ne pije vodu.
[ Rapaic Rajko @ 06.03.2014. 17:19 ] @
A da dodas thread-ove za dodatne prozore?

Koliko se secam rada sa Asphyre komponentima, DirectX engine sve sto mu nabacujes baferuje, a prikaz odradjuje sam hardver kartice. Prema tome, probaj da radis rendering iz thread-a (ili vise njih).

Pozz

P.S. Davno bilo, pa ako sam nesto omasio, nije namerno... ali se bas secam da sam radio/crtao iz (bar jednog) worker thread-a.
[ reiser @ 06.03.2014. 17:27 ] @
Hvala, resio sam problem u medjuvremenu. Moja ideja je bila da koristim po jedan element u swapchainu za svaki prozor (sto je i najbolje resenje za renderovanje vise prozora, koliko sam izguglao) umesto pravljenja posebnog device-a za svaki prozor, ali mi Asphyre nije dozvoljavao da dodam novi element (kada se otvori nova forma) u chain, jer je device already in use. Tako da sam kreirao dummy window sa AllocateHwnd(), unapred dodao 32 elementa sa tim wnd handleom, i onda kada se otvori novi prozor, prodjem kroz swapchain array, nadjem prvi element koji ima dummy window hwnd, zamenim ga sa handleom prozora u kojem treba da se iscrtava i to radi perfektno. Kada se zatvori prozor, taj element samo resetujem nazad na dummy hwnd, kako bi sledeci prozori mogli da ga koriste.