OGRECave / ogre-next

aka ogre v2 - scene-oriented, flexible 3D C++ engine
https://ogrecave.github.io/ogre-next/api/latest
Other
987 stars 223 forks source link

Ogre 3.0 roadmap #235

Open darksylinc opened 2 years ago

darksylinc commented 2 years ago

Rather than rendering features, Ogre 2.4 will be focusing on robusting its source code base. There is a lot of code debt which needs to be addressed

New features

Stretch goals

oldmanauz commented 2 years ago

From ticket #245 Components to remove:

Plugins to remove:

Rendersystems to remove:

CMAKE config cleanup:

Documentation changes:

oldmanauz commented 2 years ago

Sorry if this is thread polution, I'll move to sepeate issue if required:

darksylinc commented 2 years ago

Make the Ogre version number a variable that gets built by CMAKE (assuming this is dooable) and that way when a new version is release, we don't need to track the version throughout the manual

What does that mean? Examples? I have no idea what you're talking about :confused:

Interest in a documentation refresh? Doxygen looks dated. Possible options:

YESS! Doxygen looks really ugly and not the best way to navigate!

So far what I like the best is just plain old Markdown from Github. Even our own doxygen sources in Github look better than their Doxygen counterparts but unfortunately there is no navigation and Doxygen's flavour of MD does not always work on Github.

Also unfortunately, it has no way to parse our source code either. Speaking of which; Doxygen should be able to generate pictures of relationships between component/classes but I can't find them and we're should be using them. Something is broken there.

Docsforge flecs example is nicer to search

Mmm looks good

Sphinx bgfx example is visually appealing, the layout of the API reference is potentially harder to read than doxygen. Extra steps and dependencies to build the docs.

Sphinx looks BEAUTIFUL and has multiple outputs which I like (HTML, PDF) but unfortunately:

  • theme for doxygen like doxygen awesome (Night mode - wow!)

OK that looks nice!

New style as per #84

OK I just merged it.

Can we also get clarifiaction on the exact name for ogre-next? So I can get some standardisation in the documentation. Currently it is called: Ogre V2, ogre-next, OgreNext, Ogre Next, Ogre-Next... etc

I wish we had.

Ogre V2 was the name for a long time until Pavel wanted to make a bigger distinct since the branches diverged too much while V1 became active. We still use it when it need to differentiate between the two, but is getting abandoned.

The suffix Next was needed to separate the projects. We couldn't put a lot of thought into it.

The repo is ogre-next, but that is hard for me to type but so is Ogre-Next and Ogre Next, but I prefer the latter over the former. Probably OgreNext is easier for me to type but looks awkward.

:(

Suggestions welcomed.

Can we get the documents website setup so we can point to https://ogrecave.github.io/ogre-next/api/latest/manual.html. Currently we are doing: https://ogrecave.github.io/ogre-next/api/2.3/manual.html and having to update links for each new version.

I agree. The documentation is generated via github pages which uploads whatever is in the gh-pages branch. When we push, Github Actions runs this worklow which runs CMake, then the doxygen, and finally runs doxygen_remove_files.py to cleanup. IMHO likely the easiest solution is for doxygen_remove_files.py to copy/move the folder from 2.3 to latest

oldmanauz commented 2 years ago

1.

What does that mean? Examples? I have no idea what you're talking about 😕

Haha. So currently in the manual we refer to an ogre verision very frequently (Ogre 2.3). This introduces pain becuase with each new release these version numbers get left in the documentation so there is lots of references to old version numbers (like Ogre 2.0) when they should read the latest version. Possible solutions:

  1. I agree that github markdown is very clean and simple. Also easy to create.

  2. Does github.io give you flexability to create a structure of pages with markdown, then use the doxygen purely for the API reference? I have done almost zero research on this, but maybe github.io pages with markdown and use hyde and Jekyll to build c++ API?

  3. I believe there is a plugin for Sphinx: Breathe, that parses doxygen xml output. To me it sounds like you end up with a complicated build process though but if it really gets you excited I could look at it. Reference implementation

  4. As for the name. I would favour something with no spaces in the name, so: OgreNext or Ogre-Next. The latter is more annoying to type. Does this affect your renaming project? Or are you thinking of moving from the Next name completely?

  5. I agree. The documentation is generated via github pages which uploads whatever is in the gh-pages branch. When we push, Github Actions runs this worklow which runs CMake, then the doxygen, and finally runs doxygen_remove_files.py to cleanup. IMHO likely the easiest solution is for doxygen_remove_files.py to copy/move the folder from 2.3 to latest

Can you grab any scripts from Ogre? Their site has this functionalitiy.

oldmanauz commented 2 years ago

Another TODO item:

Also, I hope I don't sound like I'm dumping heaps of stuff on you to do. I want to help out where I can.

cryham commented 1 year ago

Hmm is this list up to date? Or should there be a 4.0 somewhere? Is it possible / how can we see which things are coming to Ogre-Next or are being worked on? There is also this trello board, not sure if it's less up to date or still used? Title has 2.1 so no idea now. There also wasn't any news post since a long while.

darksylinc commented 1 year ago

Hi!

I'm thinking of wrapping things up for OgreNext 3.0 and release. Whatever is left in this roadmap can be either be moved to 4.0 or abandoned. "The big tasks" have been taken care of now.

There is no 4.0 roadmap yet, it is living in the warm-up branch. The main focus will be multithreaded shader compilation.

cryham commented 8 months ago
* [ ]  Can we also get clarifiaction on the exact name for ogre-next? So I can get some standardisation in the documentation. Currently it is called: Ogre V2, ogre-next, OgreNext, Ogre Next, Ogre-Next... etc

I second this. Also an official logo for Ogre-Next? Or will it be just the same as old Ogre logo?

darksylinc commented 8 months ago
* [ ]  Can we also get clarifiaction on the exact name for ogre-next? So I can get some standardisation in the documentation. Currently it is called: Ogre V2, ogre-next, OgreNext, Ogre Next, Ogre-Next... etc

I second this.

I already replied to that.

Also an official logo for Ogre-Next? Or will it be just the same as old Ogre logo?

Our logo should be the new logo that Ogre1 is using. But I just noticed it's not there!? I swear I uploaded it. Maybe it's because the Linux version does have the new logo?

image

I should check the Windows version has it as well (I think the logo on macOS is broken), as well as the documentation.

darksylinc commented 8 months ago

I just updated the Windows version:

image