• Advertisement
Sign in to follow this  

GLSL Mega-shader Subdivision

This topic is 748 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts



Now I'm using ? single GLSL shader for all materials. It's about 900 lines of code, works slowly. There are no predefined materials/textures, user can construct any one in runtime. Also user can have any card. Thus many pieces of code are used seldom. For example the shader has a code for all 8 textures that can be combined with 16 photoshop blending modes, but in practice absolute most of materials have 2-3 textures (or less yet) combined with alpha masks only. Similar for lights


As I understand, to improve performance I need to generate ? set of shaders, each one without unused code. So my questions are:


- is such subdivision the main way to improve performance? Or modern GPU(s) are more tolerant to unused code?

- how many shaders can be built in runtime painless? In other words where is a limit when a new shader generating makes no sense and it's better to use "if(s)" ?


I realize my problem is very typical, so informative links are welcome.


Thank you

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement