Скорость функций cos () и sin () в шейдерах GLSL?
Меня интересует информация о скоростиsin()
а такжеcos()
вOpen GL Shader Language.
GLSL Технический документ указывает на то, что:
The built-in functions basically fall into three categories:
... ... They represent an operation graphics hardware is likely to accelerate at some point. The trigonometry functions fall into this category.EDIT:
Как было указано, подсчет тактов отдельных операций, таких какsin()
а такжеcos()
на самом деле не рассказывает всю историю исполнения.
Таким образом, чтобы прояснить мой вопрос, что меня действительно интересует, так это то, стоит ли оптимизироватьsin()
а такжеcos()
призывает к общим случаям.
Например, в моем приложении это будет очень распространенным аргументом для0
, Так что-то вроде этого имеет смысл:
<code>float sina, cosa; if ( rotation == 0 ) { sina = 0; cosa = 1; } else { sina = sin( rotation ); cosa = cos( rotation ); } </code>
Или будетGLSL
компилятор илиsin()
а такжеcos()
реализации позаботятся о такой оптимизации для меня?