From: Andreas P. <and...@gm...> - 2015-08-14 15:16:56
|
Hi John > http://andreasplesch.github.io/x3dom/planet/animated.xhtml > > > > Adding layers with interactive, user manipulated sizes would lean itself > to > > DOM manipulation in x3dom and maybe the point of departure from x3d only > > and therefore from other x3d browsers. > > > > This brings up if x3d has a facility to dynamically create nodes or if > all > > nodes to be shown in a scene have to be available in the initial scene > > graph. Presumably the workaround would be to include all nodes but not > show > > all. > > SAI might have it. I have had problems loading several X3D JSON into an > existing X3DOM scene. > You are right, SAI has a createNode service, and it is used in most examples of the EcmaScript bindings spec.: http://www.web3d.org/documents/specifications/19777-1/V3.3/Part1/examples.html It looks like SAI is so similar what native web browser DOM manipulation/access provides (helped by jquery or d3 that a x3dom SAI would be almost exclusively for conformance and compatibility. This may be valuable for a particular use case but would require substantial effort. > > > I like how you use d3 with x3dom. Do you have other examples ? > > Yes. Most of them use my JSON to D3.js converters. I also have a loader > which can load X3D JSON in chrome from the desktop. (Minus images and > external files which must be stored on the server, or referenced via CORS) > Apart from easy DOM access, D3 should be good for (dynamically) transforming data (tables) into 3d geometries, texture coordinates, colors. So, for example I am thinking about a way to use D3 to dynamically construct (the image field of) a 1d pixeltexture node. In the long term, it would be cool to have D3 functions which target X3D ('IndexedLineSet' or 'coord') in the same way D3 currently targets SVG ('path'). > (Geo)elevationgrids have reasonable default texture coordinates which map > > the texture as one would more or less expect. It is always possible to > > explicitly provide the texture coordinates for each grid point. > > I would probably be texturing with a vector graphic. Since the dishes > overlap, I'd have to get the right projection each time. > For vector graphics it may be better to just render rather than texture ? If the vectors are not following the spherical surface, Geocoordinates will produce a curved geometry. For example, it would be straightforward to add the outline of California to the scene above. It would provide a sense of scale. It is also possible to draw vector graphics on a (svg) canvas and then take advantage of x3dom's capability to use a canvas as texture. > > > > It looks like it is necessary to use TextureTransforms to apply texture > to > > arcclose2d or disk2d. > > Just the dish for now. > Since dish does not use explicit vertices, it is not possible to provide texture coordinates for specific vertices. So, TextureTransforms may be the only way to control the application of the texture by transforming the default texture coordinates. Presumably, by default, the texture coordinates are computed such the texture covers the complete dish/hemisphere. I guess default S would follow parallels (to the 'equator') and default T would follow 'meridians'. In order to cover only half of the hemisphere, the S (or perhaps T) texture coordinate would need to be scaled such that the range [0,1] covers only half, eg. S would need to be multiplied by 2. -Andreas -- Andreas Plesch 39 Barbara Rd. Waltham, MA 02453 |