0

私の Web サイトでは、ユーザーは 3D モデル ファイル (.stl、.obj) をアップロードでき、サイトはそのサムネイル画像を生成します。私のローカル PC では問題なく動作しますが、Azure では動作せず、例外なく空の画像のみが生成されました (背景は描画できますが、オブジェクトはレンダリングできません)。ウェブサイトのアプリに制限はありますか?

public static void Export(Model3DGroup model, string outputFileName)
{
    var viewport = new Viewport3D();

    viewport.Measure(new Size(320, 240));
    viewport.Arrange(new Rect(0, 0, 320, 240));

    var root = new ModelVisual3D();
    viewport.Children.Add(root);

    var camera = new PerspectiveCamera();
    camera.Position = new Point3D(2, 16, 20);
    camera.LookDirection = new Vector3D(-2, -16, -20);
    camera.UpDirection = new Vector3D(0, 0, 1);
    camera.FieldOfView = 45;
    camera.NearPlaneDistance = 0.1;
    camera.FarPlaneDistance = double.PositiveInfinity;

    viewport.Camera = camera;

    root.Children.Add(new DefaultLights());

    root.Content = model;

    CameraHelper.ZoomExtents(camera, viewport);
    Viewport3DHelper.Export(viewport, outputFileName, Brushes.WhiteSmoke);
}
4

1 に答える 1

1

あなたが使用しているツールキットとそのフォーラムでの質問をここで確認しました。それが Azure WebApps ではなく IIS Express で動作している場合、Helix ToolKit が OS レベルの directX コードを呼び出しているメソッドを使用していることは明らかです。 WebApp Worker VM Sandbox によって制限されます

Azure WebApps には、VM でユーザー コードを実行するサンドボックスがあり、VM が破損しないように保護するための予防策として、カーネルとグラフィックスに対して直接行われる特定の呼び出しを拒否します。

回避策として、Azure クラウド サービスを試してみると、自分のようなシナリオの自由度が高まります。

于 2015-07-20T20:40:59.097 に答える