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]
sirpalee - Tag | 1282 hsz       Online status #178112   2012.04.10 16:00 GMT+1 óra  
ismét egy zseniális érvelés...
raytraceisten és übermedic
   
Asylum - Törzstag | 5511 hsz       Online status #178111   2012.04.10 15:50 GMT+1 óra  
Nem a c++ t kell kerulgetni, hanem a 11-et. Nem hiszem el h eleg kiforrottak mar a forditok egy nagyobb projekthez (meg ha egyszemelyes is). Kulonbenis sztrak\jkolok mert kivettek a concepteket
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
sirpalee - Tag | 1282 hsz       Online status #178109   2012.04.10 15:46 GMT+1 óra  
Kerülni a c++11et? Háh...
raytraceisten és übermedic
   
Asylum - Törzstag | 5511 hsz       Online status #178107   2012.04.10 15:43 GMT+1 óra  
Es erosen mondogattam, hogy meg igy sem olyan jo es hogy a c++11-et meg messzirol kerulni kell
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Seeting - Törzstag | 2306 hsz       Online status #178096   2012.04.10 12:37 GMT+1 óra  
Megoldottam. Az osztályrendszer felépítése volt hülyeség. Asylum rávezetett, hogy írjam át template-esre.
   
Pretender - Törzstag | 2498 hsz       Online status #178095   2012.04.10 11:37 GMT+1 óra  
Ja, nem lehet... még tegnap este kipróbáltam, csak elfelejtettem megírni

   
zeller - Törzstag | 497 hsz       Online status #178094   2012.04.10 11:27 GMT+1 óra  
Ha mas a parameterlista az overload, nem override, nem lehet polimorfikusan kezelni.

   
proof88 - Törzstag | 530 hsz       Online status #178039   2012.04.09 19:25 GMT+1 óra  
versio megválaszolta szóval ez olyan mint Javaban az @Override, ezzel jelezheted a fordítónak hogy neked itt szándékodban állt felüldefiniálni egy függvényt, és ő ilyenkor hibát jelez, ha az új függvény szignatúrája eltér az eredetiétől. Más paraméterekkel már más lesz a szignatúra, az új függvényt fog jelenteni. Nekem most erre nincs ötletem, hogy lehetne megoldani hogy ne kelljen downcast-olni (azon kívül persze hogy írsz egy új függvényt). Esetleg template-tel.
   
Pretender - Törzstag | 2498 hsz       Online status #178038   2012.04.09 19:23 GMT+1 óra  
hát ha DerivedType típusúra hívod, ugyan olyannal, akkor nem lesz gond, viszont, ha mondjuk:
Kód:
DerivedType* elso = new DerivedType();
DerivedType2* masodik = new DerivedType2(); // amiben nincs int b;
elso->CopyFrom(masodik);

akkor nagy eséllyel elszáll, mivel nem létezik az int b, avagy, lehet, hogy nem száll el, hanem átkasztolja, és megkapja az int a default értékét, és azzal dolgozik. Szóval működhet

szerk.:
Most láttam mit írtál. Hát... szerintem az legyen a legkisebb gond, hogy kasztolni kell lehet az új cpp szabványban már van erre megoldás (pl. a lenti linken lehet valami ), de úgy tudom, hogy overrideolni ugyan azokkal a paraméterekkel tudsz. De lehet, hogy okos a fordító... próbáld meg a BaseType helyére a DerivedType-t írni, lehet lefordul úgy is.

   
Seeting - Törzstag | 2306 hsz       Online status #178037   2012.04.09 19:20 GMT+1 óra  
Mert jobb lenne ha nem kéne downcast-olni a bemenő paramétert, hanem egyből derived típusú lenne.
   
Seeting - Törzstag | 2306 hsz       Online status #178036   2012.04.09 19:18 GMT+1 óra  
Olyat nem lehet, hogy ugyanazt a függvényt akarom felülírni, de más paraméterekkel?
   
versio - Tag | 673 hsz       Online status #178035   2012.04.09 19:17 GMT+1 óra  
az override csak biztonsag szempontjabol kell , mert ellenorzi hogy letezett e ilyen nevu virtual fuggveny,es nem ujat akarsz letrehozni, erhetnek meglepetesek ha nincs hasznalva
   
Seeting - Törzstag | 2306 hsz       Online status #178034   2012.04.09 19:13 GMT+1 óra  
Proof:

Kód:
struct Base {
    virtual void some_func(float);
};

struct Derived : Base {
    virtual void some_func(int) override;
};


Ez nem fordul le VS2010 alatt: member function declared with 'override' modifier does not override a base class member

Ezt a hozzászólást Seeting módosította (2012.04.09 19:20 GMT+1 óra, ---)
   
Seeting - Törzstag | 2306 hsz       Online status #178032   2012.04.09 19:07 GMT+1 óra  
DerivedType elso;
BaseType * masodik = new DerivedType();

elso.CopyFrom(masodik);

Valahogy így hívok.
   
proof88 - Törzstag | 530 hsz       Online status #178031   2012.04.09 18:58 GMT+1 óra  
Pretender - Törzstag | 2498 hsz       Online status #178028   2012.04.09 18:33 GMT+1 óra  
miért ne lehetne? Bár nem igazán értem, hogy akkor most melyiket hívod mivel.
- a virtual-t nem kell kirakni, ha egy fgv valahol virtual, akkor az az is marad
- ezt az override meg abstract kulcsszót még nem is láttam

   
Seeting - Törzstag | 2306 hsz       Online status #178023   2012.04.09 16:02 GMT+1 óra  
Kód:
class BaseType abstract {
public:
int  a;
virtual void CopyFrom(BaseType &other) = 0;
};

class DerivedType : public BaseType {
public:
int b;
virtual void CopyFrom(BaseType &other) override {
DerivedType * pOther = dynamic_cast<DerivedType*> (&other);
b = pOther->b;
}
};


Az a kérdésem, hogy ilyet lehet? Szóval ha a bemenő paraméter ősosztály típusú, azért még átadódnak a kiegészített property-k is ha egy derived példánnyal hívom meg a metódust, igaz?
   
Seeting - Törzstag | 2306 hsz       Online status #178003   2012.04.09 13:19 GMT+1 óra  
bolyzsolt: Isten vagy! Majd tájékoztass a fejleményekről!
   
Parallax - Tag | 609 hsz       Online status #178001   2012.04.09 12:58 GMT+1 óra  
(bolyzsolt: A ReSharper pedig még szigorúbban betartatja a szabályokat + szemantikai hibákat is javít néhol.)

   
versio - Tag | 673 hsz       Online status #177995   2012.04.09 11:57 GMT+1 óra  
ez a kod megadja a processzor mag szamat amelyiken fut a programunk, aki parhuzamos programozast muvel annak ez nagy segitseg

Kód:
int cpudata[4];
__cpuid(cpudata,1);
int corenumber = cpudata[1]>>24;
   
bolyzsolt - Törzstag | 607 hsz       Online status #177989   2012.04.09 09:18 GMT+1 óra  
Mint veletek egyáltalán nem egyenrangú hobbiprogramozó, annyit azért hadd jegyezzek meg, hogy most épp a 2. nagyobb projektemen dolgozom C# alatt (az első a devPortalos hangyás verseny volt, a mostani a Chipmunk portolása), és tényleg nagyon átlátható és első látásra egyértelmű kódot lehet/KELL benne írni - ugye kelleni azért kell, mert a Visual Studio "erőltet" egy bizonyos kódformázást, és ez nekem pl. nagyon tetszik benne.
A teljesítmény részéhez egyelőre nem tudok hozzászólni, mivel még nem vagyok kész a portolással, de nagyon kíváncsi vagyok, hogy hogyan fog teljesíteni a Chipmunk managed környezetben a natívhoz képest - ugye mivel 2D fizikai lib, eléggé számít a teljesítmény.
Mielőtt valaki megkérdezné, azért portolom C# alá, mert WP7-re történő játékfejlesztéshez jól jönne valami frankó fizikai szimuláció

   
DMG - Szerkesztő | 3172 hsz       Online status #177988   2012.04.09 09:09 GMT+1 óra  
Idézet
Asylum :
Hát az ES 1 már szóba se jön ugyh ha ES-t mondok az az ES 2.



Azért szóbajön az, pont annak magyarázzam, aki intel kártyákra optimalizál?

Persze azért elenyésző az ogles2.x mentes mobil, de azért akad, és nem olyan nagy meló egy ogles1.x-es rendert belerakni a motorba, szóval inkább belerakom mind a kettőt, most mondjuk 2D-zek oda meg egyenőre csak 1.x-et raktam mert a 2.x es mobilok emulált 1.x-e is elég oda. Persze szebb dolgokat lehet művelni még 2D-ben is 2.x-el de most ráér.
-----------------------------------------
Dont Listen to the Naysayers
   
Asylum - Törzstag | 5511 hsz       Online status #177985   2012.04.09 07:39 GMT+1 óra  
Aham, oké wikipedia is ezt irja.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Seeting - Törzstag | 2306 hsz       Online status #177983   2012.04.09 00:45 GMT+1 óra  
Asylum: ES2 == OpenGL2 - FFP.

Az FFP-n kívül afeature set-je a GL2-höz közelít. A GL4 már nagyon más.
   
Pretender - Törzstag | 2498 hsz       Online status #177982   2012.04.09 00:04 GMT+1 óra  
Jól sejtem, hogy:
Kód:
if (Engine::Rendering != Engine::FixedFunction)

ahol:
Kód:
enum RenderMode { Deferred, Forward, FixedFunction };
static RenderMode Rendering;

Egy int-int összehasonlítás (tehát gyors)? Az rémlik, hogy fordításidőben const int-et csinál az enumból

   
Asylum - Törzstag | 5511 hsz       Online status #177975   2012.04.08 22:11 GMT+1 óra  
Hát az ES 1 már szóba se jön ugyh ha ES-t mondok az az ES 2.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
DMG - Szerkesztő | 3172 hsz       Online status #177974   2012.04.08 22:09 GMT+1 óra  
Az az ES 2.0 amiben nincs ffp.
-----------------------------------------
Dont Listen to the Naysayers
   
Asylum - Törzstag | 5511 hsz       Online status #177973   2012.04.08 22:00 GMT+1 óra  
Akkor az opengl 4-el.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Seeting - Törzstag | 2306 hsz       Online status #177972   2012.04.08 21:58 GMT+1 óra  
Abban még van szerintem.
   
Asylum - Törzstag | 5511 hsz       Online status #177971   2012.04.08 21:48 GMT+1 óra  
Mert az ogl 3-ban kezdték el kigyilkolni a ffp-t.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Seeting - Törzstag | 2306 hsz       Online status #177970   2012.04.08 21:31 GMT+1 óra  
Idézet
Asylum :
Az opengl es inkább az opengl 3-al egyenlö.



Miért?
   
versio - Tag | 673 hsz       Online status #177967   2012.04.08 21:23 GMT+1 óra  
mikor utoljara neztem , multiple rendertarget sem volt, 3d textura sem
csak egy alap vacak az egesz
   
Asylum - Törzstag | 5511 hsz       Online status #177965   2012.04.08 21:21 GMT+1 óra  
Az opengl es inkább az opengl 3-al egyenlö.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Seeting - Törzstag | 2306 hsz       Online status #177964   2012.04.08 21:19 GMT+1 óra  
versio: openglES == OpenGL2.0

Az openGL ES meg OpenGL. Mint ahogy a DX9 is DX meg a DX11 is.
   
versio - Tag | 673 hsz       Online status #177963   2012.04.08 21:17 GMT+1 óra  
Asylum: openglES fut, nem ugyanaz a ketto
   
Asylum - Törzstag | 5511 hsz       Online status #177962   2012.04.08 21:15 GMT+1 óra  
Hehh? Az opengl elöszöris egy szabvány, ha meg valahol szarul müködik a driverírók hibája. Az meg, hogy senki nem használja k*rvára nem igaz; kezdjük ott, hogy a mobil kütyük 99%-án opengl fut...szóval inkább a dx az amit a kutya nem használ (csak a M$ buzik).
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
versio - Tag | 673 hsz       Online status #177961   2012.04.08 20:51 GMT+1 óra  
azert mert nem tesztelt, ha veletlen belefutok valami hibaba akkor hetekig szopom a faszt, most nem tudom hogy a slimdx hozzaferhetove teszi e a forrast, de vegulis teljesen mindegy , es azt sem tudom hogy dx11.1 kompatibilis e
csak nezd meg Geri hozzaallasat, azert csinal szoftveres rendert mert az OPENGL nem mukodik megfeleloen, az sem tesztelt rendesen, mert senki nem hasznalja, a slimdx meg kitudja milyen fatoku kokany mester produktuma,csak rosszabb lehet
   
sirpalee - Tag | 1282 hsz       Online status #177960   2012.04.08 20:32 GMT+1 óra  
Asylum : az már inkább a c# / dotnet hibája...

Nem akarom nagyon védeni, de nem olvastam róla vészeseket. De version "kollega" biztos el tudja magyarázni miért is szörnyű.
raytraceisten és übermedic
   
Asylum - Törzstag | 5511 hsz       Online status #177959   2012.04.08 20:24 GMT+1 óra  
A Force Unleashed elég jól futott vele (mondjuk nem annyira jól mint elvárható lett volna, de na).
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
versio - Tag | 673 hsz       Online status #177958   2012.04.08 20:14 GMT+1 óra  
sirpalee: az egy kupac tragya
   
Seeting - Törzstag | 2306 hsz       Online status #177957   2012.04.08 20:11 GMT+1 óra  
Idézet
Parallax :
Mert futási időben fejtődik ki a generic, míg a template fordítási idejű, ennyi.



Oké, de miért? Miért nem lehet olyan mint a C++?
   
sirpalee - Tag | 1282 hsz       Online status #177956   2012.04.08 20:07 GMT+1 óra  
Miért ne? Ott a slimdx, mindent tud...
raytraceisten és übermedic
   
versio - Tag | 673 hsz       Online status #177955   2012.04.08 20:03 GMT+1 óra  
Parallax:"De egyébként C# és C++ közt azért egyszerűbb projectnél nincs márvadó különbség, csak azért nyelvet váltani fölösleges"


kellett a directx , xna ugyebar nincs, de most nehogy felhozd hogy valami wrapperen keresztul tutujgassam a dx-et , mert a kardomba dolok
   
Parallax - Tag | 609 hsz       Online status #177953   2012.04.08 19:43 GMT+1 óra  
Idézet
Seeting :
Én akkor csalódtam először a C#-ban, amikor munka közben jöttem rá, hogy nem lehet generic típusból osztályt származtatni. Mert azt például értem, hogy miért nem engedi hogy egy osztálynak két szülője legyen, de azzal nem értek egyet, hogy genericből nem tud örököltetni. Egyszerűen nem látom az okát miért...


Mert futási időben fejtődik ki a generic, míg a template fordítási idejű, ennyi.

   
Parallax - Tag | 609 hsz       Online status #177952   2012.04.08 19:39 GMT+1 óra  
version: a #pragma region-t már rég feltalálták, ha VS11-ben dolgozol ott még működik is!
Ha a parallel futtatásra gondolsz "több magos futtatás" alatt, az ugyanannak a wrapperelt változata, ami VC++ hoz is van. Az asszinkronos cucc pedig VS11-nél WinRT-s dolog, ami még javascript-ből is elérhető. A hieroglifa lambda pedig szabványos C++11, nem MS találmány. A CX a mem kezelés és metadatokat oldja meg + delegate, event property stb. De egyébként C# és C++ közt azért egyszerűbb projectnél nincs márvadó különbség, csak azért nyelvet váltani fölösleges. A Soulcraft mobilos 3D játék C# ban írták, teljesen jól fut. Ha ennél jobbat írsz, ami kész és működik is megemelem a kalapom.

   
Asylum - Törzstag | 5511 hsz       Online status #177951   2012.04.08 19:37 GMT+1 óra  
Köhh persze a headerben kifejtett implementációval...hagyjuk már a mesét...
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Seeting - Törzstag | 2306 hsz       Online status #177950   2012.04.08 19:34 GMT+1 óra  
Én akkor csalódtam először a C#-ban, amikor munka közben jöttem rá, hogy nem lehet generic típusból osztályt származtatni. Mert azt például értem, hogy miért nem engedi hogy egy osztálynak két szülője legyen, de azzal nem értek egyet, hogy genericből nem tud örököltetni. Egyszerűen nem látom az okát miért...

Más szempontból viszont azt tapasztalom, hogy a C#-ban sokkal könnyebb elegánsabb kódot írni, mint C++-ban.
   
versio - Tag | 673 hsz       Online status #177946   2012.04.08 18:45 GMT+1 óra  
a c# egyetlen problemaja, hogy nem lesz 8 magos processzor , es ahhoz hogy a compiler es a garbagecollector eroforrasigenyet elfedje ennyi vagy tobb kell, ez a sweat spot , legalabbis az amhdal grafikonrol ez lathato
de mivel a gyartok letojjak a procimagokat es a gpu-t nyomatjak , igy a c# sajnos vakvagany egyelore, en is ezert tertem vissza c++-ra, itt viszont nincs compiler , csak a garbage collector, es elmeletileg 4 magon is kepes csodakra ,
termeszetesen kezzel mindent jobban meglehet buvolni, csak a kod valik olvashatatlanna, ami hosszutavon nem celszeru
   
Pretender - Törzstag | 2498 hsz       Online status #177945   2012.04.08 18:41 GMT+1 óra  
A c# kód sohasem lesz gyorsabb, de ezt már kitárgyaltuk párszor itt

   
sirpalee - Tag | 1282 hsz       Online status #177944   2012.04.08 18:36 GMT+1 óra  
Ti ketten vagytok még natív mágusok (jó persze vannak még, de ők nem szokták szidni a c#-ot)
raytraceisten és übermedic
   
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]