public void BeforeRender(MyRenderSettings writeTo, MyTimeSpan? currentDrawTime) { using (m_lock.Acquire()) { if (currentDrawTime.HasValue) MyRenderProxy.CurrentDrawTime = currentDrawTime.Value; writeTo.Synchronize(m_inputRenderSettings); } }
public void AfterUpdate(MyRenderSettings inputSettings, MyTimeSpan? updateTimestamp) { using (m_lock.Acquire()) { if (updateTimestamp.HasValue) m_inputRenderMessages.CurrentUpdateFrame.UpdateTimestamp = updateTimestamp.Value; m_inputRenderMessages.CommitUpdateFrame(); m_inputRenderSettings.Synchronize(inputSettings); // TODO: OP! Better settings synchronization m_inputBillboards.CommitWrite(); m_inputBillboards.Write.Clear(); m_inputTriangleBillboards.CommitWrite(); m_inputTriangleBillboards.Write.Clear(); } }
static void Init() { MyRenderSettings renderSettings = (MyRenderSettings)EditorWindow.GetWindow(typeof(MyRenderSettings)); }
public static void SwitchRenderSettings(MyRenderSettings settings) { var message = MessagePool.Get<MyRenderMessageSwitchRenderSettings>(MyRenderMessageEnum.SwitchRenderSettings); message.SettingsOld = settings; m_settingsDirty = false; EnqueueMessage(message); }