protected void SetGraphicsSetting() { Shader.globalRenderPipeline = "InfinityRenderPipeline"; GraphicsSettings.lightsUseLinearIntensity = true; GraphicsSettings.lightsUseColorTemperature = true; InfinityRenderPipelineAsset PipelineAsset = (InfinityRenderPipelineAsset)GraphicsSettings.currentRenderPipeline; GraphicsSettings.useScriptableRenderPipelineBatching = PipelineAsset.EnableSRPBatch; SupportedRenderingFeatures.active = new SupportedRenderingFeatures() { reflectionProbeModes = SupportedRenderingFeatures.ReflectionProbeModes.Rotation, defaultMixedLightingModes = SupportedRenderingFeatures.LightmapMixedBakeModes.IndirectOnly, mixedLightingModes = SupportedRenderingFeatures.LightmapMixedBakeModes.IndirectOnly | SupportedRenderingFeatures.LightmapMixedBakeModes.Shadowmask, lightmapBakeTypes = LightmapBakeType.Baked | LightmapBakeType.Mixed | LightmapBakeType.Realtime, lightmapsModes = LightmapsMode.NonDirectional | LightmapsMode.CombinedDirectional, lightProbeProxyVolumes = true, motionVectors = true, receiveShadows = true, reflectionProbes = true, rendererPriority = true, overridesFog = true, overridesOtherLightingSettings = true, editableMaterialRenderQueue = true , enlighten = true , overridesLODBias = true , overridesMaximumLODLevel = true , terrainDetailUnsupported = true }; }
public InfinityRenderPipeline() { SetGraphicsSetting(); GPUScene = new FGPUScene(); ViewUnifrom = new ViewUnifromBuffer(); GraphBuilder = new RDGGraphBuilder("InfinityGraph"); RenderPipelineAsset = (InfinityRenderPipelineAsset)GraphicsSettings.currentRenderPipeline; DepthPassMeshProcessor = new FMeshPassProcessor(GPUScene); GBufferPassMeshProcessor = new FMeshPassProcessor(GPUScene); ForwardPassMeshProcessor = new FMeshPassProcessor(GPUScene); }