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

Another sync of dev to dev_win_ip #114

Merged
merged 504 commits into from
Dec 2, 2016

Conversation

c64kernal
Copy link
Contributor

No description provided.

c64kernal and others added 30 commits October 17, 2016 16:26
…rprimPath

separately. Also, the instanceContext is now returned as a vector of paths instead of
a vector of UsdPrims, since Hd/SceneDelegate can't know about USD.

In the case where the last instance root itself is the rprim, the returned rprimPath will
be empty. The last path in instanceContext will contain the rprim path.

Updated unit test to exercise the modifications to the API.

(Internal change: 1663831)
…prim::Sync so it would first try to get the shader from the delegate and then try to use that shader. This change surfaced an issue down in the UsdImaging where it would not know how to resolve the shader when the instance was a transform (for instance).

This change fix the instanceAdapter so it will first try to use any shader in the instance and then use what ever was configured in the master.

(Internal change: 1664329)
adding minimal GL window utilitiy for unit tests.
(not implemeneted yet on macos)

(Internal change: 1664362)
Node-culling is a crucial optimization in Pcp composition that
is a win against the natural tendency for scene structure to
accumulate down namespace.

The basic idea is that, as we walk down namespace, we can prune
off branches of the composition structure as soon as we know
they contribute no further opinions.

However, the rules for which nodes we can cull are subtle due
to certain features that require preserving empty structure.
But it turns out we can be more aggressive with variant culling
than we had been.

(Internal change: 1664515)
(Internal change: 1664537)
remove Qt dependency from Hd and Hdx.
unit tests use GarchGLDebugWindow instead.

(Internal change: 1664580)
Replace TF_FOR_ALL's with C++11 range-for (limited to clips specific files,
stage and few others need this treatment, but its outside the scope of this change, methinks.)
Change the TimeMapping obj from a std::pair<..> typedef to a struct with named members, update
all usage points. Condense some time mapping code in clip.cpp. Put large debug notice into function instead
of rewriting it in 5 or so places. Lastly, this adds two sentinel
values, Usd_ClipTimesBegin/End which are aliases for std::numeric_limits<double>::max()(-/+)
which are authored silently at the end of the clipTimes range.

(Internal change: 1664596)
remove a stray endif(), inadvertently added at the previous change

(Internal change: 1664655)
The Hydra mesh Rprim sets up a copy computation to combine vertex buffers that have different formats.  When were running the computation, we discovered that the source of the copy didn't have a GPU resource allocated to it.  The reason why their was no GPU resource is because the points array was empty, so because of that the packed smooth normals was producing no output and the memory manager was determing the size was 0, so didn't provide a resource for it.

This all happens in a deferred way, so we don't know at the time of adding the computation that the result is going to be empty, therefore the copy computation is seeing these empty unallocated buffers at execution time.

Changes:
- Reordered the copy computation execution function, so that the empty check comes before the is resource allocated check.

(Internal change: 1664714)
implements GarchGLDebugWindow on osx (still quite minimal)

(Internal change: 1664718)
one step forward to remove GL fixed pipeline functions.
(for OSX port)

(Internal change: 1664742)
Changes:
- Added blendWireframeColor to HdMeshReprDesc.
- This flag, then passed to the Mesh Shader Key which uses it to choose the appropriate shader fragment.
- Modified the fullback value for GetWireframeColor to 0,0,0,0.
- Renamed shader fragment MeshWire.Fragment.EdgeOnly to MeshWire.Fragment.EdgeOnlyBlendColor.
- Added new shader fragment MeshWire.Fragment.EdgeOnlyNoBlend, which removes the lerp.
- Updated testHdCodeGen and testHdDrawBatching to support new shader key parameters.
- Added new subtests to testHdCodeGen for edgeonly fragments.
- Updated baselines for testHdCodeGen for new default Wireframe color.

(Internal change: 1664785)
use GarchGLDebugWindow instead of QGLWidget for the unit tests.

(Internal change: 1664839)
a workaround for some modifier key symbols are inconsistent
between SDK versions.

also fixing typo of BOOL/bool causing a warning.

(Internal change: 1664853)
commit e212084 was too hasty to remove fixed GL matrix stack,
which is still used for axis/bbox drawing.
Partially revert the change so that Hydra drawing is taking the new
path with other stuffs working.

(Internal change: 1665023)
…e don't crash when binding lights and the shadow pass hadn't been run due to some other error.

(Internal change: 1665181)
glfq is the last Qt C++ dependency in pxr. In pxr, it's being used for enabling debug context
in usdview. it's useful, but we think it doesn't worth to ask Qt dependency just for it,
and we have another way to debug GL errors such as API trace and GL debugger.

For GL debugging in usdview, we'll revisit to add that functionality in another way later on.

(Internal change: 1665204)
…re that has not been correctly inserted. Also, this change makes it so hd/surfaceshader does not insert textures in the registry, this is only done by hd/texture.

[Hd] Surface shader now does not insert textures in the registry, it only checks if they are there. There is also better error handling for missing textures in SurfaceShaders. In order to support this changes it has been added a functionality in the instanceRegistry to check if an instance is there or not without registering it.

(Internal change: 1665282)
It's failing because currently OPENSUBDIV_VERSION = v3_1_0_RC2
and that is parsed as version 2. fixing to see the first 3 numbers only.

Fixes PixarAnimationStudios#82

(Internal change: 1665286)
In the case of single layers, this seems restrictive, but in the general
case, it protects users from overwriting a thin root layer with a composed
stage.

(Internal change: 1665421)
…uld contain redundant commas and spaces. A good example of this issue is in the documentation string of certain properties(eg. proxyPrim).

(Internal change: 1665541)
…ons (create textures...) if they are needed

[Hd] First check if we need to do anything before we do any operation on the texture

(Internal change: 1665615)
blevin and others added 26 commits November 13, 2016 20:01
into a corresponding katana material hierarchy.

The way this works is that as the katana op walks down usd
namespace, it checks for child material prims that use
"specializes" arcs.  When it finds those, it inserts them
into a MaterialHierarchy, which is basically just a
base<->derived map.  It uses that map to re-splice the
materials into the right place for katana attribute inheritance
to do the right thing for base -> derived materials.

The other detail is that when buliding katana attributes,
we skip any whose resolved value originates beyond a
specializes arc.  This uses a set of helpers that
analyze the UsdResolveInfo and/or the opinion stacks.

This changelist is primarily meant as an existence proof that the
usd api has what we need to start making use of specializes arcs,
we expect to want to continue to refactor this and improve API's.

It's an open question whether this leaves too much of the
work on the client to interpret specializes, and if so what
API extensions Usd should provide to facilitate this.  But this
changelist at least demonstrates that we have the fundamentals
available, and hopefully provides a starting point for discussion
of more ergonomic API's.

details:
- analyze root material prims for specializes arcs and assemble
  the hierarchy up-front
- pass that hierarchy down the op chain in PrivateData
- use hierarchy info to splice child materials as children
  of their base materials
- skip emitting shading attributes that inherit from the base

(Internal change: 1676464)
(Internal change: 1676704)
(Internal change: 1676708)
(Internal change: 1676740)
A PcpCache in USD mode only caches prim indexes,
so non-prim changes are irrelevant and can be
skipped during Pcp's change processing. UsdStage
was also doing similar change processing to emit
notices for property changes, so this change should
eliminate redundant work and provide speedups
when authoring properties in USD.

(Internal change: 1676482)
- Exporter will fall back to "kind" flag for kind on any root prim that has no kind set (e.g. via USD_kind maya attr).
- Exporter errors out if a root prim's kind is assembly (or derived kind) but that root prim has exported gprims.

(Internal change: 1676665)
(Internal change: 1676680)
Reorganize change processing code in UsdStage to avoid
unnecessary work in UsdStage::_Recompose if there are
no changes to prims.

(Internal change: 1676777)
(Internal change: 1676825)
Update FindMaya module to accommodate Maya 2017
and workaround conflicts with the Foundation framework
on OSX. Also update CMakeLists.txt for Maya plugins
to set some defines needed for building on OSX.

(Internal change: 1676855)
(Internal change: 1676914)
(Internal change: 1677068)
While trying to write a test for the new plugin discovery mechanisms in Hydra, I ran into an issue where real plugins on the search path interfered with the test.

In order to address this issue, this change adds a environment variable to plug that can disable loading plug-ins on this search path.

(Internal change: 1677103)
This is part of the Hydra refactor.

This changes add's a Context Creation and support API to HdEngine.  In order to support advanced context creation this requires API's to create render indexes and discover back-end delegates.

The plugin management API provides functions for quering delegates and overriding the default delegate.

An API is provided for Adding/Inc Ref Count and Deleting a Render Index.  This is when an application was to use the fully specified context.

The Context Management API provides various ways to create contexts (default is the simplest, shared will clone an existing context or a fully specified context).

Additional Changes:
- Added library dependancies on hf and gal to build scripts.
- Added HdContext / Render Index Cache
- Added new HdEngine test to test the new API.
- Removed Render Delegate test as it is superseded by new test.

Notes:
This is all dead code at this time, other code has been written to exercise and test these additions, but will be checked in later.

(Internal change: 1677128)
This is part of the Hydra refactor.

This change adds the foundation for building up the new stream plugin.

Changes:
- Adds the build system infrastructure for the plugin directory and hdStream library.
- Adds the PluginInfo file for plugin discovery by core hydra.
- Registers a render delegate for the stream library

Notes:
This is all dead code at this time and is only providing the base infrastructure for the library.

(Internal change: 1677654)
implementation for the usdview plugins.

(Internal change: 1677678)
(Internal change: 1677690)
Use ArResolver to get layer format extension instead
of TfStringGetSuffix in SdfLayer::_CreateNew, since
Ar gives implementations a chance to customize
behavior. This is consistent with the rest of
SdfLayer (except for CreateAnonymous -- see
comments for more details).

This was accomplished by refactoring the affected
code to use a pre-existing helper function.

(Internal change: 1677713)
allow CMAKE_PREFIX_PATH discovery mechanism to work
@sunyab sunyab merged commit 1549b88 into PixarAnimationStudios:dev_win_ip Dec 2, 2016
@c64kernal c64kernal deleted the dev_win_ip_g branch July 5, 2017 20:58
AdamFelt pushed a commit to autodesk-forks/USD that referenced this pull request Oct 11, 2022
…os#114)

(cherry picked from commit 343acbdc1f549997912bee48fa74018bddf2a82a)
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.