hjoykim / THREE

c# port of Three.js
MIT License
135 stars 24 forks source link

OpenGL backend #26

Open vpenades opened 9 months ago

vpenades commented 9 months ago

I've just been pointing to your (very interesting) project...

I've noticed you're using OpenTK. I would suggest you to look at Silk.Net and its OpenGL implementation.

Also consider the new WebGPU Native api as a broad, cross platform API, also provided by Silk.Net... I guess these would give a lot more momentum to the project

hjoykim commented 9 months ago

Hello Thank you for your suggestion to apply Silk.Net. It's something I've been thinking about for a long time, I wasn't even able to try it yet because I was lazy. Let's construct a THREE.Net library with Silk.NET.

If you've ever tried it, is there anything I should be careful about?

vpenades commented 9 months ago

Well... I use several libraries that use it, but I only did a few things directly with Silk.NET

Most noticeable think is that Silk.NET provides pure, bare bones bindings for the APIs they support.

The main advantage is that these bindings are easier to maintain and update, so it's pretty much guaranteed they'll be around for a long time.

The main drawback is that you don't have any kind of sugar or helper classes that make life easier.

orosbogdan commented 7 months ago

The dream would be if a cross platform version of this using webgpu could be ran into MAUI for a broad range of device support.

hjoykim commented 2 months ago

I have almost created the THREE library (THREE.Silk) using Silk.net. However, the THREEExamples files are not compatible. I think I'll have to recreate these files.

I am wondering whether I should recreate the Repository for THREE.Silk or add it to the existing Repository.

I would like to hear if you have any good ideas.

vpenades commented 2 months ago

If its about the examples alone, I would try to recreate them only for silk: examples are meant to be as simple to understand as possible, so mangling them for multiple backends is no good

hjoykim commented 1 month ago

I've added THREE.Silk library with example. I haven't tested all the features, but I've added as many examples that you can try. As you said, due to lack of documentations and examples ,some features are still being written.. I hope this helps.

If you have any problems on this and any suggestions, let me know

pulmuone commented 2 weeks ago

I've added THREE.Silk library with example. I haven't tested all the features, but I've added as many examples that you can try. As you said, due to lack of documentations and examples ,some features are still being written.. I hope this helps.

If you have any problems on this and any suggestions, let me know

Silk.Net 사용했으면 Maui에서도 되겠네요. 테스트 해보겠습니다.