Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/intern/draw_cache_extract_mesh.cc
| Show First 20 Lines • Show All 860 Lines • ▼ Show 20 Lines | static void mesh_buffer_cache_create_requested(struct TaskGraph *task_graph, | ||||
| * | single_threaded | | | --> | extract_task2_loop_2 | | * | single_threaded | | | --> | extract_task2_loop_2 | | ||||
| * +------------------+ +----------------------+ +----------------------+ | * +------------------+ +----------------------+ +----------------------+ | ||||
| * | +----------------------+ | * | +----------------------+ | ||||
| * +-----> | extract_task2_loop_3 | | * +-----> | extract_task2_loop_3 | | ||||
| * +----------------------+ | * +----------------------+ | ||||
| */ | */ | ||||
| const bool do_hq_normals = (scene->r.perf_flag & SCE_PERF_HQ_NORMALS) != 0 || | const bool do_hq_normals = (scene->r.perf_flag & SCE_PERF_HQ_NORMALS) != 0 || | ||||
| GPU_use_hq_normals_workaround(); | GPU_use_hq_normals_workaround(); | ||||
| const bool override_single_mat = mesh_render_mat_len_get(me) <= 1; | |||||
| /* Create an array containing all the extractors that needs to be executed. */ | /* Create an array containing all the extractors that needs to be executed. */ | ||||
| ExtractorRunDatas extractors; | ExtractorRunDatas extractors; | ||||
| #define EXTRACT_ADD_REQUESTED(type, type_lowercase, name) \ | #define EXTRACT_ADD_REQUESTED(type, type_lowercase, name) \ | ||||
| do { \ | do { \ | ||||
| if (DRW_##type_lowercase##_requested(mbc->type_lowercase.name)) { \ | if (DRW_##type_lowercase##_requested(mbc->type_lowercase.name)) { \ | ||||
| const MeshExtract *extractor = mesh_extract_override_get(&extract_##name, do_hq_normals); \ | const MeshExtract *extractor = mesh_extract_override_get( \ | ||||
| &extract_##name, do_hq_normals, override_single_mat); \ | |||||
| extractors.append(extractor); \ | extractors.append(extractor); \ | ||||
| } \ | } \ | ||||
| } while (0) | } while (0) | ||||
| EXTRACT_ADD_REQUESTED(VBO, vbo, pos_nor); | EXTRACT_ADD_REQUESTED(VBO, vbo, pos_nor); | ||||
| EXTRACT_ADD_REQUESTED(VBO, vbo, lnor); | EXTRACT_ADD_REQUESTED(VBO, vbo, lnor); | ||||
| EXTRACT_ADD_REQUESTED(VBO, vbo, uv); | EXTRACT_ADD_REQUESTED(VBO, vbo, uv); | ||||
| EXTRACT_ADD_REQUESTED(VBO, vbo, tan); | EXTRACT_ADD_REQUESTED(VBO, vbo, tan); | ||||
| ▲ Show 20 Lines • Show All 212 Lines • Show Last 20 Lines | |||||