···517517} GPU_AttributeSource;
518518519519520520+/*! \ingroup ShaderInterface */
521521+typedef struct GPU_MultitextureBlock
522522+{
523523+ int num_textures;
524524+ char** image_names; /* array of char* */
525525+ char** texcoord_names; /* array of char* */
526526+} GPU_MultitextureBlock;
527527+528528+520529/*! \ingroup Logging
521530 * Type enumeration for error codes.
522531 * \see GPU_PushErrorCode()
···588597589598 /*! 0 for inverted, 1 for mathematical */
590599 Uint8 coordinate_mode;
591591-600600+601601+ struct GPU_MultitextureBlock* multitexture_block;
602602+ int multitexture_texCoord_buffers[32];
603603+592604 struct GPU_RendererImpl* impl;
593605};
594606···10171029/*! Sets the modulation color for subsequent drawing of the given image. */
10181030DECLSPEC void SDLCALL GPU_SetColor(GPU_Image* image, SDL_Color color);
1019103110321032+/*! Gets the modulation color for subsequent drawing of the given image. */
10331033+DECLSPEC SDL_Color SDLCALL GPU_GetColor(GPU_Image* image);
10341034+10201035/*! Sets the modulation color for subsequent drawing of the given image. */
10211036DECLSPEC void SDLCALL GPU_SetRGB(GPU_Image* image, Uint8 r, Uint8 g, Uint8 b);
10221037···12221237 * \param flags Bit flags to control the interpretation of the 'values' array parameters.
12231238 */
12241239DECLSPEC void SDLCALL GPU_TriangleBatch(GPU_Image* image, GPU_Target* target, unsigned short num_vertices, float* values, unsigned int num_indices, unsigned short* indices, GPU_BatchFlagEnum flags);
12401240+12411241+DECLSPEC void SDLCALL GPU_BlitBatch(GPU_Image* image, GPU_Target* target, Uint32 num_sprites,
12421242+ float* values, GPU_BatchFlagEnum flags);
12431243+12441244+DECLSPEC void SDLCALL GPU_BlitBatchSeparate(GPU_Image* image, GPU_Target* target, Uint32 num_sprites,
12451245+ float* positions, float* src_rects, float* colors, GPU_BatchFlagEnum flags);
1225124612261247/*! Send all buffered blitting data to the current context target. */
12271248DECLSPEC void SDLCALL GPU_FlushBlitBuffer(void);
···15061527 \param location The uniform location of a texture sampler
15071528 \param image_unit The index of the texture unit to set. 0 is the first unit, which is used by SDL_gpu's blitting functions. 1 would be the second unit. */
15081529DECLSPEC void SDLCALL GPU_SetShaderImage(GPU_Image* image, int location, int image_unit);
15301530+15311531+DECLSPEC GPU_MultitextureBlock SDLCALL GPU_LoadMultitextureBlock(int count, char** image_names, char** texcoord_names);
15321532+15331533+DECLSPEC void SDLCALL GPU_SetMultitextureBlock(GPU_MultitextureBlock* value);
15341534+15351535+DECLSPEC void SDLCALL GPU_FreeMultitextureBlock(GPU_MultitextureBlock* value);
15361536+15371537+DECLSPEC void SDLCALL GPU_MultitextureBlit(GPU_Image** images, GPU_Rect* rects, GPU_Target* target, float x, float y);
1509153815101539/*! Fills "values" with the value of the uniform shader variable at the given location. */
15111540DECLSPEC void SDLCALL GPU_GetUniformiv(Uint32 program_object, int location, int* values);