# How to use UVs in ShapeBufferGeometry?

**URL:** https://discourse.threejs.org/t/how-to-use-uvs-in-shapebuffergeometry/20711
**Category:** Questions
**Tags:** geometry, shaders
**Created:** [November 13, 2020, 7:56pm UTC](https://discourse.threejs.org/t/how-to-use-uvs-in-shapebuffergeometry/20711 "2020-11-13T19:56:51Z")
**Posts on this page:** 1
**Showing post:** 4

<div class="post-metadata">

### Author: ![prisoner849](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/prisoner849/32/535_2.png) [@prisoner849](https://discourse.threejs.org/u/prisoner849)
#### Post date: [November 14, 2020, 3:23pm UTC](https://discourse.threejs.org/t/how-to-use-uvs-in-shapebuffergeometry/20711/4 "2020-11-14T15:23:14Z")

</div>

The part, that you need, is here:

```javascript
var box = new THREE.Box3().setFromObject(mesh);
var size = new THREE.Vector3();
box.getSize(size);
var vec3 = new THREE.Vector3(); // temp vector
var attPos = mesh.geometry.attributes.position;
var attUv = mesh.geometry.attributes.uv;
for (let i = 0; i < attPos.count; i++){
	vec3.fromBufferAttribute(attPos, i);
	attUv.setXY(i,
  	(vec3.x - box.min.x) / size.x,
    (vec3.y - box.min.y) / size.y
  );
}

```

---

_[View the full topic](https://discourse.threejs.org/t/how-to-use-uvs-in-shapebuffergeometry/20711)._
