浏览代码

temporary fix for compile errors

/feature-ReflectionProbeBaking
Frédéric Vauchelles 7 年前
当前提交
3f158744
共有 3 个文件被更改,包括 50 次插入48 次删除
  1. 22
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Editor/Lighting/Reflection/BakeReflectionProbesJob.cs
  2. 68
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Editor/Lighting/Reflection/ReflectionProbeCustomBakingIntegration.cs
  3. 8
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Lighting/Reflection/HDAdditionalReflectionData.cs

22
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Editor/Lighting/Reflection/BakeReflectionProbesJob.cs


int m_StageIndex;
public bool isComplete { get { return m_CurrentStage == Stage.Completed; } }
public BakeReflectionProbeRequest request;
//public BakeReflectionProbeRequest request;
public ReflectionBakeJob(BakeReflectionProbeRequest request)
{
this.request = request;
}
//public ReflectionBakeJob(BakeReflectionProbeRequest request)
//{
// this.request = request;
//}
public void Tick()
{

if (m_CurrentStage == Stage.Completed)
{
request.Progress = 1;
//request.Progress = 1;
return;
}

public void Dispose()
{
request.Progress = 1;
//request.Progress = 1;
m_CurrentStage = Stage.Completed;
m_StageIndex = 0;
}

? 1f - job.m_StageIndex / (float)job.reflectionProbesToBake.Count
: 1f;
job.request.Progress = ((float)Stage.BakeReflectionProbe + stageProgress) / (float)Stage.Completed;
job.request.ProgressMessage = string.Format("Reflection Probes ({0}/{1})", job.m_StageIndex + 1, job.reflectionProbesToBake.Count);
//job.request.Progress = ((float)Stage.BakeReflectionProbe + stageProgress) / (float)Stage.Completed;
//job.request.ProgressMessage = string.Format("Reflection Probes ({0}/{1})", job.m_StageIndex + 1, job.reflectionProbesToBake.Count);
EditorReflectionSystem.BakeReflectionProbeSnapshot(job.reflectionProbesToBake[job.m_StageIndex]);

? 1f - job.m_StageIndex / (float)job.planarReflectionProbesToBake.Count
: 1f;
job.request.Progress = ((float)Stage.BakePlanarProbe + stageProgress) / (float)Stage.Completed;
job.request.ProgressMessage = string.Format("Reflection Probes ({0}/{1})", job.m_StageIndex + 1, job.planarReflectionProbesToBake.Count);
//job.request.Progress = ((float)Stage.BakePlanarProbe + stageProgress) / (float)Stage.Completed;
//job.request.ProgressMessage = string.Format("Reflection Probes ({0}/{1})", job.m_StageIndex + 1, job.planarReflectionProbesToBake.Count);
EditorReflectionSystem.BakeReflectionProbeSnapshot(job.planarReflectionProbesToBake[job.m_StageIndex]);

68
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Editor/Lighting/Reflection/ReflectionProbeCustomBakingIntegration.cs


[InitializeOnLoadMethod]
static void Initialize()
{
GraphicsSettings.useBuiltinReflectionProbeSystem = false;
Lightmapping.BakeReflectionProbeRequest += LightmappingOnBakeReflectionProbeRequest;
Lightmapping.ClearBakedReflectionProbeRequest += LightmappingOnClearBakedReflectionProbeRequest;
//GraphicsSettings.useBuiltinReflectionProbeSystem = false;
//Lightmapping.BakeReflectionProbeRequest += LightmappingOnBakeReflectionProbeRequest;
//Lightmapping.ClearBakedReflectionProbeRequest += LightmappingOnClearBakedReflectionProbeRequest;
Debug.Log("InitializeOnLoad");
}
static void EditorSceneManagerOnSceneOpened(Scene scene, OpenSceneMode mode)

}
}
static void LightmappingOnBakeReflectionProbeRequest(BakeReflectionProbeRequest request)
{
if (request.IsCompleted)
return;
//static void LightmappingOnBakeReflectionProbeRequest(BakeReflectionProbeRequest request)
//{
// if (request.IsCompleted)
// return;
// Custom probe hashes should be handled here by the user
// var customProbeHash = CalculateCustomProbeHashes()
// dependencyHash = CombineHashes(dependencyHash, customProbeHash);
// // Custom probe hashes should be handled here by the user
// // var customProbeHash = CalculateCustomProbeHashes()
// // dependencyHash = CombineHashes(dependencyHash, customProbeHash);
// Currently only one bounce is handled
// TODO: Use UnityEngine.RenderSettings.reflectionBounces and handle bounces
// // Currently only one bounce is handled
// // TODO: Use UnityEngine.RenderSettings.reflectionBounces and handle bounces
if (s_CurrentBakeJob != null)
{
s_CurrentBakeJob.Dispose();
s_CurrentBakeJob = null;
}
// if (s_CurrentBakeJob != null)
// {
// s_CurrentBakeJob.Dispose();
// s_CurrentBakeJob = null;
// }
var job = new ReflectionBakeJob(request);
ReflectionSystem.QueryReflectionProbes(job.reflectionProbesToBake, mode: ReflectionProbeMode.Baked);
ReflectionSystem.QueryPlanarProbes(job.planarReflectionProbesToBake, mode: ReflectionProbeMode.Baked);
s_CurrentBakeJob = job;
// var job = new ReflectionBakeJob(request);
// ReflectionSystem.QueryReflectionProbes(job.reflectionProbesToBake, mode: ReflectionProbeMode.Baked);
// ReflectionSystem.QueryPlanarProbes(job.planarReflectionProbesToBake, mode: ReflectionProbeMode.Baked);
// s_CurrentBakeJob = job;
request.Cancelled += LightmappingOnBakeReflectionProbeRequestCancelled;
}
// request.Cancelled += LightmappingOnBakeReflectionProbeRequestCancelled;
//}
static void LightmappingOnBakeReflectionProbeRequestCancelled(BakeReflectionProbeRequest request)
{
Debug.Log("Cancel: " + request.RequestHash);
request.Cancelled -= LightmappingOnBakeReflectionProbeRequestCancelled;
if (s_CurrentBakeJob != null && s_CurrentBakeJob.request == request)
{
s_CurrentBakeJob.Dispose();
s_CurrentBakeJob = null;
}
}
//static void LightmappingOnBakeReflectionProbeRequestCancelled(BakeReflectionProbeRequest request)
//{
// Debug.Log("Cancel: " + request.RequestHash);
// request.Cancelled -= LightmappingOnBakeReflectionProbeRequestCancelled;
// if (s_CurrentBakeJob != null && s_CurrentBakeJob.request == request)
// {
// s_CurrentBakeJob.Dispose();
// s_CurrentBakeJob = null;
// }
//}
}
}

8
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Lighting/Reflection/HDAdditionalReflectionData.cs


void OnEnable()
{
var probe = GetComponent<ReflectionProbe>();
ReflectionSystem.RegisterProbe(probe);
HDPipeline.ReflectionSystem.RegisterProbe(probe);
ReflectionSystem.UnregisterProbe(GetComponent<ReflectionProbe>());
HDPipeline.ReflectionSystem.UnregisterProbe(GetComponent<ReflectionProbe>());
ReflectionSystem.UnregisterProbe(GetComponent<ReflectionProbe>());
HDPipeline.ReflectionSystem.UnregisterProbe(GetComponent<ReflectionProbe>());
ReflectionSystem.RegisterProbe(GetComponent<ReflectionProbe>());
HDPipeline.ReflectionSystem.RegisterProbe(GetComponent<ReflectionProbe>());
}
}
}
正在加载...
取消
保存