mirror of
https://github.com/scratchfoundation/bgfx.git
synced 2024-11-24 16:48:18 -05:00
Added texture handle passing to ocornut-imgui.
This commit is contained in:
parent
44304315b5
commit
e706260793
2 changed files with 19 additions and 1 deletions
|
@ -204,4 +204,16 @@ bool imguiCube(bgfx::TextureHandle _cubemap, float _lod = 0.0f, ImguiCubemap::En
|
|||
float imguiGetTextLength(const char* _text, ImguiFontHandle _handle);
|
||||
bool imguiMouseOverArea();
|
||||
|
||||
namespace ImGui
|
||||
{
|
||||
// Helper function for passing bgfx::TextureHandle to ImGui::Image.
|
||||
inline void Image(bgfx::TextureHandle _handle, const ImVec2& _size, const ImVec2& _uv0 = ImVec2(0, 0), const ImVec2& _uv1 = ImVec2(1, 1), const ImVec4& _tint_col = ImVec4(1, 1, 1, 1), const ImVec4& _border_col = ImVec4(0, 0, 0, 0))
|
||||
{
|
||||
union { bgfx::TextureHandle handle; ImTextureID ptr; } texture;
|
||||
texture.handle = _handle;
|
||||
Image(texture.ptr, _size, _uv0, _uv1, _tint_col, _border_col);
|
||||
}
|
||||
|
||||
} // namespace ImGui
|
||||
|
||||
#endif // IMGUI_H_HEADER_GUARD
|
||||
|
|
|
@ -72,7 +72,13 @@ struct OcornutImguiContext
|
|||
, uint16_t(pcmd->clip_rect.z-pcmd->clip_rect.x)
|
||||
, uint16_t(pcmd->clip_rect.w-pcmd->clip_rect.y)
|
||||
);
|
||||
bgfx::setTexture(0, s_tex, m_texture);
|
||||
union { void* ptr; bgfx::TextureHandle handle; } texture = { pcmd->texture_id };
|
||||
|
||||
bgfx::setTexture(0, s_tex, 0 != texture.handle.idx
|
||||
? texture.handle
|
||||
: m_texture
|
||||
);
|
||||
|
||||
bgfx::setVertexBuffer(&tvb, vtx_offset, pcmd->vtx_count);
|
||||
bgfx::setProgram(m_program);
|
||||
bgfx::submit(m_viewId);
|
||||
|
|
Loading…
Reference in a new issue