mlavik1 / GodotVolumeRendering

Mirror of https://codeberg.org/matiaslavik/GodotVolumeRendering
https://codeberg.org/matiaslavik/GodotVolumeRendering
MIT License
2 stars 0 forks source link

Godot port implemented using a MeshInstance3D instead of CSGBox3D #4

Open riccardolops opened 7 months ago

riccardolops commented 7 months ago

Hi Matias, I think this may interest you, I already ported your volumetric renderer in Godot, not being aware of CSGBox3D I have already implemented the rendering with a MeshInstance3D, and I have also started to implement the isosurface rendering, lighting and the editing of the transfer function as well as the cubic sampling and the use of SITK for DICOM-NRRD-NIFTII support (I tested NRRD and for sure works), please feel free to take a look at my repo: https://github.com/riccardolops/GodotVolumetricRendering. (If you wanna test it after enabling the volume rendering plugin on the left you can import a dataset)

mlavik1 commented 7 months ago

Hi @riccardolops

Wow!! Looks like you've ported almost the whole thing to Godot already! And here I thought I was doing something useful :sweat_smile: haha Great work! :D This must have taken some time! I'm still quite new to Godot, so I've already learnt a thing or two from reading your code.

Are you open for pull requests? If so, I'd be happy to stop the work on my own port and instead contribute to yours :)

I'm mainly developing on Linux, and I ran into some issues there (related to the SimpleITKCSharpManaged.dll) - so i can have a look at that first if you'd like. And would you like a PR for the raw dataset importer as well? (I just pushed that to this repo yesterday).

Also, if you don't mind I'll link to your Godot port in my UnityVolumeRendering's readme-file, to let people know there's already a Godot plugin they can use :)

riccardolops commented 7 months ago

Thank you for your appreciation! 🥰 I learned a lot about unity and shaders in general thanks to you! I would be more than happy if you would like to contribute to what I have already done! :) I added you as collaborator since most of the code is basically yours I only adapted it. Yesterday i tried running it on linux, I was able to build the C# project with SimpleITKCSharpManaged.dll and linking the native library to /usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.1/libSimpleITKCSharpNative.so, but I have another problem on an async instruction that I didn't quite understand. For the raw dataset import, please feel free to add it! :) Feel also free to link my port to UnityVolumeRendering's readme-file!

mlavik1 commented 7 months ago

Glad to hear that! :)

Ok, interesting. I'll try some more, and make an issue (or PR) on your repo later. And I'll add over my Raw dataset importer after that. My Unity plugin's repository now has a link to yours - thanks again!