增加Camera数据在渲染器中的定义

This commit is contained in:
2025-06-06 23:39:57 +08:00
parent 55204779ba
commit eeb4492023
9 changed files with 55 additions and 18 deletions

View File

@@ -53,6 +53,7 @@ protected:
protected:
Scene * default_scene =nullptr;
Camera * default_camera =nullptr;
Renderer * default_renderer=nullptr;
void CreateDefaultRenderer();
@@ -81,6 +82,7 @@ public:
public:
Scene * GetDefaultScene (){return default_scene;}
Camera * GetDefaultCamera (){return default_camera;}
Renderer * GetDefaultRenderer (){return default_renderer;}
public:

View File

@@ -5,12 +5,6 @@
namespace hgl::graph
{
class SceneNode;
class Scene;
class Camera;
class IRenderTarget;
class RenderList;
HGL_DEFINE_IDNAME(RenderTaskName,char)
/**
@@ -38,8 +32,8 @@ namespace hgl::graph
virtual ~RenderTask();
bool Set(IRenderTarget *rt);
void Set(Camera *c){camera=c;}
bool SetRenderTarget(IRenderTarget *rt);
void SetCamera(Camera *c){camera=c;}
bool RebuildRenderList(SceneNode *);

View File

@@ -10,6 +10,8 @@ namespace hgl::graph
using RenderTaskNameMap=Map<RenderTaskName,RenderTask *>;
using UBOCameraInfo=DeviceBufferMap<CameraInfo>;
/**
* 渲染器
*/
@@ -20,6 +22,8 @@ namespace hgl::graph
Camera *camera;
UBOCameraInfo *ubo_camera_info;
//RenderTaskNameMap static_render_task_list; ///<静态渲染任务列表
//RenderTaskNameMap dynamic_render_task_list; ///<动态渲染任务列表
@@ -43,7 +47,7 @@ namespace hgl::graph
Renderer(IRenderTarget *);
virtual ~Renderer();
void SetRenderTarget(IRenderTarget *);
bool SetRenderTarget(IRenderTarget *);
void SetCurScene(Scene *);
void SetCurCamera(Camera *);

View File

@@ -136,6 +136,15 @@ class RenderResource;
class StaticMesh;
class SceneNode;
class Scene;
class RenderList;
struct CameraInfo;
struct Camera;
class Renderer;
enum class SharingMode
{
Exclusive = 0,

View File

@@ -5,6 +5,7 @@
#include<hgl/graph/VKFramebuffer.h>
#include<hgl/graph/VKSwapchain.h>
#include<hgl/graph/VKQueue.h>
#include<hgl/graph/VKBuffer.h>
#include<hgl/graph/VKPipeline.h>
#include<hgl/graph/VKCommandBuffer.h>
#include<hgl/graph/VKDescriptorBindingManage.h>
@@ -72,10 +73,9 @@ public: // Command Buffer
public:
virtual void Bind (Material *mtl)
virtual const ViewportInfo *GetViewportInfo ()const
{
if(mtl)
desc_binding.Bind(mtl);
return ubo_vp_info->data();
}
};//class IRenderTarget