Autor Wątek: Kolejny problem z Ogre  (Przeczytany 2858 razy)

Offline KaYou

  • Użytkownik

# Maj 01, 2007, 00:09:42
Witam.
Używam VC++8 i ogre. Poprawnie zainstalowałem OGRE, platform SDK x86, directX SDK, i wszystko czego wymagał ogre.
problem tkwi w tym, że projekt sie kompiluje i uruchamia(F5),  wida główne okienko FPS itd. lecz jest puste, pomimo, że nawet daje poprawne kody z sampli, lecz po zamknięciu exe ka w solution Explorer pojawia sie coś takiego :
Kod: (xml) [Zaznacz]
Build Log
 

Build started: Project: nsfdfh, Configuration: Debug|Win32

Command Lines
 

Creating temporary file "c:\Documents and Settings\KaYou\Moje dokumenty\Visual Studio 2005\Projects\jjjjh\nsfdfh\nsfdfh\obj\Debug\RSP00000814442088.rsp" with contents
[
/Od /I "include" /I "c:\OgreSDK\include" /I "c:\OgreSDK\samples\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Gm /EHsc /RTC1 /MDd /Gy /fp:fast /Fo"obj\Debug\\" /Fd"obj\Debug\vc80.pdb" /W3 /c /Wp64 /ZI /TP ".\src\nsfdfh.cpp"
]
Creating command line "cl.exe @"c:\Documents and Settings\KaYou\Moje dokumenty\Visual Studio 2005\Projects\jjjjh\nsfdfh\nsfdfh\obj\Debug\RSP00000814442088.rsp" /nologo /errorReport:prompt"
Creating command line "rc.exe /fo"obj\Debug/nsfdfh.res" ".\res\nsfdfh.rc""
Creating temporary file "c:\Documents and Settings\KaYou\Moje dokumenty\Visual Studio 2005\Projects\jjjjh\nsfdfh\nsfdfh\obj\Debug\TMP00000914442088.tmp" with contents
[
1 /* CREATEPROCESS_MANIFEST_RESOURCE_ID */ 24 /* RT_MANIFEST */ ".\\obj\\Debug\\nsfdfh.exe.embed.manifest"
]
Creating command line "rc.exe /fo".\obj\Debug\nsfdfh.exe.embed.manifest.res" "c:\Documents and Settings\KaYou\Moje dokumenty\Visual Studio 2005\Projects\jjjjh\nsfdfh\nsfdfh\obj\Debug\TMP00000914442088.tmp""
Creating temporary file "c:\Documents and Settings\KaYou\Moje dokumenty\Visual Studio 2005\Projects\jjjjh\nsfdfh\nsfdfh\obj\Debug\RSP00000A14442088.rsp" with contents
[
/OUT:"bin\Debug\nsfdfh.exe" /INCREMENTAL /LIBPATH:"c:\OgreSDK\lib" /MANIFEST /MANIFESTFILE:"obj\Debug\nsfdfh.exe.intermediate.manifest" /DEBUG /PDB:"bin\Debug/nsfdfh.pdb" /SUBSYSTEM:WINDOWS /OPT:NOWIN98 /MACHINE:X86 OgreMain_d.lib OIS_d.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib

".\obj\debug\nsfdfh.obj"

".\obj\debug\nsfdfh.res"

".\obj\Debug\nsfdfh.exe.embed.manifest.res"
]
Creating command line "link.exe @"c:\Documents and Settings\KaYou\Moje dokumenty\Visual Studio 2005\Projects\jjjjh\nsfdfh\nsfdfh\obj\Debug\RSP00000A14442088.rsp" /NOLOGO /ERRORREPORT:PROMPT"
Creating temporary file "c:\Documents and Settings\KaYou\Moje dokumenty\Visual Studio 2005\Projects\jjjjh\nsfdfh\nsfdfh\obj\Debug\RSP00000B14442088.rsp" with contents
[
/out:".\obj\debug\nsfdfh.exe.embed.manifest" /notify_update /manifest

".\obj\debug\nsfdfh.exe.intermediate.manifest"
]
Creating command line "mt.exe @"c:\Documents and Settings\KaYou\Moje dokumenty\Visual Studio 2005\Projects\jjjjh\nsfdfh\nsfdfh\obj\Debug\RSP00000B14442088.rsp" /nologo"
Creating temporary file "c:\Documents and Settings\KaYou\Moje dokumenty\Visual Studio 2005\Projects\jjjjh\nsfdfh\nsfdfh\obj\Debug\BAT00000C14442088.bat" with contents
[
@echo Manifest resource last updated at %TIME% on %DATE% > ".\obj\debug\mt.dep"
]
Creating command line """c:\Documents and Settings\KaYou\Moje dokumenty\Visual Studio 2005\Projects\jjjjh\nsfdfh\nsfdfh\obj\Debug\BAT00000C14442088.bat"""
Creating temporary file "c:\Documents and Settings\KaYou\Moje dokumenty\Visual Studio 2005\Projects\jjjjh\nsfdfh\nsfdfh\obj\Debug\TMP00000D14442088.tmp" with contents
[
1 /* CREATEPROCESS_MANIFEST_RESOURCE_ID */ 24 /* RT_MANIFEST */ ".\\obj\\Debug\\nsfdfh.exe.embed.manifest"
]
Creating command line "rc.exe /fo".\obj\Debug\nsfdfh.exe.embed.manifest.res" "c:\Documents and Settings\KaYou\Moje dokumenty\Visual Studio 2005\Projects\jjjjh\nsfdfh\nsfdfh\obj\Debug\TMP00000D14442088.tmp""
Creating temporary file "c:\Documents and Settings\KaYou\Moje dokumenty\Visual Studio 2005\Projects\jjjjh\nsfdfh\nsfdfh\obj\Debug\RSP00000E14442088.rsp" with contents
[
/OUT:"bin\Debug\nsfdfh.exe" /INCREMENTAL /LIBPATH:"c:\OgreSDK\lib" /MANIFEST /MANIFESTFILE:"obj\Debug\nsfdfh.exe.intermediate.manifest" /DEBUG /PDB:"bin\Debug/nsfdfh.pdb" /SUBSYSTEM:WINDOWS /OPT:NOWIN98 /MACHINE:X86 OgreMain_d.lib OIS_d.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib

".\obj\debug\nsfdfh.obj"

".\obj\debug\nsfdfh.res"

".\obj\Debug\nsfdfh.exe.embed.manifest.res"
]
Creating command line "link.exe @"c:\Documents and Settings\KaYou\Moje dokumenty\Visual Studio 2005\Projects\jjjjh\nsfdfh\nsfdfh\obj\Debug\RSP00000E14442088.rsp" /NOLOGO /ERRORREPORT:PROMPT"

Output Window
 

Compiling...
nsfdfh.cpp
Compiling resources...
Compiling manifest to resources...
Linking...
Embedding manifest...

Results
 

Build log was saved at "file://c:\Documents and Settings\KaYou\Moje dokumenty\Visual Studio 2005\Projects\jjjjh\nsfdfh\nsfdfh\obj\Debug\BuildLog.htm"
nsfdfh - 0 error(s), 0 warning(s)


Proszę o pomoc w rozwiązaniu problemu.
PS.
Myslalem ze to wina DIRECTX, lecz zainsatlowalem 9.0c i dalej ten sam problem :/.
« Ostatnia zmiana: Maj 01, 2007, 00:21:46 wysłana przez KaYou »

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline nameczanin

  • Użytkownik
    • devlog

# Maj 01, 2007, 00:51:54
a moze by tak spytac najlepiej u zrodla? Czy to forum jest od kompilatorow? Juz ktorys raz o to pytam, a kazdy i tak swoje.
http://www.ogre3d.org/phpBB2/ <-------------


Lothar_666

  • Gość
# Maj 02, 2007, 04:51:13
Widzę, że walenie linkami na lewo i prawo, zamiast napisania konkretnej odpowiedzi staje sie już zasadą na tym forum :-\
Dla odmiany ja odpowiem:
1. Wrzuć do głównej pętli coś takiego: mWindow->update(); (pomaga przy problemie z czarnym ekranem na systemach 64-bit'owych oraz Linux'ie, ale może i tutaj pomoże)
2. Jaką masz kartę graficzną?
3. Zainstaluj najnowsze sterowniki do karty graficznej
4. Której wersji Ogre używasz?
5. Sprawdź najnowszą wersję DirectX SDK
6. Sprawdź w Ogre.log czy nie ma jakiś błędów z wczytywaniem modeli, materiałów, shaderów itp.

Offline mINA87

  • Użytkownik

# Maj 02, 2007, 10:51:19
Widzę, że walenie linkami na lewo i prawo, zamiast napisania konkretnej odpowiedzi staje sie już zasadą na tym forum :-\
Bo te linki pomogą bardziej niż "konkretne" odpowiedzi. Jak można odpowiedzieć konkretnie na tak postawiony problem? Bez przesady może w końcu nauczymy ludzi rozwiązywać problemy zamiast rozwiązywać te problemy za nich?
Odnośnie DX SDK to zobacz że kolega używa OgreSDK, więc rendersystem do DX'a ma precompilnięty.
Poza tym taki akurat problem wskazuje na to, że prawdopodobnie OGRE rzucił jakimś wyjątkiem przy zabawie z res'ami, bo Ogre renderuje overlaye co kolega też napisał, a skoro Ogre to robi to raczej nie jest to problem ze sterami do karty graficznej ani z DX'em. Ponadto SDK sugeruje że jest to wersja stable, więc pytanie o wersję też trochę mija się z celem. Najprawdopodobniej kolega zmodyfikował jakiś config/namieszał coś z resami i tyle, ale powinien starać dać sobie radę samemu.
A co do window->update to możesz mi powiedzieć gdzie jest główna pętla? Bo o ile wiem przykłady Ogre bazują na ExampleApplication, gdzie wywoływana jest metoda startRendering() obiekty Ogre::Root i pętla główna jest właśnie tam, poza naszymi plecami a wszystko oparte jest o mechanizm zdarzeń obsługiwanych przez framelistenery :] I jeszcze raz - overlaye są renderowane co implikuje fakt rysowania do okna :]

Lothar_666

  • Gość
# Maj 02, 2007, 17:14:00
Gdyby namieszał z resami, Ogre przy odpalaniu wywaliły błąd.
Co do głównej pętli, nic nie stoi na przeszkodzie w modyfikacji ExampleApplication.h ???
Cytuj
bo Ogre renderuje overlaye co kolega też napisał, a skoro Ogre to robi to raczej nie jest to problem ze sterami do karty graficznej ani z DX'em
Wiedz, że to również może być przyczyną, czego dowodem są podobne problemy z np.: Company of Heroes albo serii Warhammer 40k, gdzie renderowany jest tylko GUI, a reszta ekranu jest po prostu czarna.

Offline mINA87

  • Użytkownik

# Maj 03, 2007, 14:56:44
Gdyby namieszał z resami, Ogre przy odpalaniu wywaliły błąd.
Zależy jak, część wyjątków jak brak meshy jest wyrzucany kompletnie poza OGRE'a do MessageBox'a, ale wtedy tak się zachowuje OGRE.

Co do głównej pętli, nic nie stoi na przeszkodzie w modyfikacji ExampleApplication.h ??
Tak sądzisz? A nie sądzisz że major bug tej klasy powinien zostać usunięty już pod spodem za użytkownika?
Poza tym chcesz żeby użytkownik, który nie potrafi odpalić Sampli z SDK, grzebał w OGRzE customowo? Fajnie :] 

Wiedz, że to również może być przyczyną, czego dowodem są podobne problemy z np.: Company of Heroes albo serii Warhammer 40k, gdzie renderowany jest tylko GUI, a reszta ekranu jest po prostu czarna.
No, szczególnie że Company of Heroes korzysta z OGRE'a i CEGUI. Raczej dziwne by było żeby jeden VertexBuffer się renderował a drugi nie, tylko dlatego że ten pierwszy zawiera parę trójkątów i teksturkę GUI.