-
Fototrend
Új hozzászólás Aktív témák
-
k.t.a.
senior tag
válasz azsolty #1340 üzenetére
A függvénynek pointereket adj át szerintem, és akkor jó lesz.
Pl.: típus függvénynév( *típus változó1){*változó1 = érték;}
Amikor meghívod akkor meg függvénynév( &változó2);
Talán nem írtam nagy hülyeséget.
Meg tudna valaki lepni egy dinput8.h fájllal a DirectX8SDK-ból. Tudom, hogy le lehet tölteni az m$ oldaláról, de túl sok az egész sdk, meg .... tudjátok. Thx -
k.t.a.
senior tag
válasz Miracle #1344 üzenetére
Utána néztem és a függvényeknek nem lehet tömb visszatérési értéke. Ezt az egyetemi jegyzetemben találtam.
Esetleg valaki nem tudna küldeni az adataimnál lévő címre egy dinput8.h fájlt. Mert a 9-es dirctx sdk-ban nincs benne, csak a régebbi 8.0-ásban volt, és szükségem lenne rá. THX -
k.t.a.
senior tag
válasz Miracle #1346 üzenetére
Jók a jegyzeteim, és a tanár is érti a dolgát, csak akkor szerintem arra gondolt, hogy olyat nem csinálhatsz, hogy pl int[4] fv(void) {....... return tomb;} int[4] tomb; deklarációval.
Hanem ahogy Te is mondtad az elején a függvény típusának pointert adsz meg (pl.: int*), és akkor a visszatérési értéked mi is lesz? Mert ha azt mondod hogy return tomb; Az előző példa alapján, akkor egy olyan változót adsz visszatérési értéknek, ami megszűnik létezni, mert az ugye a függvény lokális változója. Na ezért nem lehet tömb sem a visszatérési érték. Szvsz. Vélemény? -
k.t.a.
senior tag
válasz Miracle #1356 üzenetére
Semmi gond. Nem tudsz valakit, aki DirectX programozással foglalkozik C++ban. Mert szükségem lenne a már említett dinput8.h fájlra, mert a DirctInput még mindig a 8-as verziószámnál tart és az új SDK-ból ezt a fájlt kihagyták, és nem tudom honnan beszerezni. Az M$ oldala számomra nem hozzáférhető.
-
k.t.a.
senior tag
válasz azsolty #1359 üzenetére
Azzal nem megy, mert a help pont azt mondja, hogy a DirectX9SDK-ban használjam a dinput8.h-t.
To create a DirectX 8.x interface with the DirectX 9.0 software development kit (SDK) without using CoCreateInstance :
1.Set ''#define DIRECTINPUT_VERSION 0x0800'' before the include statement for Dinput8.h.
2.Call DirectInput8Create instead of DirectInputCreateEx.
3.Link to the Dinput8.lib library instead of Dinput.lib. -
k.t.a.
senior tag
Nézegettem közben még példaprogit, és ott dinput.h-t, illetve a dinput8.lib-et használnak, csak az include elé kell egy #define DIRECTINPUT_VERSION 0x0800 konstans deklaráció. Kipróbáltam én is így (nem először), és jónak kellene lennie, de mégis, hibaüzenetet kapok a linker-től error LNK2001: unresolved external symbol _IID_IDirectInput8A. Az objeltumot ugyanúgy hozom létre mint a példaprogiban DirectInput8Create(GetModuleHandle(NULL), DIRECTINPUT_VERSION, IID_IDirectInput8, (void**)&m_DirectInputObject, NULL); ezért nem értem mi a baja. Olyan mintha a IID_IDirectInput8 konstans nem szerepelne a dll-ben, amit belinkelek. De akkor a példaprogiban miért müxik?
A help ezt mondja róla:
Unique identifier of the desired interface. This value is IID_IDirectInput8A or IID_IDirectInput8W. Passing the IID_IDirectInput8 define selects the ANSI or Unicode version of the interface, depending on whether UNICODE is defined during compilation. -
k.t.a.
senior tag
Hali!
Segítsetek egy picit mert nem jövök rá a megoldásra. A prog nyelv az C.
A problémám meg az, hogy hogyan lehet egy két dimenziós struktúra tömbböt dinamikusan létrehozni, úgy hogy a sorok száma adott, csak az oszlopok száma a dinamikus. Tehát akarok csinálni egy Q[8][n] tömbböt, ahol a n-t előbb ki akarom számolni, és minden elem egy struct. Valahogy úgy kell, hogy
prim *(Q[8]) = new prim[8][n];
ahol prim egy struktúra, és n már előtte ki lett számolva, de erre hibát ír ki, hogy nem adhatok csak konstanst a tömbnek. -
-
-
k.t.a.
senior tag
Jó nekem a C++, mert a végeredmény a fontos. A feladat az, hogy egy 8bites kivonó áramkört kell készíteni, és most egy progit írok, ami függvényegyszerüsítést csinál (Digitális technika->Quine Mcluskey). Mert csak a 8 kimenet függvényeit kell leadni. Cél IC-t, vagy mikrokontrollert nem lehet használni.
-
k.t.a.
senior tag
Még egy apróság: 2^n erre a kifejezésre nem ad vissza normális értéket, mivel tudnám helyettesíteni? Mert a progim if(num&(128/(2^n))) k++; kiakad ennél a résznél, hogy nullával akarok osztani. Rosszul tudom, hogy ez a hatványozás?
[Szerkesztve] -
k.t.a.
senior tag
válasz mikoljan #2056 üzenetére
Szerintem erre a .NET lenne a legjobb. Mert az platform független. Azon belül meg választhatsz nyelvet, mert elég sok van (vc++, c#, vb, j#, stb). Nyelvek közül azt válaszd amelyik szimpatikusabb, vagy ha más irányban is szeretnél tovább lépni, akkor az ahoz közelebb állót. A .NET csak annyit tesz, hogy olyan exe-t tudsz vele készíteni, amit csak olyan gépen futtathatsz amire fel van telepítve a FrameWork (ez már van szinte mindenre). Előnye, hogy nincs olyan sok féle változó mint a C++-ban, és szinte mindenne futtatható a végeredmény. És elég jó leírások is vannak hozzá. De majd a többiek megmondják a frankót.
-
k.t.a.
senior tag
válasz Yeti910331 #2078 üzenetére
Először azt hittem, h csak egy egyszerűbb logikai játékot szeretnél átvarázsoltatni XP-re, de ezek olyan kaliberű game-ek, amiket szvsz halandó nem fog tudni megfizetni. Mármint az átiratukat mondjuk DirectX9-re vagy OpenGL2.0-ra. Ha meg lenne a forráskód, meg még leírás is hozzá, és persze az összes jogi dolog, akkor még talán 1-2 programozó is meg tudná csinálni, viszonylag hamar, és akkor talán nem is kerülne olyan sokba, de ha nem ilyen a helyzet, akkor az piszok sokba fog fájni neked, és örülsz, ha egyáltalán találsz rá embert. Szvsz ezek nem olyan régi játékok, h ne lenne hozzájuk valamilyen patch, ami WinXP kompatibilissá teszi őket. Nézz körül a neten, ha még nem tetted.
-
k.t.a.
senior tag
Hali!
Egy kis segítséget szeretnék kérni. Bitműveletekről lenne szó C-ben. 8-al akarok osztani egy egész számot, de nem emléxem melyik az a művelet, amivel három bittel el tudom úgy tolni a számot, hogy nullákkal töltse ki a maradék helyet, és ne körbeforogjon, bár az is megfelelne, ha amit kishifteltem az a másik végén visszajönne. Talán a >> és << operátorok azok? -
k.t.a.
senior tag
Lehet hogy valamit rosszul csinálok, mert nem egészen az történik amit szeretnék. Két 8 bites előjel nélküli egészből csinálnék egy darab 16 bites szintén előjel nélküli egészet. Valahogy így:
void assign16(unsigned char *LD, unsigned char *HD, unsigned int *D)
{
*D = 0x0000;
*D = *HD;
*D << 8;
*D = *LD;
PORTAbits.RA6 = 1;
}
Ha egy int-et egyenlővé teszek egy char-al, akkor nem lehet hogy elveszik felső bájt? -
k.t.a.
senior tag
Megoldottam a problémám. Kicsit összetett volt. Ha valakit esetleg érdekel, ez lett a függvény. Illetve ha valakinek van ötlete, hogyan lehet még egyszerüsíteni, az jöhet.
unsigned int assign16(unsigned char LD, unsigned char HD)
{
unsigned int L = 0x0000,H = 0x0000,D;
L += LD;
H += HD;
D = (H << 8)+L;
return (D >> 3);
} -
k.t.a.
senior tag
Mindenkinek:
Az int itt 16bit, mert PIC18F452-re lesz fordítva C18-al. Éppen a PIC miatt akarom elkerülni a szorzásokat, osztásokat, mert nem tudom biztosan, hogy a fordító mit optimalizál és mit nem. Az hogy 8-al eltolom vagy szorzom 256-al, elvilag mindegy, sőt ha nem optimalizál a fordító akkor a tologatás még jobb is. A többi meg csak a típus különbségek miatt volt.
Szerk.: és a végén az 3-al való eltolás, az nem ide tartozik, az más miatt van.
[Szerkesztve] -
k.t.a.
senior tag
Remélem jár erre valaki, aki foglalkozik VC++-al DX9-el.
Valami miatt nem tudok textúrát generálni. VC++ és DX9 a felület. Egy fx fájlban benne van egy effekt (az nvidia tűz effektje, kicsit átalakítva), ebben van egy procedurális textúra, amit most át akarok rakni a progimba. A fájlt megtalálja mert a ps és avs müxik. Maga a textúra shader program is jó mert FX Composer alatt megy, és a Rendermonkey is megcsinálja.
Így néz ki a shader (HLSL)
float GenNoise(float3 Pos : POSITION) : COLOR
{
float3 P = Pos*32;
return abs(noise(P));
}
És így a hozzá kapcsolódó C++ kód
LPDIRECT3DVOLUMETEXTURE9 pNoiseTexture;
LPD3DXBUFFER pCode;
LPD3DXTEXTURESHADER pTextureShader;
D3DXCreateVolumeTexture( g_App.GetDevice(), 32, 32, 32, 0, 0, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &pNoiseTexture);
D3DXCompileShaderFromFile( ''Flame.fx'', NULL, NULL, ''GenNoise'', ''tx_0'', D3DXSHADER_SKIPOPTIMIZATION, &pCode, NULL, NULL );
D3DXCreateTextureShader( (DWORD*)pCode->GetBufferPointer(), &pTextureShader );
D3DXFillVolumeTextureTX( pNoiseTexture, pTextureShader );
Annál a résznél akad ki, hogy D3DXCreateTextureShader, azért mert a pCode értéke 0. Valami miatt nem tudja lefordítani. Próbáltam tx_1-el is, de az sem ment. Tudom hogy elmenthetném a textúrát fájlba és akkor nem kellene generálni, de így akarom, mert később lesz olyan, hogy nem lehet megkerülni.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Windows 11
- Magga: PLEX: multimédia az egész lakásban
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Facebook és Messenger
- Autós topik
- Mozilla Firefox
- HP notebook topic
- Azonnali VGA-s kérdések órája
- Azonnali informatikai kérdések órája
- A Gigabyte is visszaveszi alaplapjainak alapértelmezett tuningját
- További aktív témák...
- LG NanoCell 55NANO766QA Halvány píxel csík
- Philips 58PUS8545/12 1 ÉV GARANCIA Játék üzemmód
- Tyű-ha! HP EliteBook 850 G7 Fémházas Szuper Strapabíró Laptop 15,6" -65% i7-10610U 32/512 FHD HUN
- Bomba ár! HP EliteBook 840 G5 - i5-8G I 8GB I 128GB SSD I 14" FHD I HDMI I Cam I W10 I Gari!
- The Last of Us Part I Ps5