浏览代码

Workaround sRGB issue in UIElements such that previews are now rendered correctly

/main
Peter Bay Bastian 7 年前
当前提交
8407756d
共有 5 个文件被更改,包括 39 次插入6 次删除
  1. 4
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Inspector/GraphInspectorView.cs
  2. 6
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Views/MaterialNodeView.cs
  3. 4
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Resources/Shaders/Checkerboard.shader
  4. 28
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Views/PreviewView.cs
  5. 3
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Views/PreviewView.cs.meta

4
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Inspector/GraphInspectorView.cs


AbstractNodeEditorView m_EditorView;
TypeMapper m_TypeMapper;
Image m_Preview;
PreviewView m_Preview;
AbstractMaterialGraph m_Graph;
PreviewSystem m_PreviewSystem;

bottomContainer.Add(layersContainer);
}
m_Preview = new Image {name = "preview", image = Texture2D.blackTexture};
m_Preview = new PreviewView {name = "preview", image = Texture2D.blackTexture};
bottomContainer.Add(m_Preview);
}
Add(bottomContainer);

6
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Views/MaterialNodeView.cs


{
List<VisualElement> m_ControlViews;
PreviewData m_Preview;
Image m_PreviewImage;
PreviewView m_PreviewImage;
VisualElement m_PreviewToggle;
VisualElement m_ControlsContainer;

previewExpanded = node.previewExpanded;
leftContainer.Add(m_PreviewToggle);
m_PreviewImage = new Image
m_PreviewImage = new PreviewView
{
name = "preview",
pickingMode = PickingMode.Ignore,

UpdateSize();
}
clippingOptions = ClippingOptions.ClipContents;
}
public AbstractMaterialNode node { get; private set; }

4
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Resources/Shaders/Checkerboard.shader


static const float rows = 32;
static const float columns = 32;
static const float4 col1 = float4(0.389297, 0.389297, 0.389297, 1.0);
static const float4 col2 = float4(0.442601, 0.442601, 0.442601, 1.0);
static const float4 col1 = float4(32.0/255.0, 32.0/255.0, 32.0/255.0, 1.0);
static const float4 col2 = float4(42.0/255.0, 42.0/255.0, 42.0/255.0, 1.0);
float4 frag(v2f_img i) : COLOR
{

28
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Views/PreviewView.cs


using UnityEngine;
using UnityEngine.Experimental.UIElements;
using UnityEngine.Rendering;
namespace UnityEditor.MaterialGraph.Drawing
{
public sealed class PreviewView : VisualElement
{
Texture m_Image;
public Texture image
{
get { return m_Image; }
set
{
if (value == m_Image)
return;
m_Image = value;
Dirty(ChangeType.Repaint);
}
}
public override void DoRepaint()
{
EditorGUI.DrawPreviewTexture(contentRect, image);
}
}
}

3
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Drawing/Views/PreviewView.cs.meta


fileFormatVersion: 2
guid: 524b1aa8d68043cd81a6514d805eb50d
timeCreated: 1508917442
正在加载...
取消
保存