I have this line in my shader:
//Normal = mat3(transpose(inverse(model))) * normal;
The thing is I am doing things in a batch where model does not exist in my shader and that I have plain walls where things are hard coded.
this is my OpenGL code
WallVertex vertex;
float rotx = glm::radians(rotation.x);
float roty = glm::radians(rotation.y);
float rotz = glm::radians(rotation.z);
glm::mat4 rotMatrix = glm::eulerAngleXYZ(rotx, roty, rotz);
glm::mat4 transMatrix = glm::translate(glm::mat4(1.0), translation);
glm::mat4 model = transMatrix * rotMatrix;
glm::vec4 lnorm = rotMatrix * glm::vec4(0, 1, 0, 1);
vertex.normal = glm::vec3(lnorm);
vertex.wallType = type;
for (int i = 0; i < 6; i++) {
vertex.position = glm::vec3(model * glm::vec4(ppos[posind[i]], 1));
vertex.texCoord = ptex[texind[i]];
wallVertices.push_back(vertex);
}