I have heard many times that if statements in shaders slow down the gpu massively. But I also heard that texture samples are very expensive.

Which one is more endurable? Which one is less impactful?

I am asking, because I need to decide on if I should multiply a value by 0, or put an if statement.

  • Rie@mastodon.gamedev.place
    link
    fedilink
    arrow-up
    5
    ·
    7 hours ago

    @Smorty Link doesn’t load for me and I don’t know the answer in general, but one thing I can say is that _sometimes_ if statements aren’t an issue at all, which is when the condition evaluates to the same thing for all pixels/fragments. E.g. an “if sin(TIME) < 0.0” costs you almost nothing, whereas “if COLOR.r > 0.5” causes execution to branch and slows you down. But I can’t say how that case compares to a texture lookup, I assume it depends on many thing