升级水插件
This commit is contained in:
@@ -34,18 +34,48 @@ namespace WaveHarmonic.Crest
|
||||
public static implicit operator TextureHandle(Handle texture) => texture._TextureHandle;
|
||||
}
|
||||
|
||||
static readonly FieldInfo s_RenderContext = typeof(InternalRenderGraphContext).GetField("renderContext", BindingFlags.NonPublic | BindingFlags.Instance);
|
||||
static readonly FieldInfo s_WrappedContext = typeof(UnsafeGraphContext).GetField("wrappedContext", BindingFlags.NonPublic | BindingFlags.Instance);
|
||||
static readonly FieldInfo s_FrameData = typeof(RenderingData).GetField("frameData", BindingFlags.NonPublic | BindingFlags.Instance);
|
||||
|
||||
public static ScriptableRenderContext GetRenderContext(this UnsafeGraphContext unsafeContext)
|
||||
{
|
||||
return (ScriptableRenderContext)s_RenderContext.GetValue((InternalRenderGraphContext)s_WrappedContext.GetValue(unsafeContext));
|
||||
return ((InternalRenderGraphContext)s_WrappedContext.GetValue(unsafeContext)).renderContext;
|
||||
}
|
||||
|
||||
public static ContextContainer GetFrameData(this ref RenderingData renderingData)
|
||||
{
|
||||
return (ContextContainer)s_FrameData.GetValue(renderingData);
|
||||
return renderingData.frameData;
|
||||
}
|
||||
|
||||
internal class PassData
|
||||
{
|
||||
#pragma warning disable IDE1006 // Naming Styles
|
||||
public UniversalCameraData cameraData;
|
||||
public UniversalRenderingData renderingData;
|
||||
public Handle colorTargetHandle;
|
||||
public Handle depthTargetHandle;
|
||||
#pragma warning restore IDE1006 // Naming Styles
|
||||
|
||||
public void Init(ContextContainer frameData, IUnsafeRenderGraphBuilder builder = null)
|
||||
{
|
||||
var resources = frameData.Get<UniversalResourceData>();
|
||||
cameraData = frameData.Get<UniversalCameraData>();
|
||||
renderingData = frameData.Get<UniversalRenderingData>();
|
||||
|
||||
if (builder == null)
|
||||
{
|
||||
#pragma warning disable CS0618 // Type or member is obsolete
|
||||
colorTargetHandle = cameraData.renderer.cameraColorTargetHandle;
|
||||
depthTargetHandle = cameraData.renderer.cameraDepthTargetHandle;
|
||||
#pragma warning restore CS0618 // Type or member is obsolete
|
||||
}
|
||||
else
|
||||
{
|
||||
colorTargetHandle = resources.activeColorTexture;
|
||||
depthTargetHandle = resources.activeDepthTexture;
|
||||
builder.UseTexture(colorTargetHandle, AccessFlags.ReadWrite);
|
||||
builder.UseTexture(depthTargetHandle, AccessFlags.ReadWrite);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user