Struct in ldk_renderer.h

LDKRendererView

typedef struct LDKRendererView{
  LDKRendererViewId id;
  Mat4 view;
  Mat4 projection;
  Vec4 frustum_planes[6];
  u32 width;
  u32 height;
  u32 requested_width;
  u32 requested_height;
  bool extent_override;
  LDKRendererTarget target;
  LDKRendererTarget overlay_target;
  LDKRHITexture post_process_texture;
  LDKRHIBindings post_process_bindings;
  LDKRHITexture post_process_input_texture;
  LDKRHITexture post_process_blurred_texture;
  LDKRHITexture post_process_blur_textures[2];
  LDKRHIBindings post_process_blur_bindings[2];
  LDKRHITexture post_process_blur_input_textures[2];
  LDKRHIFormat post_process_blur_format;
  LDKRendererPostProcessing post_processing;
  rgba32 clear_color;
  bool clear_color_set;
  bool separate_overlay;
  Vec3 grid_center;
  float grid_extent;
  float grid_spacing;
  bool grid_submitted;
  LDKResourceSkybox skybox;
  bool submitted;
  bool frustum_valid;
}LDKRendererView;
Typedef in ldk_renderer.h

LDKRendererViewId

typedef u64 LDKRendererViewId;
Function in ldk_renderer.h

ldk_renderer_game_resolution_set

Change the default game render-target resolution. Views using the default game extent release their current render targets when the dimensions change. Views with an explicit per-view extent are not affected. New targets are created when those views are next submitted or rendered.

LDK_API bool ldk_renderer_game_resolution_set(
 LDKRenderer *renderer,
 u32 width,
 u32 height
);

Parameters

LDKRenderer *renderer
Renderer instance.
u32 width
New game render-target width in pixels.
u32 height
New game render-target height in pixels.

Returns

true when the resolution is valid and was accepted.

Function in ldk_renderer.h

ldk_renderer_game_view_set

Select the submitted view used as the game output. The selected view is returned by ldk_renderer_game_texture_get() and is presented directly when the renderer was configured with present_game. The selection is transient and must be set again on every frame.

LDK_API bool ldk_renderer_game_view_set(
 LDKRenderer *renderer,
 LDKRendererViewId view_id
);

Parameters

LDKRenderer *renderer
Renderer instance.
LDKRendererViewId view_id
Identifier of a view submitted for the current frame.

Returns

true if the submitted view exists, false otherwise.

Function in ldk_renderer.h

ldk_renderer_submit_view

Submit a camera view used for scene rendering this frame. The renderer stores the view and projection matrices as transient frame state. Submitted meshes will be rendered using this view when ldk_renderer_render_frame() is called. The submitted view is consumed for the current frame only. After rendering, the renderer clears the active view state.

LDK_API bool ldk_renderer_submit_view(
 LDKRenderer *renderer,
 LDKRendererViewId view_id,
 Mat4 view,
 Mat4 projection
);

Parameters

LDKRenderer *renderer
Renderer instance.
LDKRendererViewId view_id
Stable non-zero identifier supplied by the caller.
Mat4 view
View matrix.
Mat4 projection
Projection matrix.

Returns

true if the view was submitted, false otherwise.

Function in ldk_renderer.h

ldk_renderer_view_bounds_visible

True when an AABB is visible to the selected submitted view. VIEW_ALL tests every submitted view and succeeds when any view intersects it. Invalid bounds or unavailable frusta fail open and return true.

LDK_API bool ldk_renderer_view_bounds_visible(
 const LDKRenderer *renderer,
 LDKRendererViewId view_id,
 Vec3 bounds_min,
 Vec3 bounds_max
);

Parameters

const LDKRenderer *renderer
Renderer receiving this request.
LDKRendererViewId view_id
Renderer view receiving this operation.
Vec3 bounds_min
Bounds min used by this operation.
Vec3 bounds_max
Bounds max used by this operation.

Returns

True if the operation succeeds; false otherwise.

Function in ldk_renderer.h

ldk_renderer_view_clear_color_set

Override the clear color used by a submitted view this frame. This is transient view state and must be set again after submit_view on each frame. Alpha is preserved, allowing transparent camera backgrounds.

LDK_API bool ldk_renderer_view_clear_color_set(
 LDKRenderer *renderer,
 LDKRendererViewId view_id,
 rgba32 clear_color
);

Parameters

LDKRenderer *renderer
Renderer receiving this request.
LDKRendererViewId view_id
Renderer view receiving this operation.
rgba32 clear_color
Color for clear.

Returns

True if the operation succeeds; false otherwise.

Function in ldk_renderer.h

ldk_renderer_view_extent_get

Get the effective extent that will be used by a renderer view. Views without an explicit extent use the game resolution. For an explicit view, this returns its requested extent, including a request that will be applied by the next ldk_renderer_submit_view() call.

LDK_API bool ldk_renderer_view_extent_get(
 LDKRenderer const *renderer,
 LDKRendererViewId view_id,
 u32 *out_width,
 u32 *out_height
);

Parameters

LDKRenderer const *renderer
Renderer instance.
LDKRendererViewId view_id
View identifier. The view does not need to exist yet.
u32 *out_width
Receives the effective width in pixels.
u32 *out_height
Receives the effective height in pixels.

Returns

true when a valid effective extent was returned.

Function in ldk_renderer.h

ldk_renderer_view_extent_set

Set the render-target extent requested for a view. The request is applied the next time the view is submitted. Until then the current render target remains unchanged, allowing editor resize operations to defer GPU resource churn until interaction has finished.

LDK_API bool ldk_renderer_view_extent_set(
 LDKRenderer *renderer,
 LDKRendererViewId view_id,
 u32 width,
 u32 height
);

Parameters

LDKRenderer *renderer
Renderer instance.
LDKRendererViewId view_id
Identifier of an existing renderer view.
u32 width
Requested render-target width in pixels.
u32 height
Requested render-target height in pixels.

Returns

true when the request was accepted, false otherwise.

Function in ldk_renderer.h

ldk_renderer_view_post_processing_set

Set post-processing configuration for a submitted view. The configuration is transient and must be supplied again after the view is submitted on each frame. Disabled post-processing bypasses the post-process pass and exposes the scene color target directly.

LDK_API bool ldk_renderer_view_post_processing_set(
 LDKRenderer *renderer,
 LDKRendererViewId view_id,
 LDKRendererPostProcessing const *post_processing
);

Parameters

LDKRenderer *renderer
Renderer instance.
LDKRendererViewId view_id
Identifier of a view submitted for the current frame.
LDKRendererPostProcessing const *post_processing
Post-processing configuration for the view.

Returns

true when the configuration was accepted, false otherwise.