internal virtual void OnRender(GPUContext context) { }
/// <summary> /// Draws scene objects depth (to the output Z buffer). The output must be depth texture to write hardware depth to it. /// </summary> /// <param name="context">The GPU commands context to use.</param> /// <param name="task">Render task to use it's view description and the render buffers.</param> /// <param name="output">The output texture. Must be valid and created.</param> /// <param name="customActors">The custom set of actors to render. If empty, the loaded scenes will be rendered.</param> public static void DrawSceneDepth(GPUContext context, SceneRenderTask task, GPUTexture output, List <Actor> customActors) { Internal_DrawSceneDepth(FlaxEngine.Object.GetUnmanagedPtr(context), FlaxEngine.Object.GetUnmanagedPtr(task), FlaxEngine.Object.GetUnmanagedPtr(output), Utils.ExtractArrayFromList(customActors)); }
/// <summary> /// Draws postFx material to the render target. /// </summary> /// <param name="context">The GPU commands context to use.</param> /// <param name="renderContext">The rendering context.</param> /// <param name="material">The material to render. It must be a post fx material.</param> /// <param name="output">The output texture. Must be valid and created.</param> /// <param name="input">The input texture. It's optional.</param> public static void DrawPostFxMaterial(GPUContext context, ref RenderContext renderContext, MaterialBase material, GPUTexture output, GPUTextureView input) { Internal_DrawPostFxMaterial(FlaxEngine.Object.GetUnmanagedPtr(context), ref renderContext, FlaxEngine.Object.GetUnmanagedPtr(material), FlaxEngine.Object.GetUnmanagedPtr(output), FlaxEngine.Object.GetUnmanagedPtr(input)); }
/// <summary> /// Draws scene objects depth (to the output Z buffer). The output must be depth texture to write hardware depth to it. /// </summary> /// <param name="context">The GPU commands context to use.</param> /// <param name="task">Render task to use it's view description and the render buffers.</param> /// <param name="output">The output texture. Must be valid and created.</param> /// <param name="customActors">The custom set of actors to render. If empty, the loaded scenes will be rendered.</param> public static void DrawSceneDepth(GPUContext context, SceneRenderTask task, GPUTexture output, Actor[] customActors) { Internal_DrawSceneDepth(FlaxEngine.Object.GetUnmanagedPtr(context), FlaxEngine.Object.GetUnmanagedPtr(task), FlaxEngine.Object.GetUnmanagedPtr(output), customActors); }
public static void Draw(RenderTask task, IntPtr[] selectedActors, GPUTexture target = null, GPUContext context = null, GPUTexture depthBuffer = null, bool enableDepthTest = false) { #if UNIT_TEST_COMPILANT throw new NotImplementedException("Unit tests, don't support methods calls. Only properties can be get or set."); #else Internal_Draw(FlaxEngine.Object.GetUnmanagedPtr(task), selectedActors, FlaxEngine.Object.GetUnmanagedPtr(target), FlaxEngine.Object.GetUnmanagedPtr(context), FlaxEngine.Object.GetUnmanagedPtr(depthBuffer), enableDepthTest); #endif }
internal override void OnRender(GPUContext context) { Render(context); }
/// <summary> /// Called when on rendering end. /// </summary> /// <param name="context">The GPU execution context.</param> protected virtual void OnEnd(GPUContext context) { End?.Invoke(this, context); }