Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Michal Lyga
Založen: 19. 05. 2009 Příspěvky: 7
|
Zaslal: 20. květen 2009, 21:01:02 Předmět: Problém s texturou (visty) |
|
|
Mam problém... dělal jsem NeHe tutoriály bez problému až do 6... tam mam nějaké problémy s texturou... Error sice ne, vše proběhne vpořádku, ale když se to začne spuštět tak napíše že program přestal pracovat (Visty)... nevíte čím to je ? Postupoval jsem přesně podle tutoriálu, a ani ty stáhlý tutoriály (kdekoliv kde je něco s texturou) nefungují... ten samý problém ... nevíte co by to mohlo být ? |
|
Návrat nahoru |
|
 |
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 21. květen 2009, 06:22:50 Předmět: |
|
|
Zajímavé, mě vždy GLAux na vistách chodil. Může to být chybějícím GLAuxem(pravděpodobně)
Ale takhle od stolu se radí těžko... jaký máš překladač? Zkus to projet debuggerem. _________________ For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++. |
|
Návrat nahoru |
|
 |
Michal Lyga
Založen: 19. 05. 2009 Příspěvky: 7
|
Zaslal: 21. květen 2009, 13:40:48 Předmět: |
|
|
Jsem to zkusil přes ten debug, ale totéž, až na to okénko s tou správou : program přestal pracovat. Divný... napadlo mě že třeba mam špatnou dll, nebo mi něco chybý... ale stýhly jsem si komplet balík a myslíš že všechno mám. |
|
Návrat nahoru |
|
 |
Deluxe

Založen: 31. 07. 2007 Příspěvky: 235 Bydliště: Oslavany
|
Zaslal: 21. květen 2009, 18:43:35 Předmět: |
|
|
Jak zkusil jsem to pres ten debug?
Musis si to odkrokovat, abys videl, na jakym volani se ti to zasekne. |
|
Návrat nahoru |
|
 |
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 22. květen 2009, 06:06:09 Předmět: |
|
|
Hmmm... ono to totiž hází chybu dokud nedáš glaux.dll do adresáře projektu... nebude to tím?  _________________ For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++. |
|
Návrat nahoru |
|
 |
Michal Lyga
Založen: 19. 05. 2009 Příspěvky: 7
|
Zaslal: 24. květen 2009, 18:29:27 Předmět: |
|
|
Ne, dal jsem tam ten glauc.dll ale pořád to samý... napadlo mě, že by to mohlo byt tym nahravanim. Jestli tam něco nechybý k tomu... nějakej jinej dll. ? |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 24. květen 2009, 18:57:25 Předmět: |
|
|
skusil by som stiahnut ten SDL port lekcie a skusit ten. a taktiez sa preorientovat na SDL. je to modernejsie, jednoduchsie a portbailnejsie. _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 24. květen 2009, 20:26:37 Předmět: |
|
|
nou: Nehledě na to že OpenGL + WinAPI je overkill
Michal Lyga: Máš nainstalované nejnovější drivery?
Zkus jiný překladač.
Projeď to znova.
Dej glaux.dll do úplně všech adrasářů projektu.
Už mě nic nenapadá  _________________ For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++. |
|
Návrat nahoru |
|
 |
Michal Lyga
Založen: 19. 05. 2009 Příspěvky: 7
|
Zaslal: 25. květen 2009, 13:36:10 Předmět: |
|
|
Tak už mám asi takovou teorii čím to je... zřejmě na to nemam hardware, protože např. když si chci v Q2 nastavit video na vykreslování v OpenGL, tak nefunguje uplně přesně, nebo se to přehodí na Direct...takže asi bohužel OpenGL budu muset opustit a jít se věnovat SDL  |
|
Návrat nahoru |
|
 |
Casio
Založen: 13. 01. 2009 Příspěvky: 23
|
Zaslal: 25. květen 2009, 15:37:23 Předmět: |
|
|
Tomu se mi nechce věřit, že na to nemáš hardware. Leda že by si měl 10 let starej kompl a to snad namá žádnej herní vývojář. A myslím, že SDL vnitřně taky používá OpenGL, ale nejsem si jistý, protožě v SDL jsem nikdy nedělal. |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 25. květen 2009, 16:02:17 Předmět: |
|
|
ako na co. SDL je 2D softwerove vykreslovanie alebo aj OpenGL _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
Michal Lyga
Založen: 19. 05. 2009 Příspěvky: 7
|
Zaslal: 25. květen 2009, 16:35:28 Předmět: |
|
|
Tak pokud to neni hardwarem tak už nevim... dll mam všechny, .h soubory taky... prostě vše maká tak jak má, ale jakmile jsem tam přidal tu texturu (podle NeHe tutoriálů) tak už to nefaká, btw -> if.then: Mas icq ? Přidej si mne , takhle to řešit je na nic, přes icq se snad nějak domluvíme 196-015-548 |
|
Návrat nahoru |
|
 |
Ladis

Založen: 18. 09. 2007 Příspěvky: 1537 Bydliště: u Prahy
|
Zaslal: 25. květen 2009, 17:05:33 Předmět: |
|
|
3D grafika v SDL je OpenGL, tzn. ze si nepomuzes (jak jinak by SDL bylo multiplatformni, kdyz jedine dalsi 3D API je MS-only Direct3D). U hardware staci napsat, co mas za grafiku, a my ti reknem, jestli to umi. Treba jen nemas nainstalovane ovladace - na integrovane ovladace ve Windows stare grafiky bezi, ale jen v Direct3D (OpenGL neni podporovano), nicmene pro kazdou grafiku za poslednich 10 let jde stahnout od vyrobce OpenGL driver. jinak podle me "program neodpovida" znamena jedine nejakou smycku, nekonecny cyklus, nevybirani zprav z fronty - tzn. chyba v tvem kodu (velmi nepravdepodobne, ze v olvadaci grafiky apod.). glaux.dll neni treba kopirovat nikam jinam nez k .exe, mimoto kdybyste na nej zapomneli, tak vam to napise (a nepusti dal). A nakonec, proc neukazez zdrojak, treba bychom tam vydeli nejakej kix (NoPaste). Jeste dodam, ze pokud si neco budete resit po ICQ, tak prosim hod reseni i do fora, pro budou generace a tak. _________________ Award-winning game developer |
|
Návrat nahoru |
|
 |
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 25. květen 2009, 18:25:39 Předmět: |
|
|
Tak jsem to projel debugem(kód NeHe z lekce 6) a zjistil jsem, že u Dev-cpp s MinGW hází program Segmentation fault:
kód: |
if (TextureImage[0])// Pokud obrázek existuje
{
if (TextureImage[0]->data)// Pokud existují data obrázku
{
free(TextureImage[0]->data);// Uvolní paměť obrázku
}
free(TextureImage[0]);// Uvolní strukturu obrázku
}
|
ve volání funkce free()
Bez toho program funguje bez problémů, nicméně, co s tím? (nechám si poradit od profíků) _________________ For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++. |
|
Návrat nahoru |
|
 |
VladR
Založen: 30. 07. 2007 Příspěvky: 1322 Bydliště: Greater New York City Area
|
Zaslal: 25. květen 2009, 21:08:31 Předmět: |
|
|
Pred par hodinami sme sa tu bavili v inom vlakne, ze preco je XNA lepsie, ako NeHeho PureC tutorialy.
Presne pre taketo zverstva s (de/re)alokaciou pamate - na zaciatku je to v pohode, ale zacnes vrtat do kodu, nechas to odlezat cez tyzden a leak je na svete.
Spat k teme:
1. Si si 100% isty, ze kazdy pointer je na zaciatku inicializovany na null resp. NULL ) ?
2. Si si 100% isty, ze si nerealokoval ziadne nove data do TextureImage [0] A ziadne nove data do TextureImage [0]->data POTOM, co boli alokovane ?
3. Vies vobec, co robi free () ? Si si vedomy, ze free () ti pointer neupdatne na null (NULL ) ? Zatial nic ? OK, tak dalsi hint. Predstav si, ze dany usek kodu, co si sem pastol, normalne prebehne, a teda sa uvolni pamat, na ktoru ukazuje TextureImage [0]->data a TextureImage [0].
Stale nic ? No a teraz si predstav, ze sa MOZNO ta funkcia, kde sa to nachadza, zavola viackrat, nez len jeden, jediny raz (co je v hrach, kdes sa za sekundu renderuje aj 100+ framov stava relativne bezne ).
Co to znamena ? Ze ten if (textureimage[0]) ti normalne zbehne a bude sa to snazit znova uvolnit ! Daj si tam breakpoint na riadok s free (), ci sa tam NAHODOU neocitnes 2 razy
Tentoraz si mal stastie, ale inokedy ti to nemusi crashnut, pokial dany usek pamate nebude pouzity inde. A to je presne typ bugov ktore sa hladaju KUREVSKY tazko vzhladom na mieru sprasenia kodu
Pokial sa ti to naozaj paci takto narabat s pamatou, tak doporucujem si spravit triedu, ktora si bude sama automaticky riesit dynamicky pamat - vsetko kontrolovat, inicializovat na NULL a pod. Usetris si KVANTUM casu a nervov. Ty budes len pouzivat metody danej triedy pre pristup k datam (osetri si pristup cez const, aby si nahodou nieco nepremazal). |
|
Návrat nahoru |
|
 |
|