Render a list of triangles, optionally using a texture and indices into the vertex array Color and alpha modulation is done per vertex (SDL_SetTextureColorMod and SDL_SetTextureAlphaMod are ignored).
Defined in SDL_render.h
int SDL_RenderGeometry(SDL_Renderer *renderer,
SDL_Texture *texture,const SDL_Vertex *vertices, int num_vertices,
const int *indices, int num_indices);
SDL_Renderer * | renderer | The rendering context. |
SDL_Texture * | texture | (optional) The SDL texture to use. |
const SDL_Vertex * | vertices | Vertices. |
int | num_vertices | Number of vertices. |
const int * | indices | (optional) An array of integer indices into the 'vertices' array, if NULL all vertices will be rendered in sequential order. |
int | num_indices | Number of indices. |
(int) Return 0 on success, or -1 if the operation is not supported.
This function is available since SDL 2.0.18.
SDL_Renderer *renderer;
SDL_Texture *texture;
// Create three vertices to render
10.5, 10.5}, {255, 0, 0, 255}, {1, 1}};
SDL_Vertex vertex_1 = {{20.5, 10.5}, {255, 0, 0, 255}, {1, 1}};
SDL_Vertex vertex_2 = {{10.5, 20.5}, {255, 0, 0, 255}, {1, 1}};
SDL_Vertex vertex_3 = {{
// Put them into array
SDL_Vertex vertices[] = {
vertex_1,
vertex_2,
vertex_3
};
// Set renderer color
255, 255, 255, 255);
SDL_SetRenderDrawColor(renderer,
SDL_RenderClear(renderer);
// Render red triangle
3, NULL, 0);
SDL_RenderGeometry(renderer, texture, vertices,
SDL_RenderPresent(renderer);