如何解决使用HelixToolkit.Sharpdx.Core
我在WPF(.net核心)应用程序上使用HelixToolkit。 我已经设置了一个Viewport3Dx,里面有一个立方体,像这样:
XAML:
<Window x:Class="Test1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:hx="http://helix-toolkit.org/wpf/SharpDX"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<hx:Viewport3DX x:Name="Viewport3Dx"
Grid.Row="0"
Grid.Column="0"
Background="White"
BackgroundColor="White"
Title="SharpDXView"
ShowCoordinateSystem="False">
<hx:AmbientLight3D Color="#515151" />
<hx:DirectionalLight3D Direction="-0.5,-1,-0.2"
Color="White" />
</hx:Viewport3DX>
</Grid>
后面的代码:
using HelixToolkit.SharpDX.Core;
using HelixToolkit.Wpf.SharpDX;
using System.Windows;
using System.Windows.Media.Media3D;
namespace Test1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Viewport3Dx.Camera = new HelixToolkit.Wpf.SharpDX.PerspectiveCamera();
Viewport3Dx.Camera.Position = new Point3D(5,0);
Viewport3Dx.Camera.LookAt(new Point3D(0,0),0);
Viewport3Dx.EffectsManager = new DefaultEffectsManager();
var mb = new MeshBuilder();
mb.AddCube();
var meshGeometry = new MeshGeometryModel3D
{
Material = phongMaterials.Green,Transform = Transform3D.Identity,Geometry = mb.ToMeshGeometry3D()
};
Viewport3Dx.Items.Add(meshGeometry);
}
}
}
现在,我想在立方体的每一侧(中间)添加一些文本。文本应在多维数据集的表面上。如果可能的话,我不想使用纹理,因为立方体稍后可能会具有不同的边长。
解决方法
只要模型是立方体,纹理坐标就不受立方体边长的影响。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。