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

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2197
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] [31]
Elodin - Tag | 184 hsz       Online status #210988   2017.02.08 20:21 GMT+1 óra  
Depth of field posteffect problémát akarom fixálni transparent object-ekre úgy, hogy elmentem a tényleges depth-et is transparent objecteknél külön.

Ping-pong-ra gondoltam én is első körben, de sajnos akkor minden írás után másolni kéne a textúrát, az pedig egy kicsit meh-nek hangzik

   
Instalok - Tag | 619 hsz       Online status #210987   2017.02.08 19:47 GMT+1 óra  
Legrosszabb esetben shaderben meg lehet csinálni. Persze ez az egész csak akkor értelmes, ha egyetlen csatornád van (pl. shadow map), mert RGB esetén hogy definiálod, hogy "az értéke nagyobb"?

Nomeg az fontos, hogy abba a textúrába írni, amiből olvasol az tudtommal undefined behaviour, szóval double-buffered textúra kell.

   
Elodin - Tag | 184 hsz       Online status #210985   2017.02.08 16:05 GMT+1 óra  
Tudok úgy írni textúrába, hogy csak akkor írjak, ha az érték amit írni akarok, nagyobb, mint az eredeti, ami benne volt?

   
Asylum - Törzstag | 5500 hsz       Online status #209643   2016.05.24 16:02 GMT+1 óra  
Kedvencem, amikor regressziós hibaként beírják, hogy ami eddig is rossz volt az most máshogy rossz (és emiatt bukik az autotest-jük). Persze, hogy máshogy rossz, újraírtuk az engine-t...
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Elodin - Tag | 184 hsz       Online status #209642   2016.05.24 14:11 GMT+1 óra  
Köszi, közben megtaláltam, mégiscsak maga a textúra volt rossz, csak nem vettem észre, mert más slot-ra került, mint gondoltam.

Nincs is jobb, mint olyan kódon dolgozni, amit már előtte éveken keresztül mások kalapáltak, főleg, ha nincs komolyabb tapasztalatom az adott technológiát illetően

És főleg, ha közben még mások is dolgoznak, tehát ha vmi múlthéten még működött, ma már nem, az nem is feltétlen az én hibám

   
Instalok - Tag | 619 hsz       Online status #209641   2016.05.24 13:47 GMT+1 óra  
Textúraformátum? Filtering? Kód?

   
Elodin - Tag | 184 hsz       Online status #209640   2016.05.24 13:17 GMT+1 óra  
Próbálok olvasni egy textúrából shaderben, de mindig 0-kat kapok.
A koordináták jók, mert másik textúrából (ugyanakkora) jól olvasok.
A bindolás jó elvileg - visual studio-ban meg tudom nézni, és az van felbindolva, aminek fel kell lennie, a képet is meg tudom nézni, azzal sincs gond.

Bármi elképzelés, hogy mi lehet a gond?

   
Instalok - Tag | 619 hsz       Online status #209607   2016.05.17 18:10 GMT+1 óra  
@syam:
Én kérek elnézést

   
Geri - Törzstag | 2197 hsz       Online status #209606   2016.05.17 16:18 GMT+1 óra  
bocs, meg mertem volna esküdni, hogy az opengl topikhoz szólok hozzá O_O
de mindegy, dx-re ugyanez vonatkozik

   
syam - Törzstag | 1491 hsz       Online status #209605   2016.05.17 16:14 GMT+1 óra  
Idézet
Instalok :
Geri, ez DirectX topic, nincs glu



Ne légy szűk látókörű

https://www.opengl.org/registry/specs/NV/DX_interop.txt
https://www.opengl.org/registry/specs/NV/DX_interop2.txt
alias aalberik
   
Instalok - Tag | 619 hsz       Online status #209604   2016.05.17 15:59 GMT+1 óra  
Geri, ez DirectX topic, nincs glu

   
Asylum - Törzstag | 5500 hsz       Online status #209603   2016.05.17 15:52 GMT+1 óra  
Geri - Törzstag | 2197 hsz       Online status #209602   2016.05.17 14:42 GMT+1 óra  
automipmapgeneration esetén - amelyet külön be lehet kapcsolni textúránként egy extension megléte esetén - automatikusan updatelődik. ellenkező esetben neked kell egyesével feltölteni, vagy a glu beépített textúrafeltöltős mipmapgenerációs hülyeségét használva f4eltölteni a textúrát.

   
Elodin - Tag | 184 hsz       Online status #209600   2016.05.17 13:05 GMT+1 óra  
Ha van egy textúrám, amibe renderelek, és annak több mipmap szintje van, akkor mi történik a szintekkel?

Mind feltöltődik értelmes értékkel automatikusan, vagy oda külön tudok írni valahogy?
Ha igen, akkor hogy?


Olyat tudok, hogy egy shaderben olvasok egy szintről, és írok egy másikra?

   
Geri - Törzstag | 2197 hsz       Online status #207373   2015.04.01 15:20 GMT+1 óra  
tökéletesen egyetértek parallaxxal. igazából annyi infó és algoritmus van ma már fent neten, hogy akár néhány napon belül is össze lehet rakni egy működőképes, a célnak megfelelő 3d enginet, ha valaki ezt akarja.

   
Parallax - Tag | 609 hsz       Online status #207353   2015.04.01 13:36 GMT+1 óra  
Nem feltétlenül igaz az, hogy több idő saját engine, mert más motornak is van egy tanulási ideje főleg, ha még sokat is tud annál bonyolultabb, míg saját engine-t az ember pontosan ismeri és tudja használni, módosítani is külön betanulási idő nélkül. Lehet hogy többet tud más engine, mert univerzálisan mindenkinek meg kell felelnie, míg saját engine-nek csak arra a pár feladatra jó, amire használom ahhoz a következő 3-4 játékhoz., amire nekem éppen kell. Viszont saját engine-nél a tanulási idő szakmailag is tapasztalatot hoz, míg más engine-nél ahol mondjuk az Unreal script megszűnt gyakorlatilag ablakon kidobott fölösleges tudás és elpazarolt idő, amit semmire nem tudok felhasználni.

   
DieToBorn - Tag | 32 hsz       Online status #207347   2015.04.01 11:02 GMT+1 óra  
Saját engine jobb is meg nem is... Jobb mert a képességei csak tőlünk függ és mert a teljes legapróbb részleteiben ismerjük.. Ellenben azért rosszabb amiért egy másik engine használata jobb.. Időt spórol vele az ember és lehet többet tud... Ugyanakkor kitudja hogy miféle algoritmusok futnak alatta és hogy az mennyire hatékony..

   
Elodin - Tag | 184 hsz       Online status #207285   2015.03.27 12:55 GMT+1 óra  
Azért elég sok cégnél van saját game engine jelenleg Valakinek azt is fejlesztenie kell

   
Parallax - Tag | 609 hsz       Online status #207282   2015.03.27 12:33 GMT+1 óra  
Már most is még szakmai körökben is egyféle underground területté vált ez és az alacsonyszintű API-kkal méginkább el fog tűnni a programozás, mindenki valami engine-t fog használni.

   
Asylum - Törzstag | 5500 hsz       Online status #207273   2015.03.27 10:20 GMT+1 óra  
DirectX 12 dokumentáció:

https://msdn.microsoft.com/en-us/library/windows/desktop/dn899121%28v=vs.85%29.aspx

Érdemes már most olvasgatni, mert ez egy teljesen új irány. Kiváncsi vagyok, hogy vajon mennyiben fogja ez érinteni a 3D grafika iránti érdeklődést (vajon tovább szűkül-e a szakma).
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Bennyg - Tag | 2 hsz       Online status #204163   2014.07.17 06:42 GMT+1 óra  
Köszönöm a segítséget. A buffer lekérés volt a hiba, hogy Dx11-esre akartam 10-est rátenni. Ez inkább olyan tanulság, hogy nem hajnali 1-kor csinálok ilyen programot .

   
fpeti - Törzstag | 1295 hsz       Online status #204157   2014.07.16 15:35 GMT+1 óra  
NINJAD!

Kipróbáltam a projektet vs2010-el, debuggolva, nálam is itt akadt el, de nem fagy (win7 alatt)
Kód:
if (FAILED(result))
{
  DXTRACE_MSG("Failed to get the swapchain backbuffer !");
  return false;
}

result = E_NOINTERFACE miatt. (ez az interface nem támogatott.)
Egyébként előtte minden jól ment, dx11 level és hardware-es driver is jó volt.
Én egyébként e szerint csináltam: rastertek, ez megy. Van benne pár extra sor a swapchain flag-eknél:
Kód:
// Set the scan line ordering and scaling to unspecified.
swapChainDesc.BufferDesc.ScanlineOrdering = DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED;
swapChainDesc.BufferDesc.Scaling = DXGI_MODE_SCALING_UNSPECIFIED;

// Discard the back buffer contents after presenting.
swapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD;

// Don't set the advanced flags.
swapChainDesc.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH; // Alt+Enter from fullscr to windowed

De ezzel is ugyanaz van.

Na, csak rájöttem:
rossz:
Kód:
result = swapChain_->GetBuffer(0, __uuidof(ID3D10Texture2D), (LPVOID*)&backBufferTexture);

jó:
Kód:
result = swapChain_->GetBuffer(0, __uuidof(ID3D11Texture2D), (LPVOID*)&backBufferTexture);

Kipróbáltam dx10 level-el, akkor sem jó a 'ID3D10Texture2D'.
   
Asylum - Törzstag | 5500 hsz       Online status #204156   2014.07.16 15:22 GMT+1 óra  
@Bennyg: hogy fordul ez nálad egyáltalán?

Kód:
dx11demobase.cpp(64): error C2601: 'featureLevels' : local function definitions are illegal


- D3D11_CREATE_DEVICE_DEBUG nem mukodik ha nincs engedelyezve (el is szallt tole ugyh kivettem).

- ez itt miért dx10??

Kód:
result = swapChain_->GetBuffer(0, __uuidof(ID3D10Texture2D), (LPVOID*)&backBufferTexture);


kb. ennyi, ezek javítása után müködik. Btw. ezért nem szabad könyvből tanulni... -.-

szerk.: sdf és obj fájlokat ne rakd be a zipbe mert kibaszott nagyok...

Ezt a hozzászólást Asylum módosította (2014.07.16 15:31 GMT+1 óra, ---)
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Asylum - Törzstag | 5500 hsz       Online status #204155   2014.07.16 14:58 GMT+1 óra  
@Dookle: offscreen rendertargetbe renderelj, ne a backbufferrel mókolj mert szarrá hal a driver.

@NaGa: az objektumokat kirajzolod egy egyedi színnel (ami akár egy tömb index vagy pointer is lehet), és visszaolvasod a backbufferből az egér alatt.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Bennyg - Tag | 2 hsz       Online status #204154   2014.07.16 13:04 GMT+1 óra  
Sziasztok !

Mostanában kezdtem bele én is a DirectX11 tanulásába. A példákat az alábbi könyv alapján csinálom: http://ultimategameprogramming.com/
Az alap alkalmazás jól fut és létrejön az ablak is.
Amikor összekötöm a D3D-vel az alábbi 2 kivétellel elszáll a program:

Unhandled exception at 0x76E51D4D (KernelBase.dll) in BlankD3DWindow.exe: 0x0000087D (parameters: 0x00000000, 0x00F1E20C, 0x00F1D644).
majd continue után:
Unhandled exception at 0x654F1F1E (d3d11.dll) in BlankD3DWindow.exe: 0xC0000005: Access violation reading location 0x00000001.

A csatolt fájlban ez a Dx11DemoBase.cpp
bool DX11DemoBase::Initalize(HINSTANCE hInstance, HWND hWnd) meghívásnál történik az alábbi sorban:
result = swapChain_->GetBuffer(0, __uuidof(ID3D10Texture2D), (LPVOID*)&backBufferTexture);

A példákat VS2013 Express for Windows Desktop és Windows 8.1 operációs rendszer alatt fejlesztem.

Ha valaki tud segíteni nagyon hálás lennék.
Segítséget előre is köszönöm.

A projektet itt osztottam meg:
https://onedrive.live.com/redir?resid=8E7574DABEC0E9A!1112&authkey=!APB-ww4wPOgUvl0&ithint=file%2c.zip

   
NaGa - Tag | 3 hsz       Online status #199074   2013.11.13 19:19 GMT+1 óra  
Sziasztok! A segítségeteket szeretném kérni abban,hogy hogyan lehetne több 3D Objektumból egyet egér kattintással kiválasztani? Már néztem több példát,de egyik se vált be igazán.

C# Kódrészlet:
Kód:
Vector3 near = new Vector3(mouseX, mouseY, 0);
Vector3 far = new Vector3(mouseX, mouseY, 1);
               
near.Unproject(device.Viewport, device.Transform.Projection, device.Transform.View,device.Transform.World );

far.Unprojectdevice.Viewport, device.Transform.Projection, device.Transform.View,device.Transform.World );

bool intersects = Mesh[i].Intersect(near, far, out closestIntersection);


A válaszotokat előre is köszönöm!
Valaki egyszer azt mondta:
„Programozó vagyok. Ez azt jelenti, hogy minden, amit leírok, megtörténik.”
http://nagadev.wordpress.com
   
Dookle - Tag | 478 hsz       Online status #197990   2013.10.05 21:40 GMT+1 óra  
Helló dx9 fullscreen modeban lehet valahogy a backbuffer méretet customra állítani ? Azaz valami olyan értékre amit nem támogat a grafikus kari ?
Elmondom mi a gondom : befejeztem a szép kis 2d játékomat de valahogy meg szeretném oldani hogy fullscreenben egyszerűen adaptáljam a rezolúciót külöböző felbontáshoz/ aspect ratiohoz. Szeretném elkerülni hogy több féle méretben gyártsam le a texturákat.

Tehát valami olyan megoldás kellene amivel strech-elhetem a backbuffert...
pl fullscreen resolution legyen 1920*1080 , de a backbuffer legyen 960*540

Amíg a game nincs fullscreenben addig minden oké mert ha egy 960*540-es ablakba renderelek és nyomok 1 maximize-t akkor szépen stretcheli az egész backbuffert és minden pöpecül ki van nagyítva , de fullscreen modeban ugye nincs ilyen támogatott formátum hogy 960*540...

Esetleg : Az rossz megoldás hogy fake fullscreenben futtatom ? (

Kód:
window = CreateWindowEx(
  WS_EX_TOPMOST,
  "STATIC",
  "Game",
  WS_POPUP|WS_VISIBLE |WS_VISIBLE
  ,0,0,winWidth,winHeight,
  0,0,GetModuleHandle(0),0);

// és hagyom a windowed flagot TRUE-on ?

D3DPRESENT_PARAMETERS d3dpp;

d3dpp.Windowed = TRUE;
d3dpp.BackBufferWidth = winWidth;
d3dpp.BackBufferHeight = winHeight;



Thanks előre is.

EDIT :

Sikerült a D3DSWAPEFFECT_COPY és a device->Present(sourceRect , destRect) kombinációjával megoldani...

Ezt a hozzászólást Dookle módosította (2013.10.05 22:21 GMT+1 óra, ---)
STEVIE RAY VAUGHAN FOREVER !!!!!

http://pinkcatgames.ucoz.com/
   
echo_97 - Tag | 7 hsz       Online status #196762   2013.08.14 20:41 GMT+1 óra  
rendben...
most hogy a vertexbuffer kérdése megoldódott a DX devicet kell már csak működésre bírnom (yet again)
köszi a segítséget
és a türelmet

   
Pretender - Törzstag | 2498 hsz       Online status #196756   2013.08.14 10:08 GMT+1 óra  
Lockolni / unlockolni csak egyszer kell statikus data-t. Ráadásul a vertices-t ha az initben definiáltad, akkor az a függvényhívás végére fel is szabadult...

   
echo_97 - Tag | 7 hsz       Online status #196754   2013.08.14 09:18 GMT+1 óra  
a kóddal az a baj hogy rage delete-tel megszabadultam tőle...
a tömböt amúgy []-val definiáltam (ahogy az meg volt írva)
de ha jól emlékszem akkor a kód így nézett ki:
Kód:
//Definiálom a vertex buffert
LPDIRECT3DVERTEXBUFFER9 vertexBuffer;
//....... kód itt csak a szokásos windows cucc

void initD3D(HWND hWnd)
{
       //.....itt létrehozom az objectet+ a devicet
       //......
       //megkreálom a vertexBuffert
      d3dDevice->CreateVertexBuffer(4*sizeof(CUSTOMVERTEX),
                                                                 D3DUSAGE_WRITEONLY,
                                                                 D3DFVF_CUSTOMVERTEX,
                                                                 D3DPOOL_MANAGED,
                                                                 &vertexBuffer,
                                                                 NULL)
     CUSTOMVERTEX vertices[]{
                                                        {-1.0f,-1.0f,1.0f,/*a színe*/}
                                                        {-1.0f,1.0f,1.0f,/*a színe*/}
                                                        {1.0f,1.0f.1.0f,/*a színe*/}
                                                        {1.0f,-1.0f,1.0f,/*a színe*/}
                                                        }
}

void render()
{
        CUSTOMVERTEX * pVertices
        vertexBuffer->Lock(0,sizeof(vertexBuffer),(void**)&pVertices,0)
        //ui: a 2. paramétert lehetne 0 is de nekem így könnyebben olvasható a kód
        memcpy(pVertices,vertices,sizeof(vertices));//ezt megúszhatnám azzal hogy itt helyben adom be neki  az infót de túl kényelmes vagyok
        d3dDevice->Clear(0,NULL,D3DCLEAR_TARGET,D3DCOLOR_XRBG(0,125,125),1.0f,0)
        d3dDevice->BeginScene();
                  //itt megpróbálom kirajzolni a képernyőre a vertex buffert
        d3dDevice->EndScene();
}


a kódból szándékosan kihagytam néhány nem oda való dolgot(szerintem senkit nem érdekel hogy a rózsaszín épp melyik árnyalata volt a négyzetem ),csak a problémás darabokat hagytam benne
és pluszba lehet rájöttem mi volt a hiba , a render függvényben próbáltam betölteni az adatokat és lehet azt nem szereti(mert nem dynamic flaggel volt deklarálva)

   
Pretender - Törzstag | 2498 hsz       Online status #196740   2013.08.13 21:02 GMT+1 óra  
Most akkor futásidőben vagy fordításidőben? Nagyon nem mindegy.
new-al hozod létre, vagy []-el definiáltad?

Nem azzal lesz a gond, csak a locknál száll el. Kód nélkül továbbra sem tudunk mit mondani...

   
echo_97 - Tag | 7 hsz       Online status #196736   2013.08.13 20:29 GMT+1 óra  
ahogy mondtam újra kezdtem az egészet....
és most már arra szintre jutottam hogya DirectX se inicializálódik -.-"
leellenőrzök mindent (projekt settingsbe, linkernél, kódot átnézem hogy minden ugyanaz-e mint a tutorban, stb.) de meghalt és nem tudom feléleszteni... lehet akkor megtudnám ha lehetne a DXem debug módban, amit tudok is hogy hol kell beállítani csak ki van szürkézve

ja amúgy Pretender a vertices az persze hogy futásidőben ismert(4 vertex adatait kell tartalmaznia(4*sizeof(CUSTOMVERTEX) ) ), azzal semmi baj nincs,a vertexbuffert tökéletesen megkreálja, az sem NULL, a pVerticessel meg nincs teljesem megbarátkozva mert ha void* -ra rakom akkor baja van hogy nincs inicializálva(ergo nem tudunk vele dolgozni(ahogy te mondtad)) ha meg initelem(mondjuk rádobom egy (teljesen) üres memória területre)és aztán (tudtommal érvényesen) leadom a lock függvénynek, akkor meg nem mutat rá a megfelelő helyre(i.e.: a lockolt memória területre), és még egy memory leak exceptiont is kapok szóval.....

   
Pretender - Törzstag | 2498 hsz       Online status #196485   2013.08.01 21:04 GMT+1 óra  
Amúgy a vertices változó hogy van definiálva? Az egy fordításidőben ismert méretű tömb?
A pVertices meg lehet nyugodtan void* is.
A vertexBuffer tuti nem nullpointer? Esetleg a létrehozását is be tudod másolni? (CreateVertexBuffer)

   
echo_97 - Tag | 7 hsz       Online status #196479   2013.08.01 18:16 GMT+1 óra  
hozzá teszem volt már egy működő verzióm.
csak ott nem volt a geometria látható...
elfelejtettem az alpha channelt 255-re állítani

   
echo_97 - Tag | 7 hsz       Online status #196478   2013.08.01 18:13 GMT+1 óra  
Nem csak copy pastelek(mostmár )

2 a kódban csak a hibás részt írtam le, előtte már megvolt a vertex bufferem.
amennyit kiszedtem belőle az az volt hogy a vertex buffer feltöltéséhez szügséges pointer(amit a kódban is kommenteltem) a baja, a vertex buffer éldegél csak nem lehet lockolni....
vagyis lehet de nem akarja.
amugy az egész projekt egy kicsit "messy" volt szoval inkább egy kicsit több odafigyeléssel elölről kezdem a tanulmányaim

a pointereket meg köszi, ezt a részt soha nem értettem igazán (kezdők... tut-tut)

   
Pretender - Törzstag | 2498 hsz       Online status #196476   2013.08.01 15:18 GMT+1 óra  
Tanulj meg c++ul... és semmi köze nincs a VC2010-hez Ne csak copy-pastelj, hanem értsd is meg a kódot...

Na jó, leszek kicsit konstruktívabb... A pointer egy memóriaterületre mutat. A null, az a "sehol sincs" terület, tehát nem mutat úgymond sehova. Ha te egy ilyen valamin akarsz végrehajtani valamit, akkor "nullpointer exception" (az első hibád)
Ha nem állítod nullra, akkor nem eldönthető, hogy milyen értéket kap, tehát inicializálatlan (2. hibád)

Először hozz is létre egy vertex buffert, és utána próbáld lockolni. Ekkor az fog történni, hogy ha sikerült létrehozni, akkor kap egy valós címet a pointer, és azon már tudsz operálni.

   
echo_97 - Tag | 7 hsz       Online status #196473   2013.08.01 13:01 GMT+1 óra  
jolvan....
ez a VC2010 megőrült....
rájöttem melyik pointer NULL(igazából újraírtam az egészet),

Kód:
CUSTOMVERTEX* pVertices=NULL;//<- ez volt itt a hiba
if(FAILED(vertexBuffer->Lock(0,sizeof(vertices),(void**)pVertices,0)))
{
MessageBox(NULL,"Could not fill in the vertex buffer","Error",MB_OK);
return E_FAIL;
}
memcpy(pVertices,vertices,sizeof(vertices));
vertexBuffer->Unlock();


na mármost, ha kitörlöm hogy "=NULL", akkor meg azért rinyál hogy a pVertices nincs inicializálva....
és kérdésem az lenne hogz akkor mégis hogya hellbe lehetne azt megoldani minketten örüljenek?

   
echo_97 - Tag | 7 hsz       Online status #196472   2013.08.01 12:50 GMT+1 óra  
köszi

   
versio - Tag | 673 hsz       Online status #196470   2013.08.01 09:41 GMT+1 óra  
egyik pointerben nulla van
   
echo_97 - Tag | 1 hsz       Online status #196468   2013.08.01 09:12 GMT+1 óra  
Sziasztok!

Egy kicsit még új vok a DXhez (2 hete kezdtem) és mikor elkezdem lockolni a Vertex Bufferem, a program futás közben azt adja ki h :

Error
Unhandled exception at 0x00a6185e in Test2.exe: 0xC0000005: Access violation reading location 0x00000000.[/quote

Bármit csinálok ezt adja ki, és nem tok rájönni mért
tudna valaki segíteni????

   
Dookle - Tag | 478 hsz       Online status #194514   2013.06.04 12:18 GMT+1 óra  
Idézet
Asylum :
Hát talán az alapokkal kéne kezdeni...



Pont ezért csinálok 2d spriteos játékot rimejk... Nemmondom meg mi... najó megmondom : battle city
STEVIE RAY VAUGHAN FOREVER !!!!!

http://pinkcatgames.ucoz.com/
   
Asylum - Törzstag | 5500 hsz       Online status #194492   2013.06.03 18:29 GMT+1 óra  
Hát talán az alapokkal kéne kezdeni...
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Dookle - Tag | 478 hsz       Online status #194488   2013.06.03 17:23 GMT+1 óra  
Hát nemtom... van 1 darab texturam ha azt releasolom akkor a 11 ref lemegy 2-re. Hiába keresek rá a dx9 Release metódus leírására folyamat a dx9 release dátumával traktál ez a hülye gugli... .

De ha már van ref countere akkor logikus lenne ha törlöm a d3d interface-t , láncreakció szerűen annak törölnie kellene minden odatartozó devicet , a device pedig minden resourceot , meg a marhaságait ... vagy nem így van?

EDIT : na volt még egy darab sprite is eldugva valahol a kód legsarkában...most hogy ezt is releasoltam meg a textúrát is akkor a device 0-ad vissza végre... Hiába... ez az első dx9 -es gámám !!!
STEVIE RAY VAUGHAN FOREVER !!!!!

http://pinkcatgames.ucoz.com/
   
Asylum - Törzstag | 5500 hsz       Online status #194467   2013.06.02 21:56 GMT+1 óra  
Azt te tudod waze
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Dookle - Tag | 478 hsz       Online status #194455   2013.06.02 18:52 GMT+1 óra  
Idézet
Asylum :
Azért mert létrehozol 11 textúrát.




11-et ?? Hol ?
STEVIE RAY VAUGHAN FOREVER !!!!!

http://pinkcatgames.ucoz.com/
   
Pretender - Törzstag | 2498 hsz       Online status #194454   2013.06.02 18:47 GMT+1 óra  
Ja-ja, ez semmiképpen ne maradjon így, mert ez így leakel. Ami csak azért gond, mert így folyamatosan töltöd fel a videókártya memóriájába a cuccokat anélkül, hogy felszabadítanád, ami egy idő után megtelik, és ki tudja mi lesz vele.

   
Asylum - Törzstag | 5500 hsz       Online status #194453   2013.06.02 18:40 GMT+1 óra  
Azért mert létrehozol 11 textúrát.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Dookle - Tag | 478 hsz       Online status #194452   2013.06.02 18:30 GMT+1 óra  
Hali ! Van egy sima dx9 device-om.Egy osztály destructorába szeretném ezt release-olni. A release() metódus elvileg az aktuális ref countot kell hogy visszadja... Tehát jelenleg a játék olyan stádiumban van hogy van egy deviceom és kb ennyi... sehol nem használom az addRef-et és mégis a device->Release() 11-et ad vissza ???... Ez normális dolog ? Mert ugye amíg a release() nem ad vissza 0-át addig a device nincs törölve...

Most úgy oldottam meg hogy :

Kód:
while( device->Release() > 0) {}


Ami működik , de sztem ez így nem túl jó meoldás...
Valami ötlet hogy miért 11 a reference counter rögtön CreateDevice után ???
STEVIE RAY VAUGHAN FOREVER !!!!!

http://pinkcatgames.ucoz.com/
   
Pretender - Törzstag | 2498 hsz       Online status #193934   2013.05.12 12:12 GMT+1 óra  
DirectInput:
Vannak ezek a csoda keycode-ok, meg van egy saját kis enumom, amiben szépen felsoroltam a keyhez bindelhető cuccokat. Na már most az a baj, hogy nem teljesen mindegy, hogy milyen billentyűzetkiosztáson vagyunk, mert megcsináltam a mapet, valahogy így:
keyMap[InputKey::Y] = DIK_Y;
illetve csináltam egy invertáltat, ami a directinputos key code alapján megmondja az enumom melyik eleme az.
Alapvetően tök jól működik, csak ott van pl. a 0 (nulla) meg az y/z, ami ugye layout függő, hogy melyik keycode. Én például mivel magyart használok, így a DIK_0 az nekem az ö betű, a DIK_Y pedig a z. Hogy lehet ezt szépen lekezelni, hogy a megfelelő saját enumhoz egy jó keycode tartozzon?

szerk.:
Oké, kidobtam a DirectInputot, maradt helyette GetKeyboardState, aztán az meg jól működik

Ezt a hozzászólást Pretender módosította (2013.05.12 14:31 GMT+1 óra, ---)

   
Pretender - Törzstag | 2498 hsz       Online status #193454   2013.04.16 20:39 GMT+1 óra  
Fú, nagyon jó vagy

Írjál róla valahova valami hasznos infót, mert... hasznos

   
Korábbi postok
> 1 < [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [31]