增加Camera数据在渲染器中的定义
This commit is contained in:
@@ -47,8 +47,8 @@ namespace hgl
|
||||
|
||||
graph::Scene * GetScene (){return scene;}
|
||||
graph::SceneNode * GetSceneRoot (){return scene->GetRootNode();}
|
||||
|
||||
graph::Renderer * GetRenderer (){return renderer;}
|
||||
graph::Camera * GetCamera (){return renderer->GetCurCamera();}
|
||||
|
||||
public:
|
||||
|
||||
|
@@ -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:
|
||||
|
@@ -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 *);
|
||||
|
||||
|
@@ -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 *);
|
||||
|
||||
|
@@ -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,
|
||||
|
@@ -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
|
||||
|
||||
|
Reference in New Issue
Block a user