本文整理汇总了C++中vogl_context_info::get_max_arb_program_matrices方法的典型用法代码示例。如果您正苦于以下问题:C++ vogl_context_info::get_max_arb_program_matrices方法的具体用法?C++ vogl_context_info::get_max_arb_program_matrices怎么用?C++ vogl_context_info::get_max_arb_program_matrices使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vogl_context_info
的用法示例。
在下文中一共展示了vogl_context_info::get_max_arb_program_matrices方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: snapshot
bool vogl_matrix_state::snapshot(const vogl_context_info &context_info)
{
VOGL_FUNC_TRACER
clear();
bool any_errors = false;
VOGL_CHECK_GL_ERROR;
vogl_scoped_state_saver state_saver(cGSTActiveTexture, cGSTMatrixMode);
if (vogl_check_gl_error())
any_errors = true;
if (!save_matrix_stack(context_info, GL_PROJECTION, 0, GL_PROJECTION_STACK_DEPTH, GL_PROJECTION_MATRIX))
any_errors = true;
if (!save_matrix_stack(context_info, GL_MODELVIEW, 0, GL_MODELVIEW_STACK_DEPTH, GL_MODELVIEW_MATRIX))
any_errors = true;
if (!save_matrix_stack(context_info, GL_COLOR, 0, GL_COLOR_MATRIX_STACK_DEPTH, GL_COLOR_MATRIX))
any_errors = true;
for (uint32_t texcoord_index = 0; texcoord_index < context_info.get_max_texture_coords(); texcoord_index++)
{
GL_ENTRYPOINT(glActiveTexture)(GL_TEXTURE0 + texcoord_index);
if (vogl_check_gl_error())
any_errors = true;
if (!save_matrix_stack(context_info, GL_TEXTURE, texcoord_index, GL_TEXTURE_STACK_DEPTH, GL_TEXTURE_MATRIX))
any_errors = true;
}
for (uint32_t i = 0; i < context_info.get_max_arb_program_matrices(); i++)
{
if (!save_matrix_stack(context_info, GL_MATRIX0_ARB + i, 0, GL_CURRENT_MATRIX_STACK_DEPTH_ARB, GL_CURRENT_MATRIX_ARB))
any_errors = true;
}
if (any_errors)
clear();
else
m_valid = true;
return !any_errors;
}