full support of ObjectBase:: isReceiveShadows, isCastShadows, isAcceptLight and isAcceptFog

This commit is contained in:
2023-02-12 22:49:38 +03:00
parent e3389bcc20
commit c8dcd5e9c0
10 changed files with 84 additions and 40 deletions

View File

@@ -3,6 +3,7 @@
out vec3 geom_normal;
out mat3 TBN;
out vec4 object_color;
out float object_flags;
void main(void) {
qgl_MaterialIndex = qgl_Material;
@@ -12,6 +13,7 @@ void main(void) {
geom_normal = normalize(qgl_Normal * qgl_getNormalMatrix());
TBN = qgl_getTangentMatrix() * mat3(qgl_Tangent, qgl_Bitangent, qgl_Normal);
object_color = qgl_ObjectColor;
object_flags = qgl_ObjectFlags;
}
@@ -20,6 +22,7 @@ void main(void) {
in vec3 geom_normal;
in mat3 TBN;
in vec4 object_color;
in float object_flags;
uniform vec2 dt;
uniform float z_near;
@@ -65,7 +68,7 @@ void main(void) {
qgl_FragData[0] = vec4(diffuse .rgba);
qgl_FragData[1] = vec4(normal .xyz, z);
qgl_FragData[2] = vec4(metalness, roughness, reflectivity, 0);
qgl_FragData[2] = vec4(metalness, roughness, reflectivity, object_flags);
qgl_FragData[3] = vec4(emission.rgb, 0/*bn.x*/);
//qgl_FragData[4] = vec4(speed.xy, bn.yz);