# How to have different colors/textures on bottom and top side of a Plane?

**URL:** <https://discourse.threejs.org/t/how-to-have-different-colors-textures-on-bottom-and-top-side-of-a-plane/12644>\
**Category:** Questions\
**Tags:** geometry\
**Created:** [February 10, 2020, 5:05pm UTC](https://discourse.threejs.org/t/how-to-have-different-colors-textures-on-bottom-and-top-side-of-a-plane/12644 "2020-02-10T17:05:51Z")\
**Posts on this page:** 1\
**Showing post:** 5

<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:** [February 10, 2020, 6:37pm UTC](https://discourse.threejs.org/t/how-to-have-different-colors-textures-on-bottom-and-top-side-of-a-plane/12644/5 "2020-02-10T18:37:44Z")

</div>

Another option is to use `.onBeforeCompile()` to modify shaders of built-in materials, using `gl_FrontFacing`, `THREE.DoubleSide` and a buffer attribute for the additional set of UV coordinates for back faces of `THREE.PlaneBufferGeometry()`.

https://codepen.io/prisoner849/embed/preview/OJVVpZO?height=300&slug-hash=OJVVpZO&default-tabs=js,result&host=https://codepen.io

![изображение](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/2X/1/1ab5b84760043e1f69db4e73578b3f549709c25f.png)

---

_[View the full topic](https://discourse.threejs.org/t/how-to-have-different-colors-textures-on-bottom-and-top-side-of-a-plane/12644)._
