44 if (!model.empty() && model[0] ==
'-') {
46 _cull_sorting =
false;
49 size_t slash = model.find(
'/', start);
50 if (slash == string::npos) {
51 _cull_name = model.substr(start);
53 _cull_name = model.substr(start, slash - start);
54 _draw_name = model.substr(slash + 1);
77 void GraphicsThreadingModel::
79 if (_cull_name.empty()) {
84 if (!_cull_sorting || _draw_name.empty()) {
85 _draw_name = _cull_name;
88 if (_draw_name == _cull_name) {
89 _draw_stage = _cull_stage;
91 _draw_stage = _cull_stage + 1;
bool get_cull_sorting() const
Returns true if the model involves a separate cull pass, or false if culling happens implicitly,...
std::string get_model() const
Returns the string that describes the threading model.
const std::string & get_cull_name() const
Returns the name of the thread that will handle culling in this model.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
const std::string & get_draw_name() const
Returns the name of the thread that will handle sending the actual graphics primitives to the graphic...
GraphicsThreadingModel(const std::string &model=std::string())
The threading model accepts a string representing the names of the two threads that will process cull...