vulkan游戏引擎renderer_backend实现

1.renderer_backend.h

#pragma once

#include "renderer_types.inl"

struct platform_state;

b8 renderer_backend_create(renderer_backend_type type,struct platform_state* plat_state,renderer_backend* out_renderer_backend);

void renderer_backend_destroy(renderer_backend* renderer_backend);

2.renderer_backend.c

#include "renderer_backend.h"

#include "vulkan/vulkan_backend.h"

b8 renderer_backend_create(renderer_backend_type type,struct platform_state* plat_state,renderer_backend* out_renderer_backend)

{

out_renderer_backend->plat_state = plat_state;

if(type == RENDERER_BACKEND_TYPE_VULKAN)

{

out_renderer_backend->initialize = vulkan_renderer_backend_initialize;

out_renderer_backend->shutdown = vulkan_renderer_backend_shutdown;

out_renderer_backend->begin_frame = vulkan_renderer_backend_begin_frame;

out_renderer_backend->update_global_state = vulkan_renderer_update_global_state;

out_renderer_backend->end_frame = vulkan_renderer_backend_end_frame;

out_renderer_backend->resized=vulkan_renderer_backend_on_resized;

out_renderer_backend->update_object = vulkan_backend_update_object;

// out_renderer_backend->create_texture = vulkan_renderer_create_texture;

//out_renderer_backend->destroy_texture = vulkan_renderer_destroy_texture;

return true;

}

return false;

}

void renderer_backend_destroy(renderer_backend* renderer_backend)

{

renderer_backend->initialize = 0;

renderer_backend->shutdown = 0;

renderer_backend->begin_frame = 0;

renderer_backend->update_global_state = 0;

renderer_backend->end_frame= 0;

renderer_backend->resized=0;

renderer_backend->update_object = 0;

//renderer_backend->create_texture = 0;

//renderer_backend->destroy_texture = 0;

}

相关推荐
Magnum Lehar4 分钟前
GameEngine游戏引擎前端界面wpf页面实现
前端·游戏引擎·wpf
AgilityBaby3 小时前
UE5蓝图暴露变量,在游戏运行时修改变量实时变化、看向目标跟随目标Find Look at Rotation、修改玩家自身弹簧臂
笔记·游戏·ue5·游戏引擎·蓝图
一只鱼^_4 小时前
用JS实现植物大战僵尸(前端作业)
javascript·css·vscode·游戏引擎·游戏程序·html5·动画
Magnum Lehar14 小时前
vulkan游戏引擎的核心交换链swapchain实现
java·前端·游戏引擎
Magnum Lehar15 小时前
vulkan游戏引擎的resources,entry实现
游戏引擎
Magnum Lehar18 小时前
vulkan游戏引擎game_types.h和生成build.bat实现
java·算法·游戏引擎
Magnum Lehar1 天前
vulkan游戏引擎的renderer_types实现
游戏引擎
AgilityBaby1 天前
UE5蓝图中播放背景音乐和使用代码播放声音
c++·ue5·游戏引擎·蓝图
FAREWELL000752 天前
Unity基础学习(十二)Unity 物理系统之范围检测
学习·unity·c#·游戏引擎·范围检测