Что происходит, когда вы делите на 0 в шейдере?

Известно, что ветвление особенно затратно с точки зрения вычислений в шейдере OpenGL ES. В таком шейдере я проверяю, является ли значение нулевым перед делением на него, например:

if(value == 0.0)
    other_value = 0.0;
else
    other_value = 1.0 / value;

Чтобы ускорить процесс, я хотел бы избежать этого if , выполняя напрямую:

other_value = 1.0 / value;

Интересно, что произошло, если значение оказалось равным 0, что немного редко в моем лечении, поэтому проверить его нетривиально. Вылетает шейдер? Вылетает ли приложение?

10
задан Stéphane Péchard 27 April 2011 в 14:24
поделиться