Skip to content
This repository has been archived by the owner on May 13, 2024. It is now read-only.

Roadmap #107

Open
25 of 29 tasks
sfan5 opened this issue May 21, 2022 · 16 comments
Open
25 of 29 tasks

Roadmap #107

sfan5 opened this issue May 21, 2022 · 16 comments
Labels
help wanted Extra attention is needed

Comments

@sfan5
Copy link
Member

sfan5 commented May 21, 2022

IrrlichtMt is meant to be copied into Minetest some day, ideally at a point where we can throw away much of the code because we would use SDL2 + our own OpenGL(ES) renderer by then.
This issue collects things that should be done.

Cleanup (to be done in any case):

  • Unbundle libraries
  • Replace build system with CMake
  • Drop DirectX, software drivers and unused file formats
  • Drop other features we don't use
  • Try to identify long outdated code and fix it (ancient Windows/OSX, other API/compiler support or workarounds and similar things)
  • Get rid of non-STL containers: (get rid of implementation and ideally also the type)
  • + core::map (removed)
  • + core::array (wrapped)
  • + core::list (wrapped)
  • + core::string (wrapped)
  • + core::unicode::ustring (removed)
  • Remove unused GUI classes
  • Remove compressed color formats
  • Remove any use of irrAllocator
  • Get rid of IrrCompileConfig (Drop IrrCompileConfig in favor of proper CMake configuration #158)
  • sort out the remaining _IRR_COMPILE_WITH_FOOBAR_ defines
  • drop methods and things marked as deprecated
  • ...
  • At the very end: Do a cleanup pass over all of the code: make code style consistent, remove IClass / CClass split where feasible, modernize with C++/STL, use MT's way of logging

Features:

@sfan5 sfan5 added the help wanted Extra attention is needed label May 21, 2022
@rubenwardy
Copy link
Member

Shouldn't improving SDL support and removing other drivers be in this list?

@sfan5
Copy link
Member Author

sfan5 commented May 21, 2022

Added.

@JosiahWI
Copy link
Contributor

Minetest does version checking on IrrlichtMt when it calls find_package, but I reckon that isn't being updated on either end to make sure it actually checks for the right version requirements. I got a segfault compiling with the wrong IrrlichtMt/Minetest pair earlier.

@oong819

This comment was marked as off-topic.

@rubenwardy

This comment was marked as off-topic.

@sfan5 sfan5 pinned this issue Nov 12, 2022
@Starconstructor
Copy link

Would it be possible to port over Vulkan into this fork? I'd do it myself, but I have a skill issue. Someone else made a Vulkan-supported Irrlicht fork, maybe their code could be brought over here?

@sfan5
Copy link
Member Author

sfan5 commented Dec 22, 2022

Technically possible, maybe.
However if you're thinking of performance improvements or better effects there is a lot of room for improvement if Minetest used OpenGL more effectively / to its full potential. Time is better spent on that instead of a new rendering backend.

@numberZero
Copy link
Contributor

numberZero commented Feb 18, 2023

Try to identify long outdated code and fix it (ancient Windows/OSX, other API/compiler support or workarounds and similar things)

See #157 and #158. Also, #160 but that one may deserve its own item (or its own roadmap =).
I plan to do #158 and then #160. @sfan5 is that OK?

@sfan5
Copy link
Member Author

sfan5 commented Feb 18, 2023

I plan to do #158 and then #160. @sfan5 is that OK?

Of course.

@x2048
Copy link
Contributor

x2048 commented Apr 10, 2023

If we want to implement normal mapping at some point (e.g. for PBR/detailed reflections/light), we will need vertex tangents from what I know.

@sfan5
Copy link
Member Author

sfan5 commented Apr 11, 2023

I'll cross that off the list then.

@numberZero
Copy link
Contributor

numberZero commented Apr 11, 2023

we will need vertex tangents from what I know.

What’s about fully custom vertex types? With unified, shader-only driver that shouldn’t be too hard. It has some support for that already (see Driver.cpp, lines 34–124 primarily) but for internal use only currently. The interface needs to be sorted out before making that public, though.

Note: for me, support for custom vertex types was among the key reasons to make the new driver.

@x2048
Copy link
Contributor

x2048 commented Apr 11, 2023

What’s about fully custom vertex types? 

That would be amazing.

@midn1
Copy link

midn1 commented Mar 15, 2024

Do I understand correctly that old hardware support is intended to be dropped?

@sfan5
Copy link
Member Author

sfan5 commented Mar 15, 2024

What are you thinking of when saying "old hardware"?

@midn1
Copy link

midn1 commented Mar 16, 2024

That answers my question, thanks.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

8 participants