4 ms·
I think such an element would be welcome, and make it easier to add 3D elements to websites. A while ago I wanted to share some 3D models with people, but there
by sorenjan 5y ago
I think such an element would be welcome, and make it easier to add 3D elements to websites. A while ago I wanted to share some 3D models with people, but there weren't any good options. I found a couple sites that lets you upload .obj files, but you need an account and they worked by embedding renderers in iframes. If 3D models had better browser support I hope there would emerge some sites that would let you upload and share them as easy as regular images now.
I don't think it's stranger than having a video tag even though we could embed video without it previously. Having a dedicated 3D tag would make websites more semantic. Hiding stuff in canvas tags like Googles Flutter is the wrong way to go, so bringing stuff out of canvas tags when possible should be encouraged.
Edit: I also think this can be compared to the svg tag. Sure, you could use canvas and webgl and render a 2D vector image using some javascript library. But with svg, you don't have to, and you can style it with css etc.
I don't agree with the tag name though. IMO, "model" is a singular 3D object. Such a tag should support scenes with multiple objects in them.
- josefx 5y ago> I don't think it's stranger than having a video tag even though we could embed video without it previously. Having a dedicated 3D tag would make websites more semantic. Video had literally thousands of commonly used sites embed third party players before we got a standard. > A while ago I wanted to share some 3D models with people, but there weren't any good options. So in contrast to video no one gives a shit? > If 3D models had better browser support I hope there would emerge some sites that would let you upload and share them as easy as regular images now. We have APIs to render 3D content (WebGL) have APIs to load random files from a site what more do you need for obj files? > I don't agree with the tag name though. IMO, "model" is a singular 3D object. Such a tag should support scenes with multiple objects in them. And what format will you use to describe these Scenes? obj doesn't handle animations or complex structures. What you want isn't a browser but a complete game engine.
- sorenjan 5y ago> Video had literally thousands of commonly used sites embed third party players before we got a standard. Yes, and now I can right click a video and open it in it's own tab, pop it open in an overlay, or download it easily. > So in contrast to video no one gives a shit? It's historically been more difficult to create 3D models than images or video. Now phones have lidar, photogrammetry is becoming more accessible, there are ML models that create 3D from 2D, 3D printers have been around for a while, etc. 3D could be more popular if it was easier to share and display. > We have APIs to render 3D content (WebGL) That gives you a GL context, then you need javascript to render the scene and add interactivity from mouse events etc. > have APIs to load random files from a site what more do you need for obj files? Something like imgur where I can upload a file and send the link to people, and have it work in their chat client and browsers. Something that makes it easy to add a 3D visualization to articles. > And what format will you use to describe these Scenes? obj doesn't handle animations or complex structures. Apple uses the USDZ format in their examples, and there's also the glTF format. But obj and stl files should be supported as well. > What you want isn't a browser but a complete game engine. Game engines does much more than render 3D scenes. They also handle image loading, audio, video, network connections, user input... You're right, browsers does have a lot in common with game engines.
- josefx 5y ago> 3D could be more popular if it was easier to share and display. Could be more popular? The APIs are already there, literally nothing stops you from writing a pure js lib that supports 3d models in a way that you want and can be reused on any site that needs it. Video didn't have that, video needed 3rd party plugins to even run. Video still managed to attract a sizeable user based before that. > You're right, browsers does have a lot in common with game engines. The same way a toaster and a fridge both handle food. Of course I am all in favor of dropping Chrome for Unreal I think the later doesn't call home half as much.
- sorenjan 5y ago> Could be more popular? The APIs are already there, literally nothing stops you from writing a pure js lib that supports 3d models in a way that you want and can be reused on any site that needs it. The APIs are there, but not the renderer or a way to interact with it. I'm looking at it as a consumer, not a web developer. I don't want to have to write a library or use someones else's, that's the point. Browsers have native video controls when embedding mp4 files with the video tag, you could argue that could be done just fine with html and javascript instead. > video needed 3rd party plugins to even run. Video still managed to attract a sizeable user based before that. Of course video attracts lots of users, that one of the main use of internet for many. Besides Netflix and similar streaming, looking at short clips on Facebook and Reddit is why a lot of users open their browser in the first place. Should everything that's not as popular then be dismissed? Should we not have svg support in browsers? Should video decoders be shipped as webassembly blobs? Should we do like Google docs and render the whole page in a canvas tag? > Of course I am all in favor of dropping Chrome for Unreal I think the later doesn't call home half as much. Unreal uses Chromium Embedded Framework, so all you need to browse the web is the Unreal Engine and a build environment, and you can make your own web client. No need for extra browsers.