| 124 | } |
| 125 | |
| 126 | void CacheUniformHandles(bgfx::ShaderHandle shader, std::unordered_map<std::string, UniformInfo>& cache) |
| 127 | { |
| 128 | const auto MAX_UNIFORMS = 256; |
| 129 | bgfx::UniformHandle uniforms[MAX_UNIFORMS]; |
| 130 | auto numUniforms = bgfx::getShaderUniforms(shader, uniforms, MAX_UNIFORMS); |
| 131 | |
| 132 | bgfx::UniformInfo info{}; |
| 133 | for (uint8_t idx = 0; idx < numUniforms; idx++) |
| 134 | { |
| 135 | bgfx::getUniformInfo(uniforms[idx], info); |
| 136 | cache[info.name].Handle = uniforms[idx]; |
| 137 | } |
| 138 | } |
| 139 | |
| 140 | enum class WebGLAttribType |
| 141 | { |