本文整理汇总了C++中Model3D::set_texture方法的典型用法代码示例。如果您正苦于以下问题:C++ Model3D::set_texture方法的具体用法?C++ Model3D::set_texture怎么用?C++ Model3D::set_texture使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Model3D
的用法示例。
在下文中一共展示了Model3D::set_texture方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: draw
void draw(vec3d camera_position, vec3d light_position)
{
ALLEGRO_STATE previous_state;
ALLEGRO_TRANSFORM transform;
if (shader && shader_applies_transform)
{
// construct our entity's transform
place.build_transform(&transform);
// Now apply it to the shader
shader->use();
Shader::set_vec3("camera_position", camera_position);
Shader::set_vec3("light_position", light_position);
Shader::set_mat4("position_transform", &transform);
Shader::set_bool("reflecting", cube_map_reflecting);
Shader::set_sampler("diffuse_texture", diffuse_texture, 2);
Shader::set_sampler("specular_texture", specular_texture, 3);
Shader::set_sampler("normal_texture", normal_texture, 4);
Shader::set_sampler_cube("cube_map_A", cube_map_A, 5);
Shader::set_sampler_cube("cube_map_B", cube_map_B, 6);
}
else
{
// when not using the shader, we'll need to
// apply the transform directly here
al_store_state(&previous_state, ALLEGRO_STATE_TRANSFORM);
al_identity_transform(&transform);
al_use_transform(&transform);
place.start_transform();
// also, we set the texture on this model directly
if (diffuse_texture) model->set_texture(diffuse_texture);
}
// actually draw our model here
if (model) model->draw();
if (shader && shader_applies_transform)
{
Shader::stop();
}
else
{
place.restore_transform();
al_restore_state(&previous_state);
}
}
示例2: draw
virtual void draw()
{
if (!model) return;
model->set_texture(texture);
model->draw();
}