| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2009, Google Inc. | 2 * Copyright 2009, Google Inc. |
| 3 * All rights reserved. | 3 * All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
| 7 * met: | 7 * met: |
| 8 * | 8 * |
| 9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 counter_manager_(service_locator), | 75 counter_manager_(service_locator), |
| 76 transformation_context_(service_locator), | 76 transformation_context_(service_locator), |
| 77 semantic_manager_(service_locator), | 77 semantic_manager_(service_locator), |
| 78 profiler_(service_locator), | 78 profiler_(service_locator), |
| 79 renderer_(service_locator), | 79 renderer_(service_locator), |
| 80 evaluation_counter_(service_locator), | 80 evaluation_counter_(service_locator), |
| 81 render_tree_called_(false), | 81 render_tree_called_(false), |
| 82 render_mode_(RENDERMODE_CONTINUOUS), | 82 render_mode_(RENDERMODE_CONTINUOUS), |
| 83 texture_on_hold_(false), | 83 texture_on_hold_(false), |
| 84 event_manager_(), | 84 event_manager_(), |
| 85 is_ticking_(false), |
| 85 last_tick_time_(0), | 86 last_tick_time_(0), |
| 86 root_(NULL), | 87 root_(NULL), |
| 87 #ifdef OS_WIN | 88 #ifdef OS_WIN |
| 88 calls_(0), | 89 calls_(0), |
| 89 #endif | 90 #endif |
| 90 rendergraph_root_(NULL), | 91 rendergraph_root_(NULL), |
| 91 id_(IdManager::CreateId()) { | 92 id_(IdManager::CreateId()) { |
| 92 // Create and initialize the message queue to allow external code to | 93 // Create and initialize the message queue to allow external code to |
| 93 // communicate with the Client via RPC calls. | 94 // communicate with the Client via RPC calls. |
| 94 message_queue_.reset(new MessageQueue(service_locator_)); | 95 message_queue_.reset(new MessageQueue(service_locator_)); |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 void Client::SetTickCallback( | 169 void Client::SetTickCallback( |
| 169 TickCallback* tick_callback) { | 170 TickCallback* tick_callback) { |
| 170 tick_callback_manager_.Set(tick_callback); | 171 tick_callback_manager_.Set(tick_callback); |
| 171 } | 172 } |
| 172 | 173 |
| 173 void Client::ClearTickCallback() { | 174 void Client::ClearTickCallback() { |
| 174 tick_callback_manager_.Clear(); | 175 tick_callback_manager_.Clear(); |
| 175 } | 176 } |
| 176 | 177 |
| 177 bool Client::Tick() { | 178 bool Client::Tick() { |
| 179 is_ticking_ = true; |
| 178 ElapsedTimeTimer timer; | 180 ElapsedTimeTimer timer; |
| 179 float seconds_elapsed = tick_elapsed_time_timer_.GetElapsedTimeAndReset(); | 181 float seconds_elapsed = tick_elapsed_time_timer_.GetElapsedTimeAndReset(); |
| 180 tick_event_.set_elapsed_time(seconds_elapsed); | 182 tick_event_.set_elapsed_time(seconds_elapsed); |
| 181 profiler_->ProfileStart("Tick callback"); | 183 profiler_->ProfileStart("Tick callback"); |
| 182 tick_callback_manager_.Run(tick_event_); | 184 tick_callback_manager_.Run(tick_event_); |
| 183 profiler_->ProfileStop("Tick callback"); | 185 profiler_->ProfileStop("Tick callback"); |
| 184 | 186 |
| 185 evaluation_counter_->InvalidateAllParameters(); | 187 evaluation_counter_->InvalidateAllParameters(); |
| 186 | 188 |
| 187 counter_manager_.AdvanceCounters(1.0f, seconds_elapsed); | 189 counter_manager_.AdvanceCounters(1.0f, seconds_elapsed); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 209 int max_fps = renderer_->max_fps(); | 211 int max_fps = renderer_->max_fps(); |
| 210 if (max_fps > 0 && | 212 if (max_fps > 0 && |
| 211 render_mode() == RENDERMODE_ON_DEMAND && | 213 render_mode() == RENDERMODE_ON_DEMAND && |
| 212 render_elapsed_time_timer_.GetElapsedTimeWithoutClearing() | 214 render_elapsed_time_timer_.GetElapsedTimeWithoutClearing() |
| 213 > 1.0/max_fps) { | 215 > 1.0/max_fps) { |
| 214 renderer_->set_need_to_render(true); | 216 renderer_->set_need_to_render(true); |
| 215 texture_on_hold_ = false; | 217 texture_on_hold_ = false; |
| 216 } | 218 } |
| 217 } | 219 } |
| 218 | 220 |
| 221 is_ticking_ = false; |
| 219 return message_check_ok; | 222 return message_check_ok; |
| 220 } | 223 } |
| 221 | 224 |
| 222 // Render Methods -------------------------------------------------------------- | 225 // Render Methods -------------------------------------------------------------- |
| 223 | 226 |
| 224 void Client::SetLostResourcesCallback(LostResourcesCallback* callback) { | 227 void Client::SetLostResourcesCallback(LostResourcesCallback* callback) { |
| 225 if (!renderer_.IsAvailable()) { | 228 if (!renderer_.IsAvailable()) { |
| 226 O3D_ERROR(service_locator_) << "No Renderer"; | 229 O3D_ERROR(service_locator_) << "No Renderer"; |
| 227 } else { | 230 } else { |
| 228 renderer_->SetLostResourcesCallback(callback); | 231 renderer_->SetLostResourcesCallback(callback); |
| (...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 577 } | 580 } |
| 578 | 581 |
| 579 String Client::ProfileToString() { | 582 String Client::ProfileToString() { |
| 580 StringWriter string_writer(StringWriter::LF); | 583 StringWriter string_writer(StringWriter::LF); |
| 581 JsonWriter json_writer(&string_writer, 2); | 584 JsonWriter json_writer(&string_writer, 2); |
| 582 profiler_->Write(&json_writer); | 585 profiler_->Write(&json_writer); |
| 583 json_writer.Close(); | 586 json_writer.Close(); |
| 584 return string_writer.ToString(); | 587 return string_writer.ToString(); |
| 585 } | 588 } |
| 586 } // namespace o3d | 589 } // namespace o3d |
| OLD | NEW |