C# 未渲染三维对象
我有一个WPF应用程序,它有一个主窗口。因为我有一个框架,框架内容就是一个页面 现在页面中有4个viewport3D,其中包含Viewport2DVisual3D,其中有图像元素 问题:在某些电脑上,我的应用程序运行良好,但在某些电脑上,我的应用程序不渲染viewport3d或不渲染帧。不知道,但它在主窗口中没有显示任何内容 问题发生在Acer笔记本电脑上 呈现: 未呈现: 编辑: 当我将框架放置在网格中时,此问题再次出现。(我在一个框架中显示此页面,该框架是我窗口的主要内容:当我将框架放置在网格中时,它不显示对象) 这似乎发生在共享图形的笔记本电脑上 编辑2:C# 未渲染三维对象,c#,wpf,3d,C#,Wpf,3d,我有一个WPF应用程序,它有一个主窗口。因为我有一个框架,框架内容就是一个页面 现在页面中有4个viewport3D,其中包含Viewport2DVisual3D,其中有图像元素 问题:在某些电脑上,我的应用程序运行良好,但在某些电脑上,我的应用程序不渲染viewport3d或不渲染帧。不知道,但它在主窗口中没有显示任何内容 问题发生在Acer笔记本电脑上 呈现: 未呈现: 编辑: 当我将框架放置在网格中时,此问题再次出现。(我在一个框架中显示此页面,该框架是我窗口的主要内容:当我将框架放置
<Page x:Class="MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Loaded="Page_Loaded_1"
x:Name="myMainPage" FlowDirection="RightToLeft" >
<Page.Resources>
<Style TargetType="ContentControl" x:Key="MenuItemsStyle">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Viewport3D VerticalAlignment="Stretch" HorizontalAlignment="Stretch" ClipToBounds="False">
<Viewport3D.Camera>
<PerspectiveCamera x:Name="myCam" FieldOfView="90" Position="{Binding ElementName=myMainWindow, Path=CameraHeight}" NearPlaneDistance="1" FarPlaneDistance="10"/>
</Viewport3D.Camera>
<ModelVisual3D>
<ModelVisual3D.Content>
<Model3DGroup>
<DirectionalLight Color="#FFFFFFFF" Direction="0,0,-1"/>
</Model3DGroup>
</ModelVisual3D.Content>
</ModelVisual3D>
<Viewport2DVisual3D x:Name="V2d3d">
<Viewport2DVisual3D.Transform>
<Transform3DGroup>
<RotateTransform3D >
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Axis="0,1,0" Angle="0" x:Name="aar3D"/>
</RotateTransform3D.Rotation>
</RotateTransform3D>
</Transform3DGroup>
</Viewport2DVisual3D.Transform>
<Viewport2DVisual3D.Material>
<DiffuseMaterial Viewport2DVisual3D.IsVisualHostMaterial="True" Brush="White"/>
</Viewport2DVisual3D.Material>
<Viewport2DVisual3D.Geometry>
<MeshGeometry3D Positions="{Binding ElementName=myMainWindow, Path=MeshPosions}"
TextureCoordinates="0,0 0,1 1,1 1,0" TriangleIndices="0 1 2 0 2 3"/>
</Viewport2DVisual3D.Geometry>
<Border Name="mainBorder" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Border.Style>
<Style TargetType="Border">
<Setter Property="BorderThickness" Value="1.2"/>
<Setter Property="Background" >
<Setter.Value>
<SolidColorBrush Color="Transparent"/>
</Setter.Value>
</Setter>
<Setter Property="BorderBrush" >
<Setter.Value>
<SolidColorBrush Color="Transparent"/>
</Setter.Value>
</Setter>
</Style>
</Border.Style>
<ContentPresenter VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
Content="{TemplateBinding ContentControl.Content}">
<ContentPresenter.Triggers>
<EventTrigger RoutedEvent="ContentPresenter.MouseLeftButtonDown">
// Axis Animation
</EventTrigger>
</ContentPresenter.Triggers>
</ContentPresenter>
</Border>
</Viewport2DVisual3D>
</Viewport3D>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<EventTrigger RoutedEvent="ContentControl.MouseLeftButtonDown" >
//Axis Animation
</EventTrigger>
<EventTrigger RoutedEvent="ContentControl.MouseEnter">
//ScaleAnimation
</EventTrigger>
<EventTrigger RoutedEvent="ContentControl.MouseLeave">
//ScaleAnimation
</EventTrigger>
</Style.Triggers>
</Style>
</Page.Resources>
<Page.Triggers>
<EventTrigger RoutedEvent="Loaded">
//Load Object Scale And Fade In
</EventTrigger>
</Page.Triggers>
<Grid Name="MainGrid">
<Canvas Name="MainCanvas" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" FlowDirection="LeftToRight">
<ContentControl Opacity="0" Name="MenuItem1" Style="{StaticResource MenuItemsStyle}"
MouseDown="MenuItem1_MouseDown" Panel.ZIndex="1" >
<Image Source="/IsargaranProject;component/Images/isargari.jpg"/>
<ContentControl.RenderTransform>
<ScaleTransform ScaleX="0.7" ScaleY="0.7" x:Name="MenuItem1ST"/>
</ContentControl.RenderTransform>
</ContentControl>
</Canvas>
</Grid>
</Page>
//轴动画
//轴动画
//规模化
//规模化
//加载对象比例和淡入
如果您使用的是OPENGL或DirectX3D,那么请查看未进行渲染的笔记本电脑是否有一些缺少的插件,如DirectX 3D无法安装或OPENGL。您可以尝试使用这两种3D渲染工具。。我曾经尝试过这个,我曾经制作过一个图形程序,它也有同样的问题,但是当我安装OPENGL和DirectX3D时,它工作得很好 我能想到的只有以下几点:1。笔记本电脑上的3D加速设置需要更改。2.Viewport2DVisual3D未安装在笔记本电脑上。您使用的WPF版本是什么?您能否提供一些代码,以便我们了解您如何构建视图。我添加了代码。我正在使用.NET4。以及如何安装Viewport2DVisual3D。我必须做什么设置?我可以建议的是,这可能是因为禁用了桌面合成(有点像linuxy术语)。如果未正确安装图形卡驱动程序或directx可再发行文件;或者笔记本电脑正在使用低性能设置:因此合成(也称为帧缓冲区功能,作为opengly术语)可能已被禁用。不熟悉.net,但我建议仅使用一个视口在中渲染四个视图。欢迎使用StackOverflow。当回答问题时,请考虑将链接链接到证实你答案的参考资料。例如,您可能会引用一个Microsoft页面,该页面声明viewport3d依赖于OpenGL和/或Direct3D。抱歉。。!当时我很匆忙,所以我回答得很快,所以忘了添加链接,但下次我肯定会添加链接。。!谢谢你以前遇到过这个问题,所以我投票赞成,但我会在以后再次见到那个客户时再尝试。