játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5512
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] [31]
HomeGnome - Szerkesztő | 2919 hsz       Online status #145792   2011.01.03 15:37 GMT+1 óra  
Szerintem gépeléshez elég ha az üzenetkezelőben lekezeled a WM_CHAR üzenetet (+ a WM_KEYDOWN üzenetet), a wParam a karakterkód..

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Pretender - Törzstag | 2498 hsz       Online status #145790   2011.01.03 15:00 GMT+1 óra  
directinput: van-e valami egyszeru mod arra, hogy a karakterlenyomast char-ra alakitsam? (azaz kvazi tudjak "gepelni" a jatekban). Jo lenne a specialis karakter dolog is(altgr-esek, illetve a tobbi shift-es, ami nem betu)
XNA alatt anno ugy csinaltam, hogy egy rakat feltetelvizsgalat
Kód:
if (KeyIsPress(Keys.A))
    valami = 'a';
//stb

Remelem itt nem kell igy megcsinalni...

Itt van egy ilyesmi, de nincs valami mas megoldas?
http://www.toymaker.info/Games/html/directinput.html
avagy
http://www.gamedev.net/community/forums/topic.asp?topic_id=320531
(ennek az utolso elotti hozzaszolasaban levo lookup table egesz jonak nez ki)

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

   
HomeGnome - Szerkesztő | 2919 hsz       Online status #145664   2010.12.30 09:40 GMT+1 óra  
Sajnos DX8 alatt a Begin-nek nem lehet flag-eket megadni, csak DX9 alatt..

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Pretender - Törzstag | 2498 hsz       Online status #145662   2010.12.30 06:02 GMT+1 óra  
Bar ennek mar nem sok koze van a dologhoz, de azert....
http://www.toymaker.info/Games/html/sprites.html
sprite->Begin(D3DXSPRITE_ALPHABLEND);
?

   
HomeGnome - Szerkesztő | 2919 hsz       Online status #145660   2010.12.29 22:46 GMT+1 óra  
Heuréka!!! Azt hiszem megvan!
Ezt a leírást találtam: Alpha Testing State (Direct3D 9)
Ezek alapján a Begin után beállítottam az ALPHAREF -et 0x00000001-re, ALPHATESTENABLE = true, és D3DRS_ALPHAFUNC = D3DCMP_GREATEREQUAL. Meg persze SRCBLEND = SRCALPHA, DESTBLEND = INVSRCALPHA.
És úgy néz ki jó! Juhú!
Örök hála Asylum, hogy segítettél!!! Már rég feladtam volna..
És Pretendernek is thanx!

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Asylum - Törzstag | 5512 hsz       Online status #145659   2010.12.29 22:31 GMT+1 óra  
Csináld azt, hogy a sprite->Begin() után állitod be a render stateket.
Bár szerintem nem olyan nagyon nehéz irni egy sajátot; van össz 4 metódusa.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
HomeGnome - Szerkesztő | 2919 hsz       Online status #145658   2010.12.29 22:08 GMT+1 óra  
Jóvanna, azt hittem a fontra kérdezed, mert arra is van külön egy D3DXFONT, de azt nem használom. Csak a D3DXSPRITE-ot.

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Asylum - Törzstag | 5512 hsz       Online status #145657   2010.12.29 21:51 GMT+1 óra  
Pont ezt kérdeztem öcsém és azt mondtad nem használsz olyat Az bizony magának állitgatja a renderstateket és a doksi alapján gözöm nincs hogy kell neki megmondani az alpha blendet.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
HomeGnome - Szerkesztő | 2919 hsz       Online status #145656   2010.12.29 21:43 GMT+1 óra  
Hmm.. Pedig ez jónak tűnik.
Mondjuk én a D3DXSprite-al rajzolok, meg egyébként sem ilyen elegánsan kódolok..

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Asylum - Törzstag | 5512 hsz       Online status #145654   2010.12.29 21:18 GMT+1 óra  
Hát valamit nagyon Elrondasz mert nekem tökjol megy:

http://people.inf.elte.hu/asylum/temp/albablend.jpg

Felrakom a kódot:

http://people.inf.elte.hu/asylum/c++/albablend/
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
HomeGnome - Szerkesztő | 2919 hsz       Online status #145653   2010.12.29 21:03 GMT+1 óra  
Próbáltam alphablend + alphatest enable és srcblend+destblend összes kombinációját, de sajna nem segített.
Pedig én csak szimplán annyit akartam, hogy több alfás szprájtot összerakok egy rendertargetre, és aztán innen (mint egy új szprájtot) küldöm tovább a backbufferbe (felső 2 kép). A jobb alsó képen közvetlenül rajzoltam őket a backbufferbe, de direkt azért akartam egy rendertargetet, hogy az összerakott képet egyben forgathassam, átméretezhessem, colort állítsak, stb.. De kezdem azt hinni, hogy ilyet nem is lehet csinálni.. (Illetve végső esetben dupla rendertargettel megoldom )
A kód meg nem pici, inkább batár nagy.. Meg kellene nyesni...

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Asylum - Törzstag | 5512 hsz       Online status #145651   2010.12.29 19:33 GMT+1 óra  
Hát ez érdekes, a kolléganő szerint A8-al tökjol megy
Hogy rajzolod ki azt a két spriteot?

Esetleg ha ez ien pici kod akkor felrakhatnád vhova.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Pretender - Törzstag | 2498 hsz       Online status #145650   2010.12.29 19:21 GMT+1 óra  
bal oldali kephez nem alpha test kellene?
alphablend enable
srcblend, dstblend beallitas
alphatest enable
rajzolas.
Elvileg csak ennyinek kellene lennie..

   
HomeGnome - Szerkesztő | 2919 hsz       Online status #145647   2010.12.29 16:35 GMT+1 óra  
Na ez az, hogy nem dx-es interfésszel rajzolom a szöveget, hanem pont ugyanúgy sprite-okkal, mint minden mást is... (Minden textúrám kettőhatvány, négyzetes és A8-as.) Már eléggé bekeveredtem a dologba, de csinálok majd mindjárt egy jobban értelmezhető képet (vagy összerakok egy példaprogit).

szerk.: Na ezt az ábrát sikerült összehoznom.. A lényeg, hogy több szprájtot akarok egymásra rakni a rendertargeten..

Ezt a hozzászólást HomeGnome módosította (2010.12.29 18:17 GMT+1 óra, ---)

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Asylum - Törzstag | 5512 hsz       Online status #145646   2010.12.29 15:02 GMT+1 óra  
Tehát:

ha a8-as texturába renderelsz akkor nyilván megy az alpha blending, tehát a textura is alfás lesz (pl. ha átlátszoval törölted le) és az a backbufferen is megy, tehát jólesz.

ha x8-asba, akkor a rendertargetbe rendereléskor lesz alfa (vagy nem ), de mivel a textura x8 ezért kirajzoláskor nem veszi figyelembe az alfáját.

A szöveg mért más: mert valameik dx-es interfésszel rajzolod nem? Na azoknál sose lehet tudni miket állitgatnak.

Ime a kolléganö szemlélteti a különbséget:


Ezt a hozzászólást Asylum módosította (2010.12.29 15:50 GMT+1 óra, ---)
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
HomeGnome - Szerkesztő | 2919 hsz       Online status #145645   2010.12.29 14:55 GMT+1 óra  
Pont ezeket próbálgattam, de nem lett jó, a betűknél "kivágja" akármit csinálok. A D3DRS_SRCBLEND és D3DRS_DESTBLEND összes variációját próbálom, D3DRS_ALPHABLENDENABLE se true se false nem segít, próbáltam még az D3DRS_ALPHATESTENABLE, D3DRS_ALPHAREF, D3DRS_ALPHAFUNC meg mindent ami csak alpha, de semmi. A D3DRS_BLENDOP most próbáltam, de ez se segített. Sőt, még próbáltam egy olyat is, hogy SetTextureStageState(0,D3DTSS_ALPHAARG1,D3DTA_TEXTURE); itt mindenféle variációt próbáltam vaktában, de csak rosszabb lett a helyzet, meg egyébként sem értem pontosan hogy ez mit is csinál... :\

A congratulation -t én írtam.. Arch majd kijavítja, ő írja a szövegeket, szerencsére nálam sokkal jobban tud angolul. Azért köszi!

Most már túl sokat szenvedtem ezzel az alfával, asszem marad a 2 db rendertarget.. Végül is csak +4 mega a videómemóriából...
Mindenesetre hálás köszönet Asylum!!

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Asylum - Törzstag | 5512 hsz       Online status #145644   2010.12.29 13:59 GMT+1 óra  
PIX-el (régebben d3dspy) megnézted? Vissza lehet tracelni a pixelek szinét.

Még egy megjegyzés: a congratulation az congratulations

Esetleg azt probáld meg, hogy egy tök sima dx-es progiban nézd meg h mi a helyzet (200 sort könnyü átlátni).

ui.: az elöbb nem láttam rendesen a képet, az elsö képen fekete a betü háttere, söt gondolom a téglalapnak is, csak nem látszik mert fekete a háttér. Ezt a blendet kiprobáltad? (nyilván a8-al).

Kód:
Graphics->SetRenderState(D3DRS_ALPHABLENDENABLE, true);
Graphics->SetRenderState(D3DRS_BLENDOP, D3DBLENDOP_ADD); // elvileg ez a default
Graphics->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
Graphics->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);


x8-al meg sztem nemis lesz alpha blendgin de minnyá megnézem
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
HomeGnome - Szerkesztő | 2919 hsz       Online status #145640   2010.12.29 08:29 GMT+1 óra  
A BeginScene észrevétel jogos, köszi!
Egyébként szerintem minden defaulton van, legalábbis tudtommal nem állítgatok semmit. A textúrát a következőképpen hozom létre:
Kód:
D3DXIMAGE_INFO anImageInfo;

D3DXGetImageInfoFromFileInMemory(fim->pMemAddress,fim->dwSize,&anImageInfo);

D3DXCreateTextureFromFileInMemoryEx(SM_gpD3DDevice, // D3D eszköz
fim_in->pMemAddress, // mutató a memóriaterületre
fim_in->dwSize, // méret
anImageInfo.Width, // szélesség
anImageInfo.Height, // magasság
anImageInfo.MipLevels, // MIP szintek
0, // usage (0, D3DUSAGE_RENDERTARGET, vagy D3DUSAGE_DYNAMIC)
anImageInfo.Format, // formátum
D3DPOOL_DEFAULT, // memória
D3DX_DEFAULT, // szűrő
D3DX_DEFAULT, // MIP szűrő
0, // TRANSPARENT_COLOR, // átlátszó színkulcs
&anImageInfo, // képi információkat tartalmazó struktúra
NULL, // 256 színű paletta
&Tex->pSrcTexture); // létrehozandó textúra pointere

A "fim" az egy saját struktúra (file in memory ), tehát itt már a memóriában van a képfájl, annak az adatai vannak benne.
Az előző képen nem tudom látszik-e, de a baloldali ábrákon az ablak körül az átmenet az nem 1 pixel széles, hanem 8 pixel, tehát nem a filter csinálja az átmenetet.
Most arra gondolok, hogy talán a Clear -nél nem megfelelően törlöm a rendertargetet?
Pedig józan paraszti ésszel nem azt gondolná az ember, hogy az A8R8G8B8 esetén az A8 az egy 8 bites alfa csatorna? Ha 0-val töltöm fel, akkor nem átlátszónak kéne lennie alapból? X8 estén meg működik az átlátszóság.. Tényleg Boborján legyek, ha értem..
szerk.: tényleg belekeveredtem, A8-nál jó a széle, ott e betűk nem jók..

Ezt a hozzászólást HomeGnome módosította (2010.12.29 08:41 GMT+1 óra, ---)

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Asylum - Törzstag | 5512 hsz       Online status #145635   2010.12.29 00:35 GMT+1 óra  
Hmm azt megjegyezném, hogy egynél több BeginScene() már lassít.

Amugy meg arra gondoltam, hogy a textura szélén mi történik (addressu, addressv), tehát wrap, clamp, mirror vagy mi. A képet meg rendesen töltöd be vagy textura atlaszban van, kettöhatvány-e? A filter pedig lineáris vagy point (minfilter, magfilter stb.).
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
HomeGnome - Szerkesztő | 2919 hsz       Online status #145632   2010.12.28 22:30 GMT+1 óra  
ööö.. nem biztos hogy értem mire gondolsz..

Csak így csinálok egy rendertextúrát:
Kód:
hRes=D3DXCreateTexture(SM_gpD3DDevice, // D3D eszköz
width,
height,
0,
D3DUSAGE_RENDERTARGET,
format, // D3DFMT_X8R8G8B8,
D3DPOOL_DEFAULT,
&Tex->pSrcTexture);

ja, a &Tex->pSrcTexture az csak simán egy struktura tagja:
Kód:
LPDIRECT3DTEXTURE8 pSrcTexture;


Egy alfás png-t meg a betöltök a memóriába és D3DXCreateTextureFromFileInMemoryEx -el létrehozok egy textúrát (a formátuma tuti A8R8G8B.

Rendernél ilyesmiket bűvészkedek:
Kód:
gTexTemp.pSrcTexture->GetSurfaceLevel(0,&gpRenderSurface);

SM_gpD3DDevice->GetRenderTarget(&pBackBuffer);
SM_gpD3DDevice->SetRenderTarget(gpRenderSurface,NULL);//gpStencilSurface);
SM_gpD3DDevice->Clear(0,NULL,D3DCLEAR_TARGET,D3DCOLOR_ARGB(0,0,0,0),1.0f,0);
SM_gpD3DDevice->BeginScene();
SM_gpD3DXSprite->Begin();

SMART_DrawRenderTexture();

SM_gpD3DXSprite->End();
SM_gpD3DDevice->EndScene();
SM_gpD3DDevice->SetRenderTarget(pBackBuffer,0);
SAFE_RELEASE (gpRenderSurface);
SAFE_RELEASE (pBackBuffer);

Aztán megint BeginScene és ekkor megy a rendertextúrából a backbufferbe (ami asszem X8R8G8B..
De már nagyon belekeveredtem.. :\

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Asylum - Törzstag | 5512 hsz       Online status #145630   2010.12.28 22:13 GMT+1 óra  
Filterelés, textúra címzés?
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
HomeGnome - Szerkesztő | 2919 hsz       Online status #145626   2010.12.28 21:40 GMT+1 óra  


Mennyit szenvedek már ezzel.. De most már isti-bizi végigpróbálom mind a 13x13 darab SRCBLEND és DESTBLEND kombinációt...

szerk.: végigpróbáltam a8-on is és x8-on is az összes kombinációt, de sehogy se jó..

Ezt a hozzászólást HomeGnome módosította (2010.12.28 22:09 GMT+1 óra, ---)

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Asylum - Törzstag | 5512 hsz       Online status #145624   2010.12.28 21:18 GMT+1 óra  
Öööö screenshtot tudnál mutatni mert ezt nem értem
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
HomeGnome - Szerkesztő | 2919 hsz       Online status #145623   2010.12.28 21:11 GMT+1 óra  
Megint a rendertargettel szenvedek.. Az a szitu, hogy egy popup ablakot akarok rajzolni, és az X8 formátumú rendertargettel most jól is rajzolja a szövegeket bele az ablakba, de viszont az ablak körül körben átmenet van, és ott meg pont hogy az A8 működik jól.. Boborján legyek ha értem... Szóval most egyelőre azt találtam ki, hogy csinálok egy X8 és egy A8 -as rendertargetet is, és ezzel a duplacsavarral már végre azt csinálja amit eredetileg akartam..

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Asylum - Törzstag | 5512 hsz       Online status #145545   2010.12.26 14:58 GMT+1 óra  
Nrem tudja valaki, hogy az id3dxbaseffect::getpixelshader mi a túrót vár első paraméternek? Azért imádom, hogy a ms ilyen kvajól dokumentálja a szarságait.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Pretender - Törzstag | 2498 hsz       Online status #144948   2010.12.14 12:52 GMT+1 óra  
Hehe, pont most a suliban gondolkoztam rajta, hogy lehetne egy olyan toolt is irni, hogy megadunk egy foldert, es a benne levo anyagbol csinal egy (tovabbra is megnyithatatlan) pak fajlt De persze kenyelmesebb lenne egy totalcmd plugin

szerk.:
http://www.ghisler.com/plugins.htm
Ezen az oldalon van leiras: "Interface description", es leszedtem a PACK plugin source kodjat is, azt kezdem most el kibogaraszni

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

   
HomeGnome - Szerkesztő | 2919 hsz       Online status #144945   2010.12.14 04:45 GMT+1 óra  
Olyan plugint írjál majd nekem is lécci, megadom a .pak formátumomat!

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Pretender - Törzstag | 2498 hsz       Online status #144939   2010.12.13 21:19 GMT+1 óra  
Igen, kozben mar megvilagosodtam efelol is, azt hiszem megertettem a dolog lenyeget Valamelyik nap majd utananezek a totalcommanderes pluginirasnak, mert addig nem akarok pak fajlbol beolvasni, ameg nem tudom egyszeruen megnyitni es modositani totalcmd-ben

   
HomeGnome - Szerkesztő | 2919 hsz       Online status #144938   2010.12.13 21:12 GMT+1 óra  
Nem igazán értem mi a probléma. Evidens, hogy mindent binárisan kell beolvasni! A jpg meg nem csak attól jpg, mert az a fájl kiterjesztése... A pak fájlnak meg tökmindegy, hogy milyen típusú fájlok vannak benne, pont az a lényege, hogy bármilyen fájlokat belerakhass..

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Pretender - Törzstag | 2498 hsz       Online status #144928   2010.12.13 19:56 GMT+1 óra  
Idézet
fpeti :
Messze mutató link ezzel kapcsolatban:
saját pack formátum


Errol jut eszembe: ha en binarisan olvasok be ket fajta fajltipust, es azt teszem pak fajlba, akkor azt hogy? vagy azok maradjanak kulon? Az se jo
Kód:
std::ifstream m_File;
m_File.open(p_Path.c_str(), std::ios::in | std::ios::binary);

Vagy ezt is valahogy maskepp kell majd beolvasnom?

   
fpeti - Törzstag | 1295 hsz       Online status #144923   2010.12.13 18:58 GMT+1 óra  
Messze mutató link ezzel kapcsolatban:
saját pack formátum
   
Pretender - Törzstag | 2498 hsz       Online status #144915   2010.12.13 15:29 GMT+1 óra  
szerintem azt ugy nem nyitna meg...

   
Asylum - Törzstag | 5512 hsz       Online status #144914   2010.12.13 15:28 GMT+1 óra  
Idézet
Pretender :
Az jutott eszembe, hogy van ez a:
Kód:
D3DXCreateTextureFromFileInMemory

Ezt lehetne-e ugy hasznalni, hogy fogom a jpg-t, png-t, akarmit, kiirom binarisba. Betolteskor egy char tombbe beolvasom a binarisbol az adatokat, es a fentebbi metodust meghivom, es abbol gyartok texturat?



Átnevezem a binárisodat .jpg-re és voilá
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
HomeGnome - Szerkesztő | 2919 hsz       Online status #144912   2010.12.13 14:05 GMT+1 óra  
Miért, a jpg meg a png az nem binárisba van kiírva?
Egyébként én is ezt használom, beolvasom a fájl méretét, lefoglalom a szükséges memóriaterületet (void *), beolvasom membe, és onnan D3DXCreateTextureFromFileInMemory -val hozom létre a textúrát..
Ja, és persze azért ezt használom, mert .pak-ból olvasom a képfájlt.

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Pretender - Törzstag | 2498 hsz       Online status #144910   2010.12.13 13:30 GMT+1 óra  
Az jutott eszembe, hogy van ez a:
Kód:
D3DXCreateTextureFromFileInMemory

Ezt lehetne-e ugy hasznalni, hogy fogom a jpg-t, png-t, akarmit, kiirom binarisba. Betolteskor egy char tombbe beolvasom a binarisbol az adatokat, es a fentebbi metodust meghivom, es abbol gyartok texturat?

   
HomeGnome - Szerkesztő | 2919 hsz       Online status #144844   2010.12.10 20:46 GMT+1 óra  
Ahh, úgy néz ki megoldódott a rendertarget-es problémám! Kipróbáltam amit írtatok, A8 helyett X8 kellett neki, és máris gyönyörűen műxik, yesss!! Anno mennyit szenvedtem vele, a SetRenderState összes létező (és nem létező ) kombinációját végigpróbáltam, de cseszett működni.. Most meg elsőre jó lett. Hálás köszönet a tippért!
Akkor úgy néz ki egyelőre mégse váltok DX9-re...

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Pretender - Törzstag | 2498 hsz       Online status #144823   2010.12.09 16:42 GMT+1 óra  
Aha, meg is van:
Kód:
void GameHelper::ResetBackbuffer(IDirect3DDevice9* p_Device)
{
    IDirect3DSurface9* bb;
    p_Device->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &bb);
    p_Device->SetRenderTarget(0, bb);
    bb->Release();
}

Mivel rendertargetekbe renderelek, igy erre szuksegem van, a viewportot pedig ez UTAN kell beallitani. Akkor megint csak en voltam a hulye koszi

   
Asylum - Törzstag | 5512 hsz       Online status #144822   2010.12.09 16:30 GMT+1 óra  
Kód:
D3DVIEWPORT9 vp;

vp.X = vp.Y = 0;
vp.Width = 512;
vp.Height = 512;
vp.MinZ = 0;
vp.MaxZ = 1;

device->SetViewport(&vp);


Nálam tökjol megy.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Pretender - Törzstag | 2498 hsz       Online status #144820   2010.12.09 16:17 GMT+1 óra  
Ha csinalok egy olyat, hogy atallitom a viewportot, majd
Kód:
m_Game->GetDevice()->SetViewport(&m_Game->m_Viewport);

es igy renderelek rendertargetekkel, akkor ugyan ugy nez ki (azaz nem tortenik semmi). A viewport akkor szamara mit jelent? (megfeleztem a viewport-nal a Width erteket). Vagy ez 'csak' a rendertargetek miatt nem erzekelheto? (a legvegen nyomok egy d3dxsprite-s renderelest, lehet az a baj?)

Igazabol lehet, hogy nem is jora akarom hasznalni. Annyit akarok, hogy ilyen multiple viewport legyen (bocs, ha nem jol irom ) : bal oldalt lesz a modell, jobb oldalt pedig a parameterei, stb.

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

   
HomeGnome - Szerkesztő | 2919 hsz       Online status #144806   2010.12.08 18:52 GMT+1 óra  
Asylum: Én is nagyjából ugyanígy csináltam, mint ahogyan a bepostolt kódban van. Max annyi a különbség, hogy nálam a SetWindowPos a Reset után van, szóval gyakorlatilag ugyanaz. Minimális villogás nálam is van, de szerintem annyi belefér.

szerk.: megtaláltam a 2 példát, amik alapján én régen csináltam:
http://homegnome.uw.hu/fullscreen_windowed.txt
http://homegnome.uw.hu/fullscreen_windowed2.txt

(szerk2: ahogy elnézem, a 2. példát vettem alapul. )

Ezt a hozzászólást HomeGnome módosította (2010.12.08 19:07 GMT+1 óra, ---)

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Asylum - Törzstag | 5512 hsz       Online status #144794   2010.12.08 17:29 GMT+1 óra  
Közben kibányásztam az ogrebol, és ugynézki müködik!
Majd az enginem topicjába bepostolom a kódot.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
HomeGnome - Szerkesztő | 2919 hsz       Online status #144790   2010.12.08 17:17 GMT+1 óra  
Asylum: nálam 1 ablak van, igaz 2D és DX8.. De ha ki tudsz valami hasznosat bányászni a kódból, akkor elküldöm szívesen a zendzsinemet, ha érdekel... Csak aztán nem kiröhögni!

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Asylum - Törzstag | 5512 hsz       Online status #144784   2010.12.08 15:49 GMT+1 óra  
Kezdek már kicsit megőrülni. Nem tud valaki egy jó leírást, hogy hogy a túróba kell fullscreenből ablakos módba váltani és vissza? Nyilván nem a DX oldalával van gond hanem a winapival... Ugyanis XP alatt nyilván minden oké, win7 alatt viszont fs-ből w-be váltáskor az aero ablak helyett egy sima basic ablak jelenik meg.

Módszerek amiket találtam:
- két külön ablakot használni
- újrakreálni az ablakot (opengl esetén ez nem annyira nyerő
- szopni a winapival (senki nem bir értelmes megoldást adni)

Szempontok:
- az ablak középre kerüljön (ez nagyjából megoldva)
- az ablak mérete határozza meg a backbuffer méretét (ugyanis a dekstophoz igazítom ha nagyobb)
- lehetőleg ne legyenek fölösleges villogások (sajnos a device reset hidden ablakra befosik)
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Matzi - Szerkesztő | 2529 hsz       Online status #144573   2010.12.01 14:12 GMT+1 óra  
Ettől még nem értek egyet vele, te meg igen, ízért neked címeztem. Majd ha vele fogok levelezni, neki is megmondom.
Mellesleg nem jó gondolkodás nélkül mindent elhinni valakinek tekintély alapon.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
BlueDeath - Törzstag | 1036 hsz       Online status #144570   2010.12.01 13:14 GMT+1 óra  
Matzi: ez nem az én állításom, ezt egy nálamnál sokkal okosabb ember, John Carmack mondta, akiről nem hinném, h nem tudja mit beszél
   
Matzi - Szerkesztő | 2529 hsz       Online status #144566   2010.12.01 12:22 GMT+1 óra  
BlueDeath:
Ez azért egy elég nehezen védhető állítás. Az is, hogy nem használják ki, meg az is, hogy felesleges. Egyrészt azt hajtja előre a világot, hogy olyan dolgokra támad igény, amik nincsenek, másrészt meg igencsak hasznos dolgok jöttek be. Lehet, hogy meg lehet csinálni valamit 10x annyi munkával ,de egyrészt felesleges, másrészt meg sok dolgot nem is lehet.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
HomeGnome - Szerkesztő | 2919 hsz       Online status #144564   2010.12.01 12:14 GMT+1 óra  
Jó, hát nekem tényleg csak 2d-re kell. Meg nálam szempont, hogy minél egyszerűbb konfigon is fusson, és DX8 meg asszem már a sima XP-ben is volt, szóval nem nagyon kell semmit se installálni. Bár a DX9-ben tényleg vannak jó dolgok, amikkel szebb effekteket lehet csinálni. Na majd jövőre..

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
BlueDeath - Törzstag | 1036 hsz       Online status #144556   2010.12.01 09:44 GMT+1 óra  
Ugyan, Carmack bácsi is megmondta, h felesleges a DX10 meg a többi nyalánkság amíg a DX9-et se használják ki a fejlesztők. HomeGnome meg a DX8-at próbálja előbb kiaknázni
   
HomeGnome - Szerkesztő | 2919 hsz       Online status #144555   2010.12.01 06:33 GMT+1 óra  
Ejj, ráérünk arra még.. Én mindig egy 10 évet le vagyok maradva fejlesztőeszközök terén, szóval majd 12-13 év múlva.. Már a DX7-ről is csak az alfa-csatorna hiánya miatt kellett áttérnem..

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
mark576 - Tag | 256 hsz       Online status #144554   2010.12.01 03:07 GMT+1 óra  
DX8? Ha ilyen ütemben haladsz jobb, ha a zendzsínbe a DX12 supportot kezded el tervezni. 2-3 év múlva az is itt lesz.
   
Korábbi postok
> 1 < [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [31]