Jump to content

Future of Ultra?


Recommended Posts

@Josh I'm at a point where I need to know if Ultra is going to be the best choice for developing my project.  As you know my project uses voxel terrain and so can not work with the foliage system.  I thought I could implement something my self using compute shaders but it is not currently possible as we have no access to the underlying mesh array the engine uses.

What I need to know are;

  1. Will mesh shaders be implemented?
  2. Will we have access to the mesh array so we can create meshes with compute shaders? (this might be part of mesh shaders)
  3. Will the foliage system work with multiple terrains as well as the foliage layer being able to be rotated with a terrain?
  4. Will we have the ability of creating a mesh layer that does not need a terrain?
    • This would be a simple grid of meshes that we can use a map for XYZ displacement and a map for visibility.
    • The entire layer should be able to translate and rotate like any other entity.
    • This is really what I need for foliage on a voxel terrain but it can have many other uses as well.  E.g. making cities or anything else that we don't want to create 20,000 entities for.
  5. What's an ETA for v1.0?  Are we talking by the end of the year or the end of next year?  Some sort of idea of what you're aiming for would be very helpful.
  6. Are 64bit floats defiantly coming?  Soon after v1.0 or more like 2 years away?

I hope you can shed some light on these questions.

Thankyou.  :)

  • Upvote 2
Link to comment
Share on other sites

10 hours ago, SpiderPig said:

@Josh I'm at a point where I need to know if Ultra is going to be the best choice for developing my project.  As you know my project uses voxel terrain and so can not work with the foliage system.  I thought I could implement something my self using compute shaders but it is not currently possible as we have no access to the underlying mesh array the engine uses.

What I need to know are;

  1. Will mesh shaders be implemented?
  2. Will we have access to the mesh array so we can create meshes with compute shaders? (this might be part of mesh shaders)
  3. Will the foliage system work with multiple terrains as well as the foliage layer being able to be rotated with a terrain?
  4. Will we have the ability of creating a mesh layer that does not need a terrain?
    • This would be a simple grid of meshes that we can use a map for XYZ displacement and a map for visibility.
    • The entire layer should be able to translate and rotate like any other entity.
    • This is really what I need for foliage on a voxel terrain but it can have many other uses as well.  E.g. making cities or anything else that we don't want to create 20,000 entities for.
  5. What's an ETA for v1.0?  Are we talking by the end of the year or the end of next year?  Some sort of idea of what you're aiming for would be very helpful.
  6. Are 64bit floats defiantly coming?  Soon after v1.0 or more like 2 years away?

I hope you can shed some light on these questions.

Thankyou.  :)

1. I have no immediate plans for this. Mesh shaders by themselves are not very useful. You need content that is designed to work with mesh shaders. Of course, mesh shaders can be used directly if you write OpenGL code. I am planning to add new rendering hooks in soon, and it will be a lot easier to handle than it was in the Vulkan renderer.
2. This is doable without much trouble. You can probably access it already if you just go into the Render:: namespace.
3. I plan to keep terrain in the editor as a static object oriented at the center of the world for the immediate future. Future development is going to go in the direction of very large scale terrains, and then finally planet rendering.
4. This is possible,. but it sounds like a very niche feature not many people would have use for.
5. I expect version 1.0 will be done by Christmas at the latest, maybe by Halloween. The only major features left to implement after the next update are particles and GPU culling.
6. Since 64-bit floats require a lot of auxillary features to be useful, I have no estimate of when this will be added. It's tied to large-scale terrain and geo-spatial features.

I am also very interested in multi-material painting, which would be a big change in paradigms. If that were in use, every object effectively becomes a paintable terrain. That might be the first thing I add for a version 1.1. I think it would take about 6 weeks to implement.

  • Thanks 1

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

It does, thankyou!

1. I have no immediate plans for this. Mesh shaders by themselves are not very useful. You need content that is designed to work with mesh shaders. Of course, mesh shaders can be used directly if you write OpenGL code. I am planning to add new rendering hooks in soon, and it will be a lot easier to handle than it was in the Vulkan renderer.

If this means that we can do it ourselves with opengl if we need then I am happy!
 

2. This is doable without much trouble. You can probably access it already if you just go into the Render:: namespace.

This is great, I'm going to look into this during the week.


3. I plan to keep terrain in the editor as a static object oriented at the center of the world for the immediate future. Future development is going to go in the direction of very large scale terrains, and then finally planet rendering.

Okay, so I take it it will be a completely new system?


4. This is possible,. but it sounds like a very niche feature not many people would have use for.

This would be good to see as advanced features like this enable people to do different things.  But if we can do something like this ourselves with Mesh / compute shaders and having access to the mesh array, then that is okay.


5. I expect version 1.0 will be done by Christmas at the latest, maybe by Halloween. The only major features left to implement after the next update are particles and GPU culling.

Awesome!  That's what I was hoping for.


6. Since 64-bit floats require a lot of auxillary features to be useful, I have no estimate of when this will be added. It's tied to large-scale terrain and geo-spatial features.

Okay, as long as it is guaranteed to happen and I'm not holding out for a feature that may get ditched, then that's fine.  I can use origin shifting for now in my project.

Thanks for the detailed answers!  If I can get a basic foliage system going for voxel terrain with compute shaders and the mesh array, I'm sticking with Ultra. :cool:

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...