Uniform Render Flow
November 3, 2023Less than 1 minute
Uniform Render Flow
bgfx::setUniform
- Params:(UniformHandle _handle, const void* _value, uint16_t _num = 1)
Encoder::setUniform
- Params:(UniformHandle _handle, const void* _value, uint16_t _num = 1)
EncoderImpl::setUniform
- Write value to UniformBuffer
- Params:(UniformType::Enum _type, UniformHandle _handle, const void* _value, uint16_t _num)
- File: bgfx_p.h
EncoderImpl::submit
- Set RenderDraw uniformIDx, uniformBegain, UniformEnd
- Params: (ViewId _id, ProgramHandle _program, OcclusionQueryHandle _occlusionQuery, uint32_t _depth, uint8_t _flags);
- File: bgfx.cpp
RendererContext::submit
- Params: (Frame* _render, ClearQuad& /_clearQuad/, TextVideoMemBlitter& _textVideoMemBlitter)
- File: Platform Renderer(renderer_d3d12.cpp)
bgfx::rendererUpdateUniforms
- Copy/Move uniform buffer to renderer native uniform buffer
- Params: (RendererContextI* _renderCtx, UniformBuffer* _uniformBuffer, uint32_t _begin, uint32_t _end)
- File: bgfx.cpp
RendererContext::updateUniform
- Cache uniform buffer in local
m_uniforms
. Make up constant buffer. - Params: (uint16_t _loc, const void* _data, uint32_t _size)
- File: Platform Renderer(renderer_d3d12.cpp)
RendererContext::commit
- Set
m_uniforms
data tom_fsCcratch
/m_vsScratch
array by uniform type - File: Platform Renderer(renderer_d3d12.cpp)
RendererContext::commit
- Write
m_vsScratch
/m_fsScratch
to m_scratchBUffer - File: Platform Renderer(renderer_d3d12.cpp)