Page MenuHome

glsl display issues
Closed, ArchivedPublic

Description

Although I'm not sure if this is a bug with Blender or maybe it's just a gpu thing but I have been having display issues with glsl since 2.63. I'm not sure why glsl works at times [see fig.A] and other times the object turns all black (pink when selected). All I did was change my viewport for a second.

My computer is an Acer Aspire 5040. The specs can be found here. http://support.acer.com/acerpanam/notebook/0000/Acer/Aspire5040/Aspire5040sp2.shtml

Event Timeline

Just to let you know that the blend file uses a normal map, so naturally the display is in texture mode with glsl is enabled. Whenever it first loads it looks fine but soon as I change the view port or go into edit mode the object turns black.

Are there any errors in the console, when you open Help > Toggle System Console?

So far I haven't found any problems in the console. I will keep you posted if an error occurs. As for the Parallax_Silhouette model, glsl shading looks normal in edit mode but for some reason whenever I switch to another layout the display defaulted to solid shading [figB]. Switching it back to texture mode and the model displays correctly, well most of the time it does. However GLSL appears to be hit and miss. It depends on which model is loaded. Take for example the monkey object [figC & figD]. Glsl is not displaying correctly. I checked the normals to be sure they were facing outward and they are. I don't know. Maybe it's just a problem with ATI drivers.

Please note that I have included the SSS-monkey file, just in case. Thank you.

It might be that the GLSL shader is exceeding some sort of GPU limit, older GPU's have a maximum number of instructions for shaders. The GLSL shader has become a bit more complex by supporting color management, which might have pushed it past the limit. The monkey object shader is definitely a quite complex node setup, so it would make sense if that exceeds the limit.

This is a bit hidden, but when you switch the render engine to Blender Game, then in the Scene properties Shading panel, you can toggle on/off which material features are used by GLSL. Toggling off some of those might make it work, if that's the case it's probably a GPU limit that you're seeing.

The texture limit (the limit per shader) is easily exceeded in newer versions. Every lamp that casts shadow consumes at least one sampler for anything inside the scene, color ramps need one additional per color ramp and so on. Even in very simple scenes i exceeded my sampler limit on my old card (maximum 8 samplers per shader). My newer cards allow 16 or 32 sampler. But even then i can reach this limit quite quickly.

In short: The GLSL shader is a beast. It consumes way to much resources, and is way to fat, even for new hardware, since it is, unluckily, not well written.

Well, it tries to emulate blender internal, which is not really optimized to run on GPU's. Typically for games a fixed number of textures and lamps is used, with a hand optimized shader, and maybe using deferred rendering. Since this is autogenerated, optimization is harder.

Anyway, the system could be rewritten or get a different spec, but that's far outside the scope of bug reports.

Brecht Van Lommel (brecht) changed the task status from Unknown Status to Archived.Dec 13 2012, 3:00 PM

Hey thanks for the help guys. I know that the Radeon X-200m series is not exactly the best gpu for gaming. Glad to know that it's not a Blender issue.
By the way I love what you guys have done with Blender so far. You guys are awesome. Keep up the great work. Thanks!!!