Ab4d.SharpEngine.Samples icon indicating copy to clipboard operation
Ab4d.SharpEngine.Samples copied to clipboard

Missing features in SharpEngine

Open gregorsGit opened this issue 1 year ago • 9 comments

Hello,

in the DXEngine there are some features i am missing in the SharpEngine.

  • ModelMover
  • BillBoard
  • perhaps some more

What is the plan for this project? Did you implement all this features from DXEngine into the SharpEngine?

gregorsGit avatar Apr 26 '24 05:04 gregorsGit

I plan to implement the features from Ab3d.PowerToys and Ab3d.DXEngine in future versions. I try to decide which features to move first based on my understanding of how many users would need the features and how hard it is to implement them. The next version is planned for June 2024.

It will support ModelMover, ModelRotator and ModelScalar. It will also support rendering pixels (this will allow rendering thousands of billboards). Some other features are also coming.

But if you do not require a lot of billboards, than you can can already use PlaneModelNode with a texture and then call AlignWithCamera method on each camera change.

abenedik avatar Apr 26 '24 06:04 abenedik

PlaneModelNode with AlignWithCamera on CameraChanged is working for me..

What about blazor? Will this platform be supported in the future?

gregorsGit avatar May 06 '24 09:05 gregorsGit

Vulkan is supported on all platforms except on web browser. There WebGL or WebGpu would need to be used. I have a long time plan to support that so that the same code to create an update the 3D scene can be also supported on the browser. But I cannot say when this will be available, but almost surely not in the next year.

abenedik avatar May 06 '24 09:05 abenedik

I would like to inform you that with just published v2.0-RC1 ModelMover, ModelRotator and ModelScalar are available. image

abenedik avatar Jun 20 '24 11:06 abenedik

I tested it. And its okay. Thanks.

An other question. Does "transparent sorting" should work by default? With Vulkan+SharpEngine?

gregorsGit avatar Jun 20 '24 11:06 gregorsGit

Yes, transparency sorting is working by default (it can be disabled by setting Scene.IsTransparencySortingEnabled to false).

The image of ModelMover, ModelRotator and ModelScalar from my previous comment is showing those control to be rendered as overlay 3D objects that are always on top of other 3D objects. See the code and comments in the sampels to see how to enable that. There is also a dedicated new "Advanced / BG and Overlay rendering" sample just to demonstrate that.

abenedik avatar Jun 20 '24 11:06 abenedik

Here is a 3ds model. The holes disappear depending on the viewing angle. (transparent sorting issue?) And there is clear Z-fighting. 005__0_1_0_EFC95B011AF16AD86587692C2C798117.zip

gregorsGit avatar Jun 20 '24 11:06 gregorsGit

I have checked your file in multiple viewers (including online https://3dviewer.net/index.html) and all show z-fighting issues because the first two models in the file have the same 3D coordinates and use different material. You should merge the two models or adjust their positions.

abenedik avatar Jun 20 '24 12:06 abenedik

Thanks for the answer. This model is not opimal. I know this.

gregorsGit avatar Jun 20 '24 13:06 gregorsGit