Deferred Lighting

This commit is contained in:
Harrison Corlett 2026-06-19 13:04:15 +01:00
parent 441bd95ddd
commit 8d219d2a35
224 changed files with 30309 additions and 385 deletions

View file

@ -2,14 +2,25 @@
const int MAX_TEXTURES = 64;
layout(location = 0) in vec2 inTextCoords;
layout(location = 0) in vec4 inPos;
layout(location = 1) in vec3 inNormal;
layout(location = 2) in vec3 inTangent;
layout(location = 3) in vec3 inBitangent;
layout(location = 4) in vec2 inTextCoords;
layout(location = 0) out vec4 outAlbedo;
struct Material{
struct Material {
vec4 diffuseColor;
uint hasTexture;
uint textureIdx;
uint padding[2];
uint hasNormalMap;
uint normalMapIdx;
uint hasRoughMap;
uint roughMapIdx;
float roughnessFactor;
float metallicFactor;
};
layout(set = 2, binding = 0) readonly buffer MaterialUniform{
@ -24,12 +35,14 @@ layout(push_constant) uniform pc{
void main()
{
Material material = matUniform.materials[push_constants.materialIdx];
if(material.hasTexture == 1){
vec4 texColor = texture(textSampler[material.textureIdx],inTextCoords);
if(texColor.a < 0.1){discard;}
if(texColor.a < 0.4){discard;}
outAlbedo = texColor;
} else{
outAlbedo = material.diffuseColor;
}
}