Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    SNiLD
    @SNiLD
    we use the default scene manager as other really don't provide any improvement on open scenes
    siN
    @sindev95
    engine*
    Guillermo Ojea Quintana
    @sercero
    Check the wiki also
    siN
    @sindev95
    @SNiLD what i did for now is
    Guillermo Ojea Quintana
    @sercero
    Octree Scene manager was though as an optimization, but eventually it was found out that culling by brute force was best
    siN
    @sindev95
    create a SceneManagerCamera which is : public OctreeCamera
    and the SceneManager is : public OctreeSceneManager
    and play with'em
    SNiLD
    @SNiLD
    you should always create cameras, entities etc through the scenemanager
    siN
    @sindev95
    so you mean i shouldn't be using Octree at all in my own scenemanager
    or you mean i should add'em to it ?
    SNiLD
    @SNiLD
    you can if you want/need to
    but no matter what scenemanager you choose, create cameras, entities, scenenodes etc through the scenemanager so the scenemanager can give you correct instances of them
    then changing scenemanager is not a problem
    (but that's not the only reason, all of the objects are really tightly tied to the scene manager)
    siN
    @sindev95
    well what my idea is
    to create the Landscape
    i will create TileManager/TileResource/TileEdgeRender/Render/Patch/StaticObjectManager/Options/RaySceneQuery/HeightDataSource/Camera classes
    and use'em for my scenemanager
    what do you think ?
    im trying to create an rpg game
    so the terrain is my most crit part of the work
    terrain
    SNiLD
    @SNiLD
    yeah tiling is definitely the way to go if you want large open scenes
    siN
    @sindev95
    since ill need to get the height , get the walk path , get the water , set the world geometry..etc
    SNiLD
    @SNiLD
    Ogre::Terrain can save the pre-generated terrain blocks and load them from file so you don't even need the image in the long run, you can just generate the blocks once and later load them
    siN
    @sindev95

    Ogre::Terrain can save the pre-generated terrain blocks and load them from file so you don't even need the image in the long run, you can just generate the blocks once and later load them

    so what should i do in here ?

    SNiLD
    @SNiLD
    that's how we do it, we have huge geotiff's of areas around the world and we pre-generate Ogre::Terrain blocks from them
    siN
    @sindev95
    umm
    can u do a simple ex on how to use Terrain class with loading the heights/mask/walk/water images?
    SNiLD
    @SNiLD
    try the endlessworld sample, it has all of these (except for the fact that the terrain is automatically generated instead of loaded from img)
    siN
    @sindev95
    ok ill look into it again
    siN
    @sindev95
    i think ill go with what i started and not use that
    i got the structure of the landscape stuff i need to do
    Tomas Ayi
    @tomasayi
    Hi again. I finally could compile Ogre3D in an i.MX8QM. I could run samples with SampleBrowser. The problem is that the performance is so slow. I would like to know if getting around 10-15 fps in SampleBrowser 3 sample in 1920x1080 is correct for my hardware or not, considering it has a Vivante GC7000XSVX GPU (you could read in internet that it has double GPU, but there is proof that it has the same performance as a single GPU). I tried using Debug and Release build modes and had only around 20% fps boost...
    If useful, this is ./SampleBrowser 3 command output:
    https://gist.github.com/tomasayi/ee1999f64ae313dcdcd4d2537d74468b
    This is ogre.cfg file:
    https://gist.github.com/tomasayi/120390f4d0141b43ff81f43d6d8e8de4
    Thank you
    4 replies
    Jhonny Vargas
    @jkvargas

    hey guys, I am trying to run some samples after building the src and I am getting:

    An exception has occured: OGRE EXCEPTION(7:InternalErrorException): Could not load dynamic library /home/vargasj/dev/ogre-next/cmake-build-debug/lib/RenderSystem_GL3Plus_d. System Error: /home/vargasj/dev/ogre-next/cmake-build-debug/lib/RenderSystem_GL3Plus_d.so.2.2.5: cannot open shared object file: No such file or directory in DynLib::load at /home/vargasj/dev/ogre-next/OgreMain/src/OgreDynLib.cpp (line 112)

    What am I missing? =)

    21 replies
    Jhonny Vargas
    @jkvargas
    image.png
    Tomas Ayi
    @tomasayi
    Hi, is adding Wayland support in the plans for the future? I'm trying to add it by myself but it's too difficult for me right now
    1 reply
    I can't manage to understand completely how to implement it
    1 reply
    Neonit
    @Neonit

    I'm struggling to find why I can't assign the Marble material to my test cube. The Ogre log says:

    Parsing script PbsMaterials.material

    I use:

    auto et{m_staticEntities.emplace(ann.id, ann.meshName)};
    ann.gfxEntity = &*et;
    auto& sceneMgr{m_renderer.sceneManager()};
    auto item{sceneMgr.createItem(ann.meshName,
        Ogre::ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME, Ogre::SCENE_DYNAMIC)};
    item->setMaterialName("Marble");
    auto node{sceneMgr.getRootSceneNode(Ogre::SCENE_DYNAMIC)
        ->createChildSceneNode(Ogre::SCENE_DYNAMIC)};
    node->attachObject(item);
    et->sceneNode = node;

    Yet it tells me:

    Can't assign material Marble because this Material does not exist. Have you forgotten to define it in a .material script?

    This is the file I'm loading: https://github.com/OGRECave/ogre-next/blob/master/Samples/Media/2.0/scripts/materials/PbsMaterials/PbsMaterials.material

    Neonit
    @Neonit
    Moreover, how does Ogre know/decide whether to render something with PBS or Unlit at all?
    Matías N. Goldberg
    @matiasgoldberg_twitter

    Hi! It's strange the log says the script is being parsed but then it's not found.

    The most reasonable explanation I can think of is that you're creating the item before calling initialiseAllResourceGroups

    Or for some reason Hlms::destroyDatablock is being called on that material before it is assigned. (that would be very strange)

    Moreover, how does Ogre know/decide whether to render something with PBS or Unlit at all?

    That's in the material script. As the scipt says:
    'hlms Marble pbs'

    The last word could be either pbs or unlit, and that tells Ogre which implementation you wish to use.

    OH Wait!!!

    I realize now. You're calling setMaterialName, you should be calling setDatablockOrMaterialName.

    Hlms materials are called 'datablocks' to distinguish v1-era materials from the new ones.

    The reason it's failing is because setMaterialName only looks for the older v1 materials
    Change the call to setDatablockOrMaterialName and you should be set
    Neonit
    @Neonit
    @matiasgoldberg_twitter Thank you for your answer. I think it works. At least the error message is gone. I can't see it, because apparently I have a lighting issue (cube is just black), although I set an ambient color of (0.5, 0.5, 0.5) and create a light above the cube.
    Matías N. Goldberg
    @matiasgoldberg_twitter
    If the light is not directional (e.g. spot or point) and shadow maps are not enabled, you will have to use Forward+ (there is a sample about that). Since you're still starting up, it's best that you first set that light to directional to check things work as intended

    Btw take a look at the 2.1+ FAQ
    http://wiki.ogre3d.org/Ogre+2.1+FAQ

    It contains solutions for common issues such as this one (e.g. see questions "I've added a Point/Spot light but it won't show up." and "I'm creating custom geometry but it shows black/white with PBS."

    Erik Ogenvik
    @erikogenvik
    Hi, there's a bug in Ogre 1.12.12. It's caused by the addition of "mesh->buildEdgeList();" to InstanceManager::unshareVertices, and it affects meshes with shared geometry and LOD. Basically, what happens is that the shared geometry is unshared, and split into separate geometries. But this is only done for the top level mesh (lod=0), the rest of the LOD data is untouched. This leaves the data in an inconsistent state since the lod data now refers to vertices where they were in the shared geometry.
    And when Mesh::buildEdgeList then is called this will lead to a segfault, since it will try to access vertices that are out of bounds.
    9 replies
    Farid
    @dahiri-farid
    Hello everyone! Trying to run 1.12.12 on MacOS. Successfully compiled. I have setup a sample project using simply BasicTutorial1. So I literally have it in my main file. When I launch the app the logs look fine but the window is not showing. So basically the app is not responding. I have attached the log:
    https://www.dropbox.com/s/veophhl6f6e7aei/the%20log?dl=0
    16 replies