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

View File

@@ -11,11 +11,35 @@
<Grid> <Grid>
<helix:HelixViewport3D x:Name="viewer" <helix:HelixViewport3D x:Name="viewer"
CameraRotationMode="Turnball" CameraRotationMode="Turnball"
CoordinateSystemHorizontalPosition="Left"
CoordinateSystemLabelForeground="Black"
CoordinateSystemVerticalPosition="Bottom"
IsViewCubeEdgeClicksEnabled="False"
RotateAroundMouseDownPoint="False"
ShowCameraInfo="False"
ShowCameraTarget="True"
ShowCoordinateSystem="False"
ShowFrameRate="False"
ShowViewCube="False" ShowViewCube="False"
ZoomAroundMouseDownPoint="True" ZoomAroundMouseDownPoint="True"
ZoomExtentsWhenLoaded="true"> ZoomExtentsWhenLoaded="true">
<ModelVisual3D x:Name="modelVisual" /> <ModelVisual3D x:Name="modelVisual" />
<helix:DefaultLights /> <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> <helix:HelixViewport3D.RotateGesture>
<MouseGesture MouseAction="LeftClick" /> <MouseGesture MouseAction="LeftClick" />
</helix:HelixViewport3D.RotateGesture> </helix:HelixViewport3D.RotateGesture>

View File

@@ -42,7 +42,7 @@ public partial class HelixPanel : UserControl
{ {
var modelImporter = new ModelImporter(); var modelImporter = new ModelImporter();
var model3DGroup = modelImporter.Load(_path); 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>()) foreach (GeometryModel3D child in model3DGroup.Children.Cast<GeometryModel3D>())
{ {

View File

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

View File

@@ -52,21 +52,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="HelixToolkit" Version="2.27.0"> <PackageReference Include="HelixToolkit" Version="2.27.0" />
<PrivateAssets>all</PrivateAssets> <PackageReference Include="HelixToolkit.Wpf" Version="2.27.0" />
</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>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

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