Mainly need some education as to how to think about the CSS3DRenderer to generate the text in the bottle top/right
In Three.js can the CSS3DRenderer extrude text as 3D while using plain CSS?
My first thought is to change the text to SVG. Many examples show SVGLoader is using SVG path and not SVG text. Is it not possible to use SVG text with three.js to extrude in 3D?:
Um, i don’t think that’s possible. All elements in a CSS based 3D scene are flat so a real 3D extrusion of your text won’t work. You might want to use WebGLRenderer and TextGeometry for this task:
AFAIK, there is no official documentation. Try to search at github for issues and PRs about CSS3DRenderer. Maybe the related discussions give you some insight.
Could we talk about flat? I’m assuming you are referring to anything that can sit in a web page is considered flat: text, images, video, Three.js WebGLRenderer sitting inside CSS3DRenderer.
The CSS3DRenderer is possibly considered a “viewer” than a way to do 3D rendering as you can do with the WebGLRenderer eventually to export out as an OBJ/STL?
Many things you’ve listed in the Possible section can also achieved without CSS3DRenderer just with plain HTML and some basic CSS and JavaScript.
From my point of view, the major advantage of CSS3DRenderer is the usage of the scene graph. So the renderer retrieves hierarchical 3D transformations from the scene graph and applies these data to DOM elements. This might be useful if you want to combine HTML elements with 3D objects in WebGL.
If you just need simple labels for your 3D objects, you might want to use CSS2DRenderer. It’s a simplified version of CSS3DRenderer that just translates DOM elements.
I also know beyond the DOM you can use pure HTML/CSS with the CSS3DRenderer, by not having to do Javascript say style.position i can do that directly in CSS if I want too - which I find very appealing.
The CSS2DRenderer is text with no DOM access?
My thinking in my experiment was I could extend from the WebGLRenderer into the CSS3DRender. Which now only appears to have access to the DOM and would never have a way to export directly from the CSS3DRenderer an STL/OBJ that can only happen with the WebGLRenderer?
In theory can letterSpacing, position, innerHTML work when the WebGLRenderer and CSS3DRenderer are present at the same time to be able to make calls to the DOM back to the WebGLRenderer?
I see in the documentation for the WebGLRenderer: .domElement = add the canvas
The domElement of WebGLRenderer is just the drawing surface for the renderer (or in other words: the canvas element where the result is drawn). Apart from that, WebGLRenderer does not actually work with the DOM.
Which I don’t disagree to use wondering though if the CSS3DRender from what you know is possible to be used as a texture(displacement map) with the WebGLRenderer then I’d create a topology modifier for my bottles?