MCPcopy Create free account
hub / github.com/Wassimulator/CactusViewer / paint_render

Function paint_render

src/source.cpp:4341–4365  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4339}
4340
4341static void paint_render(ID3D11UnorderedAccessView *target_uav, const Shader_Constants_Paint &constants)
4342{
4343 ID3D11DeviceContext1 *ctx = G->graphics.device_ctx;
4344
4345 D3D11_MAPPED_SUBRESOURCE mapped;
4346 ctx->Map(G->graphics.paint_constants_buffer, 0, D3D11_MAP_WRITE_DISCARD, 0, &mapped);
4347 memcpy(mapped.pData, &constants, sizeof(Shader_Constants_Paint));
4348 ctx->Unmap(G->graphics.paint_constants_buffer, 0);
4349
4350 ID3D11UnorderedAccessView* uavs[] = { target_uav };
4351 ctx->CSSetUnorderedAccessViews(0, 1, uavs, nullptr);
4352 ctx->CSSetConstantBuffers(0, 1, &G->graphics.paint_constants_buffer);
4353 ctx->CSSetShader(G->graphics.paint_cs_shader, nullptr, 0);
4354
4355 // Dispatch over full canvas (simple, not optimal).
4356 UINT groups_x = (constants.canvas_size.x + 8 - 1) / 8;
4357 UINT groups_y = (constants.canvas_size.y + 8 - 1) / 8;
4358 ctx->Dispatch(groups_x, groups_y, 1);
4359
4360 ID3D11UnorderedAccessView *null_uav[1] = { NULL };
4361 ID3D11Buffer *null_cb[1] = { NULL };
4362 ctx->CSSetUnorderedAccessViews(0, 1, null_uav, NULL);
4363 ctx->CSSetConstantBuffers(0, 1, null_cb);
4364 ctx->CSSetShader(NULL, NULL, 0);
4365}
4366
4367static void paint_update()
4368{

Callers 1

paint_updateFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected