.[ ČeskéHry.cz ].
Fyzikální Engine v C nebo CPP s fixed point matematikou

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Fyzikální modely
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
milikiller



Založen: 12. 02. 2009
Příspěvky: 6

PříspěvekZaslal: 12. únor 2009, 17:25:39    Předmět: Fyzikální Engine v C nebo CPP s fixed point matematikou Odpovědět s citátem

Dobrý den, zajímalo by mě jestli existuje nějaký engine který požívá fixed point matematiku. Zkoušel jsem Box2D ale nedaří se mi ho zkompilovat. Na PC mi chodí v pohodě pod Visual studiem i Devcpp,ale já bych potřeboval port pro ARM7 procesor. Zkoušel jsem zkompilovat pod prostředím Keil Uvision, kompilace proběhne bez chyb a upozornění vše je v pořádku..ale program spadne ještě dříve něž stihne něco udělat. Má totiž problém s dinamickou alokací paměti...nikdo zatím neví proč.

Jen jsem chtěl vědět jestli je něco jiného než box2D co umí fixed point matematiku a je to psaný v c++ nebo c.. popřípadě jestli někdo dokáže z těchhle zdrojáků vykutat tu dinamickou alokaci paměti tak budu nejšťastnější člověk na světě.

zdrojáky jsou pro devccpp s SDL. Neděste se toho bastlu okolo to je ovládání hardwaru ARM7 procesoru, navíc v cpp jsem docela začátečník

Keil Source
http://milikiller.ic.cz/external/Box2D_keil.zip

DevCpp Source
http://milikiller.ic.cz/external/box2D_devcpp.zip

nebo jestli existuje i poslední verze bez dinamické alokace a všech těch std funkcí tak pošlete odkaz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Hardwire



Založen: 04. 09. 2007
Příspěvky: 117

PříspěvekZaslal: 12. únor 2009, 18:31:05    Předmět: Odpovědět s citátem

Před rokem jsem udělal port Box2D do Symbianu...je tam možnost zkompilovat to jak s fixed-point (definovanim symbolu TARGET_FLOAT32_IS_FIXED), tak s floating-point číslama.
Problém je, že je to port už starší verze 1.4.3 a do 2.0 se ty změny asi nedostaly. Označený jsou v kódu pomocí
//SYMBIAN
...
//~SYMBIAN
http://www.hardwire.cz/download/B2Test_Symb.zip
Je to projekt pro Carbide C++.
Problem s fixed-point verzi se nedavno resil na foru konkretne pro pouziti na DSku: http://box2d.org/forum/viewtopic.php?f=5&t=124&st=0&sk=t&sd=a (poslednich par stranek)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Hardwire



Založen: 04. 09. 2007
Příspěvky: 117

PříspěvekZaslal: 12. únor 2009, 18:32:59    Předmět: Odpovědět s citátem

Jinak pokud vim, tak Box2D ma vlastni alokatory pameti, aby to slo snadno upravit prave na omezenejsich systemech....moc detailne sem to ale nestudoval. Jakej mas konkretne problem s dynamickou alokaci?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
milikiller



Založen: 12. 02. 2009
Příspěvky: 6

PříspěvekZaslal: 12. únor 2009, 23:13:46    Předmět: problém Odpovědět s citátem

No ono se to hrozně špatně popisuje. Já totiž nevím na čem přesně to spadne. při chodu toho zdrojáku to dojede na řádek
kód:
World world(gravity, iterations);

a z něj se to nehne. Pokud to disassembluju a koukam co se tam děje, tak to začne někde volat funkci strlen() a někde uprostřed funkce to zabloudí do neexistující oblasti RAM. Nějak mě moc řešení nenapadá. Asi vím co mi na to řeknete, že používám debilní kompiler, ale je to to nejlepší co znám. Když bude dost času zkusím to nějak prohnat gcc co to udělá.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Hardwire



Založen: 04. 09. 2007
Příspěvky: 117

PříspěvekZaslal: 12. únor 2009, 23:30:17    Předmět: Odpovědět s citátem

Tak krokuj dovnitř toho konstruktoru.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
milikiller



Založen: 12. 02. 2009
Příspěvky: 6

PříspěvekZaslal: 13. únor 2009, 00:42:54    Předmět: Odpovědět s citátem

Tak koukam že asi omyl... Ono to neni tím konstruktorem. To mam jen 2 odlišné zdrojáky. Zkoušel kompilovat Box2D lite to je to co tu leží. a potom ten poslední build 2.0.1 a v tom mi to aspoň dojede do té definice světa. ale v tom zdrojáku co je tady vystavenej mi ten zmetek nedojede nikam... Když koukam do toho assemblerovýho kódu tak tam prostě neni ani zmínka o tom že by začalo chroupat z main.c Ono si to předpřeloží všechny knihovny který se tam používaj a při tom to právě buchne... jenže nejsem nějak schopnej dohledat odkud si to pořád bere knihovnu string.h a cstring, nemůžu na ní najít nikde ani odkaz...dobře jeden je v main.c ale ten mam teď zakomentovanej a stejně to spadne při načítání funkce strlen....jdu zkusit debugovat ten druhej zdroják schválně jestli tam je nějaký rozdíl
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
ladik-BigBoss



Založen: 28. 07. 2007
Příspěvky: 160

PříspěvekZaslal: 13. únor 2009, 13:28:59    Předmět: Odpovědět s citátem

kdyz kompilator neni nastaveny na prilisne dodrzovani standardu tak si zakladni hlavickove soubory dohleda sam. stejne se vetsinou linkuje cela standardni knihovna C naraz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Fyzikální modely Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna