summaryrefslogtreecommitdiff
path: root/Resources/Scripts/EditorApplication.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Resources/Scripts/EditorApplication.lua')
-rw-r--r--Resources/Scripts/EditorApplication.lua95
1 files changed, 6 insertions, 89 deletions
diff --git a/Resources/Scripts/EditorApplication.lua b/Resources/Scripts/EditorApplication.lua
index 92bc5b9..847dbf0 100644
--- a/Resources/Scripts/EditorApplication.lua
+++ b/Resources/Scripts/EditorApplication.lua
@@ -3,8 +3,10 @@ local inspect = require "inspect"
local AssetBrowser = require "./Scripts/Editor/AssetBrowser"
local EditorWindowManager = require "./Scripts/EditorGUI/EditorWindowManager"
+local Rendering = GameLab.Engine.Rendering
local Debug = GameLab.Debug
local GUI = GameLab.Editor.GUI
+local GL = GameLab.Engine.GL
local app = GameLab.Editor.EditorApplication.New()
@@ -39,95 +41,10 @@ local V4 = GameLab.Engine.Math.Vector4.Extend("V4", "GameLab.Engine.Math")
Debug.Log(EditorWindowManager.name)
-local vert = [[
- #version 330 core
- layout (location = 0) in vec3 aPos;
- layout (location = 1) in vec3 aNormal;
- layout (location = 2) in vec2 aTexCoords;
- layout (location = 3) in vec3 aTangent;
- layout (location = 4) in vec3 aBitangent;
-
- out VS_OUT {
- vec3 FragPos;
- vec2 TexCoords;
- vec3 TangentLightPos;
- vec3 TangentViewPos;
- vec3 TangentFragPos;
- } vs_out;
-
- uniform mat4 projection;
- uniform mat4 view;
- uniform mat4 model;
-
- uniform vec3 lightPos;
- uniform vec3 viewPos;
-
- void main()
- {
- vs_out.FragPos = vec3(model * vec4(aPos, 1.0));
- vs_out.TexCoords = aTexCoords;
-
- mat3 normalMatrix = transpose(inverse(mat3(model)));
- vec3 T = normalize(normalMatrix * aTangent);
- vec3 N = normalize(normalMatrix * aNormal);
- T = normalize(T - dot(T, N) * N);
- vec3 B = cross(N, T);
-
- mat3 TBN = transpose(mat3(T, B, N));
- vs_out.TangentLightPos = TBN * lightPos;
- vs_out.TangentViewPos = TBN * viewPos;
- vs_out.TangentFragPos = TBN * vs_out.FragPos;
-
- gl_Position = projection * view * model * vec4(aPos, 1.0);
- }
-]]
-
-local frag = [[
- #version 330 core
- out vec4 FragColor;
-
- in VS_OUT {
- vec3 FragPos;
- vec2 TexCoords;
- vec3 TangentLightPos;
- vec3 TangentViewPos;
- vec3 TangentFragPos;
- } fs_in;
-
- uniform sampler2D diffuseMap;
- uniform sampler2D normalMap;
-
- uniform vec3 lightPos;
- uniform vec3 viewPos;
-
- void main()
- {
- // obtain normal from normal map in range [0,1]
- vec3 normal = texture(normalMap, fs_in.TexCoords).rgb;
- // transform normal vector to range [-1,1]
- normal = normalize(normal * 2.0 - 1.0); // this normal is in tangent space
-
- // get diffuse color
- vec3 color = texture(diffuseMap, fs_in.TexCoords).rgb;
- // ambient
- vec3 ambient = 0.1 * color;
- // diffuse
- vec3 lightDir = normalize(fs_in.TangentLightPos - fs_in.TangentFragPos);
- float diff = max(dot(lightDir, normal), 0.0);
- vec3 diffuse = diff * color;
- // specular
- vec3 viewDir = normalize(fs_in.TangentViewPos - fs_in.TangentFragPos);
- vec3 reflectDir = reflect(-lightDir, normal);
- vec3 halfwayDir = normalize(lightDir + viewDir);
- float spec = pow(max(dot(normal, halfwayDir), 0.0), 32.0);
-
- vec3 specular = vec3(0.2) * spec;
- FragColor = vec4(ambient + diffuse + specular, 1.0);
- }
-]]
-
-local shader = GameLab.Engine.Rendering.Shader.New(vert, frag)
-Debug.Log("shader is " .. inspect(shader:IsValid()))
+local c = Rendering.Color.New(1,1,1,1)
+Debug.Log(inspect(c))
+
+Debug.Log(inspect(GL.EBufferType))
while true do