What is a cheap shader? When first asked the question, it might be a little tough to answer, as there are many elements that go into making a more efficient shader. It could be the amount of memory used up by your variables. It could be the amount of textures the shader is using. It could also be that our shader is working fine, but we can actually produce the same visual effect with half the amount of data by reducing the amount of code we are using or data we are creating. We are going to explore a few of these techniques in this recipe and show how they can be combined to make your shader fast and efficient but still produce the high-quality visuals everyone expects from games today, whether on a mobile or PC.
![country flag](/images/countries/us.png)
![country flag](/images/countries/gb.png)
![country flag](/images/countries/india.png)
![country flag](/images/countries/germany.png)
![country flag](/images/countries/france.png)
![country flag](/images/countries/canada.png)
![country flag](/images/countries/russia.png)
![country flag](/images/countries/spain.png)
![country flag](/images/countries/brazil.png)
![country flag](/images/countries/australia.png)
![country flag](/images/countries/singapore.png)
![country flag](/images/countries/hungary.png)
![country flag](/images/countries/ukraine.png)
![country flag](/images/countries/lux.png)
![country flag](/images/countries/estonia.png)
![country flag](/images/countries/lithuania.png)
![country flag](/images/countries/southkorea.png)
![country flag](/images/countries/turkey.png)
![country flag](/images/countries/switzerland.png)
![country flag](/images/countries/colombia.png)
![country flag](/images/countries/taiwan.png)
![country flag](/images/countries/chile.png)
![country flag](/images/countries/norway.png)
![country flag](/images/countries/ecuador.png)
![country flag](/images/countries/indonesia.png)
![country flag](/images/countries/newzealand.png)
![country flag](/images/countries/cyprus.png)
![country flag](/images/countries/denmark.png)
![country flag](/images/countries/finland.png)
![country flag](/images/countries/poland.png)
![country flag](/images/countries/malta.png)
![country flag](/images/countries/czech.png)
![country flag](/images/countries/austria.png)
![country flag](/images/countries/sweden.png)
![country flag](/images/countries/italy.png)
![country flag](/images/countries/egypt.png)
![country flag](/images/countries/belgium.png)
![country flag](/images/countries/portugal.png)
![country flag](/images/countries/slovenia.png)
![country flag](/images/countries/ireland.png)
![country flag](/images/countries/romania.png)
![country flag](/images/countries/greece.png)
![country flag](/images/countries/argentina.png)
![country flag](/images/countries/netherlands.png)
![country flag](https://cdn.packtpub.com/flag/004da5c4-583f-4e69-a0a8-0e999f350f90_128px-Flag_of_Bulgaria.png)
![country flag](/images/countries/latvia.png)
![country flag](/images/countries/southafrica.png)
![country flag](/images/countries/malaysia.png)
![country flag](/images/countries/japan.png)
![country flag](/images/countries/slovakia.png)
![country flag](/images/countries/philippines.png)
![country flag](/images/countries/mexico.png)
![country flag](/images/countries/thailand.png)