- [Why are my sound files not working?](#why-are-my-sound-files-not-working)
- [How do I setup a custom icon for my executable?](#how-do-i-setup-a-custom-icon-for-my-executable)
- [How I deal with UTF-16 strings?](#how-i-deal-with-utf-16-strings)
- [Why does `DrawMeshInstanced` not draw anything?](#why-does-drawmeshinstanced-not-draw-anything)
## Can I run raylib in my old PC?
@ -297,4 +298,125 @@ UnloadImage(icon);
## How I deal with UTF-16 strings?
raylib supports by default UTF-8 strings, actually, text drawing functions expect to receive UTF-8 strings as inputs but sometimes source text is provided as UTF-16. [Here is a handy conversion library](https://gist.github.com/gulrak/2eda01eacebdb308787b639fa30958b3).
raylib supports by default UTF-8 strings, actually, text drawing functions expect to receive UTF-8 strings as inputs but sometimes source text is provided as UTF-16. [Here is a handy conversion library](https://gist.github.com/gulrak/2eda01eacebdb308787b639fa30958b3).
## Why does `DrawMeshInstanced` not draw anything?
You are likely using the default material when calling the function. `DrawMeshInstanced` does not work with the default shader.
To create a vertex shader that would work with instancing, you must provide an input for the model transform matrix (the transform matrix for the instance) as a vertex attribute, and link its location to `SHADER_LOC_MATRIX_MODEL`. By default `SHADER_LOC_MATRIX_MODEL` binds as an uinform input in yout shader, you must use `GetShaderLocationAttrib` to bind to it as an attribute.
<details>
<summary>Vertex Shader Example</summary>
```glsl
#version 330
// Input vertex attributes
in vec3 vertexPosition; // vertex position relative to origin
in vec2 vertexTexCoord; // texture coord of vertex
in mat4 instanceTransform; // model transformation matrix