Welcome! Log In Create A New Profile

Advanced

GPU accelerated slicer - is there one?

Posted by jzatopa 
GPU accelerated slicer - is there one?
March 29, 2013 12:33AM
I'm curious if there are any GPU accelerated slicers available. It seems like a process that would be greatly sped up with GPU acceleration.
Re: GPU accelerated slicer - is there one?
March 29, 2013 12:52AM
I looked at one at one point, there are issues with maximum render target resolution, and extracting usable tool paths from bit maps though other slicers do that effectively.
Re: GPU accelerated slicer - is there one?
March 29, 2013 01:02AM
I agree it would be nice to have a slic3r that uses your GPU for processing. I have a Radeon 6970, I can only imagine how fast that would slice.

The newest slic3r lets you choose how many threads it uses. I have 8 cores so I don't have many problems with slicing taking a long time. grinning smiley The longest slicing I have had to wait for has been about 15 minutes.

I was originally slicing with my laptop and omg was that excruciating. Now I still use my laptop as a dedicated print server (vnc ftw) I slice everything on my desktop and then throw it on dropbox and print from my laptop.

If you are experiencing long slicing times maybe its time to upgrade your computer. grinning smiley I know I'm always looking for an excuse to upgrade.
Re: GPU accelerated slicer - is there one?
March 29, 2013 12:48PM
My goal when I was looking at it was to make a viable slic3r for arm based microprocessors with real GPU's like the Pi or the BeagleBone.
The issue was the inconsistencies in GLES implementations , and the lack of any openCL drivers on the platform.
My code's on Github, all it does is render slices and identify outlines for the tool path, it runs on a Beagle bone, the issue you'll have with other devices is GLES has no standard format that supports Stencil in an offscreen render target.

The algorithm requires that the model be without holes, but the basic idea is
1. Place Camera above model
2. Render all back faces while incrementing stencil
3. Render all front faces while decrementing stencil
4. Anything where the stencil != 0 is part of the slice
5. Edge detect filter
6. Extract tool path from bitmap

This is just a variant of the old stencil shadow algorithm.
The issue is in order to do 6 you have to copy the bitmap out of VRAM to the CPU, on the Beaglebone this cost 100x what it cost to do all the other steps, I wanted to create a span buffer from the bitmap on the GPU to reduce the cost, but without OpenCL it's something of a pain in the ass. also the last step is not trivial to do well.
My current in progress slicer is on the CPU just designed with speed in mind, it has the advantage of producing an edge list and is tolerant of degenerate tris. Because it only processes tris that contribute to the outline, computing it is actually not much slower than the GPU rendering a layer and getting the bitmap back.
Where the bit map based slicer may have an advantage is in offsetting tool paths, it's a trivial erode operation on a bitmap, it's a very not trivial inset polygon operation on an edge list. FWIW this is what I THINK KISSlicer does to generate tool paths.
Sorry, only registered users may post in this forum.

Click here to login