Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

20.03.2008, 14:15

Ogre Terrain funktioniert nicht

Hallo.
Ich befasse mich nun mit Ogre und habe die Grundstrukturen verstanden.
Jetzt möchte ich ein Terrain anzeigen lassen, doch das klappt nicht.
Es kommt immer folgender Fehler:

Zitat

OGRE EXCEPTION(2:InvalidParametersException): World geometry is not supported by the SceneManager. in SceneManager::setWorldGeometry at ..\src\OgreSceneManager.cpp (line 1306)


Doch ich habe es genau wie im beispiel gemacht:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
    void createCamera(void)
    {
        mCamera = mSceneMgr->createCamera("PlayerCam"); 
        mCamera->setNearClipDistance(5);
    }
    
    void ChooseSceneManager(void)
    {
        mSceneMgr = mRoot->createSceneManager("TerrainSceneManager");
        ResourceGroupManager::getSingleton().initialiseAllResourceGroups();

    }

    void createScene(void)
    {
        mSceneMgr->setAmbientLight(ColourValue(0.25, 0.25, 0.25));

        Light *light = mSceneMgr->createLight("Light1");
        light->setType(Light::LT_POINT);
        light->setPosition(Vector3(250, 150, 250));
        light->setDiffuseColour(ColourValue::White);
        light->setSpecularColour(ColourValue::White);

        std::string terrain_cfg("terrain.cfg");
        mSceneMgr -> setWorldGeometry( terrain_cfg );

        mSceneMgr->setSkyDome(true, "Examples/CloudySky", 5, 8);
      

        Entity *ent = mSceneMgr->createEntity("Ninja", "ninja.mesh");
        SceneNode *node = mSceneMgr->getRootSceneNode()->createChildSceneNode("NinjaNode");
        node->attachObject(ent);

        // Create the scene node

        node = mSceneMgr->getRootSceneNode()->createChildSceneNode("CamNode", Vector3(0, 200, 400));
        node->attachObject(mCamera);
    }


Bitte helft mir.
Gruß Flo

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

20.03.2008, 14:27

Schonmal im Ogreforum nachgeschaut? Vielleicht hatte da jemand genau das gleiche Problem.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

3

20.03.2008, 14:30

ja da hatte einer das selbe problem aber dann hat der auf einmal geschrieben es klappt und keine lösung ist da.
:(

Gruß Flohttp://ogre3d.org/phpBB2addons/viewtopic…f509e6f4e2718c6

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

4

20.03.2008, 14:47

eigentlich is da doch was von lösungsidee:

Zitat von »"ogreForum"«


are you creating the SceneManager like this?

SceneManager = root.CreateSceneManager(SceneType.ST_EXTERIOR_CLOSE);

5

20.03.2008, 15:32

das klappt aber nicht

gruß flo

6

20.03.2008, 17:03

ok funktioniert wieder.
Habe aber keine ahnung warum.
Hab einfach ein Beispiel genommen und das hat geklappt.
danke
gruß flo

7

20.03.2008, 23:06

Ich würde dir sowieso raten erstmal alle Beispiele durchzugehen.

Dalon

Frischling

Beiträge: 81

Wohnort: Berlin

Beruf: Freiberufler

  • Private Nachricht senden

8

21.03.2008, 04:35

Zitat von »"F-Wölkchen"«

das klappt aber nicht

gruß flo


Solche Aussagen sind immer unglaublich aussagekräftig ^^

User: "Da geht nichts"
Entwickler: "Wie da geht nichts?"
User: "Na da geht nichts!"
...

WARUM geht es nicht und WAS geht nicht? ;) EXTERIOR_CLOSE wird benötigt, weil dieser SceneManager terrains (aus heightmaps) unterstützt wie oben bereits gesagt.

Werbeanzeige