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); }
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); }