public void SetPickingColor(IPickable pickable, ShaderProgram shader) { var color = new Vector4( ((pickingIndex >> 16) & 0xFF), ((pickingIndex >> 8) & 0xFF), (pickingIndex & 0xFF), ((pickingIndex++ >> 24) & 0xFF) ); color = new Vector4(color.X, color.Y, color.Z, color.W); var key = BitConverter.ToUInt32(new byte[] { (byte)color.X, (byte)color.Y, (byte)color.Z, (byte)color.W }, 0); ColorPassIDs.Add(key, pickable); var input = color / 255.0f; shader.SetVector4("color", input); }