Browse Source

Fix typos in buffer geometry article

Waj 6 years ago
parent
commit
c3c06f9379
1 changed files with 22 additions and 22 deletions
  1. 22 22
      threejs/lessons/threejs-custom-buffergeometry.md

+ 22 - 22
threejs/lessons/threejs-custom-buffergeometry.md

@@ -17,16 +17,16 @@ of the face.
 
 
 <div class="threejs_center"><img src="resources/threejs-geometry.svg" style="width: 700px"></div>
 <div class="threejs_center"><img src="resources/threejs-geometry.svg" style="width: 700px"></div>
 
 
-`BufferGeometry` on the other hand uses *named* `BufferAttribute`s
-Each `BufferAttribute` represents an array of one type of data, positions,
-normals, colors, uv, and togther the all the added `BufferAttribute`s represent
-*parallel arrays*  of all the data for each vertex.
+`BufferGeometry` on the other hand uses *named* `BufferAttribute`s.
+Each `BufferAttribute` represents an array of one type of data: positions,
+normals, colors, and uv. Togther, the added `BufferAttribute`s represent
+*parallel arrays* of all the data for each vertex.
 
 
 <div class="threejs_center"><img src="resources/threejs-attributes.svg" style="width: 700px"></div>
 <div class="threejs_center"><img src="resources/threejs-attributes.svg" style="width: 700px"></div>
 
 
-Above you can see we have 4 attributes, `position`, `normal`, `color`, `uv`.
+Above you can see we have 4 attributes: `position`, `normal`, `color`, `uv`.
 They represent *parallel arrays* which means that the Nth set of data in each
 They represent *parallel arrays* which means that the Nth set of data in each
-attribute belongs to the same vertex. Above the vertex at index = 4 is highlighted
+attribute belongs to the same vertex. The vertex at index = 4 is highlighted
 to show that the parallel data across all attributes defines one vertex.
 to show that the parallel data across all attributes defines one vertex.
 
 
 This brings up a point, here's a diagram of a cube with one corner highlighted.
 This brings up a point, here's a diagram of a cube with one corner highlighted.
@@ -44,7 +44,7 @@ That is where the extra memory and time comes from when using `Geometry`. Extra
 memory for all the `Vector3`s, `Vector2`s, `Face3`s and array objects and then
 memory for all the `Vector3`s, `Vector2`s, `Face3`s and array objects and then
 extra time to translate all of that data into parallel arrays in the form of
 extra time to translate all of that data into parallel arrays in the form of
 `BufferAttribute`s like above. Somtimes that makes using `Geometry` easier.
 `BufferAttribute`s like above. Somtimes that makes using `Geometry` easier.
-With `BufferGeometry` is up to us to supply the data already turned into this format.
+With `BufferGeometry` it is up to us to supply the data already turned into this format.
 
 
 As a simple example let's make a cube using `BufferGeometry`. A cube is interesting
 As a simple example let's make a cube using `BufferGeometry`. A cube is interesting
 because it appears to share vertices at the corners but really
 because it appears to share vertices at the corners but really
@@ -52,11 +52,11 @@ does not. For our example we'll list out all the vertices with all their data
 and then convert that data into parallel arrays and finally use those to make
 and then convert that data into parallel arrays and finally use those to make
 `BufferAttribute`s and add them to a `BufferGeometry`.
 `BufferAttribute`s and add them to a `BufferGeometry`.
 
 
-Starting with the texture coordinate example from [the previous article](threejs-custom-geometry.html) we've delete all the code related to setting up
+Starting with the texture coordinate example from [the previous article](threejs-custom-geometry.html) we've deleted all the code related to setting up
 a `Geometry`. Then we list all the data needed for the cube. Remember again
 a `Geometry`. Then we list all the data needed for the cube. Remember again
 that if a vertex has any unique parts it has to be a separate vertex. As such
 that if a vertex has any unique parts it has to be a separate vertex. As such
-to make a cube requires 36 vertex. 2 triangles per face, 3 vertices per triangle,
-6 faces = 36 vertices
+to make a cube requires 36 vertices. 2 triangles per face, 3 vertices per triangle,
+6 faces = 36 vertices.
 
 
 ```js
 ```js
 const vertices = [
 const vertices = [
@@ -124,7 +124,7 @@ for (const vertex of vertices) {
 }
 }
 ```
 ```
 
 
-Finally we can create a `BufferGeometry` and then a `BufferAttribute` for each array 
+Finally we can create a `BufferGeometry` and then a `BufferAttribute` for each array
 and add it to the `BufferGeometry`.
 and add it to the `BufferGeometry`.
 
 
 ```js
 ```js
@@ -151,8 +151,8 @@ name your attribute `color`.
 Above we created 3 JavaScript native arrays, `positions`, `normals` and `uvs`.
 Above we created 3 JavaScript native arrays, `positions`, `normals` and `uvs`.
 We then convert those into
 We then convert those into
 [TypedArrays](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray)
 [TypedArrays](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray)
-of type `Float32Array`. A `BufferAttribute` requires a typedarray not a native
-array. A `BufferAttribute` also requires you tell it how many components there
+of type `Float32Array`. A `BufferAttribute` requires a TypedArray not a native
+array. A `BufferAttribute` also requires you to tell it how many components there
 are per vertex. For the positions and normals we have 3 components per vertex,
 are per vertex. For the positions and normals we have 3 components per vertex,
 x, y, and z. For the UVs we have 2, u and v.
 x, y, and z. For the UVs we have 2, u and v.
 
 
@@ -160,8 +160,8 @@ x, y, and z. For the UVs we have 2, u and v.
 
 
 That's a lot of data. A small thing we can do is use indices to reference
 That's a lot of data. A small thing we can do is use indices to reference
 the vertices. Looking back at our cube data, each face is made from 2 triangles
 the vertices. Looking back at our cube data, each face is made from 2 triangles
-with 3 vertices each, 6 vertices total, but 2 of those vertices are exactly the same; 
-The same position, the same normal, and the same uv. 
+with 3 vertices each, 6 vertices total, but 2 of those vertices are exactly the same;
+The same position, the same normal, and the same uv.
 So, we can remove the matching vertices and then
 So, we can remove the matching vertices and then
 reference them by index. First we remove the matching vertices.
 reference them by index. First we remove the matching vertices.
 
 
@@ -266,12 +266,12 @@ is no way to share the vertices at the start and end of the cylinder since they
 require different UVs. Just a small thing to be aware of. The solution is
 require different UVs. Just a small thing to be aware of. The solution is
 to supply your own normals.
 to supply your own normals.
 
 
-We can also use [typedarrays](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) from the start instead of native JavaScript arrays.
-The disadvantage to typedarrays is you must specify their size up front. Of
+We can also use [TypedArrays](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) from the start instead of native JavaScript arrays.
+The disadvantage to TypedArrays is you must specify their size up front. Of
 course that's not that large of a burden but with native arrays we can just
 course that's not that large of a burden but with native arrays we can just
 `push` values onto them and look at what size they end up by checking their
 `push` values onto them and look at what size they end up by checking their
-`length` at the end. With typedarrays there is no push function so we need
-to do our own bookkeeping when adding values do them.
+`length` at the end. With TypedArrays there is no push function so we need
+to do our own bookkeeping when adding values to them.
 
 
 In this example knowing the length up front is pretty easy since we're using
 In this example knowing the length up front is pretty easy since we're using
 a big block of static data to start.
 a big block of static data to start.
@@ -328,7 +328,7 @@ geometry.setIndex([
 {{{example url="../threejs-custom-buffergeometry-cube-typedarrays.html"}}}
 {{{example url="../threejs-custom-buffergeometry-cube-typedarrays.html"}}}
 
 
 A good reason to use typedarrays is if you want to dynamically update any
 A good reason to use typedarrays is if you want to dynamically update any
-part of the vertices. 
+part of the vertices.
 
 
 I couldn't think of a really good example of dynamically updating the vertices
 I couldn't think of a really good example of dynamically updating the vertices
 so I decided to make a sphere and move each quad in and out from the center. Hopefully
 so I decided to make a sphere and move each quad in and out from the center. Hopefully
@@ -454,9 +454,9 @@ And we set `positionAttribute.needsUpdate` to tell THREE.js to use our changes.
 
 
 {{{example url="../threejs-custom-buffergeometry-dynamic.html"}}}
 {{{example url="../threejs-custom-buffergeometry-dynamic.html"}}}
 
 
-I hope these were useful example of how to use `BufferGeometry` directly to
+I hope these were useful examples of how to use `BufferGeometry` directly to
 make your own geometry and how to dynamically update the contents of a
 make your own geometry and how to dynamically update the contents of a
-`BufferAttribute`. Which you use, `Geometry` or `BufferGeometry` really
+`BufferAttribute`. Which you use, `Geometry` or `BufferGeometry`, really
 depends on your needs.
 depends on your needs.
 
 
 <canvas id="c"></canvas>
 <canvas id="c"></canvas>