Improve the rendering effect of the Model

This commit is contained in:
ema
2025-07-08 04:06:05 +08:00
parent 3fd444102d
commit 87e04dca9d
6 changed files with 31 additions and 23 deletions

View File

@@ -15,7 +15,6 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
using QuickLook.Common.Plugin;
using System.IO;
using System.Linq;
@@ -46,8 +45,4 @@ internal static class Handler
return false;
}
public static void Prepare(string path, ContextObject context)
{
}
}

View File

@@ -11,11 +11,35 @@
<Grid>
<helix:HelixViewport3D x:Name="viewer"
CameraRotationMode="Turnball"
CoordinateSystemHorizontalPosition="Left"
CoordinateSystemLabelForeground="Black"
CoordinateSystemVerticalPosition="Bottom"
IsViewCubeEdgeClicksEnabled="False"
RotateAroundMouseDownPoint="False"
ShowCameraInfo="False"
ShowCameraTarget="True"
ShowCoordinateSystem="False"
ShowFrameRate="False"
ShowViewCube="False"
ZoomAroundMouseDownPoint="True"
ZoomExtentsWhenLoaded="true">
<ModelVisual3D x:Name="modelVisual" />
<helix:DefaultLights />
<helix:HelixViewport3D.Camera>
<PerspectiveCamera x:Name="camera"
FarPlaneDistance="30000"
FieldOfView="45"
LookDirection="0,0,-1"
NearPlaneDistance="0.1"
Position="0,91,414"
UpDirection="0,1,0" />
</helix:HelixViewport3D.Camera>
<helix:HelixViewport3D.Background>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Offset="0" Color="Transparent" />
<GradientStop Offset="1" Color="Transparent" />
</LinearGradientBrush>
</helix:HelixViewport3D.Background>
<helix:HelixViewport3D.RotateGesture>
<MouseGesture MouseAction="LeftClick" />
</helix:HelixViewport3D.RotateGesture>

View File

@@ -42,7 +42,7 @@ public partial class HelixPanel : UserControl
{
var modelImporter = new ModelImporter();
var model3DGroup = modelImporter.Load(_path);
var diffuseMaterial = new DiffuseMaterial(new SolidColorBrush(Colors.DarkGray));
var diffuseMaterial = new DiffuseMaterial(new SolidColorBrush(Color.FromRgb(0xA0, 0xA0, 0xA0)));
foreach (GeometryModel3D child in model3DGroup.Children.Cast<GeometryModel3D>())
{

View File

@@ -54,7 +54,7 @@ public class Plugin : IViewer
{
_hp = new HelixPanel(path);
context.ViewerContent = _hp;
context.Title = $"{Path.GetFileName(path)}";
context.Title = Path.GetFileName(path);
context.IsBusy = false;
}

View File

@@ -52,21 +52,8 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="HelixToolkit" Version="2.27.0">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="HelixToolkit.Wpf" Version="2.27.0">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="PureSharpCompress" Version="0.40.0">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="System.Memory" Version="4.6.3">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.1.2">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="HelixToolkit" Version="2.27.0" />
<PackageReference Include="HelixToolkit.Wpf" Version="2.27.0" />
</ItemGroup>
<ItemGroup>

View File

@@ -114,10 +114,12 @@
<PackageReference Include="System.Memory" Version="4.6.3">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="System.Buffers" Version="4.6.1">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.1.2">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<!--<PackageReference Include="System.Buffers" Version="4.6.1" />-->
</ItemGroup>
<ItemGroup>