diff --git a/include/SFML/Graphics/RenderTexture.h b/include/SFML/Graphics/RenderTexture.h index 0a70232..658a369 100644 --- a/include/SFML/Graphics/RenderTexture.h +++ b/include/SFML/Graphics/RenderTexture.h @@ -223,6 +223,20 @@ CSFML_GRAPHICS_API void sfRenderTexture_drawRectangleShape(sfRenderTexture* rend CSFML_GRAPHICS_API void sfRenderTexture_drawVertexArray(sfRenderTexture* renderTexture, const sfVertexArray* object, const sfRenderStates* states); CSFML_GRAPHICS_API void sfRenderTexture_drawVertexBuffer(sfRenderTexture* renderTexture, const sfVertexBuffer* object, const sfRenderStates* states); +//////////////////////////////////////////////////////////// +/// \brief Draw primitives defined by a vertex buffer. +/// +/// \param renderTexture render texture object +/// \param vertexBuffer Vertex buffer object to draw +/// \param firstVertex Index of the first vertex to render +/// \param vertexCount Number of vertices to render +/// \param states Render states to use for drawing +/// +//////////////////////////////////////////////////////////// +CSFML_GRAPHICS_API void sfRenderTexture_drawVertexBufferRange(sfRenderTexture* renderTexture, + const sfVertexBuffer* object, size_t firstVertex, + size_t vertexCount, const sfRenderStates* states); + //////////////////////////////////////////////////////////// /// \brief Draw primitives defined by an array of vertices to a render texture /// diff --git a/include/SFML/Graphics/RenderWindow.h b/include/SFML/Graphics/RenderWindow.h index 34de939..5184680 100644 --- a/include/SFML/Graphics/RenderWindow.h +++ b/include/SFML/Graphics/RenderWindow.h @@ -466,6 +466,20 @@ CSFML_GRAPHICS_API void sfRenderWindow_drawRectangleShape(sfRenderWindow* render CSFML_GRAPHICS_API void sfRenderWindow_drawVertexArray(sfRenderWindow* renderWindow, const sfVertexArray* object, const sfRenderStates* states); CSFML_GRAPHICS_API void sfRenderWindow_drawVertexBuffer(sfRenderWindow* renderWindow, const sfVertexBuffer* object, const sfRenderStates* states); +//////////////////////////////////////////////////////////// +/// \brief Draw primitives defined by a vertex buffer. +/// +/// \param renderWindow render window object +/// \param vertexBuffer Vertex buffer object to draw +/// \param firstVertex Index of the first vertex to render +/// \param vertexCount Number of vertices to render +/// \param states Render states to use for drawing +/// +//////////////////////////////////////////////////////////// +CSFML_GRAPHICS_API void sfRenderWindow_drawVertexBufferRange(sfRenderWindow* renderWindow, + const sfVertexBuffer* object, size_t firstVertex, + size_t vertexCount, const sfRenderStates* states); + //////////////////////////////////////////////////////////// /// \brief Draw primitives defined by an array of vertices to a render window /// diff --git a/src/SFML/Graphics/RenderTexture.cpp b/src/SFML/Graphics/RenderTexture.cpp index 00f76b4..1d00c03 100644 --- a/src/SFML/Graphics/RenderTexture.cpp +++ b/src/SFML/Graphics/RenderTexture.cpp @@ -244,6 +244,16 @@ void sfRenderTexture_drawVertexBuffer(sfRenderTexture* renderTexture, const sfVe } +//////////////////////////////////////////////////////////// +void sfRenderTexture_drawVertexBufferRange(sfRenderTexture* renderTexture, + const sfVertexBuffer* object, size_t firstVertex, + size_t vertexCount, const sfRenderStates* states) +{ + CSFML_CHECK(object); + CSFML_CALL(renderTexture, draw(object->This, firstVertex, vertexCount, convertRenderStates(states))); +} + + //////////////////////////////////////////////////////////// void sfRenderTexture_drawPrimitives(sfRenderTexture* renderTexture, const sfVertex* vertices, size_t vertexCount, diff --git a/src/SFML/Graphics/RenderWindow.cpp b/src/SFML/Graphics/RenderWindow.cpp index 8b729cd..3e3da80 100644 --- a/src/SFML/Graphics/RenderWindow.cpp +++ b/src/SFML/Graphics/RenderWindow.cpp @@ -477,6 +477,16 @@ void sfRenderWindow_drawVertexBuffer(sfRenderWindow* renderWindow, const sfVerte } +//////////////////////////////////////////////////////////// +void sfRenderWindow_drawVertexBufferRange(sfRenderWindow* renderWindow, + const sfVertexBuffer* object, size_t firstVertex, + size_t vertexCount, const sfRenderStates* states) +{ + CSFML_CHECK(object); + CSFML_CALL(renderWindow, draw(object->This, firstVertex, vertexCount, convertRenderStates(states))); +} + + //////////////////////////////////////////////////////////// void sfRenderWindow_drawPrimitives(sfRenderWindow* renderWindow, const sfVertex* vertices, size_t vertexCount,