public MotionBlurPass(MotionBlurSettings settings) { this.renderPassEvent = settings.Event; this.isSupportedFloatBuffer = SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.ARGB2101010); this.blitMaterial = CoreUtils.CreateEngineMaterial(settings.shader); this.resetHistory = true; this.triangle = new Mesh(); this.triangle.name = "Fullscreen Triangle"; // Because we have to support older platforms (GLES2/3, DX9 etc) we can't do all of // this directly in the vertex shader using vertex ids :( this.triangle.SetVertices(new[] { new Vector3(-1f, -1f, 0f), new Vector3(-1f, 3f, 0f), new Vector3(3f, -1f, 0f) }); this.triangle.SetIndices(new[] { 0, 1, 2 }, MeshTopology.Triangles, 0, false); this.triangle.UploadMeshData(true); }
internal static extern void Internal_SetMotionBlur(IntPtr obj, ref MotionBlurSettings value);
public MotionBlurRendererPass(MotionBlurSettings _settings) { settings = _settings; isFirstVP = true; }
internal static extern void Internal_GetMotionBlur(IntPtr obj, out MotionBlurSettings resultAsRef);