{
  "name": "@exercise/buffer-interleaved",
  "version": "1.0.0",
  "main": "server.js",
  "dependencies": {},
  "scripts": {
    "start": "node server.js"
  },
  "readme": "# Exercise\n\nFor this exercise, you will set up attribute pointers for a slightly more complicated buffer.  Here we are going to implement part of an image morphing algorithm.  The shader and data for the morph here have all been provided for you, but it is up to you to configure the vertex attribute pointers.\n\nSpecifically, there are two attributes here, which we will call `start` and `end` at locations `0` and `1` respectively.  Both of these attributes are of type `vec2` and stored in the buffer as floating point numbers.  That is, the memory for the buffer looks like this:\n\n```javascript\n[\n  startx0, starty0, endx0, endy0, // vertex 0\n  startx1, starty1, endx1, endy1, // vertex 1\n  startx2, starty2, endx2, endy2, // vertex 2\n  ...\n]\n```\n\nYou should set up attribute pointers for this buffer.\n\n# Info and hints\n\nHere's the `gl.vertexAttribPointer` method signature for your reference:\n\n`gl.vertexAttribPointer(location, size, type, normalized, stride, offset)`\n\nRemember `stride` and `offset` must be given in bytes.\n",
  "readmeFilename": "README.md",
  "description": "For this exercise, you will set up attribute pointers for a slightly more complicated buffer.  Here we are going to implement part of an image morphing algorithm.  The shader and data for the morph here have all been provided for you, but it is up to you to configure the vertex attribute pointers.",
  "_id": "@exercise/buffer-interleaved@1.0.0",
  "_shasum": "42d67281f773642ce78fe40a549c972ed9c90a57",
  "_from": "exercises/buffer-interleaved",
  "_resolved": "file:exercises/buffer-interleaved"
}
