Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update for version 1803: support for HoloLens and platform/version flags #18

Merged
merged 3 commits into from
Apr 5, 2018

Conversation

robertos
Copy link
Contributor

@robertos robertos commented Apr 2, 2018

  • Add support for HoloLens (NRM packing)
  • Add more parameters on command line and UWP to support multiple platforms and versions, as well as replacing compressed textures
  • Documentation fixes

…d line and UWP to support multiple platforms and versions, as well as replacing compressed textures. Documentation fixes.
None = 0x0,
Holographic = 0x1,
Desktop = 0x2
};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems as though we should not define the tool interface by platform instead of on the packing type(s) desired. If we also desire to have quick parameters also add platform/minversion.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The interface of the library uses the packing types. This is a lot more user-friendly, so that the dev doesn't have to study the docs to figure out which packing to use.
Here I'm using -compatibility-mode <on|off> and -platform <holographic|desktop|all> in combination to get assets with the right packing (NRM or ORM, but also supporting NRM+ORM, ORM+RMO and NRM+RMO+ORM combos).
What would be your proposal?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also provide a option for packing types to add if the customer wants to define this themselves for use outside of Windows MR.

Simplifying with platform is great but a target minversion would be better than compatibility as our requirements/options evolve over time. Even better maybe to parse an appx manifest.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the user wants to use their asset outside of Windows MR then this is the wrong tool. It's very easy to use the library and pack up a tool for your own scenario, but this tool specifically doesn't allow you to choose the packing/compression parameters besides what's supported for WMR.

I thought about the min version but that also adds complexity. I was trying to avoid as much as possible the user of the tool having to learn implementation details in order to use it. I agree that compatibility-mode is a very generic way of saying "support RS3 as well". I guess I'd be OK with changing that parameter to "-min-version " and number could be a build number (e.g. 16299.0) or a version number (1803) and it would do the right thing on either case.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

}
else if (param == PARAM_REPLACE_TEXTURES)
{
replaceTextures = true;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should set state to initial here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

- Allows overriding the maximum texture dimension (width/height) when compressing textures. The recommended maximum dimension in the [documentation](https://developer.microsoft.com/en-us/windows/mixed-reality/creating_3d_models_for_use_in_the_windows_mixed_reality_home#texture_resolutions_and_workflow) is 512, and the allowed maximum is 4096.

- `-replace-textures`
- If enabled, replaces all textures with their DDS compressed equivalents during the compression step.
- This results in a smaller file size, but the resulting file will not be compatible with most glTF viewers.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This also sounds sort of like 'compatibility-mode', as in one might expect that when 'compatibility-mode' is off this flag would get applied automatically.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense. I think I'll get rid of -compatibility-mode entirely given this comment and @najadojo 's comments above.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

@robertos
Copy link
Contributor Author

robertos commented Apr 4, 2018

Any other pending comments @erikdahlstrom @najadojo ?

@robertos robertos merged commit db9d40b into master Apr 5, 2018
@robertos robertos deleted the rs4-hololens-support branch April 16, 2018 17:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants