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 refactoring sandbox 5 #59

Merged
merged 79 commits into from
Oct 20, 2019

Conversation

kxl-adsk
Copy link

This PR brings several changes, including:

Build

  • Add UFE unit tests
  • Updated build.py script with new flags to support running unit tests and packaging (*.zip)
  • Fix Maya crash when there is a relative Path in mayaUsdProxyShape file path
  • Various cmake fixes for MacOSX and Linux:
    -- CompilerID for Apple Clang is now AppleClang.
    -- Fix relative rpath not being set properly for pxrUsd plugin.
    -- Fix relative rpath to libGLEW on Linux.
    -- Refactor MacOsx specific compile definitions and remove MFB_ALT_TRANSLATORS_PACKAGE, MFB_TRANSLATORS_PACKAGE

Plugin merge

  • Moved the Pixar Python wrappers down to the mayaUsd core. They are now in the mayaUsd.lib Python package

VP2RenderDelegate

  • Basic UsdShade material support*
  • Shader fragment library based on pxrUsdPreviewSurface, supporting multiple Maya lights and all three GPU device APIs.
  • Primvar interpolation support
  • Correct transformation of instanced prims
  • Faster draw performance of single-instanced prims

(*) PR110 is required to take the full advantage of all of the changes

Hamed Sabri and others added 30 commits September 17, 2019 17:47
…tive_path_mayaUsdProxyShape

Fix maya crash when there is a relative Path in mayaUsdProxyShape fil…
…files with a link directly to the headers in the source tree. This has a benefit of skipping the configure stage.

e.g fallbackPrimReader.h now contains:

#pragma once
#include "C:/Users/hamed/Autodesk2019/maya-usd/lib/fileio/fallbackPrimReader.h"
* Fixed shutil.rmtree failing on Windows with 'Access is denied' when deleting Googletest directory

* Added test and package stages to build script

* Added UFE tests + Workaround to get the UsdPrim from a SceneItem.

* Added a new BUILD_TESTS flag for tests. This variable is ON by default.
…es. UFE tests now run all three platforms.
* Support UsdShade material network
* Support all primvar interpolation types.

Known issues:
* Normal map is not supported yet.
* Texture loading from usdz is not supported yet.
* Multiple UV sets is not supported yet.
* Strong specular highlight seems incorrect (to investigate)
* Maya 2019 is waiting for API backport, before that it uses a temporary workaround for support common material network patterns but won't support all patterns.
* Maya 2018 has no necessary API to MShaderInstance connection/renaming, thus material is still blue.
* MAYA-99446 - Spike: Investigate USD in Attribute Editor options

* Update the cmake parsing of ufe.h to also extract UFE version features.
  Removed CMAKE_UFE_GROUP_INTERFACE_AVAILABLE/UFE_GROUP_INTERFACE_AVAILABLE
  and replaced with generic
  CMAKE_UFE_V2_FEATURES_AVAILABLE/ UFE_V2_FEATURES_AVAILABLE.
* Added new files:
** Note: all of this code is protected by UFE_V2 feature check.
** UsdAttributesHandler.{h/cpp} - implemented UFE::AttributesHandler interface
   for USD. Create and register this into UFE.
** UsdAttributes.{h/cpp} - implemented UFE::Attributes interface for USD.
** UsdAttribute.{h/cpp} - implemented UFE::Attribute interface for USD.
** Created a new usd mesh attribute editor template. Installed into
   plugin as a python module.
* Fixed a bug with multiple stages.
* Added new files:
** wrapUsdSceneItem.cpp - this one is currently not used.  Need to figure out
   how to derive from Ufe::PySceneItem.
** wrapUtils.cpp - helper python binding to deal with Ufe::SceneItem -> UsdSceneItem

* MAYA-99446 - Spike: Investigate USD in Attribute Editor options

* Code review comments.
Add MayaUSD version and Variant to the package file.
…redirect output stream to either a build log file or just console output.
Added a new boolean flag "--redirect-outstream-file"
The copy happens during the build stage before any other rules are executed within the target. If you make a change in a python test or resource file(s), only those file(s) will be re-copied.
Huidong Chen and others added 26 commits October 3, 2019 16:48
* Change the fallback shader to "mayaBlinnSurface".

* UsdPreviewSurface cannot be used as fallback because it treats diffuse color as albedo and divides it with Pi which leads to darker color.

* Standard surface cannot be used because it is not yet production ready and not available on Maya 2019 and before.

* k3dBlinnShader stock shader cannot be used because it consumes color as if it was premultiplied with alpha. Then we would have to tweak the color data as it requires.
* Restored missing ufeSelectCmd Maya plugin support for testMayaPickwalk

* More CMake test fixes, and avoid testMayaPickwalk crash on exit.

* testTRSBase.py is not a test, should not be run as such.

* Restore support for pxrRis shading mode, tests now pass.

* Implemented testUsdImportUVSets workaround.

* Added Maya JIRA ticket number to testUsdImportUVSets
* WIP: move common Python wrappers down to mayaUsd core.

* WIP: set install directory.

* Moved Python wrappers to core.

* Reference count usdUndoHelperCmd registration.

* Restored missing ufeSelectCmd Maya plugin support for testMayaPickwalk

* More CMake test fixes, and avoid testMayaPickwalk crash on exit.

* testTRSBase.py is not a test, should not be run as such.

* Restore support for pxrRis shading mode, tests now pass.

* Implemented testUsdImportUVSets workaround.

* Added Maya JIRA ticket number to testUsdImportUVSets

* Convert Pixar Python tests to use wrappers from mayaUsd.lib

* Addressed code review feedback.
MAYA-100926 - Write UFE attribute tests + document new interfaces

* Removed Ufe::Attribute::Type() override as a final implementation was coded in UFE.
* Added simple mayaUsdProxyShape node AE template to fix weird missing scroll layout problem.
* New python test files for UsdAttribute and UsdAttributes
* Code review comments.
…. Set a global timeout on all tests. 300 seconds = 5 mins
* UFE tests improvements.

* Disable failing UFE tests until UFE_V2 available.
* Cleanup the Maya plugins by using cmake macro.

* Mac specific compile definitions.
…SLATORS_PACKAGE and MFB_ALT_TRANSLATORS_PACKAGE as part of target_compile_definitions:

somehow cmake doesn't like this. Why?

target_compile_definitions(${TRANSLATORS_PACKAGE}
    PRIVATE
        ${_macDef}
        AL_MAYA_MACROS_EXPORT
        MFB_TRANSLATORS_PACKAGE="${TRANSLATORS_PACKAGE}"
        MFB_ALT_TRANSLATORS_PACKAGE="${TRANSLATORS_PACKAGE}"
)
…us to know why we needed them in a first place.
@kxl-adsk kxl-adsk merged commit 24c5300 into refactoring_sandbox Oct 20, 2019
@kxl-adsk kxl-adsk deleted the update_refactoring_sandbox_5 branch October 20, 2019 23:38
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.

4 participants