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;

}

相关推荐
爱搞虚幻的阿恺7 天前
Niagara粒子系统-超炫酷的闪电特效(加餐 纸牌螺旋上升效果)
游戏·游戏引擎
_Li.7 天前
Simulink - 6DOF (Euler Angles)
人工智能·算法·机器学习·游戏引擎·cocos2d
weixin_424294677 天前
Unity 调用Steamworks API 的 SteamUserStats.RequestCurrentStats()报错
unity·游戏引擎·steamwork
HoFunGames7 天前
Unity小地图,Easy Minimap System MT-GPS插件
unity·游戏引擎
wy3258643647 天前
Unity 新输入系统InputSystem(基本操作)
unity·c#·游戏引擎
星和月7 天前
Untiy使用说明
c#·游戏引擎
小菱形_8 天前
【Unity】TimeLine
unity·游戏引擎
weixin_424294678 天前
Unity 使用Steamworks.NET
unity·游戏引擎
ellis19708 天前
Unity资源管理框架Addressables总结
unity·游戏引擎
郭逍遥9 天前
[Godot] 通过AABB包围盒和射线法检测碰撞
算法·游戏引擎·godot