screenQuad :: Float -> PrimitiveStream Triangle (Vec3 (Vertex Float), Vec2 (Vertex Float))
screenQuad d = toGPUStream TriangleList $ zip vecs uvs                                         
  where
    vecs = [(-1):.(-1):.d:.(), 1:.1:.d:.(), (-1):.1:.d:.(), (-1):.(-1):.d:.(), 1:.(-1):.d:.(), 1:.1:.d:.()]  
    uvs = [0:.1:.(), 1:.0:.(), 0:.0:.(), 0:.1:.(), 1:.1:.(), 1:.0:.()]                                          
screenQuad :: Float -> PrimitiveStream Triangle (Vec3 (Vertex Float), Vec2 (Vertex Float))
screenQuad d = toGPUStream TriangleList $ zip vecs uvs                                         
  where
    vecs = [(-1):.(-1):.d:.(), 1:.1:.d:.(), (-1):.1:.d:.(), (-1):.(-1):.d:.(), 1:.(-1):.d:.(), 1:.1:.d:.()]  
    uvs = [0:.1:.(), 1:.0:.(), 0:.0:.(), 0:.1:.(), 1:.1:.(), 1:.0:.()]                                          
screenQuad d = toGPUStream TriangleList $ zip vecs uvs                                         
  where
    vecs = [(-1):.(-1):.d:.(), 1:.1:.d:.(), (-1):.1:.d:.(), (-1):.(-1):.d:.(), 1:.(-1):.d:.(), 1:.1:.d:.()]  
    uvs = [0:.1:.(), 1:.0:.(), 0:.0:.(), 0:.1:.(), 1:.1:.(), 1:.0:.()]                                          