

現在、Helix toolkitを用いて簡単な3Dビュアーを作成しています。  
三次元の点を色付きで3D表示したいです。

プロジェクト自体はHelixToolkit.Wpf.SharpDXのExampleフォルダ内にあるSimpleDemoを参考にしています。

xamlでは以下のように記述しています。

[code]

    <hx:PointGeometryModel3D x:Name="points" Geometry="{Binding Points}" Transform="{Binding Model1Transform}" Color="{x:Static sdx:Color.White}" />
    
[/code]

表示する際の更新は以下の通りです。

[code]

                var points = new PointGeometry3D();
                var col = new Color4Collection();
                var ptPos = new Vector3Collection();
                var ptIdx = new IntCollection();
    
                for(int y = 0; y < height; y++) {
                    for(int x = 0; x < width; x++) {
                        if(depth[y * width + x] < 1000 && depth[y * width + x] > 0) {
                            ptIdx.Add(ptPos.Count);
                            ptPos.Add(new Vector3(x, height - y, (-depth[y * width + x] / 3.0f) + 800));
                            col.Add(rnd.NextColor().ToColor4());
                        }
                    }
                }
    
                points.Positions = ptPos;
                points.Indices = ptIdx;
                points.Colors = col;
                Points = points;
    
[/code]

更新する点が約200×200ぐらいならば、各点がランダムな色が設定されて期待通りの動作になるのですが、  
これが500×300ぐらいになると色が全く更新されません。（黒色で表示される）  
実際、200×200の際も、アプリケーション起動のタイミングであるときはうまくランダムの色が表示されるが、あるときは黒色で表示されます。

何が原因であると考えられますか？ご教授ください。


CC BY-SA 3.0
2015-02-03T13:15:31.427
5880
2015-02-03T13:15:31.427
8065
question
c# wpf
Helix toolkitでの3D描写について