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 で必要 }
// 描画 /// <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); }
// 描画 /// <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); }
public abstract void 描画する(double 現在時刻sec, DeviceContext d3ddc, GlobalParameters globalParameters);