Bart van Strien avatar Bart van Strien committed e420c84

Adding the files is a crucial step, you know

And I so blame slime73 for his incorrect diff

Comments (0)

Files changed (2)

src/modules/graphics/opengl/OpenGL.cpp

+/**
+ * Copyright (c) 2006-2012 LOVE Development Team
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty.  In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ *    claim that you wrote the original software. If you use this software
+ *    in a product, an acknowledgment in the product documentation would be
+ *    appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ *    misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ **/
+
+#include "OpenGL.h"
+
+namespace love
+{
+namespace graphics
+{
+namespace opengl
+{
+	static GLuint boundTexture = 0;
+	
+	void resetBoundTexture()
+	{
+		// OpenGL might not be initialized yet, so we can't do a real reset
+		boundTexture = 0;
+	}
+	
+	void bindTexture(GLuint texture, bool override)
+	{
+		if (texture != boundTexture || texture == 0 || override)
+		{
+			boundTexture = texture;
+			glBindTexture(GL_TEXTURE_2D, texture);
+		}
+	}
+	
+	void deleteTexture(GLuint texture)
+	{
+		if (texture == boundTexture)
+			boundTexture = 0;
+		
+		glDeleteTextures(1, &texture);
+	}
+	
+} // opengl
+} // graphics
+} // love

src/modules/graphics/opengl/OpenGL.h

+/**
+ * Copyright (c) 2006-2012 LOVE Development Team
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty.  In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ *    claim that you wrote the original software. If you use this software
+ *    in a product, an acknowledgment in the product documentation would be
+ *    appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ *    misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ **/
+
+#ifndef LOVE_COMMON_OPENGL_H
+#define LOVE_COMMON_OPENGL_H
+
+#include "GLee.h"
+
+namespace love
+{
+namespace graphics
+{
+namespace opengl
+{
+
+	// resets the stored bound texture id
+	void resetBoundTexture();
+		
+	/**
+	 * Helper for binding an OpenGL texture.
+	 * Makes sure we aren't redundantly binding textures.
+	 * @param texture The texture to bind.
+	 * @param override Overrides the checks to guarantee texture bind
+	 **/
+	void bindTexture(GLuint texture, bool override = false);
+	
+	/**
+	 * Helper for deleting an OpenGL texture.
+	 * Cleans up if the texture is currently bound.
+	 * @param texture The texture to delete.
+	 **/
+	void deleteTexture(GLuint texture);
+	
+} // opengl
+} // graphics
+} // love
+
+#endif
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.