1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 11:38:21 +02:00
Beef/BeefySysLib/gfx/Shader.h

39 lines
670 B
C
Raw Normal View History

2019-08-23 11:56:54 -07:00
#pragma once
#include "Common.h"
NS_BF_BEGIN;
class Texture;
class Shader;
class ShaderParam
{
public:
virtual ~ShaderParam() {}
virtual void SetTexture(Texture* texture) = 0;
virtual void SetFloat2(float x, float y) { SetFloat4(x, y, 0, 1); }
virtual void SetFloat3(float x, float y, float z) { SetFloat4(x, y, z, 1); }
virtual void SetFloat4(float x, float y, float z, float w) = 0;
};
class Shader
{
public:
ShaderParam* mTextureParam;
int mLastResizeCount;
int mVertexSize;
public:
virtual void Init();
public:
Shader();
virtual ~Shader();
virtual ShaderParam* GetShaderParam(const StringImpl& name) = 0;
};
NS_BF_END;