mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 03:28:20 +02:00
38 lines
670 B
C++
38 lines
670 B
C++
#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;
|