| 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 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 | 92 |
| 93 } // anonymous namespace | 93 } // anonymous namespace |
| 94 | 94 |
| 95 // Returns whether to Force the Software Renderer by checking for the existence | 95 // Returns whether to Force the Software Renderer by checking for the existence |
| 96 // of the environment variable O3D_FORCE_SOFTWARE_RENDERER. | 96 // of the environment variable O3D_FORCE_SOFTWARE_RENDERER. |
| 97 bool Renderer::IsForceSoftwareRenderer() { | 97 bool Renderer::IsForceSoftwareRenderer() { |
| 98 return getenv("O3D_FORCE_SOFTWARE_RENDERER") != NULL; | 98 return getenv("O3D_FORCE_SOFTWARE_RENDERER") != NULL; |
| 99 } | 99 } |
| 100 | 100 |
| 101 Renderer::Renderer(ServiceLocator* service_locator) | 101 Renderer::Renderer(ServiceLocator* service_locator) |
| 102 : current_render_surface_(NULL), | 102 : service_locator_(service_locator), |
| 103 service_(service_locator, this), |
| 104 features_(service_locator), |
| 105 current_render_surface_(NULL), |
| 103 current_depth_surface_(NULL), | 106 current_depth_surface_(NULL), |
| 104 current_render_surface_is_back_buffer_(true), | 107 current_render_surface_is_back_buffer_(true), |
| 105 service_locator_(service_locator), | |
| 106 service_(service_locator, this), | |
| 107 features_(service_locator), | |
| 108 viewport_(0.0f, 0.0f, 1.0f, 1.0f), | 108 viewport_(0.0f, 0.0f, 1.0f, 1.0f), |
| 109 depth_range_(0.0f, 1.0f), | 109 depth_range_(0.0f, 1.0f), |
| 110 write_mask_(0xf), | 110 write_mask_(0xf), |
| 111 render_frame_count_(0), | 111 render_frame_count_(0), |
| 112 transforms_processed_(0), | 112 transforms_processed_(0), |
| 113 transforms_culled_(0), | 113 transforms_culled_(0), |
| 114 draw_elements_processed_(0), | 114 draw_elements_processed_(0), |
| 115 draw_elements_culled_(0), | 115 draw_elements_culled_(0), |
| 116 draw_elements_rendered_(0), | 116 draw_elements_rendered_(0), |
| 117 primitives_rendered_(0), | 117 primitives_rendered_(0), |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 301 } | 301 } |
| 302 | 302 |
| 303 void Renderer::FinishRendering() { | 303 void Renderer::FinishRendering() { |
| 304 DCHECK(rendering_); | 304 DCHECK(rendering_); |
| 305 DCHECK(!drawing_); | 305 DCHECK(!drawing_); |
| 306 DCHECK_GT(start_depth_, 0); | 306 DCHECK_GT(start_depth_, 0); |
| 307 --start_depth_; | 307 --start_depth_; |
| 308 if (start_depth_ == 0) { | 308 if (start_depth_ == 0) { |
| 309 ApplyDirtyStates(); | 309 ApplyDirtyStates(); |
| 310 PlatformSpecificFinishRendering(); | 310 PlatformSpecificFinishRendering(); |
| 311 // Don't hold pointers to these when we are finished rendering. |
| 312 current_render_surface_ = NULL; |
| 313 current_depth_surface_ = NULL; |
| 311 rendering_ = false; | 314 rendering_ = false; |
| 312 } | 315 } |
| 313 } | 316 } |
| 314 | 317 |
| 315 void Renderer::Present() { | 318 void Renderer::Present() { |
| 316 DCHECK(!rendering_); | 319 DCHECK(!rendering_); |
| 317 DCHECK(!drawing_); | 320 DCHECK(!drawing_); |
| 318 PlatformSpecificPresent(); | 321 PlatformSpecificPresent(); |
| 319 } | 322 } |
| 320 | 323 |
| (...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 813 bool Renderer::SafeToBindTexture(Texture* texture) const { | 816 bool Renderer::SafeToBindTexture(Texture* texture) const { |
| 814 if (current_render_surface_ && | 817 if (current_render_surface_ && |
| 815 current_render_surface_->texture() == texture) { | 818 current_render_surface_->texture() == texture) { |
| 816 return false; | 819 return false; |
| 817 } | 820 } |
| 818 | 821 |
| 819 return true; | 822 return true; |
| 820 } | 823 } |
| 821 | 824 |
| 822 } // namespace o3d | 825 } // namespace o3d |
| OLD | NEW |