diff --git a/Graphics/DrawingCombinators.hs b/Graphics/DrawingCombinators.hs
--- a/Graphics/DrawingCombinators.hs
+++ b/Graphics/DrawingCombinators.hs
@@ -88,12 +88,16 @@
     run' (Over f a b) = run' b >> run' a
     run' (FMap f d) = run' d
 
--- |Like runDrawing, but clears the screen first.  This is so
+-- |Like runDrawing, but clears the screen first, and sets up
+-- a little necessary OpenGL state.  This is so
 -- you can use this module and pretend that OpenGL doesn't
 -- exist at all.
 draw :: Draw a -> IO ()
 draw d = do
     GL.clear [GL.ColorBuffer]
+    GL.texture GL.Texture2D GL.$= GL.Enabled
+    GL.blend GL.$= GL.Enabled
+    GL.blendFunc GL.$= (GL.SrcAlpha, GL.OneMinusSrcAlpha)
     runDrawing d
 
 -- | Given a bounding box, lower left and upper right in the default coordinate
diff --git a/graphics-drawingcombinators.cabal b/graphics-drawingcombinators.cabal
--- a/graphics-drawingcombinators.cabal
+++ b/graphics-drawingcombinators.cabal
@@ -4,7 +4,7 @@
     have to go into the deep, dark world of imperative stateful
     programming just to draw stuff.  It supports 2D only (for now),
     with support drawing geometry, images, and text.
-Version: 0.3
+Version: 0.4
 Stability: experimental
 Synopsis: A functional interface to 2D drawing in OpenGL
 License: BSD3
