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;

}

相关推荐
三只坚果12 小时前
blender制作动画导入unity两种方式
unity·游戏引擎·blender
YF云飞13 小时前
Unity音频管理:打造沉浸式游戏音效
游戏·unity·游戏引擎·游戏程序·个人开发
与火星的孩子对话1 天前
Unity高级开发:反射原理深入解析与实践指南 C#
java·unity·c#·游戏引擎·lucene·反射
scoone1 天前
开源游戏引擎Bevy 和 Godot
游戏引擎·godot
霸王•吕布1 天前
游戏引擎中的粒子系统
游戏引擎·粒子系统·粒子发射盒·粒子物理参数·粒子实例·粒子生命周期·粒子参数
小徐小徐编程不急1 天前
unity实现背包拖拽排序
unity·游戏引擎
萘柰奈2 天前
Unity进阶--C#补充知识点--【Unity跨平台的原理】Mono与IL2CPP
unity·c#·游戏引擎
阿赵3D2 天前
Unity引擎播放HLS自适应码率流媒体视频
unity·游戏引擎·音视频·流媒体·hls
郝学胜-神的一滴2 天前
Three.js 材质系统深度解析
javascript·3d·游戏引擎·webgl·材质
霜绛6 天前
Unity:GUI笔记(一)——文本、按钮、多选框和单选框、输入框和拖动条、图片绘制和框绘制
笔记·学习·unity·游戏引擎