nothing important

This commit is contained in:
4sval 2023-02-09 20:06:58 +01:00
parent 2a6c42d15f
commit f3c1103b0c
10 changed files with 29 additions and 30 deletions

@ -1 +1 @@
Subproject commit 8f70ce981ed65ee9dcb4948905a58da2f3730a82
Subproject commit dd9a2706022676a8bf529a31e6d311124e58942f

View File

@ -135,19 +135,19 @@
<ItemGroup>
<PackageReference Include="AdonisUI" Version="1.17.1" />
<PackageReference Include="AdonisUI.ClassicTheme" Version="1.17.1" />
<PackageReference Include="Autoupdater.NET.Official" Version="1.7.3" />
<PackageReference Include="AvalonEdit" Version="6.1.3.50" />
<PackageReference Include="Autoupdater.NET.Official" Version="1.7.6" />
<PackageReference Include="AvalonEdit" Version="6.2.0.78" />
<PackageReference Include="CSCore" Version="1.2.1.2" />
<PackageReference Include="DiscordRichPresence" Version="1.0.175" />
<PackageReference Include="ImGui.NET" Version="1.88.0" />
<PackageReference Include="K4os.Compression.LZ4.Streams" Version="1.2.16" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="NVorbis" Version="0.10.4" />
<PackageReference Include="DiscordRichPresence" Version="1.1.3.18" />
<PackageReference Include="ImGui.NET" Version="1.89.4" />
<PackageReference Include="K4os.Compression.LZ4.Streams" Version="1.3.5" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
<PackageReference Include="NVorbis" Version="0.10.5" />
<PackageReference Include="Oodle.NET" Version="1.0.1" />
<PackageReference Include="Ookii.Dialogs.Wpf" Version="5.0.1" />
<PackageReference Include="OpenTK" Version="4.7.5" />
<PackageReference Include="RestSharp" Version="108.0.1" />
<PackageReference Include="Serilog" Version="2.11.0" />
<PackageReference Include="RestSharp" Version="108.0.3" />
<PackageReference Include="Serilog" Version="2.12.0" />
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
<PackageReference Include="SixLabors.ImageSharp" Version="2.1.3" />
<PackageReference Include="SkiaSharp.HarfBuzz" Version="2.88.0" />

View File

@ -23,7 +23,7 @@ public class BufferObject<TDataType> : IDisposable where TDataType : unmanaged
public unsafe BufferObject(int length, BufferTarget bufferTarget) : this(bufferTarget)
{
GL.BufferData(bufferTarget, length * sizeof(TDataType), IntPtr.Zero, BufferUsageHint.StaticDraw);
GL.BufferData(bufferTarget, length * sizeof(TDataType), IntPtr.Zero, BufferUsageHint.DynamicDraw);
}
public unsafe void Update(int offset, TDataType data)

View File

@ -30,10 +30,10 @@ public class Animation : IDisposable
Sequences[CurrentSequence].Update(deltaSeconds);
}
public Matrix4x4 InterpolateBoneTransform(int trackIndex)
public Matrix4x4 InterpolateBoneTransform(int boneIndex)
{
// interpolate here
return Sequences[CurrentSequence].BonesTransform[trackIndex][Sequences[CurrentSequence].Frame].Matrix;
return Sequences[CurrentSequence].BonesTransform[boneIndex][Sequences[CurrentSequence].Frame].Matrix;
}
public void CheckForNextSequence()

View File

@ -1,12 +1,10 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using CUE4Parse_Conversion.Animations;
using CUE4Parse.UE4.Assets.Exports.Animation;
using CUE4Parse.UE4.Objects.UObject;
using FModel.Views.Snooper.Buffers;
using FModel.Views.Snooper.Shading;
using OpenTK.Graphics.OpenGL4;
using Serilog;

View File

@ -254,10 +254,9 @@ public class Model : IDisposable
var boneMatrix = Matrix4x4.Identity;
if (HasSkeleton && Skeleton.BonesIndicesByLoweredName.TryGetValue(socket.BoneName.Text.ToLower(), out var boneIndices))
{
if (Skeleton.HasAnim)
boneMatrix = Skeleton.Anim.InterpolateBoneTransform(boneIndices.Index);
else if (Skeleton.BonesTransformByIndex.TryGetValue(boneIndices.Index, out var boneTransform))
boneMatrix = boneTransform.Matrix;
boneMatrix = Skeleton.HasAnim
? Skeleton.Anim.InterpolateBoneTransform(boneIndices.Index)
: Skeleton.BonesTransformByIndex[boneIndices.Index].Matrix;
}
var socketRelation = boneMatrix * worldMatrix;

View File

@ -415,6 +415,11 @@ public class Renderer : IDisposable
public void Save()
{
Options.ResetModelsAndLights();
Options.SelectModel(Guid.Empty);
Options.SwapMaterial(false);
Options.AnimateMesh(false);
if (_saveCameraMode) UserSettings.Default.CameraMode = CameraOp.Mode;
UserSettings.Default.ShowSkybox = ShowSkybox;
UserSettings.Default.ShowGrid = ShowGrid;

View File

@ -46,12 +46,6 @@ public class Texture : IDisposable
Bind(TextureUnit.Texture0);
GL.TexImage2DMultisample(TextureTargetMultisample.Texture2DMultisample, Constants.SAMPLES_COUNT, PixelInternalFormat.Rgb, Width, Height, true);
GL.TexParameter(_target, TextureParameterName.TextureMinFilter, (int) TextureMinFilter.Nearest);
GL.TexParameter(_target, TextureParameterName.TextureMagFilter, (int) TextureMinFilter.Nearest);
GL.TexParameter(_target, TextureParameterName.TextureWrapS, (int) TextureWrapMode.ClampToEdge);
GL.TexParameter(_target, TextureParameterName.TextureWrapT, (int) TextureWrapMode.ClampToEdge);
GL.FramebufferTexture2D(FramebufferTarget.Framebuffer, FramebufferAttachment.ColorAttachment0, _target, _handle, 0);
}

View File

@ -417,8 +417,10 @@ Snooper aims to give an accurate preview of models, materials, skeletal animatio
var i = 0;
foreach (var socket in model.Sockets)
{
var isAttached = socket.AttachedModels.Contains(selectedGuid);
ImGui.PushID(i);
switch (socket.AttachedModels.Contains(selectedGuid))
ImGui.BeginDisabled(selectedModel.IsAttached && !isAttached);
switch (isAttached)
{
case false when ImGui.Button($"Attach to '{socket.Name}'"):
socket.AttachedModels.Add(selectedGuid);
@ -429,6 +431,7 @@ Snooper aims to give an accurate preview of models, materials, skeletal animatio
selectedModel.DetachModel(model);
break;
}
ImGui.EndDisabled();
ImGui.PopID();
i++;
}
@ -688,7 +691,7 @@ Snooper aims to give an accurate preview of models, materials, skeletal animatio
var size = new Vector2(largest.X, largest.Y);
s.Renderer.CameraOp.AspectRatio = size.X / size.Y;
ImGui.ImageButton(s.Framebuffer.GetPointer(), size, new Vector2(0, 1), new Vector2(1, 0), 0);
ImGui.Image(s.Framebuffer.GetPointer(), size, new Vector2(0, 1), new Vector2(1, 0), Vector4.One);
if (ImGui.IsItemHovered())
{

View File

@ -45,8 +45,6 @@ public class Snooper : GameWindow
if (clear)
{
Renderer.CameraOp.Speed = 0;
Renderer.Options.ResetModelsAndLights();
Renderer.Options.SelectModel(Guid.Empty);
Renderer.Save();
}
@ -156,6 +154,8 @@ public class Snooper : GameWindow
Renderer.CameraOp.Modify(KeyboardState, (float) e.Time);
if (KeyboardState.IsKeyPressed(Keys.Delete))
Renderer.Options.Models.Remove(Renderer.Options.SelectedModel);
if (KeyboardState.IsKeyPressed(Keys.H))
WindowShouldClose(true, false);
if (KeyboardState.IsKeyPressed(Keys.Escape))