ヘリックス3Dアプリケーションにビルボードとして追加したい一連の手続き画像があります。ヘリックス3Dにproceduaralyで生成されたビルボードを追加する方法
現在、私のアプリケーションは、次のようになります。私は看板を追加するための関数を呼び出すとき
public partial class _3DControl
{
HelixViewport3D hVp3D;
public _3DControl()
{
InitializeComponent();
createView();
}
public void createView()
{
hVp3D = new HelixViewport3D();
var lights = new SunLight();
lights.Altitude=40;
lights.Ambient=0.4;
this.Content = hVp3D;
hVp3D.Children.Add(lights);
this.Show();
}
public void UploadBillboard(BitmapImage im, System.Windows.Media.Media3D.Point3D position,double width,double height)
{
//create material
var mat = MaterialHelper.CreateImageMaterial(im, 0);
var bboard = new BillboardVisual3D();
bboard.Material = mat;
//set coordinates
bboard.Position = position;
bboard.Width = width;
bboard.Height = height;
//add the billboard
hVp3D.Children.Add(bboard);
}
は、しかし:
HelixLinker.GetHelix().UploadBillboard(((Bitmap)e).bitmapToBitmapImage(),
new System.Windows.Media.Media3D.Point3D(0, 0, 0), 100, 100);
その後、私は何も添加していないされている参照、私は」何を任意のアイデアがやっmは違う?
また、私はRectangleVisual3Dクラスを試しました。
(有望)画像 しかし、この場合には材料が適切に設定されていないように同じ方法結果にexecuded場合public void UploadRect(BitmapImage im, System.Windows.Media.Media3D.Point3D position, double width, double height)
{
var mat = MaterialHelper.CreateImageMaterial(im, 0);
var bboard = new RectangleVisual3D();
bboard.Material = mat;
bboard.Width = width;
hVp3D.Children.Add(bboard);
}
。
注:私はBillboardVisual3Dが適切なクラスであることを願っています。私はイメージを「床に」置くことを可能にする何かに取り組んでいます。深みと透明性を可能にします。
futher情報のための任意のアイデアお気軽に(この私がHelixを使ってやっている最初のことで、どんな情報が重要か分かりません)。 – Thijser