From 12add5bd2059351f6d7134af92b6f21fd6a89997 Mon Sep 17 00:00:00 2001 From: Dane Johnson Date: Thu, 21 Jan 2021 18:29:49 -0600 Subject: [PATCH] Add a ball, use actual flat shading --- demo/ball.glb | Bin 0 -> 70156 bytes demo/main.lua | 4 ++-- shaders/flat.frag | 2 +- shaders/flat.vert | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 demo/ball.glb diff --git a/demo/ball.glb b/demo/ball.glb new file mode 100644 index 0000000000000000000000000000000000000000..2fc41b48c30fd70d3a1f7bd56b7400e26b25840e GIT binary patch literal 70156 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 N;{WmkCDAeIr>I}G} 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 literal 0 HcmV?d00001 diff --git a/demo/main.lua b/demo/main.lua index 9154ec3..79df4d9 100644 --- a/demo/main.lua +++ b/demo/main.lua @@ -31,7 +31,7 @@ function init() light.color = couch.Vector3(1.0, 1.0, 1.0) light.ambient = 0.2 light.diffuse = 1.0 - light.specular = 0.0001 + light.specular = 0.01 couch.Node.GetRoot().children:Append(light) ball = couch.Mesh.FromFile("cube.glb") @@ -41,7 +41,7 @@ function init() ball:SetMaterial(0, material) couch.Node.GetRoot().children:Append(ball) - ball1 = couch.Mesh.FromFile("cube.glb") + ball1 = couch.Mesh.FromFile("ball.glb") material = couch.Material() material.tex = couch.Texture.FromFile("container.png") material.usesTex = true diff --git a/shaders/flat.frag b/shaders/flat.frag index 10c6970..d9fc34b 100644 --- a/shaders/flat.frag +++ b/shaders/flat.frag @@ -2,7 +2,7 @@ in vec3 UV; in vec3 NORMAL; -in vec3 LIGHT; +flat in vec3 LIGHT; out vec4 FragColor; diff --git a/shaders/flat.vert b/shaders/flat.vert index 486f2f2..61792e1 100644 --- a/shaders/flat.vert +++ b/shaders/flat.vert @@ -10,7 +10,7 @@ uniform mat4 PROJECTION; out vec3 UV; out vec3 NORMAL; -out vec3 LIGHT; +flat out vec3 LIGHT; struct DirectionalLight { vec3 direction;