Live data from Hacker News

Show HN: SVG 3D Builder – Build 3D Models with SVG

github.com

61–70 of 70 posts

Re: Show HN: SVG 3D Builder – Build 3D Models with SVG

#61
post #47

Earlier quoted context omitted.

Java was open source and Sun wanted Netscape to embed Java in their browser. According to Brendan Eich, Netscape considered having both JS and Java along with a canvas element both could draw on, but time constraints dictated otherwise. So Java ended up being used as a plugin.

Wow, this really would have been a different past - similarly if flash had been able to draw into elements in the dom properly.

Alas we could not lure Andrew C. Myers away from his PhD at MIT under Liskov, which would have dashed his academic future hopes (he is a professor at Cornell).

Netscape also had Jonathan Gay and his brother stop by to try to sell FutureSplash (what became Flash) to us post IPO, but so many companies were crowding the door, and the marketing guy vetting them was harsh, so they went to Macromedia. That was for the best: Netscape would not have built the great tools that Macromedia did.

So two "what if" near-misses re: early canvas-for-HTML. Sad but true!

Re: Show HN: SVG 3D Builder – Build 3D Models with SVG

#62

Earlier quoted context omitted.

Was java ever truly free though? Oracle's shenanigans indicate otherwise.

> Was java ever truly free though? Oracle's shenanigans indicate otherwise. It probably could have been, pre-Oracle.

No, Sun was not looking to open it up and even got in a spat with Microsoft over Java. MS responded by pulling Java out of Windows, which broke Outlook Web Access and required fast work to implement the first XMLHttpRequest Active X implementation of that now-standard XHR (=> Fetch) API as replacement for the Java async-io class that OWA used while Java was in Windows.

Re: Show HN: SVG 3D Builder – Build 3D Models with SVG

#63
post #57
post #25

Earlier quoted context omitted.

Another opinion from someone who presumably looks at "browser support" tables and green checkmarks and forms an opinion that way. How much actual WebGL vs. SVG development have you done? How many devices have you tested?

You've repeatedly violated the site guidelines in this thread. That will get you banned on HN—especially the way you've been abusing others. Could you please review https://news.ycombinator.com/newsguidelines.html and follow the rules from now on? The idea here is: if you have a substantive point to make, make it thoughtfully; if you don't, please don't comment until you do. You obviously have experience in this area…

Excuse me, I've been abusing others? I completely reject this description, that's bordering on libel on your part.

What I have replied to here is patently untrue, so forgive me my occasional "you have no idea what you are talking about" or "your opinion must be formed on solely by looking at spec sheets". It's not like what I'm replying to has been said with the utmost civility either.

I can see how some of that is against your "guidelines" and I'll be happy to oblige by not posting any further comments.

Re: Show HN: SVG 3D Builder – Build 3D Models with SVG

#64
post #56

Earlier quoted context omitted.

On the Amiga, you didn't go the stupid way around and represent your object as a series of text path strings which need to be parsed into objects and then finally displayed for each frame. You can get your Amiga performance with canvas; and you can get way better with WebGL. This is just a case of wrong-tool-for-wrong-job.

Do you realize that in Canvas colors are represented as a "series of text strings" that need to be parsed? Did you know that drawing paths requires a ton of pretty expensive Javascript calls or alternatively passing "a series of text strings"? Maybe the string way is actually faster, I haven't tested it because it isn't supported everywhere. Were you aware that vector rendering is not usually done on GPUs, mainly bec…

> Were you aware that vector rendering is not usually done on GPUs, mainly because of the high overhead of state changes when using a graphics API, especially one like WebGL?

But it's actually worse than that, isn't it? It's not only that I can't render a complex SVG path on the GPU, but I can't even apply a GPU accelerated transform on existing child nodes of an SVG.

Why is it that can get a GPU-accelerated transform but can't?

Re: Show HN: SVG 3D Builder – Build 3D Models with SVG

#65
post #2

It's unbelievably slow. I'm confident it's not the developer's fault. It serves as a good warning. It just goes to show that Web technology still has a long way to go. SVG (and to a lesser extent Canvas) are trainwrecks in terms of performance. It's really a sad story that HTML5 has been evangelized so strongly, yet even ten years later it can't hold a candle to Flash in many regards.

> It's really a sad story that HTML5 has been evangelized so strongly SVG is not a part of HTML 5, it is older, while Canvas actually is, and Canvas is as fast as the now defunct Flash. Maybe applying the right technology to a problem would solve the speed issue...

> SVG is not a part of HTML 5

https://html.spec.whatwg.org/multipage/embedded-content-othe... begs to differ.

Re: Show HN: SVG 3D Builder – Build 3D Models with SVG

#66
post #56

Earlier quoted context omitted.

Do you realize that in Canvas colors are represented as a "series of text strings" that need to be parsed? Did you know that drawing paths requires a ton of pretty expensive Javascript calls or alternatively passing "a series of text strings"? Maybe the string way is actually faster, I haven't tested it because it isn't supported everywhere. Were you aware that vector rendering is not usually done on GPUs, mainly bec…

> Were you aware that vector rendering is not usually done on GPUs, mainly because of the high overhead of state changes when using a graphics API, especially one like WebGL? But it's actually worse than that, isn't it? It's not only that I can't render a complex SVG path on the GPU, but I can't even apply a GPU accelerated transform on existing child nodes of an SVG. Why is it that can get a GPU-accelerated transfor…

> Why is it that can get a GPU-accelerated transform but can't?

Something that could either be called laziness or difficulty, depending on your perspective.

Re: Show HN: SVG 3D Builder – Build 3D Models with SVG

#67

Earlier quoted context omitted.

> Was java ever truly free though? Oracle's shenanigans indicate otherwise. It probably could have been, pre-Oracle.

No, Sun was not looking to open it up and even got in a spat with Microsoft over Java. MS responded by pulling Java out of Windows, which broke Outlook Web Access and required fast work to implement the first XMLHttpRequest Active X implementation of that now-standard XHR (=> Fetch) API as replacement for the Java async-io class that OWA used while Java was in Windows.

I meant that Oracle is less amenable to fixing the social issues they create surrounding their products, which hamper their usefulness.

Re: Show HN: SVG 3D Builder – Build 3D Models with SVG

#68
post #48

Earlier quoted context omitted.

Webassembly is the first tech I can think of that all browsers have unanimously agreed on and co-created. The same can't be said for the design, interpretation or implementation of the html spec. Open standards can also fall to paralysis of design by committee. Still, open is good (AV1 is also cause for optimism). When open standards aren't possible or happening, innovation is undertaken by private companies.

>Webassembly is the first tech I can think of that all browsers have unanimously agreed on and co-created. I like wasm, but this unabashed overstatement completely ignores smaller browsers. Best of luck getting elinks to commit to wasm support.

I think you took it literally (which is surprising for a place like HN). Still, I meant major browsers, all was a typo.

The major browsers in marketshare.. being Safari, Chrome, Firefox and Microsoft are all on board with wasm.

Is there another thing you can find they agreed on to this degree relative to market share?

The wording of your comment makes me wonder if you know a bit more about wasm, particularly with smaller browsers (I am a fan of Opera too), so please feel free to share the smaller browser perspective.

Re: Show HN: SVG 3D Builder – Build 3D Models with SVG

#69
post #2

It's unbelievably slow. I'm confident it's not the developer's fault. It serves as a good warning. It just goes to show that Web technology still has a long way to go. SVG (and to a lesser extent Canvas) are trainwrecks in terms of performance. It's really a sad story that HTML5 has been evangelized so strongly, yet even ten years later it can't hold a candle to Flash in many regards.

It's slow because it's abusing what SVG can deliver. It's only a good warning in regards to avoid using the wrong tool for the job. If you want want 3D in the browser, then go WebGL. > It's really a sad story that HTML5 has been evangelized so strongly, yet even ten years later it can't hold a candle to Flash in many regards. Not sad at all. It needs to be evangelized more since it's clear that other solutions did no…

> We have all the features flash had now (and had it for many years now)

Unfortunately not. We still can't measure text without putting it into the DOM and waiting for update, nor can we have weak references. And SVG is miles behind the performance that Flash's scenegraph had 10 years ago.

Re: Show HN: SVG 3D Builder – Build 3D Models with SVG

#70
So, I actually built this exact thing, a long long time ago, for Adobe when they were building their browser plugin. Mine was a 3D molecule viewer.

I had almost the exact same math in there and it performed about the same until I showed it to an old-school guy I worked with who used to do game programming at sega. He goes "try this" and proceeds to replace a couple screens of trig with:

    d = 0.001;
    x = x + d * y;
    y = y - d * x;
This rotates an object around the z axis with enough fidelity to spin on the screen for days. Making d smaller makes it turn less, but is more accurate. You can repeat this with x and z to rotate around y, or y and z to go around x.

It took me a lot longer than I'd care to admit to understand why that works, but it does. Maybe this will help you. I also tried doing solid models, but the layering was difficult enough that I lost interest and focused on wireframes. If you'd like I can try to find my old source for this.

Post reply on HN