Add API: SDL_Vertex type and SDL_RenderGeometry

This commit is contained in:
Sylvain 2021-03-16 15:07:44 +01:00 committed by Sylvain Becker
parent 53a2608bd2
commit f22fc4ca35

View file

@ -137,6 +137,17 @@ typedef struct SDL_Renderer SDL_Renderer;
struct SDL_Texture; struct SDL_Texture;
typedef struct SDL_Texture SDL_Texture; typedef struct SDL_Texture SDL_Texture;
/**
* \brief Vertex structure
*/
typedef struct SDL_Vertex
{
SDL_FPoint position; /**< Vertex position, in SDL_Renderer coordinates */
SDL_Color color; /**< Vertex color */
SDL_FPoint tex_coord; /**< Texture coordinates (0..texture width, 0..texture height),
if needed */
} SDL_Vertex;
/* Function prototypes */ /* Function prototypes */
@ -1442,6 +1453,26 @@ extern DECLSPEC int SDLCALL SDL_RenderCopyExF(SDL_Renderer * renderer,
const SDL_FPoint *center, const SDL_FPoint *center,
const SDL_RendererFlip flip); const SDL_RendererFlip flip);
/**
* \brief 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).
*
* \param texture (optional) The SDL texture to use.
* \param vertices Vertices.
* \param num_vertices Number of vertices.
* \param indices (optional) An array of integer indices into the 'vertices' array, if NULL all vertices will be rendered in sequential order.
* \param num_indices Number of indices.
*
* \sa SDL_Vertex
*
* \return 0 on success, or -1 if the operation is not supported
*/
extern DECLSPEC int SDLCALL SDL_RenderGeometry(SDL_Renderer *renderer,
SDL_Texture *texture,
SDL_Vertex *vertices, int num_vertices,
int *indices, int num_indices);
/** /**
* Read pixels from the current rendering target to an array of pixels. * Read pixels from the current rendering target to an array of pixels.
* *