Adding transparency support
This commit is contained in:
@@ -10,7 +10,7 @@ DECLARE_NAME_REF(Gfx, Sampler)
|
||||
class Material {
|
||||
public:
|
||||
Material();
|
||||
Material(Gfx::PGraphics graphics, uint32 numTextures, uint32 numSamplers, uint32 numFloats,
|
||||
Material(Gfx::PGraphics graphics, uint32 numTextures, uint32 numSamplers, uint32 numFloats, bool twoSided, float opacity,
|
||||
std::string materialName, Array<OShaderExpression> expressions, Array<std::string> parameter, MaterialNode brdf);
|
||||
~Material();
|
||||
static void init(Gfx::PGraphics graphics);
|
||||
@@ -23,8 +23,14 @@ class Material {
|
||||
static uint32 addTextures(uint32 numTextures);
|
||||
static uint32 addSamplers(uint32 numSamplers);
|
||||
static uint32 addFloats(uint32 numFloats);
|
||||
|
||||
OMaterialInstance instantiate();
|
||||
const std::string& getName() const { return materialName; }
|
||||
|
||||
bool isTwoSided() const;
|
||||
bool hasTransparency() const;
|
||||
float getOpacity() const;
|
||||
|
||||
constexpr uint64 getId() const { return materialId; }
|
||||
static constexpr const PMaterial findMaterialById(uint64 id) { return materials[id]; }
|
||||
|
||||
@@ -41,6 +47,8 @@ class Material {
|
||||
uint64 instanceId;
|
||||
uint64 materialId;
|
||||
std::string materialName;
|
||||
bool twoSided;
|
||||
float opacity;
|
||||
Array<OShaderExpression> codeExpressions;
|
||||
Array<std::string> parameters;
|
||||
MaterialNode brdf;
|
||||
|
||||
Reference in New Issue
Block a user