This commit is contained in:
Asval 2024-05-18 21:09:11 +02:00
parent 0bef5967c4
commit d7dac033cb
6 changed files with 16 additions and 10 deletions

@ -1 +1 @@
Subproject commit 3fe4665cb0d824fd54d92c980bb03488ccb234b1
Subproject commit ef969ec1d5e2078233d042d61570bbfe5eaf2573

View File

@ -164,7 +164,7 @@ vec3 CalcLight(int layer, vec3 normals, vec3 position, vec3 color, float attenua
float nDotH = max(dot(n, h), 0.0);
float hDotv = max(dot(h, v), 0.0);
float nDotL = max(dot(n, l), 0.4);
float nDotL = max(dot(n, l), 0.0);
float nDotV = max(dot(n, v), 0.0);
vec3 f = schlickFresnel(fLambert, specular_masks.g, hDotv);

View File

@ -78,6 +78,8 @@ void main()
}
}
finalPos = normalize(finalPos);
finalNormal = normalize(finalNormal);
finalTangent = normalize(finalTangent);
}
else
{

View File

@ -54,6 +54,7 @@ void main()
}
}
finalPos = normalize(finalPos);
finalNormal = normalize(finalNormal);
}
else
{
@ -62,8 +63,8 @@ void main()
}
vec4 worldPos = vInstanceMatrix * finalPos;
float scaleFactor = distance(worldPos.xyz, uViewPos) * 0.0035;
vec4 nor = transpose(inverse(vInstanceMatrix)) * normalize(finalNormal) * scaleFactor;
float scaleFactor = length(uViewPos - worldPos.xyz) * 0.0035;
vec4 nor = transpose(inverse(vInstanceMatrix)) * finalNormal * scaleFactor;
finalPos.xyz += nor.xyz;
gl_Position = uProjection * uView * vInstanceMatrix * finalPos;

View File

@ -76,7 +76,7 @@ public class Material : IDisposable
if (uvCount < 1 || Parameters.IsNull)
{
Diffuse = [new Texture(new FLinearColor(1f, 1f, 1f, 1f))];
Diffuse = [new Texture(new FLinearColor(.6f, .6f, .6f, 1f))];
Normals = [new Texture(new FLinearColor(0.498f, 0.498f, 0.996f, 1f))];
SpecularMasks = [new Texture(new FLinearColor(1f, 0.5f, 0.5f, 1f))];
Emissive = new Texture[1];

View File

@ -414,9 +414,11 @@ Snooper aims to give an accurate preview of models, materials, skeletal animatio
ImGui.TableNextColumn();
ImGui.Text(model.UvCount.ToString("D"));
ImGui.TableNextColumn();
if (ImGui.Selectable(model.Name, s.Renderer.Options.SelectedModel == guid, ImGuiSelectableFlags.SpanAllColumns))
var doubleClick = false;
if (ImGui.Selectable(model.Name, s.Renderer.Options.SelectedModel == guid, ImGuiSelectableFlags.SpanAllColumns | ImGuiSelectableFlags.AllowDoubleClick))
{
s.Renderer.Options.SelectModel(guid);
doubleClick = ImGui.IsMouseDoubleClicked(ImGuiMouseButton.Left);
}
Popup(() =>
{
@ -456,16 +458,17 @@ Snooper aims to give an accurate preview of models, materials, skeletal animatio
s.Renderer.IsSkeletonTreeOpen = true;
ImGui.SetWindowFocus("Skeleton Tree");
}
if (ImGui.MenuItem("Teleport To"))
{
s.Renderer.CameraOp.Teleport(model.GetTransform().Matrix.Translation, model.Box);
}
doubleClick = ImGui.MenuItem("Teleport To");
if (ImGui.MenuItem("Delete")) s.Renderer.Options.RemoveModel(guid);
if (ImGui.MenuItem("Deselect")) s.Renderer.Options.SelectModel(Guid.Empty);
ImGui.Separator();
if (ImGui.MenuItem("Copy Path to Clipboard")) ImGui.SetClipboardText(model.Path);
});
if (doubleClick)
{
s.Renderer.CameraOp.Teleport(model.GetTransform().Matrix.Translation, model.Box);
}
ImGui.TableNextColumn();
ImGui.Image(s.Renderer.Options.Icons[model.Attachments.Icon].GetPointer(), new Vector2(_tableWidth));