Picking up where the CDB general discussion thread GTModels vs GSModels left off…
I have re-reviewed the Geotypical Datasets aka Geo-Specified 3D model proposal, and I see that the first set of quoted text I objected to in section 3.1.2 GTModel Datasets Directory has now been reworded appropriately. I also see that 5.3.1.4.1 Referenced by Point Features has been revised to subtly encourage more sensible model type classifications:
Natural vector features (such as trees, bushes etc.) are usually represented by geo-typical OpenFlight models. The majority of man-made features can also be geo-typical in nature. For instance, power pylons, telephone poles, residential houses, etc. can all be represented with generic models that are typical in appearance to the real-world objects they represent. The modeler need only resort to a geo-specific model if the application requires a model with the unique shape, appearance and/or properties of the real-world object.
I do, however, feel that the consequences of an improper choice should be made more explicit by citing an example so that a more than subtle encouragement to make the appropriate model type choice is embodied in the specification. Furthermore, I believe this is an important enough recommendation that at least a cross-reference to the this classification criteria and more explicit cautioning example should be made somewhere in the analogous section 3.1.4 GSModels Datasets Directory, most likely in section 3.1.4.11 GSModel Dataset Files.
ccbrianf - 28 October 2009 09:32 PM
I believe it is quite common to create a geo-specific geometry that uses geo-typical textures on parts, if not all, of the model. I believe the 3.1 Geo-Specified proposal should be amended to allow this mixed usage model for similar reasons. The reverse usage pattern is probably rarely useful, however.
David.Nadeau - 29 October 2009 07:27 AM
The modification enables both the sharing of geometry (GT) across a CDB and the sharing of texture across a CDB - for both GT & GS model.
This reply would seem to indicate that the Geo-Specified proposal does allow for a geo-typical texture to be referenced by a geo-specific model. Alas, I could not find any such allowance.
I assume that whatever was lost by reversing the model type classification criteria with respect to the quote of point 2.) (client device memory optimization hint) can be roughly replaced by the per tile NIS attribute (which incidentally could definitely use a clearer definition in section 5.3.1.2.2 Instance-level ATT Attributes ).
I still strongly disagree with the method recommended to resolve the client specific geo-typical model representation quoted in point 3.), and I recommend that an alternate means to request an explicit representation of a geo-typical model be specified as part of the Geo-Specified proposal. It is unfair to penalize all client devices, as well as database disk usage, by converting geo-typical models to geo-specific ones, simply because a single client specific appearance is undesirable.
I’d also like to make two new comments with respect to the Geo-Specified proposal:
For moving models, I hope that the OpenFlight entry/header file containing the exact significant size LODs with external references to the individual LOD and other component files will remain as more than a temporary 3.0 compatibility bridge since I believe this method of reference is the more common usage pattern.
As for the global texture naming changes from the W44 to L44 form, combined with the loose criteria defined in section 6.13.4 Texture Mipmap (note that this section still needs to be revised with respect to the W->L proposed change) for the minimum file size where the Mip-Map decimation should stop for non-square textures, I still have reservations about the loss of the W term (texel dimensions) in the texture name.
The only way to determine the range of L available for a particular texture pattern now due to these changes is to examine the 6.15.5 Model Textures Mipmap metadata field. This is problematic because the model metadata can only be found using the model name. This even more tightly couples the model geometry and model texture layers at run-time which is a disadvantage for many architectures where geometry and texture do not meet until then (after publish time).
The range is useful to determine the available resolutions when demand paging texture resolutions. Otherwise, either a sequentially decreasing L number file hunt inside zip archives is necessary, or the high resolution pattern must be read from the high resolution zip archive just to determine the pattern size and attributes; neither of which is a scalable solution. Since with only the texture name available the model metadata can not be located, the best solution I’ve come up with is to encode the Mip-Map limits into the texture name when publishing the model geometry. Thus, this provides the RTP texture publisher with enough information to calculate the available L number mips, the maximum pattern size, and to determine the pattern attributes while loading a low resolution mip for coarse initial coverage.
Please consider this disadvantage to certain client architectures when making the decision to eliminate all use of the W term in texture naming conventions. Please also ask for more problem clarification if necessary, or feel free to suggest alternate methods to satisfy this usage pattern that I might have overlooked.
As usual, thank you for your time, thoughtful responses, understanding, and willingness to evolve the CDB specification toward the common good.