Updated to deferred renderer

This commit is contained in:
Halbear 2026-06-20 03:04:33 +01:00
parent 2d37c574d6
commit 4a7c820cec
316 changed files with 1192631 additions and 158432 deletions

View file

@ -1,15 +1,26 @@
#version 450
const int MAX_TEXTURES = 500;
const int MAX_TEXTURES = 512;
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) 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;
}
}