Exemple #1
0
 public シェイプ(Vector4 色)
 {
     _color = 色;
     表示中    = true;
     サブセット数 = 1;
     モデル状態  = new モデル状態既定実装();
 }
Exemple #2
0
        public プレーンボードシェイプ(WeakReference <ShaderResourceView> resourceView, Vector2 プレーンボードのサイズ)
        {
            _シェーダーリソースビュー = resourceView;

            表示中 = true;

            スプライトの描画に利用するエフェクト = CGHelper.EffectFx5を作成するFromResource("MikuMikuFlex.Resource.Shader.SpriteShader.fx", RenderContext.Instance.DeviceManager.D3DDevice);

            VertexInputLayout = new InputLayout(
                RenderContext.Instance.DeviceManager.D3DDevice,
                スプライトの描画に利用するエフェクト.GetTechniqueByIndex(0).GetPassByIndex(0).Description.Signature,
                スプライトの頂点レイアウト.InputElements);

            _描画パス = スプライトの描画に利用するエフェクト.GetTechniqueByIndex(0).GetPassByIndex(0);


            // 頂点リストを作成

            float width  = プレーンボードのサイズ.X / 2f;
            float height = プレーンボードのサイズ.Y / 2f;

            var 頂点リスト = new List <byte>();

            // 三角形1
            CGHelper.AddListBuffer(new Vector3(-width, height, 0), 頂点リスト);                    // x, y, z
            CGHelper.AddListBuffer(new Vector2(0, 0), 頂点リスト);                                 // u, v         以下同
            CGHelper.AddListBuffer(new Vector3(width, height, 0), 頂点リスト);
            CGHelper.AddListBuffer(new Vector2(1, 0), 頂点リスト);
            CGHelper.AddListBuffer(new Vector3(-width, -height, 0), 頂点リスト);
            CGHelper.AddListBuffer(new Vector2(0, 1), 頂点リスト);

            // 三角形2
            CGHelper.AddListBuffer(new Vector3(width, height, 0), 頂点リスト);
            CGHelper.AddListBuffer(new Vector2(1, 0), 頂点リスト);
            CGHelper.AddListBuffer(new Vector3(width, -height, 0), 頂点リスト);
            CGHelper.AddListBuffer(new Vector2(1, 1), 頂点リスト);
            CGHelper.AddListBuffer(new Vector3(-width, -height, 0), 頂点リスト);
            CGHelper.AddListBuffer(new Vector2(0, 1), 頂点リスト);


            // 頂点リストから頂点バッファを作成

            using (DataStream ds = DataStream.Create(頂点リスト.ToArray(), true, true))
            {
                var bufDesc = new BufferDescription()
                {
                    BindFlags   = BindFlags.VertexBuffer,
                    SizeInBytes = (int)ds.Length
                };

                D3D頂点バッファ = new SharpDX.Direct3D11.Buffer(RenderContext.Instance.DeviceManager.D3DDevice, ds, bufDesc);
            }

            モデル状態   = new モデル状態既定実装();
            モデル状態.率 = new Vector3(0.2f);                    // さいしょっから 0.2 倍?
        }
Exemple #3
0
 /// <summary>
 ///     コンストラクタ
 /// </summary>
 public BasicGrid()
 {
     モデル状態 = new モデル状態既定実装();
     表示中   = true;
     ファイル名 = "@MMF.CG.Model.Grid.BasicGrid@";
 }
 public TargetCross()
 {
     モデル状態 = new モデル状態既定実装();
 }