| 
									
										
										
										
											2017-02-07 11:20:15 +01:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * Copyright 2016, Blender Foundation. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This program is free software; you can redistribute it and/or | 
					
						
							|  |  |  |  * modify it under the terms of the GNU General Public License | 
					
						
							|  |  |  |  * as published by the Free Software Foundation; either version 2 | 
					
						
							|  |  |  |  * of the License, or (at your option) any later version. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This program is distributed in the hope that it will be useful, | 
					
						
							|  |  |  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
					
						
							|  |  |  |  * GNU General Public License for more details. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * You should have received a copy of the GNU General Public License | 
					
						
							|  |  |  |  * along with this program; if not, write to the Free Software Foundation, | 
					
						
							|  |  |  |  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Contributor(s): Blender Institute | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** \file draw_cache.h
 | 
					
						
							|  |  |  |  *  \ingroup draw | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef __DRAW_CACHE_H__
 | 
					
						
							|  |  |  | #define __DRAW_CACHE_H__
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct Batch; | 
					
						
							|  |  |  | struct Object; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void DRW_shape_cache_free(void); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Common Shapes */ | 
					
						
							|  |  |  | struct Batch *DRW_cache_fullscreen_quad_get(void); | 
					
						
							|  |  |  | struct Batch *DRW_cache_single_vert_get(void); | 
					
						
							| 
									
										
										
										
											2017-02-09 17:27:01 +01:00
										 |  |  | struct Batch *DRW_cache_single_line_get(void); | 
					
						
							| 
									
										
										
										
											2017-03-04 00:09:22 +01:00
										 |  |  | struct Batch *DRW_cache_single_line_endpoints_get(void); | 
					
						
							| 
									
										
										
										
											2017-04-10 22:22:37 +02:00
										 |  |  | struct Batch *DRW_cache_screenspace_circle_get(void); | 
					
						
							| 
									
										
										
										
											2017-02-07 11:20:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-21 02:18:14 +10:00
										 |  |  | /* Common Object */ | 
					
						
							| 
									
										
										
										
											2017-04-28 23:04:29 +10:00
										 |  |  | struct Batch *DRW_cache_object_wire_outline_get(struct Object *ob); | 
					
						
							| 
									
										
										
										
											2017-04-21 02:18:14 +10:00
										 |  |  | struct Batch *DRW_cache_object_surface_get(struct Object *ob); | 
					
						
							| 
									
										
										
										
											2017-04-25 18:46:59 +02:00
										 |  |  | struct Batch **DRW_cache_object_surface_material_get(struct Object *ob); | 
					
						
							| 
									
										
										
										
											2017-04-21 02:18:14 +10:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-07 11:20:15 +01:00
										 |  |  | /* Empties */ | 
					
						
							|  |  |  | struct Batch *DRW_cache_plain_axes_get(void); | 
					
						
							| 
									
										
										
										
											2017-02-09 17:27:01 +01:00
										 |  |  | struct Batch *DRW_cache_single_arrow_get(void); | 
					
						
							| 
									
										
										
										
											2017-02-07 11:20:15 +01:00
										 |  |  | struct Batch *DRW_cache_cube_get(void); | 
					
						
							|  |  |  | struct Batch *DRW_cache_circle_get(void); | 
					
						
							| 
									
										
										
										
											2017-03-05 05:22:40 +01:00
										 |  |  | struct Batch *DRW_cache_square_get(void); | 
					
						
							| 
									
										
										
										
											2017-02-07 11:20:15 +01:00
										 |  |  | struct Batch *DRW_cache_empty_sphere_get(void); | 
					
						
							|  |  |  | struct Batch *DRW_cache_empty_cone_get(void); | 
					
						
							|  |  |  | struct Batch *DRW_cache_arrows_get(void); | 
					
						
							| 
									
										
										
										
											2017-02-15 02:54:52 +01:00
										 |  |  | struct Batch *DRW_cache_axis_names_get(void); | 
					
						
							| 
									
										
										
										
											2017-02-07 11:20:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-10 22:22:37 +02:00
										 |  |  | /* Force Field */ | 
					
						
							|  |  |  | struct Batch *DRW_cache_field_wind_get(void); | 
					
						
							|  |  |  | struct Batch *DRW_cache_field_force_get(void); | 
					
						
							|  |  |  | struct Batch *DRW_cache_field_vortex_get(void); | 
					
						
							|  |  |  | struct Batch *DRW_cache_field_tube_limit_get(void); | 
					
						
							|  |  |  | struct Batch *DRW_cache_field_cone_limit_get(void); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-07 11:20:15 +01:00
										 |  |  | /* Lamps */ | 
					
						
							|  |  |  | struct Batch *DRW_cache_lamp_get(void); | 
					
						
							|  |  |  | struct Batch *DRW_cache_lamp_sunrays_get(void); | 
					
						
							| 
									
										
										
										
											2017-03-05 05:22:40 +01:00
										 |  |  | struct Batch *DRW_cache_lamp_area_get(void); | 
					
						
							|  |  |  | struct Batch *DRW_cache_lamp_hemi_get(void); | 
					
						
							|  |  |  | struct Batch *DRW_cache_lamp_spot_get(void); | 
					
						
							|  |  |  | struct Batch *DRW_cache_lamp_spot_square_get(void); | 
					
						
							| 
									
										
										
										
											2017-02-07 11:20:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-04 00:09:22 +01:00
										 |  |  | /* Camera */ | 
					
						
							|  |  |  | struct Batch *DRW_cache_camera_get(void); | 
					
						
							|  |  |  | struct Batch *DRW_cache_camera_tria_get(void); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-15 03:38:21 +01:00
										 |  |  | /* Speaker */ | 
					
						
							|  |  |  | struct Batch *DRW_cache_speaker_get(void); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-22 13:00:15 +01:00
										 |  |  | /* Bones */ | 
					
						
							|  |  |  | struct Batch *DRW_cache_bone_octahedral_get(void); | 
					
						
							|  |  |  | struct Batch *DRW_cache_bone_octahedral_wire_outline_get(void); | 
					
						
							| 
									
										
										
										
											2017-05-03 08:34:24 +02:00
										 |  |  | struct Batch *DRW_cache_bone_box_get(void); | 
					
						
							|  |  |  | struct Batch *DRW_cache_bone_box_wire_outline_get(void); | 
					
						
							|  |  |  | struct Batch *DRW_cache_bone_wire_wire_outline_get(void); | 
					
						
							| 
									
										
										
										
											2017-02-22 13:00:15 +01:00
										 |  |  | struct Batch *DRW_cache_bone_point_get(void); | 
					
						
							|  |  |  | struct Batch *DRW_cache_bone_point_wire_outline_get(void); | 
					
						
							|  |  |  | struct Batch *DRW_cache_bone_arrows_get(void); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-07 11:20:15 +01:00
										 |  |  | /* Meshes */ | 
					
						
							| 
									
										
										
										
											2017-04-21 21:14:11 +10:00
										 |  |  | struct Batch *DRW_cache_mesh_surface_overlay_get(struct Object *ob); | 
					
						
							| 
									
										
										
										
											2017-04-12 18:08:07 +10:00
										 |  |  | void DRW_cache_mesh_wire_overlay_get( | 
					
						
							| 
									
										
										
										
											2017-04-15 14:07:57 +10:00
										 |  |  |         struct Object *ob, | 
					
						
							|  |  |  |         struct Batch **r_tris, struct Batch **r_ledges, struct Batch **r_lverts); | 
					
						
							| 
									
										
										
										
											2017-03-02 01:07:03 +01:00
										 |  |  | struct Batch *DRW_cache_face_centers_get(struct Object *ob); | 
					
						
							| 
									
										
										
										
											2017-04-12 18:08:07 +10:00
										 |  |  | struct Batch *DRW_cache_mesh_wire_outline_get(struct Object *ob); | 
					
						
							|  |  |  | struct Batch *DRW_cache_mesh_surface_get(struct Object *ob); | 
					
						
							|  |  |  | struct Batch *DRW_cache_mesh_surface_verts_get(struct Object *ob); | 
					
						
							| 
									
										
										
										
											2017-04-28 22:30:21 +10:00
										 |  |  | struct Batch *DRW_cache_mesh_edges_get(struct Object *ob); | 
					
						
							| 
									
										
										
										
											2017-04-12 18:08:07 +10:00
										 |  |  | struct Batch *DRW_cache_mesh_verts_get(struct Object *ob); | 
					
						
							| 
									
										
										
										
											2017-04-25 18:46:59 +02:00
										 |  |  | struct Batch **DRW_cache_mesh_surface_shaded_get(struct Object *ob); | 
					
						
							| 
									
										
										
										
											2017-02-07 11:20:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-21 21:14:11 +10:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-15 16:46:17 +10:00
										 |  |  | /* Curve */ | 
					
						
							| 
									
										
										
										
											2017-04-21 17:58:18 +10:00
										 |  |  | struct Batch *DRW_cache_curve_surface_get(struct Object *ob); | 
					
						
							|  |  |  | struct Batch *DRW_cache_curve_surface_verts_get(struct Object *ob); | 
					
						
							| 
									
										
										
										
											2017-04-15 16:46:17 +10:00
										 |  |  | struct Batch *DRW_cache_curve_edge_wire_get(struct Object *ob); | 
					
						
							| 
									
										
										
										
											2017-04-21 17:58:18 +10:00
										 |  |  | /* edit-mode */ | 
					
						
							| 
									
										
										
										
											2017-04-20 05:23:48 +10:00
										 |  |  | struct Batch *DRW_cache_curve_edge_normal_get(struct Object *ob, float normal_size); | 
					
						
							| 
									
										
										
										
											2017-04-15 16:46:17 +10:00
										 |  |  | struct Batch *DRW_cache_curve_edge_overlay_get(struct Object *ob); | 
					
						
							|  |  |  | struct Batch *DRW_cache_curve_vert_overlay_get(struct Object *ob); | 
					
						
							| 
									
										
										
										
											2017-04-21 02:18:14 +10:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* Font */ | 
					
						
							| 
									
										
										
										
											2017-04-21 17:58:18 +10:00
										 |  |  | struct Batch *DRW_cache_text_edge_wire_get(struct Object *ob); | 
					
						
							| 
									
										
										
										
											2017-04-21 02:18:14 +10:00
										 |  |  | struct Batch *DRW_cache_text_surface_get(struct Object *ob); | 
					
						
							| 
									
										
										
										
											2017-04-21 17:58:18 +10:00
										 |  |  | /* edit-mode */ | 
					
						
							|  |  |  | struct Batch *DRW_cache_text_cursor_overlay_get(struct Object *ob); | 
					
						
							|  |  |  | struct Batch *DRW_cache_text_select_overlay_get(struct Object *ob); | 
					
						
							| 
									
										
										
										
											2017-04-21 02:18:14 +10:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* Surface */ | 
					
						
							|  |  |  | struct Batch *DRW_cache_surf_surface_get(struct Object *ob); | 
					
						
							| 
									
										
										
										
											2017-04-15 16:46:17 +10:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-13 22:09:59 +10:00
										 |  |  | /* Lattice */ | 
					
						
							|  |  |  | struct Batch *DRW_cache_lattice_verts_get(struct Object *ob); | 
					
						
							|  |  |  | struct Batch *DRW_cache_lattice_wire_get(struct Object *ob); | 
					
						
							| 
									
										
										
										
											2017-04-13 23:29:45 +10:00
										 |  |  | struct Batch *DRW_cache_lattice_vert_overlay_get(struct Object *ob); | 
					
						
							| 
									
										
										
										
											2017-04-13 22:09:59 +10:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-20 05:23:48 +10:00
										 |  |  | #endif /* __DRAW_CACHE_H__ */
 |