port from perforce
This commit is contained in:
62
aiwaz/Backup/Aiwaz.Editor/Views/MainWindow.xaml
Normal file
62
aiwaz/Backup/Aiwaz.Editor/Views/MainWindow.xaml
Normal file
@@ -0,0 +1,62 @@
|
||||
<Window x:Class="Aiwaz.Editor.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
|
||||
xmlns:cus="clr-namespace:Aiwaz.Editor.Controls"
|
||||
Title="Window1" Height="550" Width="900">
|
||||
<Window.Background>
|
||||
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientStop Color="Gray" Offset="0.0" />
|
||||
<GradientStop Color="LightGray" Offset="1.0" />
|
||||
</LinearGradientBrush>
|
||||
</Window.Background>
|
||||
<Grid Margin="5">
|
||||
<Grid.Background>
|
||||
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientStop Color="LightGray" Offset="0.0" />
|
||||
<GradientStop Color="White" Offset="1.0" />
|
||||
</LinearGradientBrush>
|
||||
</Grid.Background>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="10" />
|
||||
<RowDefinition Height="30" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*" />
|
||||
<ColumnDefinition Width="10" />
|
||||
<ColumnDefinition Width="5*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid Grid.Row="0" Grid.Column="0" Grid.RowSpan="3">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="2*" />
|
||||
<RowDefinition Height="10" />
|
||||
<RowDefinition Height="3*" />
|
||||
</Grid.RowDefinitions>
|
||||
<TreeView Grid.Row="0" x:Name="trvNodes" ItemsSource="{Binding Nodes}" AllowDrop="True">
|
||||
<TreeView.ItemTemplate>
|
||||
<HierarchicalDataTemplate ItemsSource="{Binding Nodes}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Image Source="{Binding DisplayIcon}"/>
|
||||
<TextBlock Text="{Binding DisplayName}" VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
</HierarchicalDataTemplate>
|
||||
</TreeView.ItemTemplate>
|
||||
<TreeView.Background>
|
||||
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientStop Color="LightGray" Offset="0.0" />
|
||||
<GradientStop Color="White" Offset="1.0" />
|
||||
</LinearGradientBrush>
|
||||
</TreeView.Background>
|
||||
</TreeView>
|
||||
<GridSplitter Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Stretch" Height="10" />
|
||||
<cus:PropertyGrid x:Name="Properties" Grid.Row="2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
|
||||
</Grid>
|
||||
<GridSplitter Grid.Row="0" Grid.Column="1" VerticalAlignment="Stretch" HorizontalAlignment="Center" Width="10" Grid.RowSpan="3"/>
|
||||
<cus:AiwazViewControl Grid.Row="0" Grid.Column="2" x:Name="aiwazControl" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
|
||||
</cus:AiwazViewControl>
|
||||
<GridSplitter Grid.Row="1" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Stretch" Height="10" />
|
||||
<Slider Grid.Row="2" Grid.Column="2" />
|
||||
</Grid>
|
||||
</Window>
|
||||
87
aiwaz/Backup/Aiwaz.Editor/Views/MainWindow.xaml.cs
Normal file
87
aiwaz/Backup/Aiwaz.Editor/Views/MainWindow.xaml.cs
Normal file
@@ -0,0 +1,87 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
using System.Windows.Interop;
|
||||
|
||||
using SlimDX;
|
||||
using SlimDX.Windows;
|
||||
using Aiwaz.Core;
|
||||
using Aiwaz.Resources;
|
||||
using Aiwaz.Editor.ViewModels;
|
||||
using Aiwaz.Resources.Prefab;
|
||||
using Aiwaz.Contracts;
|
||||
using Aiwaz.Editor.Controls;
|
||||
|
||||
namespace Aiwaz.Editor
|
||||
{
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
public ResourceViewModel ResourceViewModel;
|
||||
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
aiwazControl.SwapChain.ClearColor = new Color4(0.0f, 0.0f, 1.0f);
|
||||
|
||||
var model = new BluModel(new BluModelParams() { FileName = "Data/ChamferBox.blu" });
|
||||
model.RootTransformation.LocalScale = new SlimDX.Vector3(0.1f, 0.1f, 0.1f);
|
||||
model.RootTransformation.LocalPosition = new SlimDX.Vector3(1.0f, 0.0f, 2.0f);
|
||||
|
||||
var camera = new PerspectiveCamera(new PerspectiveCameraParams());
|
||||
var normalMapping = new Shader(new ShaderParams() { FileName = "Data/NormalOutput.fx", TechniqueName = "NormalMapping" });
|
||||
var wallTexture = new Texture(new FileTextureParams() { FileName = "Data/Wall.jpg" });
|
||||
var wallNormalTexture = new Texture(new FileTextureParams() { FileName = "Data/WallNormal.jpg" });
|
||||
wallNormalTexture.BindingName = "Normal";
|
||||
var roomCube = new Cube(new CubeParams() { Width = 10.0f, Height = 10.0f, Depth = 10.0f, IsInverted = true });
|
||||
roomCube.GeometryBuffer.IsPickable = true;
|
||||
|
||||
var roomCubeTransformation = new Transformation(new DefaultTransformationBindings());
|
||||
roomCubeTransformation.LocalPosition = new SlimDX.Vector3(0.0f, 0.0f, 2.0f);
|
||||
|
||||
var lightPosition = new ReferenceT<SlimDX.Vector3>(new SlimDX.Vector3(0.0f, 1.0f, 0.0f));
|
||||
var lightColor = new ReferenceT<SlimDX.Vector4>(new SlimDX.Vector4(2.0f, 2.0f, 1.0f, 1.0f));
|
||||
|
||||
var lightParameters = new ShaderParameterSet();
|
||||
lightParameters.IsPreconditionForFollowingShaders = true;
|
||||
lightParameters.SetParameter("LightPosition", lightPosition, ParameterBindType.BindBySemantic);
|
||||
lightParameters.SetParameter("LightColor", lightColor, ParameterBindType.BindBySemantic);
|
||||
|
||||
aiwazControl.RootNode.Children.Add(camera);
|
||||
aiwazControl.RootNode.Children.Add(lightParameters);
|
||||
aiwazControl.RootNode.Children.Add(roomCubeTransformation);
|
||||
aiwazControl.RootNode.Children.Add(normalMapping);
|
||||
aiwazControl.RootNode.Children.Add(wallTexture);
|
||||
aiwazControl.RootNode.Children.Add(wallNormalTexture);
|
||||
aiwazControl.RootNode.Children.Add(roomCube);
|
||||
aiwazControl.RootNode.Children.Add(model);
|
||||
|
||||
ResourceViewModel = new ResourceViewModel(aiwazControl.RootNode);
|
||||
trvNodes.DataContext = ResourceViewModel;
|
||||
trvNodes.SelectedItemChanged += new RoutedPropertyChangedEventHandler<object>(trvNodes_SelectedItemChanged);
|
||||
|
||||
aiwazControl.PickableResources = PickableResourcesDataSource.CreateFromResource(aiwazControl.RootNode);
|
||||
aiwazControl.SelectedResourceChanged += new Aiwaz.Editor.Controls.AiwazViewControl.SelectedResourceChangedDelegate(aiwazControl_SelectedResourceChanged);
|
||||
}
|
||||
|
||||
void aiwazControl_SelectedResourceChanged(object sender, Aiwaz.Editor.Controls.PickableResourceInfo newSelectedResourceInfo)
|
||||
{
|
||||
Properties.SelectedObject = newSelectedResourceInfo == null ? null : newSelectedResourceInfo.Resource;
|
||||
}
|
||||
|
||||
void trvNodes_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
|
||||
{
|
||||
Properties.SelectedObject = ((ResourceViewModel)(e.NewValue)).Resource;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user