mirror of
https://github.com/cyberarm/i-mic-fps.git
synced 2025-12-16 08:02:36 +00:00
Fixed immediate mode lighting, improved-ish modern gl lighting
This commit is contained in:
@@ -1,4 +1,19 @@
|
||||
# version 330 core
|
||||
const int MAX_LIGHTS = 4;
|
||||
|
||||
struct Light {
|
||||
float end;
|
||||
float type;
|
||||
vec3 position;
|
||||
|
||||
vec3 diffuse;
|
||||
vec3 ambient;
|
||||
vec3 specular;
|
||||
|
||||
vec3 direction;
|
||||
|
||||
float intensity;
|
||||
};
|
||||
|
||||
layout(location = 0) in vec3 inPosition;
|
||||
layout(location = 1) in vec3 inColor;
|
||||
@@ -12,14 +27,20 @@ out vec4 outNormal;
|
||||
out vec3 outUV;
|
||||
out float outTextureID;
|
||||
out float outHasTexture;
|
||||
out vec3 outLightPos;
|
||||
out Light outLights[MAX_LIGHTS];
|
||||
out float outTotalLights;
|
||||
out vec3 outFragPos;
|
||||
out vec3 outViewPos;
|
||||
out vec3 outCameraPos;
|
||||
out vec3 outInverseNormal;
|
||||
|
||||
uniform mat4 projection;
|
||||
uniform mat4 view;
|
||||
uniform mat4 model;
|
||||
uniform int hasTexture;
|
||||
uniform vec3 lightPos;
|
||||
uniform float totalLights;
|
||||
uniform Light lights[MAX_LIGHTS];
|
||||
uniform vec3 cameraPos;
|
||||
|
||||
|
||||
void main() {
|
||||
@@ -30,7 +51,10 @@ void main() {
|
||||
outUV = inUV;
|
||||
outTextureID = inTextureID;
|
||||
outHasTexture = hasTexture;
|
||||
outLightPos = lightPos;
|
||||
outLights = lights;
|
||||
outTotalLights = totalLights;
|
||||
outCameraPos = cameraPos;
|
||||
outInverseNormal = mat3(transpose(inverse(model))) * vec3(inNormal);
|
||||
|
||||
outFragPos = vec3(model * vec4(inPosition, 1.0));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user