Skip to content

Commit

Permalink
Merge 7.x.x/hd/staging (#1743)
Browse files Browse the repository at this point in the history
* Pre warm RT Handle system so that reallocations are reduced.

* Fixed blend distance editing (1248931) #838

* Fix custom pass after post process buffer #1072

* Find the appropriate default frame settings per editor (case 1247631) #1129

* Hdrp/fix hierarchicalbox gizmo symetry and homothety mode ensuring face faces outside #1228

* Remove MSAA debug mode when renderpipeline asset has no MSAA #1289

* Bugfix for HDRenderPipelineAsset getting set to null when running unity in batchmode, resulting in broken builds. (#1696)

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

* Fix compilation issue when XR is not available #1391

* Fixed an issue where only one of the two lookdev views would update when changing the default lookdev volume profile. #1529

* Added propagating nans doc (#1562)

* Added propagating nans doc

* Added information about HDRP's NanTracker

* GFXGI-237: Force update for static skies when camera type is set to S… #1570

* Fixing the remapping of Min/Max parametrizations values to Amplitude parametrizations values

* Updating UI to match documentation of LayeredLit

* Hdrp/fix/terrain layer parametrization #1678

* Update HDRenderPipeline.LookDev.cs (#1740)

* Added information about HDRP not upgrading particle shaders (#1601)

* Added information about HDRP not upgrading particle shaders

* Update Upgrading-To-HDRP.md

* Update Upgrading-To-HDRP.md

* Changed cog to gear to adhere to style guide rules #1611

* Added build settings setup (#1631)

* Hdrp/docs/shader additions #1580

Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com>
Co-authored-by: fredericv-unity3d <55485372+fredericv-unity3d@users.noreply.github.com>
Co-authored-by: Antoine Lelievre <antoinel@unity3d.com>
Co-authored-by: Remi Slysz <40034005+RSlysz@users.noreply.github.com>
Co-authored-by: Adrien de Tocqueville <adrien.tocqueville@unity3d.com>
Co-authored-by: Nicholas Brancaccio <pastasfuture@gmail.com>
Co-authored-by: pastasfuture <nickb@bonfirestudios.com>
Co-authored-by: JulienIgnace-Unity <julien@unity3d.com>
Co-authored-by: JordanL8 <lewis.jordan@hotmail.co.uk>
Co-authored-by: Ben Spencer <github@raytracing.co.uk>
Co-authored-by: Jean-Philippe Grenier <jeanphilippe@unity3d.com>
  • Loading branch information
12 people committed Sep 2, 2020
1 parent bea6cee commit 6f5180a
Show file tree
Hide file tree
Showing 94 changed files with 640 additions and 128 deletions.
8 changes: 6 additions & 2 deletions com.unity.render-pipelines.core/CHANGELOG.md
Expand Up @@ -4,10 +4,14 @@ All notable changes to this package will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

- Fix hierarchicalbox gizmo outside facing check in symetry or homothety mode no longer move the center

## [7.5.1] - 2020-06-08

Version Updated
The version number for this package has increased due to a version update of a related graphics package.
### Fixed
- Fix hierarchicalbox gizmo outside facing check in symetry or homothety mode no longer move the center

## [7.4.3] - 2020-08-06

### Fixed
- Fixed an issue where only unique names of cameras could be added to the camera stack.
Expand Down
99 changes: 88 additions & 11 deletions com.unity.render-pipelines.core/Editor/Gizmo/HierarchicalBox.cs
Expand Up @@ -244,9 +244,7 @@ public void DrawHandle()

for (int i = 0, count = m_ControlIDs.Length; i < count; ++i)
m_ControlIDs[i] = GUIUtility.GetControlID("HierarchicalBox".GetHashCode() + i, FocusType.Passive);

EditorGUI.BeginChangeCheck();


var leftPosition = center + size.x * .5f * Vector3.left;
var rightPosition = center + size.x * .5f * Vector3.right;
var topPosition = center + size.y * .5f * Vector3.up;
Expand All @@ -256,6 +254,8 @@ public void DrawHandle()

var theChangedFace = NamedFace.None;

EditorGUI.BeginChangeCheck();

EditorGUI.BeginChangeCheck();
Slider1D(m_ControlIDs[(int)NamedFace.Left], ref leftPosition, Vector3.left, EditorSnapSettings.scale, GetHandleColor(NamedFace.Left));
if (EditorGUI.EndChangeCheck())
Expand Down Expand Up @@ -338,6 +338,27 @@ public void DrawHandle()
case NamedFace.Front: backPosition.z += delta; break;
case NamedFace.Back: frontPosition.z -= delta; break;
}

//ensure that the box face are still facing outside
switch (theChangedFace)
{
case NamedFace.Left:
case NamedFace.Right:
if (rightPosition.x < leftPosition.x)
rightPosition.x = leftPosition.x = center.x;
break;
case NamedFace.Top:
case NamedFace.Bottom:
if (topPosition.y < bottomPosition.y)
topPosition.y = bottomPosition.y = center.y;
break;
case NamedFace.Front:
case NamedFace.Back:
if (frontPosition.z < backPosition.z)
frontPosition.z = backPosition.z = center.z;
break;
}

}

if (useHomothety)
Expand Down Expand Up @@ -367,21 +388,77 @@ public void DrawHandle()
topPosition.y -= halfDelta;
break;
}

//ensure that the box face are still facing outside
switch (theChangedFace)
{
case NamedFace.Left:
if (rightPosition.x < leftPosition.x)
leftPosition.x = rightPosition.x;
if (topPosition.y < bottomPosition.y)
topPosition.y = bottomPosition.y = center.y;
if (frontPosition.z < backPosition.z)
frontPosition.z = backPosition.z = center.z;
break;
case NamedFace.Right:
if (rightPosition.x < leftPosition.x)
rightPosition.x = leftPosition.x;
if (topPosition.y < bottomPosition.y)
topPosition.y = bottomPosition.y = center.y;
if (frontPosition.z < backPosition.z)
frontPosition.z = backPosition.z = center.z;
break;
case NamedFace.Top:
if (topPosition.y < bottomPosition.y)
topPosition.y = bottomPosition.y;
if (rightPosition.x < leftPosition.x)
rightPosition.x = leftPosition.x = center.x;
if (frontPosition.z < backPosition.z)
frontPosition.z = backPosition.z = center.z;
break;
case NamedFace.Bottom:
if (topPosition.y < bottomPosition.y)
bottomPosition.y = topPosition.y;
if (rightPosition.x < leftPosition.x)
rightPosition.x = leftPosition.x = center.x;
if (frontPosition.z < backPosition.z)
frontPosition.z = backPosition.z = center.z;
break;
case NamedFace.Front:
if (frontPosition.z < backPosition.z)
frontPosition.z = backPosition.z;
if (rightPosition.x < leftPosition.x)
rightPosition.x = leftPosition.x = center.x;
if (topPosition.y < bottomPosition.y)
topPosition.y = bottomPosition.y = center.y;
break;
case NamedFace.Back:
if (frontPosition.z < backPosition.z)
backPosition.z = frontPosition.z;
if (rightPosition.x < leftPosition.x)
rightPosition.x = leftPosition.x = center.x;
if (topPosition.y < bottomPosition.y)
topPosition.y = bottomPosition.y = center.y;
break;
}
}

var max = new Vector3(rightPosition.x, topPosition.y, frontPosition.z);
var min = new Vector3(leftPosition.x, bottomPosition.y, backPosition.z);

//ensure that the box face are still facing outside
for (int axis = 0; axis < 3; ++axis)
if (!useSymetry && !useHomothety)
{
if (min[axis] > max[axis])
//ensure that the box face are still facing outside
for (int axis = 0; axis < 3; ++axis)
{
// Control IDs in m_ControlIDs[0-3[ are for positive axes
if (GUIUtility.hotControl == m_ControlIDs[axis])
max[axis] = min[axis];
else
min[axis] = max[axis];
if (min[axis] > max[axis])
{
// Control IDs in m_ControlIDs[0-3[ are for positive axes
if (GUIUtility.hotControl == m_ControlIDs[axis])
max[axis] = min[axis];
else
min[axis] = max[axis];
}
}
}

Expand Down
Expand Up @@ -324,7 +324,8 @@ private RenderGraphResourceRegistry()

internal RenderGraphResourceRegistry(bool supportMSAA, MSAASamples initialSampleCount, RenderGraphDebugParams renderGraphDebug, RenderGraphLogger logger)
{
m_RTHandleSystem.Initialize(1, 1, supportMSAA, initialSampleCount);
// We initialize to screen width/height to avoid multiple realloc that can lead to inflated memory usage (as releasing of memory is delayed).
m_RTHandleSystem.Initialize(Screen.width, Screen.height, supportMSAA, initialSampleCount);
m_RenderGraphDebug = renderGraphDebug;
m_Logger = logger;
}
Expand Down
19 changes: 18 additions & 1 deletion com.unity.render-pipelines.high-definition/CHANGELOG.md
Expand Up @@ -4,7 +4,24 @@ All notable changes to this package will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [7.5.1] - 2020-07-02
## [7.5.1] - 2020-06-08

### Fixed
- Pre-warm the RTHandle system to reduce the amount of memory allocations and the total memory needed at all points.
- Appropriately constraint blend distance of reflection probe while editing with the inspector (case 1248931)
- Fixed fallback for ray tracing and light layers (1258837).
- Fixed Sorting Priority not displayed correctly in the DrawRenderers custom pass UI.
- Fixed default frame settings MSAA toggle for reflection probes (case 1247631)
- Fixed regression where moving face of the probe gizmo was not moving its position anymore.
- Remove MSAA debug mode when renderpipeline asset has no MSAA
- Fixed issue that failed compilation when XR is disabled.
- Fixed an issue where only one of the two lookdev views would update when changing the default lookdev volume profile
- Fix Amplitude -> Min/Max parametrization conversion

### Changed
- The `CustomPassLoadCameraColor` and `CustomPassSampleCameraColor` functions now returns the correct color buffer when used in after post process instead of the color pyramid (which didn't had post processes).

## [7.4.3] - 2020-08-06

### Fixed
- Fixed a bug where connections to the `Normal` slot on *Stack Lit Master* node would be lost when changing normal space.
Expand Down
@@ -0,0 +1,50 @@
# Autodesk Interactive masked shader

The Autodesk Interactive masked shader replicates the Interactive PBS with the masked preset available in Autodesk® 3DsMax and Autodesk® Maya for the High Definition Render Pipeline (HDRP). It acts like a [cutout shader](https://docs.unity3d.com/Manual/shader-TransparentCutoutFamily.html). When Unity imports an FBX exported from one of these softwares, if the FBX includes materials with Interactive PBS shaders, Unity imports these materials as Autodesk Interactive materials. The material properties and textures inputs are identical between these two materials. The materials themselves also look and respond to light similarly. Note that there are slight differences between what you see in Autodesk® Maya or Autodesk® 3DsMax and what you see in Unity.

Autodesk® Maya or Autodesk® 3DsMax also include two variants of this shader, which are also available in HDRP:

- [Autodesk Interactive](Autodesk-Interactive-Shader.md)
- [Autodesk Interactive Transparent](Autodesk-Interactive-Shader-Transparent.md)

Note that this shader is implemented as a [Shader Graph](https://docs.unity3d.com/Packages/com.unity.shadergraph@latest/index.html).

## Creating an Autodesk Interactive masked material

When Unity imports an FBX with a compatible Autodesk shader, it automatically creates an Autodesk Interactive material. If you want to manually create an Autodesk Interactive material:

1. Create a new material (menu: **Assets > Create > Material**).
2. In the Inspector for the Material, click the **Shader** drop-down then click **HDRP > Autodesk Interactive > AutodeskInteractiveMasked**.

### Properties

<table>
<tr>
<th>Property</th>
<th>Description</th>
</tr>
[!include[](snippets/shader-properties-uxml/autodesk-interactive/use-color-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/base-color.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/color-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/use-normal-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/normal-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/use-metallic-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/metallic.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/metallic-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/use-roughness-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/roughness.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/roughness-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/use-emissive-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/emissive.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/emissive-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/use-opacity-map(mask).md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/mask-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/mask-threshold.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/uv-offset.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/uv-scale.md)]
[!include[](snippets/shader-properties-uxml/general/enable-gpu-instancing.md)]
[!include[](snippets/shader-properties-uxml/general/double-sided-global-illumination.md)]
[!include[](snippets/shader-properties-uxml/general/emission.md)]
[!include[](snippets/shader-properties-uxml/general/emission-global-illumination.md)]
[!include[](snippets/shader-properties-uxml/general/motion-vector-for-vertex-animation.md)]
</table>
@@ -0,0 +1,49 @@
# Autodesk Interactive transparent shader

The Autodesk Interactive transparent shader replicates the Interactive PBS with the transparent preset available in Autodesk® 3DsMax and Autodesk® Maya for the High Definition Render Pipeline (HDRP). When Unity imports an FBX exported from one of these softwares, if the FBX includes materials with Interactive PBS shaders, Unity imports these materials as Autodesk Interactive materials. The material properties and textures inputs are identical between these two materials. The materials themselves also look and respond to light similarly. Note that there are slight differences between what you see in Autodesk® Maya or Autodesk® 3DsMax and what you see in Unity.

Autodesk® Maya or Autodesk® 3DsMax also include two variants of this shader, which are also available in HDRP:

- [Autodesk Interactive](Autodesk-Interactive-Shader.md)
- [Autodesk Interactive Masked](Autodesk-Interactive-Shader-Masked.md)

Note that this shader is implemented as a [Shader Graph](https://docs.unity3d.com/Packages/com.unity.shadergraph@latest/index.html).

## Creating an Autodesk Interactive transparent material

When Unity imports an FBX with a compatible Autodesk shader, it automatically creates an Autodesk Interactive material. If you want to manually create an Autodesk Interactive material:

1. Create a new material (menu: **Assets > Create > Material**).
2. In the Inspector for the Material, click the **Shader** drop-down then click **HDRP > Autodesk Interactive > AutodeskInteractiveTransparent**.

### Properties

<table>
<tr>
<th>Property</th>
<th>Description</th>
</tr>
[!include[](snippets/shader-properties-uxml/autodesk-interactive/use-color-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/base-color.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/color-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/use-normal-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/normal-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/use-metallic-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/metallic.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/metallic-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/use-roughness-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/roughness.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/roughness-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/use-emissive-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/emissive.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/emissive-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/use-opacity-map.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/opacity.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/uv-offset.md)]
[!include[](snippets/shader-properties-uxml/autodesk-interactive/uv-scale.md)]
[!include[](snippets/shader-properties-uxml/general/enable-gpu-instancing.md)]
[!include[](snippets/shader-properties-uxml/general/double-sided-global-illumination.md)]
[!include[](snippets/shader-properties-uxml/general/emission.md)]
[!include[](snippets/shader-properties-uxml/general/emission-global-illumination.md)]
[!include[](snippets/shader-properties-uxml/general/motion-vector-for-vertex-animation.md)]
</table>

0 comments on commit 6f5180a

Please sign in to comment.