首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用HelixToolkit.Sharpdx.Core向3D立方体添加文本

使用HelixToolkit.Sharpdx.Core向3D立方体添加文本
EN

Stack Overflow用户
提问于 2020-10-18 22:39:18
回答 1查看 404关注 0票数 0

我在一个WPF (.net核心)应用程序上使用HelixToolkit。我设置了一个Viewport3Dx,里面有一个立方体,如下所示:

XAML:

代码语言:javascript
运行
复制
<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>

代码隐藏:

代码语言:javascript
运行
复制
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, 0);
            Viewport3Dx.Camera.LookAt(new Point3D(0, 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);
        }
    }
}

现在我想添加一些文本到立方体的每一面(在中心)。文本应该在立方体的表面上。如果可能的话,我不想使用纹理,因为立方体以后可能会有不同的边长。

EN

回答 1

Stack Overflow用户

发布于 2020-10-18 23:19:20

只要模型是立方体,纹理坐标就不受立方体边长的影响。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64414574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档