2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-14 04:46:09 +00:00

Start wiring up wgpu+winit

This commit is contained in:
2022-01-31 19:06:54 -05:00
parent 5491fd75cf
commit e48435f11e
209 changed files with 24234 additions and 8085 deletions

View File

@@ -3,42 +3,42 @@
#include "Runtime/GuiSys/CFontImageDef.hpp"
#include "Runtime/GuiSys/CRasterFont.hpp"
#include <hecl/Pipeline.hpp>
//#include <hecl/Pipeline.hpp>
namespace metaforce {
boo::ObjToken<boo::IShaderPipeline> CTextSupportShader::s_TextAlphaPipeline;
boo::ObjToken<boo::IShaderPipeline> CTextSupportShader::s_TextAddPipeline;
boo::ObjToken<boo::IShaderPipeline> CTextSupportShader::s_TextAddOverdrawPipeline;
boo::ObjToken<boo::IShaderPipeline> CTextSupportShader::s_ImageAlphaPipeline;
boo::ObjToken<boo::IShaderPipeline> CTextSupportShader::s_ImageAddPipeline;
boo::ObjToken<boo::IShaderPipeline> CTextSupportShader::s_ImageAddOverdrawPipeline;
hecl::VertexBufferPool<CTextSupportShader::CharacterInstance> CTextSupportShader::s_CharInsts;
hecl::VertexBufferPool<CTextSupportShader::ImageInstance> CTextSupportShader::s_ImgInsts;
hecl::UniformBufferPool<CTextSupportShader::Uniform> CTextSupportShader::s_Uniforms;
//boo::ObjToken<boo::IShaderPipeline> CTextSupportShader::s_TextAlphaPipeline;
//boo::ObjToken<boo::IShaderPipeline> CTextSupportShader::s_TextAddPipeline;
//boo::ObjToken<boo::IShaderPipeline> CTextSupportShader::s_TextAddOverdrawPipeline;
//
//boo::ObjToken<boo::IShaderPipeline> CTextSupportShader::s_ImageAlphaPipeline;
//boo::ObjToken<boo::IShaderPipeline> CTextSupportShader::s_ImageAddPipeline;
//boo::ObjToken<boo::IShaderPipeline> CTextSupportShader::s_ImageAddOverdrawPipeline;
//
//hecl::VertexBufferPool<CTextSupportShader::CharacterInstance> CTextSupportShader::s_CharInsts;
//hecl::VertexBufferPool<CTextSupportShader::ImageInstance> CTextSupportShader::s_ImgInsts;
//hecl::UniformBufferPool<CTextSupportShader::Uniform> CTextSupportShader::s_Uniforms;
void CTextSupportShader::Initialize() {
s_TextAlphaPipeline = hecl::conv->convert(Shader_CTextSupportShaderAlpha{});
s_TextAddPipeline = hecl::conv->convert(Shader_CTextSupportShaderAdd{});
s_TextAddOverdrawPipeline = hecl::conv->convert(Shader_CTextSupportShaderAddOverdraw{});
s_ImageAlphaPipeline = hecl::conv->convert(Shader_CTextSupportShaderImageAlpha{});
s_ImageAddPipeline = hecl::conv->convert(Shader_CTextSupportShaderImageAdd{});
s_ImageAddOverdrawPipeline = hecl::conv->convert(Shader_CTextSupportShaderImageAddOverdraw{});
// s_TextAlphaPipeline = hecl::conv->convert(Shader_CTextSupportShaderAlpha{});
// s_TextAddPipeline = hecl::conv->convert(Shader_CTextSupportShaderAdd{});
// s_TextAddOverdrawPipeline = hecl::conv->convert(Shader_CTextSupportShaderAddOverdraw{});
// s_ImageAlphaPipeline = hecl::conv->convert(Shader_CTextSupportShaderImageAlpha{});
// s_ImageAddPipeline = hecl::conv->convert(Shader_CTextSupportShaderImageAdd{});
// s_ImageAddOverdrawPipeline = hecl::conv->convert(Shader_CTextSupportShaderImageAddOverdraw{});
}
void CTextSupportShader::Shutdown() {
s_TextAlphaPipeline.reset();
s_TextAddPipeline.reset();
s_TextAddOverdrawPipeline.reset();
s_ImageAlphaPipeline.reset();
s_ImageAddPipeline.reset();
s_ImageAddOverdrawPipeline.reset();
s_CharInsts.doDestroy();
s_ImgInsts.doDestroy();
s_Uniforms.doDestroy();
// s_TextAlphaPipeline.reset();
// s_TextAddPipeline.reset();
// s_TextAddOverdrawPipeline.reset();
// s_ImageAlphaPipeline.reset();
// s_ImageAddPipeline.reset();
// s_ImageAddOverdrawPipeline.reset();
//
// s_CharInsts.doDestroy();
// s_ImgInsts.doDestroy();
// s_Uniforms.doDestroy();
}
void CTextSupportShader::CharacterInstance::SetMetrics(const CGlyph& glyph, const zeus::CVector2i& offset) {