Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adminotech - Implement Ogre Instancing #680

Merged
merged 18 commits into from
Jun 14, 2013

Commits on May 30, 2013

  1. Ogre Instacing: Start new implementation with instance creation/destr…

    …uction managed by OgreWorld.
    Jonne Nauha committed May 30, 2013
    Configuration menu
    Copy the full SHA
    607593a View commit details
    Browse the repository at this point in the history

Commits on May 31, 2013

  1. Ogre Instancing: EC_Mesh is now pretty much covered so proper testing…

    … can start. Next I need to figure out the instancing shaders etc. All of this is still very much WIP.
    Jonne Nauha committed May 31, 2013
    Configuration menu
    Copy the full SHA
    84ef10c View commit details
    Browse the repository at this point in the history
  2. Ogre Instancing: Fix placeable to be set with instanced entities. Add…

    … more logic to the instance state objects in OgreWorld, including optimization runs after 5 seconds after creations/deletions have been done.
    Jonne Nauha committed May 31, 2013
    Configuration menu
    Copy the full SHA
    2581053 View commit details
    Browse the repository at this point in the history
  3. Ogre Instancing: Convert everything to use the OgreEntity() function …

    …instead of the deprecated GetEntity(). Check that all these places have proper null checking in preparation for instancing.
    Jonne Nauha committed May 31, 2013
    Configuration menu
    Copy the full SHA
    d8c6ff6 View commit details
    Browse the repository at this point in the history
  4. Ogre Instancing: While we are at it, fix all deprecated uses of GetBo…

    …ne() and GetAttachementEntity().
    Jonne Nauha committed May 31, 2013
    Configuration menu
    Copy the full SHA
    337ce5c View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2013

  1. Don't log out 'camera component is null' if input ptr is null no purp…

    …ouse to reset any active camera.
    Jonne Nauha committed Jun 2, 2013
    Configuration menu
    Copy the full SHA
    9d69b09 View commit details
    Browse the repository at this point in the history
  2. Ogre Instancing: Add draw debug for instancing via script exposed pro…

    …perty/slots. Add function that can set mesh refs instances as static, this can boost performance quite a bit but is hard to automatically detect (if static any movement wont be updated) so lets leave it to script logic to tell the rendering what instance meshes wont be touched. Improve destroying instances so that the manager gets cleared once it has 0 instances left.
    Jonne Nauha committed Jun 2, 2013
    Configuration menu
    Copy the full SHA
    7900fcd View commit details
    Browse the repository at this point in the history
  3. Ogre Instancing: Add HWInstancingBasic .cg, .material and .program. S…

    …eparated from the supershader for now.
    Jonne Nauha committed Jun 2, 2013
    Configuration menu
    Copy the full SHA
    27d3d05 View commit details
    Browse the repository at this point in the history
  4. Ogre Instancing: Add example scene that can cover wide range of thing…

    …s to test performance with both instancing on and off and toggling static instancing.
    Jonne Nauha committed Jun 2, 2013
    Configuration menu
    Copy the full SHA
    4216fc4 View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2013

  1. Ogre Instancing: Fix broken logic in finding existing instance and me…

    …sh targets with ref and submesh. Fix that meshes that are set as static also create new instances (with all of its submesh/material combos) as static. Added a getter for static instancing for a particular mesh ref.
    Jonne Nauha committed Jun 3, 2013
    Configuration menu
    Copy the full SHA
    2397517 View commit details
    Browse the repository at this point in the history
  2. Ogre Instancing: Fix example scene script to new function name in Ogr…

    …eWorld.
    Jonne Nauha committed Jun 3, 2013
    Configuration menu
    Copy the full SHA
    a699980 View commit details
    Browse the repository at this point in the history
  3. Ogre Instancing: Merge VS and PS warnings to a single warning, this w…

    …ill usually override both or none so this makes the output cleaner to read. Fix documentation that CreateInstance can return null in error situations with given input.
    Jonne Nauha committed Jun 3, 2013
    Configuration menu
    Copy the full SHA
    ead4fd0 View commit details
    Browse the repository at this point in the history
  4. Ogre Instancing: Make clear that the HW instancing is copied and modi…

    …fied from the Ogre 3D example assets and note the original author Matias N. Goldberg.
    Jonne Nauha committed Jun 3, 2013
    Configuration menu
    Copy the full SHA
    ad44aa2 View commit details
    Browse the repository at this point in the history
  5. Ogre Instancing: Fix DestroyInstances logic to not leave null ptrs or…

    … empty targets into the internal lists. Now if create and destroy are used in pair correctly, there is nothing left for dtor to cleanup. Fixed typo in script UI.
    Jonne Nauha committed Jun 3, 2013
    Configuration menu
    Copy the full SHA
    121d20a View commit details
    Browse the repository at this point in the history
  6. Ogre Instancing: Fix EC_Mesh WorldToLocal and LocalToWorld when insta…

    …ncing is used. Add todo tag to SetMaterial. Implementing this might be quite heavy with instancing as it involved completely destroying the current instances with this material and creating new with 'instancing supported highlight material'.
    Jonne Nauha committed Jun 3, 2013
    Configuration menu
    Copy the full SHA
    26c4b7d View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2013

  1. Ogre Instancing: Major overhaul to the OgreWorld instancing internal …

    …state book keeping. This fixes meshes with multiple submeshes in them and makes the internals a faster when instances are destroyed by EC_Mesh.
    Jonne Nauha committed Jun 11, 2013
    Configuration menu
    Copy the full SHA
    b3f7250 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1b1a74d View commit details
    Browse the repository at this point in the history
  3. Ogre Instancing: Fixed documentation and code formatting. Removed un-…

    …needed test code for multi submesh creation.
    Jonne Nauha committed Jun 11, 2013
    Configuration menu
    Copy the full SHA
    4d3bdf6 View commit details
    Browse the repository at this point in the history