Browse Source

Add SpriteBatch support to love.graphics.isSupported

Bart van Strien 14 years ago
parent
commit
3c5c4ee604

+ 2 - 1
src/modules/graphics/Graphics.cpp

@@ -152,7 +152,8 @@ namespace graphics
 	StringMap<Graphics::Support, Graphics::SUPPORT_MAX_ENUM>::Entry Graphics::supportEntries[] =
 	{
 		{ "framebuffers", Graphics::SUPPORT_FRAMEBUFFERS },
-		{ "pixeleffects", Graphics::SUPPORT_PIXELEFFECTS }
+		{ "pixeleffects", Graphics::SUPPORT_PIXELEFFECTS },
+		{ "spritebatches", Graphics::SUPPORT_SPRITEBATCHES }
 	};
 
 	StringMap<Graphics::Support, Graphics::SUPPORT_MAX_ENUM> Graphics::support(Graphics::supportEntries, sizeof(Graphics::supportEntries));

+ 1 - 0
src/modules/graphics/Graphics.h

@@ -82,6 +82,7 @@ namespace graphics
 		{
 			SUPPORT_FRAMEBUFFERS = 1,
 			SUPPORT_PIXELEFFECTS,
+			SUPPORT_SPRITEBATCHES,
 			SUPPORT_MAX_ENUM
 		};
 

+ 5 - 0
src/modules/graphics/opengl/SpriteBatch.cpp

@@ -70,6 +70,11 @@ namespace opengl
 		delete color;
 	}
 
+	bool SpriteBatch::isSupported()
+	{
+		return (GLEE_ARB_vertex_buffer_object || GLEE_VERSION_1_5);
+	}
+
 	bool SpriteBatch::loadVolatile()
 	{
 		// Find out which OpenGL VBO usage hint to use.

+ 2 - 0
src/modules/graphics/opengl/SpriteBatch.h

@@ -90,6 +90,8 @@ namespace opengl
 		SpriteBatch(Image * image, int size, int usage);
 		virtual ~SpriteBatch();
 
+		static bool isSupported();
+
 		// Implements Volatile.
 		bool loadVolatile();
 		void unloadVolatile();

+ 4 - 0
src/modules/graphics/opengl/wrap_Graphics.cpp

@@ -761,6 +761,10 @@ namespace opengl
 					if (!PixelEffect::isSupported())
 						supported = false;
 					break;
+				case Graphics::SUPPORT_SPRITEBATCHES:
+					if (!SpriteBatch::isSupported())
+						supported = false;
+					break;
 				default:
 					supported = false;
 			}