IceSL-Online

274 views
Skip to first unread message

sylefeb

unread,
Dec 8, 2016, 4:00:03 AM12/8/16
to IceSL
Hi Everyone,

We just released IceSL-Online, which provides the modeling and slicing capabilities of IceSL directly in your web browser! (tested on Firefox, Chromium and Safari).
http://shapeforge.loria.fr/icesl-online/

It is of course not as powerful as the desktop version (OpenGL4.2 vs. WebGL1.0 ...) but it covers the essential. We will continue to expand it. Comments, suggestions and bug reports are all welcome.

Hope you'll enjoy it, and please post your best models!

Sylvain
PS: Slicecrafter and IceSL-Online use the exact same slicing engine. The available desktop version is currently behind, but we are working on a huge update ;-) So stay tuned.

Maze Mietner

unread,
Dec 10, 2016, 3:52:10 AM12/10/16
to IceSL
As a first feedback: I feels really slow (and while lua is nice, javascript would be better).

I saw your updated homepage including a tutorial (https://members.loria.fr/Sylvain.Lefebvre/icesl/tutorials.html). Using a  Creating a polyhedron to create a pyramid with rounded corners and edges as suggested in the exercise is a terrible idea. Not only does IceSL crash when using wrong/incomplete tables/vectors to create a polyhedron but the convex_hull function seems to be a much better choice. I tried this code (from the examples) in the online version, but I don't get a proper rendering of the two spheres, only the connection walls are displayed:
a = sphere(5)
b = translate(40, 0, 10) * scale(2) * a
emit(convex_hull(merge({a, b})))

This code gets rendered properly:
a = translate(4,  0, 16) * sphere(1)
b = translate(10,  10, 1) * sphere(1)
c = translate(10, -10, 1) * sphere(1)
d = translate(-6,  0, 1) * sphere(1)
emit(convex_hull(merge({a, b, c, d})))
However if I adjust the numbers by factor 10 it'll eventually crash, or at least won't render properly. And if I enter both blocks of code then none of the two objects is rendered properly.

Then I tried android.lua from the examples, the legs won't render, maybe it is related to the same bug...

sylefeb

unread,
Dec 10, 2016, 6:30:34 AM12/10/16
to IceSL
Hi Maze,

Thanks for the feedback. Good point for the tutorial - these will get refined.

I choose to keep lua in icesl-online, as the idea is to give a (limited) version of the full IceSL for everyone to play with and for quick access to basic features.

Noted for the bug on convex hull. icesl-online is still very much in beta, we'll keep improving it.

Best,
Sylvain

sylefeb

unread,
Dec 10, 2016, 6:32:44 AM12/10/16
to IceSL
Android: I know what's wrong. Icesl-online has limitations regarding max number of triangles. In Android, lowering Nsegs = 256 to, e.g. 32 will make it work. Probably a similar issue occurs with the convex_hull code.
Let's see whether we can avoid this!

sylefeb

unread,
Dec 10, 2016, 9:47:06 AM12/10/16
to IceSL
Hi Maze,

- I updated the tutorial - thanks for suggesting this
- I also updated icesl-online (please make sure to reload the page with Ctrl+F5)
- Issues with convex_hull are fixed (the code you proposed will work, and will scale in size)
- It reports an error if the number of triangles gets too large (e.g. android.lua with Nsegs = 256, but for instance changing for 128 works on my computer)

=> When convex_hull is used, you may notice a (relatively) coarse tessellation. This is for display only, when slicing things will be smooth.
=> On some platforms, even though the number of triangles is ok there is a crash (I get this on android.lua with NSegs >= 64 on an Intel GPU). I'll investigate the issue.

The number of triangle limitations are essentially due to WebGL 1.0 constraints (together with our CSG engine) ; but there is some room for improvement in the algorithms. Low performance when editing, especially when adding/removing primitives can be due to slow shader compilation times with WebGL 1.0 (can take seconds). Generally using large triangle meshes (convex_hull, polyhedrons) produces slower performance as well.

Thanks!

Reply all
Reply to author
Forward
0 new messages