コード例 #1
0
        public void 描画する(DeviceContext d3ddc, GlobalParameters globalParameters)
        {
            // ビュー変換行列と射影変換行列を設定する。

            this.Manager.SetCoordinateSystem(EffekseerRendererDX11NET.CoordinateSystem.LeftHand);    // 左手座標系を使う(Effekseerの既定値は右手座標系)

            var vm = globalParameters.ViewMatrix;

            vm.Transpose(); // HLSL用に転置されているので元に戻す。
            this.Renderer.SetCameraMatrix(vm);

            var pm = globalParameters.ProjectionMatrix;

            pm.Transpose(); // HLSL用に転置されているので元に戻す。
            this.Renderer.SetProjectionMatrix(pm);


            // D3Dパイプラインを設定する。

            d3ddc.HullShader.Set(null);
            d3ddc.DomainShader.Set(null);
            d3ddc.GeometryShader.Set(null);
            d3ddc.OutputMerger.BlendState        = this._BlendState加算合成;
            d3ddc.OutputMerger.DepthStencilState = null;
            d3ddc.Rasterizer.State = this._RasterizerState;

            // 描画する。

            //this._Renderer.BeginRendering();  --> DX9 で必要
            this.Manager.Draw();
            //this._Renderer.EndRendering();    --> DX9 で必要
        }
コード例 #2
0
        // 描画

        /// <summary>
        ///     オブジェクトを描画する。
        /// </summary>
        /// <remarks>
        ///     描画先は、<see cref="リソースをバインドする(Device, Texture2D, Texture2D[])"/> で設定された深度ステンシルとレンダーターゲット(のビュー)である。
        ///     これらは描画の前に設定されていること。
        /// </remarks>
        public override void 描画する(double 現在時刻sec, DeviceContext d3ddc, GlobalParameters globalParameters)
        {
            // ターゲットをOMステージに設定する。
            d3ddc.OutputMerger.SetTargets(this.深度ステンシルビュー, this.レンダーターゲットビューs);

            this._オブジェクト.描画する(現在時刻sec, d3ddc, globalParameters);
        }
コード例 #3
0
        // 描画


        /// <summary>
        ///     すべてのEffekseerエフェクトを描画する。
        /// </summary>
        /// <remarks>
        ///     描画先は、<see cref="リソースをバインドする(Device, Texture2D, Texture2D[])"/> で設定された深度ステンシルとレンダーターゲット(のビュー)である。
        ///     これらは描画の前に設定されていること。
        /// </remarks>
        public override void 描画する(double 現在時刻sec, DeviceContext d3ddc, GlobalParameters globalParameters)
        {
            // 現在時刻から経過フレーム数を算出し、進行する。

            float 経過フレーム数 = 0f;

            if (0.0 <= this._最後の描画時刻sec)
            {
                double 経過時刻sec = 現在時刻sec - this._最後の描画時刻sec;
                経過フレーム数 = (float)(経過時刻sec * 60.0);      // Effekseer のフレームは 60fps 基準
            }
            this._最後の描画時刻sec = 現在時刻sec;

            this._Effekseer.進行する(経過フレーム数);


            // 描画する。

            d3ddc.OutputMerger.SetTargets(this.深度ステンシルビュー, this.レンダーターゲットビューs);

            this._Effekseer.描画する(d3ddc, globalParameters);
        }
コード例 #4
0
ファイル: パス.cs プロジェクト: GnicoJP/MikuMikuFlex
 public abstract void 描画する(double 現在時刻sec, DeviceContext d3ddc, GlobalParameters globalParameters);