guillaumechereau / goxel

Goxel: Free and Open Source 3D Voxel Editor
GNU General Public License v3.0
2.79k stars 222 forks source link

Anyway we can get a illuminating option #91

Closed tpebic closed 1 year ago

tpebic commented 6 years ago

I use goxel ios to export to magicavoxel, which I’m sure everyone does...

But is there anyway to introduce better rendering options like illumination so that i can do less on a Mac and more on a ipad?

guillaumechereau commented 6 years ago

For the moment goxel doesn't have a ray tracer, so this is not possible. A while ago I started to work on implementing a raytracer, but I wasn't satisfied with it so I never merged the branch. I think at some point I will really try to do something about it.

usakhelo commented 6 years ago

Hi, Any chance of using third-party renderer for illumination? appleseed may be?

guillaumechereau commented 6 years ago

Yes, I need to find some time to look at all the available renderers. Originally I was looking at yocto-gl (I like the fact that it is a single file lib), but I think there are probably better choices. My current list is:

guillaumechereau commented 6 years ago

What I am mostly looking for is something I could easily bundle into the ext_src directory and compile at the same time as the rest of goxel.

YarlBoro commented 6 years ago

Maybe Radeon Pro Renderer is good candidate. Its OpenCL based, works with any GPU (contrary to 'Radeon' name). Recently it received Metal 2 support, so it probably can be used on iOS in the future. It is already available for Maya, Blender, Cinema4D. I had few occasions to use this renderer with Cinema4D R19. It is fast and gives nice renders.

Home page: https://gpuopen.com/open-source-radeon-prorender/ GitHub repo: https://github.com/GPUOpen-LibrariesAndSDKs/RadeonProRender-Baikal

guillaumechereau commented 6 years ago

OK I did some tests of various open source renderers. So far the one I like the most is cycles (the one used in blender), because it seems to have few dependencies. I still need to test it in goxel to see how it performs. There is also always yocto-gl that is very easy to integrate, but I am a bit worried it might not be as good looking as cycles.

guillaumechereau commented 6 years ago

I made some tests today of integrating the cycles renderer into goxel. So far it seems OK. I will try to push an experimental branch as soon as I get something usable. screenshot from 2018-03-05 21-22-39

guillaumechereau commented 6 years ago

I made a branch to experiment: https://github.com/guillaumechereau/goxel/tree/cycles-test Very unstable! To try it just compile in release, and check the 'cycles' button in the render panel. screenshot from 2018-03-06 20-42-12

YarlBoro commented 6 years ago

I've tried to build this Cycles branch on MacOS 10.12.6 with XCode 9.2. Unfortunately it fails to compile. This appears to be a reason:

Undefined symbols for architecture x86_64: "_cycles_init", referenced from: _goxel_init in goxel.o "_cycles_render", referenced from: render_view(ImDrawList const, ImDrawCmd const) in gui.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

BUILD FAILED

The following build commands failed: Ld build/Release/goxel.app/Contents/MacOS/goxel normal x86_64

guillaumechereau commented 6 years ago

Right, the new file need to be added to the Xcode project. I will do that. But there are probably more tweaks needed to make it compile on OS X. On Tue, 6 Mar 2018 at 9:22 PM Michał notifications@github.com wrote:

I've tried to build this Cycles branch on MacOS 10.12.6 with XCode 9.2. Unfortunately it fails to compile. This appears to be a reason:

Undefined symbols for architecture x86_64: "_cycles_init", referenced from: _goxel_init in goxel.o "_cycles_render", referenced from: render_view(ImDrawList const, ImDrawCmd const) in gui.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

BUILD FAILED

The following build commands failed: Ld build/Release/goxel.app/Contents/MacOS/goxel normal x86_64

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/guillaumechereau/goxel/issues/91#issuecomment-370779303, or mute the thread https://github.com/notifications/unsubscribe-auth/AAGkn7jP-aRA7tR7Univgwc822ab0wuoks5tbo2XgaJpZM4R4bLq .

YarlBoro commented 6 years ago

Ok, thanks for looking into it.

guillaumechereau commented 6 years ago

OK I just pushed some fix for OSX. Can you try again?

YarlBoro commented 6 years ago

Great. It now builds successfully.

Cycles is working too. It is very buggy, but this is to be expected.

guillaumechereau commented 6 years ago

I merged the cycles branch into master, it's still experimental, but I will put it into the next release anyway because it is nice to have that.

YarlBoro commented 6 years ago

Definitely nice to have. I’m very curious how much it has progressed since last time I checked cycles-branch.

guillaumechereau commented 6 years ago

Don’t except too much at the moment. I am just targeting basic rendering and export. There won’t be many rendering options yet. On Wed, 4 Apr 2018 at 10:49 PM Michał notifications@github.com wrote:

Definitely nice to have. I’m very curious how much it has progressed since last time I checked cycles-branch.

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/guillaumechereau/goxel/issues/91#issuecomment-378627063, or mute the thread https://github.com/notifications/unsubscribe-auth/AAGkn9wQT_8r_USx8TSU740COTBsS8I0ks5tlN06gaJpZM4R4bLq .

YarlBoro commented 6 years ago

I will manage my expectations ;)

Will write how it behaves on MacOS after getting back home (two days).