On 07/17/2015 01:12 PM, Hannah Pinkos wrote:
> Hello Nate,
>
> I think it would be better for you to use a Rectangle.
Hi Hannah,
Using the Primitive API (or Entity API) is another solution I'm
evaluating, so thanks for the example. I decided to try the
ImageryLayer approach mainly due to the accuracy it provides with
respect to rendering the Globe with perturbed terrain (that is, a
non-uniform/non-zero TerrainProvider: anything but the default
EllipsoidTerrainProvider with the same ellipsoid as the Globe). As
well, the ability to change how this object is visualized with respect
to other layers is a win.
As it turns out, the ImageryLayer approach won't work for my needs as
I'd like to be parameterize the rotation of the image, and supporting
this via the SingleTimeImageProvider (or really, any of the
ImageryProviders, as they're all based around the tiled abstraction)
would be an uphill battle. It's simply not meant for this.
Beyond supporting my needs, I'm still curious what anyone makes of the
ideas proposed regarding the static nature of
ImageryProvider/ImageryLayer. Further, given my comments above, I'm
curious about non-tiled ImageryProvider adaptations and how far down the
rendering stack the ImageryProviders-are-tiled assumption is baked.
I'd like to keep this thread focused on those two ideas, but I do have a
question about the Primitive API and zero-altitude primitives. I know
that the current implementation doesn't support perturbed terrain very
well / at all, but what about uniform/zero terrain? From my
experiments, even this visualization breaks down when you get up close.
Is this due to e.g. Globe.maximumScreenSpaceError configurations or
multiple frustum rendering (where the engine is intentionally being
inaccurate, due to cognizant trade-offs, configurable or otherwise)?
I know Dan Bagnell and others on the team are currently working on the
`ground-primitive` branch, but I believe that is more to support the
case where terrain is perturbed, not uniform/zero. I find it
interesting that this will be provided by an entirely separate
primitive, but I haven't been involved in the development and understand
that it's a work in progress. As well, I may have the wrong
understanding of what this is supporting entirely. From the sounds of
it, the hard part is applicable both to "zero altitude primitive/terrain
rendering" and the ability to play with 2D zero-altitude geometry as a
"vector layer."
The whole height vs altitude vs elevation issue given Cesiums data model
(Globe: datum == altitude, perturbed by TerrianProvider (geoid), with
Geometry referenced against the Globe/Ellipsoid) is a complex one. I
think I'm making heads/tails of it, but it's hard to keep straight at
times. Thanks to everyone for supporting this, both past and future.
--
Nate