mirror of
https://github.com/ocornut/imgui.git
synced 2024-11-28 09:30:56 +01:00
Compacted some old Breaking Changes notes (Pre July 2015 stuff)
This commit is contained in:
parent
bd267ad739
commit
5427eca960
32
imgui.cpp
32
imgui.cpp
@ -340,18 +340,11 @@
|
||||
this necessary change will break your rendering function! the fix should be very easy. sorry for that :(
|
||||
- if you are using a vanilla copy of one of the imgui_impl_XXXX.cpp provided in the example, you just need to update your copy and you can ignore the rest.
|
||||
- the signature of the io.RenderDrawListsFn handler has changed!
|
||||
ImGui_XXXX_RenderDrawLists(ImDrawList** const cmd_lists, int cmd_lists_count)
|
||||
became:
|
||||
ImGui_XXXX_RenderDrawLists(ImDrawData* draw_data).
|
||||
argument 'cmd_lists' -> 'draw_data->CmdLists'
|
||||
argument 'cmd_lists_count' -> 'draw_data->CmdListsCount'
|
||||
ImDrawList 'commands' -> 'CmdBuffer'
|
||||
ImDrawList 'vtx_buffer' -> 'VtxBuffer'
|
||||
ImDrawList n/a -> 'IdxBuffer' (new)
|
||||
ImDrawCmd 'vtx_count' -> 'ElemCount'
|
||||
ImDrawCmd 'clip_rect' -> 'ClipRect'
|
||||
ImDrawCmd 'user_callback' -> 'UserCallback'
|
||||
ImDrawCmd 'texture_id' -> 'TextureId'
|
||||
old: ImGui_XXXX_RenderDrawLists(ImDrawList** const cmd_lists, int cmd_lists_count)
|
||||
new: ImGui_XXXX_RenderDrawLists(ImDrawData* draw_data).
|
||||
argument: 'cmd_lists' becomes 'draw_data->CmdLists', 'cmd_lists_count' becomes 'draw_data->CmdListsCount'
|
||||
ImDrawList: 'commands' becomes 'CmdBuffer', 'vtx_buffer' becomes 'VtxBuffer', 'IdxBuffer' is new.
|
||||
ImDrawCmd: 'vtx_count' becomes 'ElemCount', 'clip_rect' becomes 'ClipRect', 'user_callback' becomes 'UserCallback', 'texture_id' becomes 'TextureId'.
|
||||
- each ImDrawList now contains both a vertex buffer and an index buffer. For each command, render ElemCount/3 triangles using indices from the index buffer.
|
||||
- if you REALLY cannot render indexed primitives, you can call the draw_data->DeIndexAllBuffers() method to de-index the buffers. This is slow and a waste of CPU/GPU. Prefer using indexed rendering!
|
||||
- refer to code in the examples/ folder or ask on the GitHub if you are unsure of how to upgrade. please upgrade!
|
||||
@ -382,18 +375,9 @@
|
||||
- 2015/01/19 (1.30) - renamed ImGuiStorage::GetIntPtr()/GetFloatPtr() to GetIntRef()/GetIntRef() because Ptr was conflicting with actual pointer storage functions.
|
||||
- 2015/01/11 (1.30) - big font/image API change! now loads TTF file. allow for multiple fonts. no need for a PNG loader.
|
||||
(1.30) - removed GetDefaultFontData(). uses io.Fonts->GetTextureData*() API to retrieve uncompressed pixels.
|
||||
this sequence:
|
||||
const void* png_data;
|
||||
unsigned int png_size;
|
||||
ImGui::GetDefaultFontData(NULL, NULL, &png_data, &png_size);
|
||||
// <Copy to GPU>
|
||||
became:
|
||||
unsigned char* pixels;
|
||||
int width, height;
|
||||
io.Fonts->GetTexDataAsRGBA32(&pixels, &width, &height);
|
||||
// <Copy to GPU>
|
||||
io.Fonts->TexID = (your_texture_identifier);
|
||||
you now have much more flexibility to load multiple TTF fonts and manage the texture buffer for internal needs.
|
||||
font init: const void* png_data; unsigned int png_size; ImGui::GetDefaultFontData(NULL, NULL, &png_data, &png_size); <..Upload texture to GPU..>
|
||||
became: unsigned char* pixels; int width, height; io.Fonts->GetTexDataAsRGBA32(&pixels, &width, &height); <..Upload texture to GPU>; io.Fonts->TexId = YourTextureIdentifier;
|
||||
you now more flexibility to load multiple TTF fonts and manage the texture buffer for internal needs.
|
||||
it is now recommended that you sample the font texture with bilinear interpolation.
|
||||
(1.30) - added texture identifier in ImDrawCmd passed to your render function (we can now render images). make sure to set io.Fonts->TexID.
|
||||
(1.30) - removed IO.PixelCenterOffset (unnecessary, can be handled in user projection matrix)
|
||||
|
Loading…
Reference in New Issue
Block a user