Skip to content

[7.x.x] Merge 7.x.x/hd/staging #512

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

Merged
merged 84 commits into from
May 15, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
ac93e17
[7.x.x Backport] Fixed a weird behavior in the scalable settings draw…
anisunity Apr 3, 2020
f4f74f1
Fixed an usage of a a compute buffer not bound (1229964) (#28)
sebastienlagarde Apr 7, 2020
5ddc5f7
Removed wrongly serialized fields in StaticLightingSky (#6441)
JulienIgnace-Unity Apr 3, 2020
5faae4d
Fix issues in the post process system with RenderTexture being invali…
sebastienlagarde Apr 7, 2020
3531a57
Update PostProcessSystem.cs
sebastienlagarde Apr 7, 2020
84b722d
Fixed an issue where changing the default volume profile from anothe…
JulienIgnace-Unity Apr 3, 2020
0cd0299
Hdrp/docs/glossary f number (#6523)
JordanL8 Apr 2, 2020
accff86
Clamp probes compression factor to 0 (#19)
FrancescoC-unity Apr 7, 2020
b754f52
path validation when creating new volume profile (#36)
sebastienlagarde Apr 7, 2020
aaf7bf5
Merge branch '7.x.x/release' into 7.x.x/hd/staging
sebastienlagarde Apr 8, 2020
bc7cc75
[Backport 7.x.x] Fix various leaks in HDRP (#120)
JulienIgnace-Unity Apr 15, 2020
359afb4
[7.x.x backport] Follow references when deleting unloading unused ass…
FrancescoC-unity Apr 15, 2020
9993a1c
[7.x.x Backport] Fixed an issue with the specularFGD term being used …
anisunity Apr 16, 2020
4f857b0
Merge branch '7.x.x/release' into 7.x.x/hd/staging
sebastienlagarde Apr 16, 2020
f4c7b7f
d Fix MSAA resolve when there is no motion vectors #1
adrien-de-tocqueville Apr 14, 2020
8cb689f
Fix issues causing planar probes to be broken with multiple cameras i…
FrancescoC-unity Apr 15, 2020
7d010f4
Pospow and SG triplanar fix #40
slunity Apr 8, 2020
4410bd1
Hdrp/fix/custom pass msaa rendering info #42
alelievr Apr 9, 2020
67e7c73
Added disocclusion and ghosting to the glossary (#75)
JordanL8 Apr 9, 2020
6e624d2
Update the scripting API for FrameSettings, FrameSettingsOverrideMask…
RSlysz Apr 16, 2020
bf34a59
fix switch shader compilation (#111)
sebastienlagarde Apr 14, 2020
417b5d1
Update SceneViewDrawMode.cs (#118)
sebastienlagarde Apr 14, 2020
dd03aa3
Fix culling of reflection probes that change position #121
pmavridis Apr 15, 2020
5111f69
Fix null reference when processing light probe #131
pmavridis Apr 15, 2020
61886f3
Fix black screen in XR when HDRP package is present but not used #137
fabien-unity Apr 15, 2020
9d9eb87
Fix default volume profile collapse #138
alelievr Apr 16, 2020
8c0e270
Fix for white flash happening when changing lighting condition (like …
sebastienlagarde Apr 16, 2020
5b4fce1
Added baked GI rp support caveat and made setting shadow filter quali…
JordanL8 Apr 16, 2020
ffc58cd
Update AxF-Shader.md (#152)
JordanL8 Apr 16, 2020
4f787c2
Bind missing buffer #159
victor-unity Apr 16, 2020
2b1b282
Merge branch '7.x.x/release' into 7.x.x/hd/staging
sebastienlagarde Apr 16, 2020
891160d
Merge branch '7.x.x/release' into 7.x.x/hd/staging
sebastienlagarde Apr 16, 2020
f3218d6
[Backport 7.x.x] Diffusion Profile and Material references in HDRP ma…
JulienIgnace-Unity Apr 20, 2020
976cd19
Catch and handle NRefactory parser exceptions #6392
sebastienlagarde Apr 24, 2020
ea70f9b
Merge branch '7.x.x/release' into 7.x.x/hd/staging
sebastienlagarde Apr 24, 2020
56ace1e
[7.x.x backport] Fix quality settings UI and shadow mask UI #122 (#123)
sebastienlagarde Apr 27, 2020
4f14500
Fixed the indirect diffuse texture not being ignored when it should (…
anisunity Apr 27, 2020
f1d45cf
[7.x.x Backport] Fix pre/post pass sg properties #82 (#85)
alelievr May 5, 2020
2f7ebef
Fixed a performance issue with stochastic ray traced area shadows. (#…
anisunity May 5, 2020
774383d
[Backport 7.x.x] Updated raytracing async compute warning. (#304)
JulienIgnace-Unity May 6, 2020
f5d67f1
[Backport 7.x.x] Fixed a null ref exception in static sky when the de…
JulienIgnace-Unity May 6, 2020
1731ded
[Backport 7.x.x] Fixed an error about procedural sky being logged by …
JulienIgnace-Unity May 6, 2020
6876810
[Backport 7.x.x] Fix flickering lighting in the scene and game view w…
JulienIgnace-Unity May 6, 2020
722d7b1
[7.x.x Backport] Fix issue with ambient probe not being correct with …
FrancescoC-unity May 6, 2020
c4bbd9f
[Backport 7.x.x] Fixed some gcalloc in the debug window (#464)
JulienIgnace-Unity May 14, 2020
b2117a4
[Backport 7.x.x] Hdrp/small ui update (#466)
JulienIgnace-Unity May 14, 2020
3903550
[Backport 7.x.x] PBR Sky renderer now shares its internal precomputat…
JulienIgnace-Unity May 14, 2020
762012c
[Backport 7.x.x] New tooltip for camera background and fixed exposure…
JulienIgnace-Unity May 14, 2020
eec0506
[Backport 7.x.x] Fixed asset preview being rendered white because of …
JulienIgnace-Unity May 14, 2020
5e4d82e
Merge branch '7.x.x/release' into 7.x.x/hd/staging
sebastienlagarde May 14, 2020
03dbd4d
Changed UI name, tooltip, and doc for maximum decals on screen (#232)
JordanL8 Apr 23, 2020
aac437e
Update Custom-Post-Process.md (#233)
JordanL8 Apr 24, 2020
fb68069
Update HDRP-Features.md (#235)
JordanL8 Apr 24, 2020
3216fdb
Hdrp/reflection probe scale perf #252
fredericv-unity3d May 7, 2020
122f942
HD: Switch to 1920x1080 default standalone resolution (#279)
aras-p Apr 27, 2020
f77e94a
Makes sure quaternion is normalized and valid before converting to ma…
eturquin May 14, 2020
2905dd0
Fix cookie srgb #297
alelievr May 6, 2020
e0c3e74
Updated forward and deferred rendering definitions (#350)
JordanL8 May 4, 2020
3795b34
Update Light-Component.md (#357)
JordanL8 May 14, 2020
a3dae38
Hd/add layer modification on generated emissive mesh for area light #364
RSlysz May 11, 2020
139c8c0
Update Look-Dev-Environment-Library.md (#365)
JordanL8 May 14, 2020
5fefa89
Update Volumetric-Lighting.md (#402)
JordanL8 May 11, 2020
e0ec69e
Hd/fix nullref while removing decal component #416
RSlysz May 12, 2020
2cb76f9
Fix issue with Uber Post process shader when alpha is enabled #422
FrancescoC-unity May 12, 2020
e457eba
Fix the bug (#430)
skhiat May 13, 2020
4a5c68b
Fix issue causing not all baked reflection probes to be deleted #441
FrancescoC-unity May 14, 2020
9f59d1d
Updated Decal Projector doc (#477)
JordanL8 May 14, 2020
51a5ed3
Look Dev docs refactor 2 #484
JordanL8 May 14, 2020
6529107
[7.x.x Backport] Fix issue with corrupted values with Layer Lit when …
FrancescoC-unity May 14, 2020
e69b21e
Fix Motion Vectors written by transparent when rendering with MSAA #315
FrancescoC-unity May 6, 2020
6abeb5c
Fix issue with the resolve of motion vectors (#421)
FrancescoC-unity May 13, 2020
a740363
Merge branch '7.x.x/hd/staging' of https://github.com/Unity-Technolog…
sebastienlagarde May 14, 2020
6e5663e
Merge branch '7.x.x/release' into 7.x.x/hd/staging
sebastienlagarde May 14, 2020
54e5fce
fix issue with ShowPrePassAndPostPass
sebastienlagarde May 12, 2020
a5b8bac
fix compilation issue in rendergraph
sebastienlagarde May 15, 2020
2f5ea1c
Merge branch '7.x.x/release' into 7.x.x/hd/staging
sebastienlagarde May 15, 2020
7b84523
Fixed null reference exception in LookDev when setting the SRP to Non…
pmavridis May 15, 2020
fe2ad48
Check reflection probe null pointer before use. (case 1244047) #456
fredericv-unity3d May 15, 2020
acf8f95
Remove max atlas probe alloc size in HDRP asset (#458)
alelievr May 15, 2020
69b807c
Fix few multi-editing issues with Emission UI #473
FrancescoC-unity May 15, 2020
ffb2425
Re-enable cubemap thumbnail gen only for d3d11 #487
FrancescoC-unity May 15, 2020
daa66ea
Hd/fix undo environmentlibrary lookdev #490
RSlysz May 15, 2020
d31417e
Added system requirements and frame settings api docs (#510)
JordanL8 May 15, 2020
6a968be
Merge branch '7.x.x/release' into 7.x.x/hd/staging
sebastienlagarde May 15, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions com.unity.render-pipelines.core/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- Fixed copy/pasting of Volume Components when loading a new scene
- Fix LookDev's camera button layout.
- Fix LookDev's layout vanishing on domain reload.
- Fixed null reference exception in LookDev when setting the SRP to one not implementing LookDev (case 1245086)
- Fix LookDev's undo/redo on EnvironmentLibrary (case 1234725)

## [7.3.0] - 2020-03-11

Expand Down
12 changes: 12 additions & 0 deletions com.unity.render-pipelines.core/Editor/LookDev/Context.cs
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,18 @@ internal bool HasLibraryAssetChanged(EnvironmentLibrary environmentLibrary)

return m_EnvironmentLibraryGUID != AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(environmentLibrary));
}

internal void FullReimportEnvironmentLibrary()
{
if (environmentLibrary == null)
return;

// refresh AssetDatabase in case of undo/redo creating/destructing environment subasset
string libraryPath = AssetDatabase.GetAssetPath(environmentLibrary);
AssetDatabase.ImportAsset(AssetDatabase.GetAssetPath(environmentLibrary), ImportAssetOptions.DontDownloadFromCacheServer | ImportAssetOptions.ForceSynchronousImport | ImportAssetOptions.ForceUpdate | ImportAssetOptions.ImportRecursive);
UpdateEnvironmentLibrary(AssetDatabase.LoadAssetAtPath<EnvironmentLibrary>(libraryPath));
EditorUtility.SetDirty(environmentLibrary);
}
}

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -463,5 +463,13 @@ void OnFocus()
((IEnvironmentDisplayer)this).Repaint();
}
}

void FullRefreshEnvironmentList()
{
if (LookDev.currentContext.environmentLibrary != null)
LookDev.currentContext.FullReimportEnvironmentLibrary();

((IEnvironmentDisplayer)this).Repaint();
}
}
}
21 changes: 20 additions & 1 deletion com.unity.render-pipelines.core/Editor/LookDev/DisplayWindow.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
using UnityEngine;
using UnityEngine.UIElements;

using RenderPipelineManager = UnityEngine.Rendering.RenderPipelineManager;

namespace UnityEditor.Rendering.LookDev
{
/// <summary>Interface that must implement the viewer to communicate with the compositor and data management</summary>
Expand Down Expand Up @@ -257,9 +259,15 @@ void OnEnable()

ApplyLayout(viewLayout);
ApplySidePanelChange(layout.showedSidePanel);

Undo.undoRedoPerformed += FullRefreshEnvironmentList;
}

void OnDisable() => OnClosedInternal?.Invoke();
void OnDisable()
{
Undo.undoRedoPerformed -= FullRefreshEnvironmentList;
OnClosedInternal?.Invoke();
}

void CreateToolbar()
{
Expand Down Expand Up @@ -680,6 +688,17 @@ void OnGUI()
rootVisualElement.styleSheets.Add(styleSheetLight);
}

// [case 1245086] Guard in case the SRP asset is set to null (or to a not supported SRP) when the lookdev window is already open
// Note: After an editor reload, we might get a null OnUpdateRequestedInternal and null SRP for a couple of frames, hence the check.
if (!LookDev.supported && OnUpdateRequestedInternal !=null)
{
// Print an error and close the Lookdev window (to avoid spamming the console)
Debug.LogError($"LookDev is not supported by this Scriptable Render Pipeline: "
+ (RenderPipelineManager.currentPipeline == null ? "No SRP in use" : RenderPipelineManager.currentPipeline.ToString()));
LookDev.Close();
return;
}

OnUpdateRequestedInternal?.Invoke();
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,21 @@ public class EnvironmentLibrary : ScriptableObject
/// <returns>The created Environment</returns>
public Environment Add()
{
Undo.SetCurrentGroupName("Add Environment");
int group = Undo.GetCurrentGroup();

Environment environment = ScriptableObject.CreateInstance<Environment>();
environment.name = "New Environment";
Undo.RegisterCreatedObjectUndo(environment, "Add Environment");

Undo.RecordObject(this, "Add Environment");
environments.Add(environment);

// Store this new environment as a subasset so we can reference it safely afterwards.
AssetDatabase.AddObjectToAsset(environment, this);

Undo.CollapseUndoOperations(group);

// Force save / refresh. Important to do this last because SaveAssets can cause effect to become null!
EditorUtility.SetDirty(this);
AssetDatabase.SaveAssets();
Expand All @@ -54,11 +60,16 @@ public Environment Add()
/// <param name="index">Index where to remove Environment</param>
public void Remove(int index)
{
Undo.SetCurrentGroupName("Remove Environment");
int group = Undo.GetCurrentGroup();

Environment environment = environments[index];
Undo.RecordObject(this, "Remove Environment");
environments.RemoveAt(index);
Undo.DestroyObjectImmediate(environment);

Undo.CollapseUndoOperations(group);

// Force save / refresh
EditorUtility.SetDirty(this);
AssetDatabase.SaveAssets();
Expand Down
3 changes: 3 additions & 0 deletions com.unity.render-pipelines.high-definition/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- VFX: Removed irrelevant queues in render queue selection from HDRP outputs
- VFX: Motion Vector are correctly renderered with MSAA [Case 1240754](https://issuetracker.unity3d.com/product/unity/issues/guid/1240754/)
- Fixed a cause of NaN when a normal of 0-length is generated (usually via shadergraph).
- Fixed error when undo a Reflection Probe removal in a prefab instance. (case 1244047)
- Fixed various multi-editing issues when changing Emission parameters.
- Fixed issue that prevented cubemap thumbnails from rendering (only on D3D11 and Metal).

### Changed
- Rejecting history for ray traced reflections based on a threshold evaluated on the neighborhood of the sampled history.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# Frame Settings Scripting API

In the High Definition Render Pipelines (HDRP), [Frame Settings](Frame-Settings.md) control how a rendering component, such as a [Camera](HDRP-Camera.md), [Reflection Probe](Reflection-Probe.md), or [Planar Reflection Probe](Planar-Reflection-Probe.md), renders a Scene. You can specify default Frame Settings for your entire Project and then override them for a particular rendering component. This means that each Frame Setting has a default value, set in the [HDRP Asset](HDRP-Asset.md), then each individual rendering component in your Scene can have an override for it. This is useful if you have lower priority rendering components that do not need to use certain effects. To specify which default Frame Settings a rendering component overrides, each rendering component contains an [override mask](../api/UnityEngine.Rendering.HighDefinition.FrameSettingsOverrideMask.html). A mask is an array of bits, where each bit represents one of two states (0 for disabled and 1 for enabled). Each bit in the override mask represents the override state of a particular Frame Setting.

To get the final value of a Frame Setting for a particular rendering component, HDRP performs the following steps:

1. Checks the Project-wide default value for the Frame Setting. In this step, HDRP checks the current value stored for the Frame Setting in the HDRP Asset.
2. Checks the rendering component's override mask to see if the bit that corresponds to the Frame Setting is set. The state of the Frame Setting's bit in the override mask corresponds to the state of the override checkbox to the left of the Frame Setting in the rendering component's Inspector.
3. Gets the Frame Setting's override value from the rendering component's custom Frame Settings.
4. Sanitizes the result. To lighten your Project, you can specify which features to use in the HDRP Asset. If the Frame Setting you try to modify affects an unavailable feature, Unity discards it in this final sanitization pass. To make sure it is not possible for HDRP to process features that are not available, you cannot access the sanitization process via scripting API.

## Modifying default Frame Settings

The Default Frame Settings are in the HDRP Asset, so it is not good practice to modify them at runtime. Instead, you can modify them in Edit mode in [Default Settings tab](Default-Settings-Window.md).

Note that you can set individual default Frame Settings for three types of rendering component:

- Cameras
- Realtime Reflection Probes and Realtime Planar Reflection Probes
- Baked/custom Reflection Probes and Baked/custom Planar Reflection Probe

There is currently no scripting API to modify default Frame Settings.

## Modifying Frame Settings for a particular rendering component

HDRP stores the Frame Settings for rendering components in additional data components attached to the rendering component. The additional data components are:

| **Rendering component** | **Additional data component** |
| ----------------------- | ----------------------------- |
| **Camera** | HDAdditionalCameraData |
| **Reflection Probe** | HDAdditionalReflectionData |

To modify the value of a Frame Setting, the first step is to get a reference to the additional data component. To do this, either create a public variable and assign it in the Inspector, or use [GetComponent<T>()](https://docs.unity3d.com/ScriptReference/GameObject.GetComponent.html) where T is the additional data component type.

Next, access the Frame Settings override mask. This controls which Frame Settings to use overridden values for and is of type `FrameSettingsOverrideMask`. Accessing the Frame Settings override mask is different depending on whether you want to modify the Frame Settings of a Camera or a Reflection Probe:

- **Camera**: `HDAdditionalCameraData.renderingPathCustomFrameSettingsOverrideMask`
- **Reflection Probe**: `HDAdditionalReflectionData.frameSettingsOverrideMask`

For information on the API available for `FrameSettingsOverrideMask`, including how to set/unset a bit in the mask, see [FrameSettingsOverrideMask Scripting API](#framesettingsoverridemask-scripting-api).

Finally, access the Frame Settings structure itself. This controls the actual value for each Frame Setting and is of type `FrameSettings`. Accessing the Frame Settings is also different depending on whether you want to modify the Frame Settings of a Camera or a Reflection Probe:

- **Camera**: `HDAdditionalCameraData.renderingPathCustomFrameSettings`
- **Reflection Probe**: `HDAdditionalReflectionData.frameSettings`

For information on the API available for `FrameSettings`, including how to edit the value of a Frame Setting, see [FrameSettings Scripting API](framesettings-scripting-api).

## Frame Setting enumerations

To make it easier to set the value of some Frame Settings, HDRP provides the following enum types.

### LitShaderMode

An enum which helps to switch a rendering component between deferred and forward rendering.

For information on what each enum value does, see [LitShaderMode](../api/UnityEngine.Rendering.HighDefinition.LitShaderMode.html).

### LODBiasMode

An enum which defines how HDRP calculates a LOD bias.

For information on what each enum value does, see [LODBiasMode](../api/UnityEngine.Rendering.HighDefinition.LODBiasMode.html).

### MaximumLODLevelMode

An enum which defines how HDRP calculates the maximum LOD level.

For information on what each enum value does, see [MaximumLODLevelMode](../api/UnityEngine.Rendering.HighDefinition.MaximumLODLevelMode.html).

### FrameSettingsField

An enum where each entry represents a particular Frame Setting. For a list of entries in this enum, see [FrameSettingsField](../api/UnityEngine.Rendering.HighDefinition.FrameSettingsField.html).

As well as an entry for each Frame Settings, this enum also includes the value `FrameSettingsField.None` that is set to **-1** for convenience and internal usage.

## FrameSettingsOverrideMask Scripting API

This is a structure that has a single field which stores the override mask. For more information about this structure and the API it contains, see [FrameSettingsOverrideMask](../api/UnityEngine.Rendering.HighDefinition.FrameSettingsOverrideMask.html).

In the override mask, to allow you to easily access the bit for a given Frame Setting, HDRP provides the [FrameSettingsField](#framesettingsfield) enum. You can use this, for example, to find the bit responsible for overriding the **Opaque Objects** Frame Setting. To do this, you would do `this[(int)FrameSettingsField.OpaqueObjects]`.

The following example shows how to compare the `humanizedData` from a rendering component's override mask with the rendering component's custom Frame Settings. There are some custom Frame Settings set, but the mask is all zeros which means that this rendering component uses the default Frame Settings.

![](Images/FrameSettingsAPI-watch.png)

## FrameSettings Scripting API

This is a structure that contains information on how a rendering component should render the Scene. For more information about this structure and the API it contains, see [FrameSettings](../api/UnityEngine.Rendering.HighDefinition.FrameSettings.html).

### Example

The following example demonstrates a component that changes a Camera's Frame Settings so the Camera does not render opaque GameObjects. It has the public field `cameraToChange`, which represents the Camera to change the Frame Settings for, and the public function `RemoveOpaqueObjectsFromRendering`, which contains the logic to change the Camera's Frame Settings.

```
using UnityEngine;
using UnityEngine.Rendering.HighDefinition;

public class ChangeFrameSettings : MonoBehaviour
{
public Camera cameraToChange;

public void RemoveOpaqueObjectsFromRendering()
{
HDAdditionalCameraData hdCameraData = cameraToChange.GetComponent<HDAdditionalCameraData>();

hdCameraData.renderingPathCustomFrameSettingsOverrideMask.mask[(int)FrameSettingsField.OpaqueObjects] = true;

hdCameraData.renderingPathCustomFrameSettings.SetEnabled(FrameSettingsField.OpaqueObjects, false);
}
}
```
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Requirements and compatibility

This page contains information on system requirements and compatibility of the High Definition Render Pipeline (HDRP) package.

## Unity Editor compatibility

The following table shows the compatibility of the High Definition Render Pipeline (HDRP) versions with different Unity Editor versions.

| **Package version** | **Minimum Unity version** | **Maximum Unity version** |
| ------------------- | ------------------------- | ------------------------- |
| 10.x | 2020.2 | 2020.2 |
| 8.x / 9.x-preview | 2020.1 | 2020.1 |
| 7.x | 2019.3 | 2019.4 |
| 6.x | 2019.2 | 2019.2 |

## Render pipeline compatibility

Projects made using HDRP are not compatible with the Universal Render Pipeline (URP) or the Built-in Render Pipeline. Before you start development, you must decide which render pipeline to use in your Project. For information on choosing a render pipeline, see the [Render Pipelines](https://docs.unity3d.com/2019.3/Documentation/Manual/render-pipelines.html) section of the Unity Manual.

## Unity Player system requirements

This section describes the HDRP package’s target platform requirements. For platforms or use cases not covered in this section, general system requirements for the Unity Player apply.

For more information, see [System requirements for Unity](https://docs.unity3d.com/Manual/system-requirements.html).

HRDP is only compatible with the following platforms:

- Windows and Windows Store, with DirectX 11 or DirectX 12 and Shader Model 5.0
- Modern consoles (Sony PS4 and Microsoft Xbox One)
- MacOS (minimum version 10.13) using Metal graphics
- Linux and Windows platforms with Vulkan

**Note: HDRP only works on these platforms if the device used supports Compute Shaders. HDRP does not support OpenGL or OpenGL ES devices.**

### Ray tracing

To use ray tracing in HDRP, there are hardware requirements you must meet. For information on these requirements, see [Getting started with ray tracing](Ray-Tracing-Getting-Started.md#HardwareRequirements).
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
* [Features List](HDRP-Features)
* [Comparison with the Built-in Render Pipeline](Feature-Comparison)
* Getting started
* [System Requirements](System-Requirements.md)
* [Getting Started with HDRP](Getting-started-with-HDRP)
* [Upgrading to HDRP](Upgrading-To-HDRP)
* [Render Pipeline Wizard](Render-Pipeline-Wizard)
Expand Down Expand Up @@ -152,5 +153,6 @@
* [Creating a Custom Sky](Creating-a-Custom-Sky)
* [Creating a Custom Post-Process Effect](Custom-Post-Process)
* [Creating a Custom Render Pass](Custom-Pass)
* [Editing Frame Settings at Runtime](Frame-Settings-API.md)
* [HDRP Glossary](Glossary)
* [Known Issues and How To Fix Them](Known-Issues)
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,4 @@ NOTE: Projects that you make with HDRP are not compatible with the Universal Ren

This documentation contains the information you need to create applications using HDRP; including information on Lighting, Materials and Shaders, Cameras, and debugging.

HRDP is only supported on the following platforms:

* Windows and Windows Store, with DirectX 11 or DirectX 12 and Shader Model 5.0
* Modern consoles (Sony PS4 and Microsoft Xbox One)
* MacOS using Metal graphics
* Linux and Windows platforms with Vulkan

**HDRP does not support OpenGL or OpenGL ES devices.**

**Note: HDRP only works on these platforms if the device used supports Compute Shaders.**
For information on platform support and system requirements, see [System Requirements](System-Requirements.md).
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,12 @@ public override Texture2D RenderStaticPreview(string assetPath, Object[] subAsse
m_PreviewUtility.ambientColor = Color.black;
m_PreviewUtility.BeginStaticPreview(new Rect(0, 0, width, height));
m_PreviewUtility.DrawMesh(sphereMesh, Matrix4x4.identity, previewMaterial, 0);
m_PreviewUtility.camera.Render();
// TODO: For now the following line is D3D11 + Metal only as it cause out of memory on both DX12 and Vulkan API.
// We will need to invest time to understand what is happening
// For now priority is to enable Yamato platform automation
// This mean that cubemap icon will render incorrectly on anything but D3D11
if(SystemInfo.graphicsDeviceType == GraphicsDeviceType.Direct3D11 || SystemInfo.graphicsDeviceType == GraphicsDeviceType.Metal)
m_PreviewUtility.camera.Render();

var outTexture = m_PreviewUtility.EndStaticPreview();

Expand Down
Loading