Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/scene/mesh.cpp
| Show First 20 Lines • Show All 686 Lines • ▼ Show 20 Lines | |||||
| { | { | ||||
| uint shader_id = 0; | uint shader_id = 0; | ||||
| uint last_shader = -1; | uint last_shader = -1; | ||||
| bool last_smooth = false; | bool last_smooth = false; | ||||
| size_t triangles_size = num_triangles(); | size_t triangles_size = num_triangles(); | ||||
| int *shader_ptr = shader.data(); | int *shader_ptr = shader.data(); | ||||
| if (!shader_ptr) { | |||||
| return; | |||||
| } | |||||
| for (size_t i = 0; i < triangles_size; i++) { | for (size_t i = 0; i < triangles_size; i++) { | ||||
| if (shader_ptr[i] != last_shader || last_smooth != smooth[i]) { | if (shader_ptr[i] != last_shader || last_smooth != smooth[i]) { | ||||
| last_shader = shader_ptr[i]; | last_shader = shader_ptr[i]; | ||||
| last_smooth = smooth[i]; | last_smooth = smooth[i]; | ||||
| Shader *shader = (last_shader < used_shaders.size()) ? | Shader *shader = (last_shader < used_shaders.size()) ? | ||||
| static_cast<Shader *>(used_shaders[last_shader]) : | static_cast<Shader *>(used_shaders[last_shader]) : | ||||
| scene->default_surface; | scene->default_surface; | ||||
| shader_id = scene->shader_manager->get_shader_id(shader, last_smooth); | shader_id = scene->shader_manager->get_shader_id(shader, last_smooth); | ||||
| ▲ Show 20 Lines • Show All 112 Lines • Show Last 20 Lines | |||||