Files
Seele/res/shaders/lib/Material.slang
T
2021-05-06 17:02:10 +02:00

23 lines
625 B
Plaintext

import Common;
import BRDF;
import MaterialParameter;
interface IMaterial
{
associatedtype BRDF : IBRDF;
BRDF prepare(MaterialFragmentParameter input);
float3 getWorldOffset();
float3 getBaseColor(MaterialFragmentParameter input);
float getMetallic(MaterialFragmentParameter input);
float3 getNormal(MaterialFragmentParameter input);
float getSpecular(MaterialFragmentParameter input);
float getRoughness(MaterialFragmentParameter input);
float getSheen(MaterialFragmentParameter input);
};
type_param TMaterial : IMaterial;
layout(set = INDEX_MATERIAL, binding = 0, std430)
ParameterBlock<TMaterial> gMaterial;