10 ms·
A 3D sculpting web application
- tenaciousDaniel 6y agoWow, this is extremely impressive. Usually when I run a WebGL demo, my fans start blasting, but my machine seemed to handle this fine.
- slx26 6y agoThere's a lot of frames where you are not doing anything, so the image doesn't need to be updated, unlike most games where you always need to be refreshing the screen. Also, I believe that power management for webGL in general is/was quite bad. If I recall correctly, it didn't automatically adapt GPU power usage to the application, but rather it ran on a fixed power level. Maybe I'm wrong or misremembering, though; it would be great if someone else with more knowledge on the topic can give more details.
- moron4hire 6y agoThe biggest issue is that a lot of GPUs are blacklisted by browser vendors to force software rendering due to bugs in the GPU drivers that might cause security or overall software reliability issues. And a lot of those GPUs are AMD GPUs. And a lot of those AMD GPUs are in MacBooks. Thus why a lot of MacBook users complain about WebGL stuff pegging their CPU and kicking in the fans.
- Deukhoofd 6y agoDo you have a source for that? (And maybe a list of GPUs that are blacklisted as well, so I know what to look out for with some customers?)
- slx26 6y agoInteresting. Found this on a quick search: https://www.khronos.org/webgl/wiki/BlacklistsAndWhitelists https://www.khronos.org/webgl/wiki/BlacklistsAndWhitelists And the more detailed list for firefox (though only NVIDIA and Intel GPUs on MacOS are reported to be disabled for security issues): https://wiki.mozilla.org/Blocklisting/Blocked_Graphics_Drivers https://wiki.mozilla.org/Blocklisting/Blocked_Graphics_Drive...
- moron4hire 6y agoFor the first link > This page was last edited on 3 June 2015 For the second link > This page was last modified on 9 March 2016 There's no way that I'm aware of to find the complete black/whitelists of each browser. The only way I've been able to figure it out before is to disable the blacklisting and see how performance in a WebGL app fairs.
- drusepth 6y agoYeah, I don't even have a graphics card in this laptop and it handled it fan-less the entire time with a smooth framerate. Seems very well made.
- nineteen999 6y agoThat's really neat, it worked great on my desktop drawing tablet. I've been looking for something to sculpt with on an iPad while sitting on the couch in front of the TV, I'll have to try that out.
- Joker_vD 6y agoY'know, that sounds like an interesting idea for VR with some custom controller for tactile input and feedback... something like a stress ball, or silly putty, or something like this.
- dangerbird2 6y agoGoogle has something like that with tilt brush https://www.youtube.com/watch?v=TckqNdrdbgk https://www.youtube.com/watch?v=TckqNdrdbgk
- sebiche 6y agoOculus Medium (recently acquired by Adobe) is an incredible sculpting tool for VR: https://youtu.be/rJeMvXv0XxQ https://youtu.be/rJeMvXv0XxQ
- elifer5000 6y agoI did a prototype at Autodesk with WebVR a few years ago. Had a lot of ideas on how to continue working on it, but sadly too little time, so I just requested to open source it, in case it got the ball rolling: https://github.com/Autodesk/sculpt-vr https://github.com/Autodesk/sculpt-vr Even with a barebones feature set it was fun to use, and felt very intuitive to sculpt in VR. I even added force feedback whenever you touched the material, to compensate for the lack of having something that stops your hand from getting through.
- htk 6y agoImpressively, it’s pressure sensitive on my iPhone XS Max.
- option_greek 6y agoWow. This is super intuitive. Impressive work.
- lopmotr 6y agoMaybe I'm not seeing the powerful features, but I don't understand why people are calling it impressive. It seems to be just moving existing mesh nodes in the normal direction which is an extremely simple operation to implement. The more you sculpt, the worse the mesh quality gets until it starts self-intersecting, and you can't extrude from the side of an existing extrusion. I work on 3D meshing software and the hard problems are ones that involve modifying the connectivity of the mesh not just moving nodes around.
- mauricesvay 6y agoAlso check out his most recent 3D sculpting app https://nomadsculpt.com https://nomadsculpt.com
- sebiche 6y agoI was looking for digital sculpting apps a few months ago for my iPad and I wasn't too happy with the interfaces compared to Blender. This looks exactly like what I was looking for. Amazing work.
- mittermayr 6y agoThis looks amazing, works absolutely perfectly out of the box and is probably one of the fastest prototyping tools I've seen for someone who knows what they're doing. And all of that in the browser — we've come a long way, amazing.
- dekhn 6y agois it really impressive that a browser can do a lot that regular desktop apps have been able to do for decades? I find it pretty depressing, really.
- Deukhoofd 6y agoIt's not so much that the browser can do it, as it has been able to for a long time, but that an app in a sandboxed environment, with an abstraction between itself and the host machine, can do it in decently fast times.
- dekhn 6y agoBut why is that a good thing? You're just making an argument for an inner platform, but without any factual justification. Is sandboxing truly critical? (millions of graphical artists using Blender, Maya, etc don't care) Abstraction? Why is that important, the amount of work to get a 3D app to do something interesting in the browser is about 10X that of writing a qtpy app, and I don't see the value in any "abstraction". webgl was a good idea and I dedicated years to trying to make interactive browser applications, and now I've concluded that if I want to make product in time, that works for decades, on all platforms, at speed, I will use systems like Qt for desktop apps, not browsers.
- hugozap 6y agoI played with this app and it's a great experience, I didn't have to install anything and have shared it with a few people who (in a few seconds) were happy creating stuff. None of us professional artists (like millions of people out there). For me, that's amazing. There's a lot of value in having options (with low friction) for casual creators like myself. Agree with your point about dev experience being painful though.
- dansman805 6y agoAlso see https://www.onshape.com/ https://www.onshape.com/, a 3D parametric modeller that is also a web application.
- pault 6y agoI'm sure you know this already, but for anyone else browsing the comments, there is also free version for non-commercial use: https://www.onshape.com/products/free https://www.onshape.com/products/free
- mdip 6y agoI did a massive project using Onshape's APIs. It's a fantastic product -- excellent modeling tool that performs very well, but the kicker is the language that makes up the underlying 3D "document"[0] into a set of instructions program, the "API" of which can be queried/manipulated/rendered/tesselated and fully edited using their REST API. The language, itself, is designed to be serialized to JSON and you can basically create very interactive program-3D-document-like-things. Or you can just mouse around and build objects in a similar manner to Fusion360 (I find Fusion easier to use, though). We were an early customer of the API and were using it in ways it wasn't designed for so we encountered some problems early on ... the team over there consistently under-promised[1] and way-over-delivered. They were purchased by a competitor, recently (not Autodesk). The company that approached us to build a 3D customization tool on the web specifically required we use Onshape because they were a Solidworks shop and they were loving the web app's compatibility and features. [0] It's hard to find a good name for what, exactly, it is. Storage-wise, a document in Onshape closely resembles a git repository. Under the hood, much/most/all? appears to be made up of FeatureScript, which is a language expressing transforms/operations on components within one or many documents (I'm not a cad guy/was concerned mostly with the back-end API, not the make-up of the docs, so this is probably partly wrong -- google FeatureScript for more info). [1] That's not a back-handed compliment -- they were careful to manage expecatations about a major performance issue being resolved in code by a specific date. They often "hinted" at dates, and the dates they hinted at were hit, usually in advance. For the worst of the performance issues, they spent hours with us working out a suitable workaround that eliminated the latency.
- xixixao 6y agoI was moving recently and needed to plan out the furniture stacking in a U-Haul truck, https://www.vectary.com/ https://www.vectary.com/ was perfect for this, given I grew up on Blender I appreciate how much simpler the UX is (similar to this app).
- williamdclt 6y agoReally cool! Is there somewhere we could see a gallery of what people did with it?
- KyleBerezin 6y agohttps://stephaneginier.com/gallery https://stephaneginier.com/gallery
- titoasty 6y agoVery neat! it reminds me of a recent experiment I did with raymarching & sculpting: https://nico-boo.com/claysculpter/ https://nico-boo.com/claysculpter/ (warning: only for desktop and not heavily tested) You're using triangles? Did you make any progress with raymarching? I read you did some experiments.
- rewq4321 6y agoReally neat experiment! I hope you keep working on this.
- stephomi 6y ago(dev behind sculptgl, but I didn't make the HN story) Nice project! sculptgl is based on polygons (tris/quads only, and using webgl for rendering). As for the other project it was just as a quick and dirty experiments :). https://stephaneginier.com/archive/editSDF/ https://stephaneginier.com/archive/editSDF/ https://www.shadertoy.com/view/WtjXDW https://www.shadertoy.com/view/WtjXDW On Unity there is Clayxel and more recently Mudbun, both based on implicit surfaces. And obviously, the Dreams presentation which is an inspirational must see https://www.youtube.com/watch?v=u9KNtnCZDMI https://www.youtube.com/watch?v=u9KNtnCZDMI
- titoasty 6y agoThe Dreams presentation is definitely a must-watch for anyone interested in sculpting. Their splatter tech is so amazingly neat that I can't wait to see it in more games. Didn't try clayxel and mudbun but they already were in my favorites, still waiting for any of them standing out ;) Did you explore splatter rendering?
- YmiYugy 6y agoIt even supports force touch and multi touch gestures. Amazing
- YmiYugy 6y agoIt’s amazing. It even supports force touch and multi touch gestures.
- systemvoltage 6y agoHow do you even start to build something like this? What frameworks could I use?
- l-p 6y agoLike this: https://github.com/stephomi/sculptgl/commit/ba8cc5e60f793b72d7eb3ba5aea3b35b5792873e https://github.com/stephomi/sculptgl/commit/ba8cc5e60f793b72... You don't need a framework for anything. You need to know your problem and have an idea on how to solve it.
- melvinroest 6y agoI'm not the best person for this, but here it goes Quick sketch: - Learn WebGL (or OpenGL and transition) - Learn some linear algebra, don't worry, all you need is 4D matrices, so you don't need to know proofs, just how to use it. - Create a 3D graphics engine like this: https://www.youtube.com/watch?v=PH6-dLvZEiA https://www.youtube.com/watch?v=PH6-dLvZEiA (that's mine, I haven't progressed since in this area, so this is the level I'm at, enough to know what fields are needed to learn this but not enough to know all the specific techniques) - Look up names/techniques people have used to create something specific like OPs post, see [1] - Learn that stuff as well / related math - Build it in WebGL [1] https://www.youtube.com/watch?v=J9CExYF8yrU&ab_channel=V%C3%ADctor%C3%81vilaParcet https://www.youtube.com/watch?v=J9CExYF8yrU&ab_channel=V%C3%...
- ry454 6y agoIn fact, it's a really simple app: a height map on a sphere approximated with triangles. With a bit more extra complexity, the app could do raymarching on a interpolated height map: this would remove triangle artifacts around "cliffs" on the height map. It would still be real time 60 fps even on smartphones. To do something like this, you need to know a bit of WebGL and a bit of JS. No frameworks really needed at this level. The best guide to WebGL I know of is this: https://webgl2fundamentals.org/ https://webgl2fundamentals.org/ Complexity starts when the height map isn't enough and you want to make arcs or otherwise arbitrarily shaped structures. This is where you'd need a framework, unless you want to implement all the math and glsl yourself. And as always, the idea is really the 1% of the work. Anyone can say "it's just a height map on a sphere". 99% of the work is materialising the idea, debugging glsl, fixing ugly bugs on smartphones and esotheric browsers, dealing with partial WebGL API and so on.
- johnwheeler 6y agoworks great on iphone even. i remember when alias waveform maya came out with its sculpting tools 15+ years ago and you needed a $2000 graphics card to use them with reasonable responsiveness.
- ricksharp 6y agoAmazing. This is really impressive that it worked in my iPhone even. Since the quality is so high, I’ll add this bug report. Bug report: - iPhone - Zoom in to change brush - Can’t zoom page afterwords
- Tistel 6y agoSame here. Still pretty slick though.
- rellekio 6y agoVery nice to see. Wish I had some more time to flub with it. Only critique is you need to allow for the brushes to be bigger. Specifically for the move tool as that is how I was taught to vreate primary forms before going in with any brushes.
- samradelie 6y agoWonderful work! Any good learning resources that standout to you? I'm looking forward to reading your code. Merci!
- Evenjos 6y agoThis is quite incredible. I'm a 3D artist with a ton of experience in 3dsmax, and I am really impressed by this.
- afkqs 6y agoAmazing work! The creator is now followed by Mr. Doob on Twitter, the creator of Three.js. That's a great accolade!
- bdickason 6y agoVery impressive! This is awesome. Have worked on sculpting tools before and it's pretty dang intuitive out of the box. Two minor suggestions: 1. On mac the undo mappings would normally be CMD+Z. Not sure if it's possible to map this in the browser or not but took me a moment to find Ctrl+Z (via menus). 2. The starting geometry is a circle with a flesh-colored tone. Not sure if this is randomized but it leads to quickly creating weird human-ish shapes. It also defaults to a mirrored circular/spherical brush. May want to consider a different default tone as you'll likely get lots of female anatomy drawn w/ the current settings.
- etaioinshrdlu 6y agoIt just occurred to me that sculpting should happen in voxels, not polygons. Polygons get too large or too small after sculpting, and start to self-intersect.
- legerdemain 6y agoSculptGL has been around for a few years. I think it got popular when Pixologic (makers of ZBrush, the original free-form sculpting application) bought and mostly neglected Sculptris (the original free clone of ZBrush).
- steren 6y agoThis is probably ~ 6 years old. Before they hired the author, I worked with the Sketchfab team to deliver a version of the app that published to Sketchfab https://labs.sketchfab.com/sculptfab/ https://labs.sketchfab.com/sculptfab/
- SubiculumCode 6y agoVR would be nice on this.
- causality0 6y agoShould this be labeled (2013) or is that only for written pieces?
- friedman23 6y agoLove it but i found a glitch where if you take too much material off the clay it starts adding material.
- CMay 6y agoFor those new to approachable 3D sculpting tools, they have been around for a long time on the desktop, but between the improvements of smart phones and the web there have been attempts to expand into those areas. One of the older popular tools like this on the desktop is called ZBrush and they have a free version called ZBrushCoreMini limited to non-commercial usage scenarios: https://zbrushcore.com/mini/ https://zbrushcore.com/mini/ Clearly one of the benefits of SculptGL despite not having every feature out there, is that it is free for commercial use. One example is Sketchfab using an older version of SculptGL here: https://labs.sketchfab.com/sculptfab/ https://labs.sketchfab.com/sculptfab/ You can download a standalone version here: https://stephaneginier.com/archive/standalone/ https://stephaneginier.com/archive/standalone/ And his mobile app version: https://nomadsculpt.com/ https://nomadsculpt.com/
- mdip 6y agoI'll be the next one to parrot the whole "nicely done" atmosphere -- it really is cool. It's amazing what we can do in a browser these days[0] and it's only outpaced by how quickly, it seems, those things become dramatically better. I worked on a project to build a web-based 3D configuration tool for designing custom industrial objects to be 3D printed (aluminum/various metals and some plastics for prototyping). During the two-year span of developing this solution (which went over due to non-3D-in-the-browser-related issues), the various technologies we were working with went from "we really need to do everything except for the final rendering of the (simplified) object on the client" to "it's less code/moving parts to do most of it on the client-side ... and moar textures". I believe the customer did just that a year later. [0] 3D Accelerated and it works in Linux on the desktop ... in Firefox ... brilliantly. It's not that I'm surprised Firefox works -- it's always been fine for me on Windows. It's the combination of Linux and Firefox on nvidia hardware that usually results in odd tearing/performance issues in FF for me. Since recent updates and enabling experimental acceleration, it's buttery smooth.
- KyleBerezin 6y agohttps://pasteboard.co/JvX72mI.png https://pasteboard.co/JvX72mI.png Chicago Institute of Art, here I come! Seriously though, with zero sculpting experience I was able to immediately grasp the interface and make something. I am impressed.