コード例 #1
0
ファイル: Batch.cs プロジェクト: TheProjecter/romantiquex
        internal protected virtual void SetupPerBatchParameters(Viewer viewer)
        {
            if (viewer == null)
            {
                throw new ArgumentNullException("viewer");
            }

            EffectConstantBuffer perBatchParameters = Effect.GetConstantBufferByName("PerBatch");

            perBatchParameters.SetVariableBySemantic(StandartSemantics.WorldMatrix,
                                                     WorldMatrix, false);
            perBatchParameters.SetVariableBySemantic(StandartSemantics.WorldViewMatrix,
                                                     WorldMatrix * viewer.ViewMatrix, false);
            perBatchParameters.SetVariableBySemantic(StandartSemantics.WorldViewProjectionMatrix,
                                                     WorldMatrix * viewer.ViewMatrix * viewer.ProjectionMatrix, false);
        }
コード例 #2
0
ファイル: Batch.cs プロジェクト: TheProjecter/romantiquex
        internal void SetupGlobalParameters(Viewer viewer, Timer timer)
        {
            if (viewer == null)
            {
                throw new ArgumentNullException("viewer");
            }
            if (timer == null)
            {
                throw new ArgumentNullException("timer");
            }

            EffectConstantBuffer perViewParameters = Effect.GetConstantBufferByName("Global");

            perViewParameters.SetVariableBySemantic(StandartSemantics.ViewMatrix,
                                                    viewer.ViewMatrix, false);
            perViewParameters.SetVariableBySemantic(StandartSemantics.ProjectionMatrix,
                                                    viewer.ProjectionMatrix, false);
            perViewParameters.SetVariableBySemantic(StandartSemantics.ViewProjectionMatrix,
                                                    viewer.ViewMatrix * viewer.ProjectionMatrix, false);
            perViewParameters.SetVariableBySemantic(StandartSemantics.TotalTime, (float)timer.Time.Total, false);
            perViewParameters.SetVariableBySemantic(StandartSemantics.ElapsedTime, (float)timer.Time.Elapsed, false);
        }