Started implementing Pipeline system for RenderDriver
This commit is contained in:
44
engine/include/nova/render/render_params.h
Normal file
44
engine/include/nova/render/render_params.h
Normal file
@@ -0,0 +1,44 @@
|
||||
/**
|
||||
* Copyright (c) 2025, Jayden Grubb <contact@jaydengrubb.com>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <nova/render/render_fwd.h>
|
||||
#include <nova/types.h>
|
||||
|
||||
#include <unordered_map>
|
||||
|
||||
namespace Nova {
|
||||
struct GraphicsPipelineParams {
|
||||
std::unordered_map<ShaderStage, ShaderID> shaders;
|
||||
|
||||
// TODO: Vertex input state
|
||||
|
||||
PrimitiveTopology topology = PrimitiveTopology::TRIANGLE_LIST;
|
||||
|
||||
// TODO: Tessellation state
|
||||
|
||||
bool enable_depth_clamp = false;
|
||||
bool discard_primitives = false;
|
||||
bool wireframe = false;
|
||||
CullMode cull_mode = CullMode::NONE;
|
||||
FrontFace front_face = FrontFace::COUNTER_CLOCKWISE;
|
||||
bool enable_depth_bias = false;
|
||||
float depth_bias_constant = 0.0f;
|
||||
float depth_bias_clamp = 0.0f;
|
||||
float depth_bias_slope = 0.0f;
|
||||
float line_width = 1.0f;
|
||||
|
||||
// TODO: Multisample state
|
||||
// TODO: Depth stencil state
|
||||
// TODO: Color blend state
|
||||
// TODO: Dynamic state
|
||||
|
||||
RenderPassID render_pass = nullptr;
|
||||
u32 subpass = 0;
|
||||
};
|
||||
struct ComputePipelineParams {};
|
||||
} // namespace Nova
|
||||
Reference in New Issue
Block a user