mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 05:01:05 +01:00 
			
		
		
		
	AA branch: added ImDrawData::DeIndexAllBuffers() helper (#254)
This commit is contained in:
		
							
								
								
									
										23
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								imgui.cpp
									
									
									
									
									
								
							| @@ -9503,6 +9503,29 @@ void ImDrawList::AddImage(ImTextureID user_texture_id, const ImVec2& a, const Im | ||||
|         PopTextureID(); | ||||
| } | ||||
|  | ||||
| //----------------------------------------------------------------------------- | ||||
| // ImDrawData | ||||
| //----------------------------------------------------------------------------- | ||||
|  | ||||
| // For backward compatibility: convert all buffers from indexed to de-indexed, in case you cannot render indexed. Note: this is slow and most likely a waste of resources. Always prefer indexed rendering! | ||||
| void ImDrawData::DeIndexAllBuffers() | ||||
| { | ||||
|     ImVector<ImDrawVert> new_vtx_buffer; | ||||
|     total_vtx_count = total_idx_count = 0; | ||||
|     for (int i = 0; i < cmd_lists_count; i++) | ||||
|     { | ||||
|         ImDrawList* cmd_list = cmd_lists[i]; | ||||
|         if (cmd_list->idx_buffer.empty()) | ||||
|             continue; | ||||
|         new_vtx_buffer.resize(cmd_list->idx_buffer.size()); | ||||
|         for (size_t i = 0; i < cmd_list->idx_buffer.size(); i++) | ||||
|             new_vtx_buffer[i] = cmd_list->vtx_buffer[cmd_list->idx_buffer[i]]; | ||||
|         cmd_list->vtx_buffer.swap(new_vtx_buffer); | ||||
|         cmd_list->idx_buffer.resize(0); | ||||
|         total_vtx_count += (int)cmd_list->vtx_buffer.size(); | ||||
|     } | ||||
| } | ||||
|  | ||||
| //----------------------------------------------------------------------------- | ||||
| // ImFontAtlias | ||||
| //----------------------------------------------------------------------------- | ||||
|   | ||||
							
								
								
									
										3
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								imgui.h
									
									
									
									
									
								
							| @@ -1095,6 +1095,9 @@ struct ImDrawData | ||||
|     int             cmd_lists_count; | ||||
|     int             total_vtx_count;        // For convenience, sum of all cmd_lists vtx_buffer.size() | ||||
|     int             total_idx_count;        // For convenience, sum of all cmd_lists idx_buffer.size() | ||||
|  | ||||
|     // Functions | ||||
|     void DeIndexAllBuffers();               // For backward compatibility: convert all buffers from indexed to de-indexed, in case you cannot render indexed. Note: this is slow and most likely a waste of resources. Always prefer indexed rendering! | ||||
| }; | ||||
|  | ||||
| // Load and rasterize multiple TTF fonts into a same texture. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user