játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5511
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
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] > 20 < [25] [30] [35] [40] [45] [50] [55] [60] [65] [70] [75] [80] [85] [90] [95] [100] [105] [110] [115] [120] [125] [130] [135] [140] [143]
Pretender - Törzstag | 2498 hsz       Online status #184091   2012.07.01 13:27 GMT+1 óra  
Jó, de mi van a vec3-ban? float data[3], vagy float x, float y, float z, vagy mi?
Ha meg elfelejted odaírni a ()-t, akkor a fordító hibát dob.

Az a megközelítés nem túl jó, hogy float xz-d van, mert gondolom úgy van, hogy azt mondod, hogy
Kód:
vec3 a;
a.x = 10;

azaz nem frissülne az xz változó pl. Szóval szerintem marad a függvény.

Ha esetleg az van, hogy
Kód:
float x;
float y;
float z;

akkor hirtelen ami eszembejutott az az operator[] felüldefiniálás:
Kód:
inline const float& operator[] (const int& _i) const
{
    if (i == 0)
        return x;
    else if (i == 1)
        return y;
    else if (i == 2)
        return z;

    // error
}

vagy akár lehetne switch is.

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

   
ddbwo - Tag | 1654 hsz       Online status #184089   2012.07.01 12:51 GMT+1 óra  
Elkezdtem "shaderizálni" a kódok megjelenését, csak ha nagyon reflexbe jövök, elfelejtem írni a "()"-t.

Amúgy most pont így van nálam is.

+A vec3 nálam egy szabályos osztály, mindennel ami kell egy osztályhoz.

Ezt a hozzászólást ddbwo módosította (2012.07.01 13:25 GMT+1 óra, ---)
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
Pretender - Törzstag | 2498 hsz       Online status #184088   2012.07.01 12:47 GMT+1 óra  
Miért nem jó a
Kód:
vec3 a;
vec2 b = a.xz()

?

Minden attólf ügg, hogy hogy van nálad a vec3 osztály

   
ddbwo - Tag | 1654 hsz       Online status #184087   2012.07.01 12:38 GMT+1 óra  
Ez furcsa kérdés lesz.

Kicsit szeretném bővíteni a matek osztályaim dolgait GLSL mintára.
GLSL-ben van olyan, hogy:
Kód:
    vec3 pelda(0.25, 14.0, 7.8);
    float ykell = pelda[1];


Ezt lehet implementálni C++ban osztályokhoz? Ha igen, hogyan?
Illetve a másik ami kéne:
Kód:
    vec3 pelda(0.25, 14.0, 7.8);
    vec2 xzkell = pelda.xz;


Ezt meglehet oldani "szépen"? Vagyis olyasmire gondoltam, hogy csak akkor adja vec2(x, z)-t, amikor kérem lehetőleg "vec2 getXZ()" bonyolítás nélkül.

Van ilyen C++ban?
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
Joga - Törzstag | 1791 hsz       Online status #183974   2012.06.28 11:39 GMT+1 óra  
A stringben van egy mutató, ami egy külön lefoglalt adatra mutat, szóval ha nagyon ragaszkodsz a reallochoz, akkorsem a másolással lesz gond, hanem azzal, hogy amikor lefoglalod az adatokat, a stringnek meghívd a konstruktorát, felszabadításnál pedig a destruktort.
(ಠ ›ಠ) Stewie!

   
Pretender - Törzstag | 2498 hsz       Online status #183973   2012.06.28 11:21 GMT+1 óra  
Ja, tényleg a stringre nem gondoltam. Akkor viszont bukta a realloc, és new, memcpy, delete kell. Remélem nem sokkal lassabb. Mondjuk lehet azt használja a vector is, csak kicsit nehéz kibogozni a vector.h-t olyan.. igazán jó ronda

szerk.:
Ahogy nézem a string elég kényes dolog. Alapból ugye azt csináltam eddig, hogy elkértem az adott típus méretét (sizeof(T)), és ezzel dolgoztam. Ha pl. akartam 4 elemnek helyet, akkor 4 * sizeof(T) méretű tömböt készítettem. A sizeof(std::string) ugye nem buli, mert az nekem most ugye 32 byte-ot adott vissza, viszont egy hosszabb szöveg (pl. 33 karakter) már ebbe nem fér bele. Hogy lehet akkor általános megoldást adni?

Ezt a hozzászólást Pretender módosította (2012.06.28 11:34 GMT+1 óra, ---)

   
Joga - Törzstag | 1791 hsz       Online status #183972   2012.06.28 11:02 GMT+1 óra  
Ha valamilyen osztályt, pl stringet akarsz tárolni a tömbben, akkor new-al és delete-vel kell megcsinálnod, hogy rendesen kezelje a konstruktort/destruktort.

Intekre, mutatókra, meg egyéb PODokra elég a malloc/free/realloc.
(ಠ ›ಠ) Stewie!

   
zeller - Törzstag | 497 hsz       Online status #183970   2012.06.28 10:54 GMT+1 óra  
Minden adatszerkezetnek van egy contractja. Attol lesz az, hogy a contractot tartja. Tok mindegy, hogy mi van mogotte, kiveve persze ha az is a contract resze.
A lancolt lista sequential access a tomb pedig random access.

   
Pretender - Törzstag | 2498 hsz       Online status #183959   2012.06.28 09:39 GMT+1 óra  
Oké, hogy cpp topicban vagyunk, de akkor is hülyeségen akadtatok fent Ennyi erővel felhozhatnám, hogy C#ban meg LinkedList és List a cpps list és vector. Amúgy én meg DMG-vel értek egyet, elég zavaró volt a vector név, főleg elsőre. Na, a lényeg továbbra sem ez, mindenki érti, hogy ki miről beszél

A realloc újrafoglalja a memóriát, és átmásolja a tartalmát, amit lehet, hogy gyorsabban csinál, mint egy delete [] + new + memcpy trió. A reallochoz viszont nem jó a new és delete, tehát van malloc és free. Persze, ha nagyon akarja az ember, akkor valóban lehet new, delete, memcpy, de a memcpy és a <string>-ben van, ami meg szintén az STL része Szóval semmiképpen sem lehet kizárni igazán. Sebességet meg nem akarok ezért veszíteni (new, memcpy, delete[] könnyen lehet, hogy lassabb, mint a realloc).

   
DMG - Szerkesztő | 3172 hsz       Online status #183952   2012.06.28 07:17 GMT+1 óra  
Amúgy azt megmagyarázhatná valaki, hog ya vektor az mitől vektor, mert a lista meg a tömb még ok, de a vektor az hogy jött, szerintem rohadt zavaró a geometria után, egy tömb szerkezetű "konténerre" ráeröltetni a vektor-t mint elnevezést, amikor az egy irányított szakasz.
-----------------------------------------
Dont Listen to the Naysayers
   
SX - Törzstag | 361 hsz       Online status #183947   2012.06.27 21:05 GMT+1 óra  
Csatlakozom proof88-hoz. A lista az a láncolt lista. A vektor meg a tömb. Ezen szerintem "fenn kell akadni", mert nekem is azt tanították anno, hogy ez két külön dolog (mert az is).

   
proof88 - Törzstag | 530 hsz       Online status #183945   2012.06.27 21:03 GMT+1 óra  
ha listát implementálsz (TE írtad, hogy lista, és itt most nem a List-en vagyok fennakadva! ), akkor az nem osztályba foglalt dinamikus tömb lesz, hanem listaelemek mutatókkal, ami egymás után mutatnak. A Microsoft meg olyan nevet ad neki amilyet akar, most mondhatnám hogy ahol a lapozófájl méretét állítod, annak az ablaknak is évek óta virtuális memória a neve, mintha a kettő ugyanaz lenne, de attól még nem a virtuális memóriát állítod. Tömb persze lehet benne, ha a tömbben nem az elemeket tárolod hanem csak az elemekre mutató mutatókat. Csak akkor ez megint nem a klasszikus lista, mert újra kell foglalnod a tömböt bizonyos műveleteknél.

Arról nem is beszélve, hogy cpp topikban vagyunk, nem c# topikban.

Na térjünk vissza az eredeti problémádra.

Dinamikusan akarsz tömböt kezelni, akkor is jó lesz a new, csak úgy macerásabb mert a realloc() kényelmes. New-t, delete-et meg ugye nem keverünk realloc()-kal.
   
Pretender - Törzstag | 2498 hsz       Online status #183944   2012.06.27 20:01 GMT+1 óra  
De még mindig nem jött át nektek. Tudom, hogy azok, de akkor a Microsoft hülye, h List-nek nevezte el a vector c# megfelelőjét?
Mint mondtam, tudom mi az array és a list között a különbség, de ha jobban tetszik, akkor vektort implementálok... Ezen fennakadni Nekem a lista akkor láncolt lista, ha azt mondom, hogy láncolt lista. Ha azt mondom, hogy lista, akkor az vektor. Igazából a lista jobb szó, mint a vektor...

   
ddbwo - Tag | 1654 hsz       Online status #183941   2012.06.27 19:16 GMT+1 óra  
Algoritmusok és .... -> STRUKTÚRFÜGGÖNY, ECSÉM!!! <-
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
proof88 - Törzstag | 530 hsz       Online status #183939   2012.06.27 19:13 GMT+1 óra  
De nem csak azt írtad, hogy List, hanem hogy listát implementálsz.
Ez nem programnyelvfüggő, ez még elmélet: a lista az valami láncolt adatszerkezet. A tömb nem az. Nagyon más tulajdonságai vannak ezeknek tárolásban és műveletigényekben.
Javában is van olyan hogy ArrayList, de annak a nevéből lerí hogy valami tömb dologról van szó.

Algoritmusok és adatszerkezetek lesz következő félévben. A szakod egyik leghasznosabb tárgya mind elméleti, mind gyakorlati szempontból, majd ott tanulsz ezekről.
   
Pretender - Törzstag | 2498 hsz       Online status #183913   2012.06.27 11:07 GMT+1 óra  
De nem kell már így fennakadni egy elnevezésbeli dolgon... nekem csúnya szó az, hogy vector, jobban szeretem azt leírni, hogy List. Tudom ám, hogy c++ban a list egy láncolt lista, amiben nincs tömb csak prev / next elem, meg ilyesmi.

   
bolyzsolt - Törzstag | 607 hsz       Online status #183908   2012.06.27 09:01 GMT+1 óra  
Idézet
Joga :
A List nem tömböt, hanem láncolt listát használ adatszerkezetként.


A C#-os List<T> tömböt használ, hasonlóan a C++-os vektorhoz, valószínűleg innen a félreértés. C#-ban ott a LinkedList<T>, mint láncolt lista, pontosabban duplán láncolt.

   
Joga - Törzstag | 1791 hsz       Online status #183898   2012.06.26 21:53 GMT+1 óra  
A List nem tömböt, hanem láncolt listát használ adatszerkezetként.
(ಠ ›ಠ) Stewie!

   
Pretender - Törzstag | 2498 hsz       Online status #183893   2012.06.26 20:38 GMT+1 óra  
Akkor vektor. Én listának hívom (c#-ban amúgy List<T> )

   
proof88 - Törzstag | 530 hsz       Online status #183891   2012.06.26 20:11 GMT+1 óra  
mert a vector az vektor akar lenni, de azért a lista más ... pl a listába beszúrásnál nem kell újrafoglalni mindent, cserébe nehéz elérni az i. elemet, meg ilyenek lehet hogy keversz valamit.
   
Joga - Törzstag | 1791 hsz       Online status #183890   2012.06.26 18:42 GMT+1 óra  
Nem az a furcsa, ha a vector egy tömb, hanem ha a lista is.
(ಠ ›ಠ) Stewie!

   
Pretender - Törzstag | 2498 hsz       Online status #183888   2012.06.26 18:28 GMT+1 óra  
A vector is igazából egy tömb ám, csak dinamikusan változtatja a méretét

   
proof88 - Törzstag | 530 hsz       Online status #183886   2012.06.26 17:38 GMT+1 óra  
lista és tömb ... úgy érzem ez nem szabványos lista lesz
   
Pretender - Törzstag | 2498 hsz       Online status #183885   2012.06.26 15:41 GMT+1 óra  
de én implementálom a listát, amiben van egy tömb.

   
Joga - Törzstag | 1791 hsz       Online status #183884   2012.06.26 15:12 GMT+1 óra  
realloc tömb esetén kell, listánál simán new-al meg delete-el is megoldható a listaelemek létrehozása és törlése
(ಠ ›ಠ) Stewie!

   
Pretender - Törzstag | 2498 hsz       Online status #183883   2012.06.26 15:08 GMT+1 óra  
Múltkor volt szó a saját List osztályról. Úgy nézem, hogy stdlib.h nélkül nem érdemes megcsinálni (realloc pl.), vagy van valami okosabb megoldás?

   
ddbwo - Tag | 1654 hsz       Online status #183366   2012.06.16 22:15 GMT+1 óra  
Ahaa... TCP és UDP. ok.

Kinek mi a vészes... Ehhez olvasni kell betüket oldalakon át.. Túl hamar elterelődik a figyelmem. xD
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
Pretender - Törzstag | 2498 hsz       Online status #183365   2012.06.16 22:01 GMT+1 óra  
TCP hálózat oda, ahova nem kell realtimeség (pl. sakk), UDP oda, ahova kell (pl. stratégiai játék)

UDP nehezebb, mert ott neked kell megoldanod a csomagok átjutásának ellenőrzését, stb. Azért nem egy vészes téma

   
ddbwo - Tag | 1654 hsz       Online status #183363   2012.06.16 21:44 GMT+1 óra  
Köszi!

Úgy tűnik ez azért már hosszabb téma lesz, mint amihez szoktam.
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
Joga - Törzstag | 1791 hsz       Online status #183362   2012.06.16 21:31 GMT+1 óra  
ddbwo:
Stackoverflow topic
Itt van egy kettő felsorolva a kommentekben
Esetleg használhatsz socketeket:
Magyar leírás
(ಠ ›ಠ) Stewie!

   
ddbwo - Tag | 1654 hsz       Online status #183360   2012.06.16 21:00 GMT+1 óra  
Lenne egy C++ kérdésem...

Hogy lehet interneten keresztül összekapcsolni két gépet a legkönnyebben? Ha pl egy minigame-et szeretnék csinálni. mondjuk két gagyi robotot v sakk táblát v bármit, mi a leggyorsabb és legegyszerűbb megoldás?

Van valami könnyen felépíthető lib, framework v ilyesmi?
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
LugaidVandroiy - Törzstag | 504 hsz       Online status #183358   2012.06.16 20:43 GMT+1 óra  
Amint elindítod, és gázt adsz neki, pofára esik?

   
LBandy - Tag | 271 hsz       Online status #183357   2012.06.16 20:39 GMT+1 óra  
versio - Tag | 673 hsz       Online status #183354   2012.06.16 19:35 GMT+1 óra  
sirpalee: megertheted hogy nem foglalkoztat a cuda , mikor a mobil tablaka 0%-an fog futni
, ugyanis mind intel processzoros lesz, ivy bridge, vagy valami arm szutyok, esetleg amd APU
   
sirpalee - Tag | 1282 hsz       Online status #183353   2012.06.16 19:28 GMT+1 óra  
Mert valszeg régi topicocat olvastál. Mint mondtam, hibás következtetést vontál le. Az AMPnak sokkal nagyobb hülyeségei vannak. De persze ahhoz, hogy lásd, értelmes dolgot is kéne csinálni vele, nem csak tutorialokat.
raytraceisten és übermedic
   
versio - Tag | 673 hsz       Online status #183352   2012.06.16 19:25 GMT+1 óra  
sirpalee: a cudaval nem rendelkezek tapasztalattal , mert holt nyelvekkel nem foglalkozok, viszont a googleval rakerestem es ott tobb helyen emlitettek hogy c++ -t nem tamogat
   
sirpalee - Tag | 1282 hsz       Online status #183351   2012.06.16 19:11 GMT+1 óra  
megint félinformációk alapján állítasz pontatlanságokat. bár neked a makró meg a template az ugyanaz... nem is tudom miért próbálsz c++-ozni ennyi tudással.
raytraceisten és übermedic
   
ddbwo - Tag | 1654 hsz       Online status #183350   2012.06.16 19:10 GMT+1 óra  
Én GLSL-ben vagyok beszélő viszonyban a gpu-val, ami kinézetre nagyjából c, és sikerül mindig a lehető leggyorsabbra csinálnom a kódot azon a szinten, ami pl gémekhez kell.

Meg úgy python és c++ közt se látok nagy különbséget, az ötletelési idő kb hosszabb, mint amibe leírni kerül. Ezzel is, azzal is kb 5 perc, ha a fő terv megvan.
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
versio - Tag | 673 hsz       Online status #183349   2012.06.16 19:08 GMT+1 óra  
sirpalee: nem ismerem a cuda-t csak olvastam rola , ilyeneket pl:

"the Cuda documentation states that the device nodes only support C code, no classes, inheritance, even no templates"

elkepzelheto hogy valtozott azota, de igazabol mindegy , halott nyelv, sem az ati sem az arm sem az intel nem tamogatja, igy igazabol vitatkozni is ertelmetlen rola
   
LugaidVandroiy - Törzstag | 504 hsz       Online status #183348   2012.06.16 18:57 GMT+1 óra  
Még Java alá is van binding könyvtár CUDA-hoz.

   
sirpalee - Tag | 1282 hsz       Online status #183347   2012.06.16 18:51 GMT+1 óra  
version, az isten szerelmére, ne beszélj faszságokat. a CUDA nem csak c-re képes, támogat elég sokmindent a CX11-es szabványból. istenem...
raytraceisten és übermedic
   
versio - Tag | 673 hsz       Online status #183346   2012.06.16 18:36 GMT+1 óra  
en azert nem szeretem a c++-t mert tulsagosan alacsony szintu, ez ma mar teljesen felesleges, inkab azon kell erolkodni hogy a gpu -t jobban kihasznalhassuk , nem azon hogy az aktualis adatnak mi a pointere, hat ki nem szarja le
   
ddbwo - Tag | 1654 hsz       Online status #183345   2012.06.16 18:14 GMT+1 óra  
Hát ezaz... De az idő, amíg leírom. xD
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
versio - Tag | 673 hsz       Online status #183344   2012.06.16 18:12 GMT+1 óra  
ddbwo:

ezt konnyen megoldod, az osztalyban letrehozol egy static LIST-at es a constructoran hozzadod a listaba az aktualis peldanyt
   
ddbwo - Tag | 1654 hsz       Online status #183343   2012.06.16 18:04 GMT+1 óra  
Há nem? Most nekem kell rendezgetni. De ezt leszámítva nincs is jobb a c++nál.
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
Joga - Törzstag | 1791 hsz       Online status #183342   2012.06.16 18:03 GMT+1 óra  
(ಠ ›ಠ) Stewie!

   
ddbwo - Tag | 1654 hsz       Online status #183341   2012.06.16 18:00 GMT+1 óra  
A c++ban nekem csak annyi hiányzik, hogy ha van pl egy roboType osztály, és már egyáltalán megalkották az oszály fogalmát, miért nincs olyan, hogy pl.:

roboType.move();

És akkor az összes ilyen osztályú cucc megcsinálná amit a függvény alapján kell.
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
Joga - Törzstag | 1791 hsz       Online status #183340   2012.06.16 17:55 GMT+1 óra  
Lambda azért is szebb, mert nem kell külön függvényt deklarálnod, hogy paraméterként használd, hanem ott helyben kifejtheted.( Pl rendezésnél az összehasonlító operátor )
(ಠ ›ಠ) Stewie!

   
Parallax - Tag | 609 hsz       Online status #183337   2012.06.16 17:34 GMT+1 óra  
versio: Ez már kezd PHP lenni, vicces. Akkor már inkább a C++/CX.

   
versio - Tag | 673 hsz       Online status #183336   2012.06.16 16:56 GMT+1 óra  
Pretender: hat az amp az azert jo mert a gpu-n fut a c++ kod, ilyet mas nem tud , a szaros cuda meg opencl csak elavult C-re kepes
a lambda meg azert tetszik nekem , mert a fuggveny atadashoz nem kell pointer, igy atadom a callback fuggvenyt oszt majd visszahivjak

Kód:
//CALLBACK FUNCTIONS

function<void (int,int)> PointerMovedCallback()
{
return [&](int x,int y) {

$.Position.SetX( (float) x );
$.Position.SetY( (float) y );
};
}
   
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] > 20 < [25] [30] [35] [40] [45] [50] [55] [60] [65] [70] [75] [80] [85] [90] [95] [100] [105] [110] [115] [120] [125] [130] [135] [140] [143]