2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 17:47:43 +00:00

Huge shader refactor

This commit is contained in:
Jack Andersen
2018-10-06 16:59:17 -10:00
parent 0a0a581f2d
commit c307e354ca
184 changed files with 8777 additions and 14295 deletions

View File

@@ -1,12 +1,8 @@
#ifndef __URDE_CPARTICLESWOOSHSHADERS_HPP__
#define __URDE_CPARTICLESWOOSHSHADERS_HPP__
#include "TShader.hpp"
#include "Graphics/CGraphics.hpp"
#include "boo/graphicsdev/GL.hpp"
#include "boo/graphicsdev/D3D.hpp"
#include "boo/graphicsdev/Metal.hpp"
#include "boo/graphicsdev/Vulkan.hpp"
#include "boo/graphicsdev/IGraphicsDataFactory.hpp"
namespace urde
{
@@ -14,10 +10,6 @@ class CParticleSwoosh;
class CParticleSwooshShaders
{
friend struct OGLParticleSwooshDataBindingFactory;
friend struct VulkanParticleSwooshDataBindingFactory;
friend struct D3DParticleSwooshDataBindingFactory;
friend struct MetalParticleSwooshDataBindingFactory;
public:
enum class EShaderClass
{
@@ -43,19 +35,11 @@ private:
static boo::ObjToken<boo::IShaderPipeline> m_noTexAdditiveZWrite;
static boo::ObjToken<boo::IShaderPipeline> m_noTexAdditiveNoZWrite;
static boo::ObjToken<boo::IVertexFormat> m_vtxFormat; /* No OpenGL */
CParticleSwoosh& m_gen;
boo::ObjToken<boo::IShaderPipeline> m_pipeline;
CParticleSwooshShaders(CParticleSwoosh& gen, const boo::ObjToken<boo::IShaderPipeline>& pipeline)
: m_gen(gen), m_pipeline(pipeline) {}
public:
static void Initialize();
static void Shutdown();
static EShaderClass GetShaderClass(CParticleSwoosh& gen);
static void BuildShaderDataBinding(boo::IGraphicsDataFactory::Context& ctx, CParticleSwoosh& gen);
using _CLS = CParticleSwooshShaders;
#include "TShaderDecl.hpp"
};
}