Graphics

Everything about ToME 4.x.x. No spoilers, please

Moderator: Moderator

Message
Author
marcusfarcus
Posts: 4
Joined: Wed Apr 08, 2015 12:21 am

Graphics

#1 Post by marcusfarcus »

Hello fellow dungeon crawlers.

I have recently been having a problem with the graphics for ToME. I have all of the graphics options turned on, but my friend who also recently bought the game seems to have many more effects in his version that my doesn't (example: Arcane Blade fire hands has an effect, stone skin has an effect, etc.). I have the game updated to 1.3.1, and recently re installed it. I'm running it on windows 7, and he's on windows 8. I imagine this might have something to do with it, so maybe I should have put this question in the dumb questions sub. But maybe my OS isn't the problem! Anyone have any sage wisdom?

Danton
Halfling
Posts: 95
Joined: Tue May 21, 2013 4:45 am

Re: Graphics

#2 Post by Danton »

Try fiddling with the shader options.

marcusfarcus
Posts: 4
Joined: Wed Apr 08, 2015 12:21 am

Re: Graphics

#3 Post by marcusfarcus »

Ahh I'll try that. I noticed another thing however- he seems to have additional options in the video and gameplay menus. Anyone know whats up?

mikekchar
Halfling
Posts: 95
Joined: Fri Nov 21, 2014 3:55 am

Re: Graphics

#4 Post by mikekchar »

I'm going to guess that it is the graphics driver that is the problem. You might try to see if there are newer/better drivers for your graphics card. Also if you say what graphics card you are using, it might help people tell you whether or not you will be able to fix the problem.

If you don't mind me slightly hijacking the thread, I have a very similar question. I have several Linux systems. Most use various Intel graphics cards and one is a Radion HD6950 using the open source driver. Similar to the OP's problem, I get none of the graphics effects that appear to be shader effects (damage shield is just white rather than patterned, fireballs are just dots, etc, etc). Are there *any* cards/drivers capable of rendering all the graphics on Linux? I had a quick look at the logs and there are no error messages. I'm going to start poking around in the code to see what I can do (I assume nothing). Are there any debugging tips? (I should probably ask this in the development section...) I do not own Windows, so I don't know what the hardware does using the Windows drivers.

marcusfarcus
Posts: 4
Joined: Wed Apr 08, 2015 12:21 am

Re: Graphics

#5 Post by marcusfarcus »

I'm using a laptop 1gb GeForce GT540m. I'm updating my drivers as we speak so fingers crossed...

HousePet
Perspiring Physicist
Posts: 6215
Joined: Sun Sep 09, 2012 7:43 am

Re: Graphics

#6 Post by HousePet »

This game uses OpenGL hardware rendering for the shaders. If you don't have OpenGL capabilities up to about version 2 you will likely need to disable some of the shader options until things are acceptable.
My feedback meter decays into coding. Give me feedback and I make mods.

mikekchar
Halfling
Posts: 95
Joined: Fri Nov 21, 2014 3:55 am

Re: Graphics

#7 Post by mikekchar »

Performance on my machine is fine. It's just that effects are missing, even with all the shader options turned on. glxinfo tells me the OpenGL version is 3.0 (which is a bit surprising to me because I thought my driver is capable of 3.1, or possibly 3.2). What version of GLSL is needed? From what little I understand from glxinfo, I *think* I'm only getting version 1.3, which may be the problem.

mikekchar
Halfling
Posts: 95
Joined: Fri Nov 21, 2014 3:55 am

Re: Graphics

#8 Post by mikekchar »

Took a quick look at the source code and then a closer look at my logs. Here are the shaders that are loaded:

Code: Select all

[SHADER] Loaded shader with totalname	main_fbo[]
[SHADER] Loaded shader with totalname	main_fbo/wobbling[]
[SHADER] Loaded shader with totalname	main_fbo/underwater[]
[SHADER] Loaded shader with totalname	main_fbo/motionblur[]
[SHADER] Loaded shader with totalname	main_fbo/blur[]
[SHADER] Loaded shader with totalname	main_fbo/timestop[]
[SHADER] Loaded shader with totalname	main_fbo/line_grids[]
[SHADER] Loaded shader with totalname	main_fbo/gestures[]
[SHADER] Loaded shader with totalname	full_fbo[]
[SHADER] Loaded shader with totalname	target_fbo[]
[SHADER] Loaded shader with totalname	textoutline[]
[SHADER] Loaded shader with totalname	objectsoutline[]
[SHADER] Loaded shader with totalname	tree[]
And if I guess what these are, indeed all of these effects work. There are no errors listed in my log and all of the shaders that it attempts to load, load fine.

All of the videos I've seen with the effects that I don't have were the Steam version of the application. Is it possible that the Steam version has more effects than the version downloaded from the site? I wanted to check if there were more shaders in game, but I couldn't quite figure out where to look (I guess in one of the team files -- not quite sure how to extract it).

I'm at the point now where I think this is either a bug or an intentional non-feature. Should I submit a bug report?

marcusfarcus
Posts: 4
Joined: Wed Apr 08, 2015 12:21 am

Re: Graphics

#9 Post by marcusfarcus »

I purchased the game on steam and dont have the extra effects. How can you tell what version of OpenGL you have?

HousePet
Perspiring Physicist
Posts: 6215
Joined: Sun Sep 09, 2012 7:43 am

Re: Graphics

#10 Post by HousePet »

I've found this tool to be quite good: http://www.realtech-vr.com/glview/
I've heard from DarkGod that some video cards/drivers lie about their capabilities and I wouldn't be surprised if they just give single number which is the highest version component they can do. (and not mention they are missing lower version components)
This tool checks for each component individually and gives a list of what you can and can't do.
My feedback meter decays into coding. Give me feedback and I make mods.

mikekchar
Halfling
Posts: 95
Joined: Fri Nov 21, 2014 3:55 am

Re: Graphics

#11 Post by mikekchar »

To verify I installed the steam version and indeed I do not get the extra effects.

If you are in Linux you can use the glxinfo command on the command line. It will give you more information than you will want ;-) If you search you will notice what version of OpenGL it is offering. HousePet's suggestion looks good for other OSs.

The thing that confuses me is that looking at the source code (shaders.h), I get the impression that if it tries to load the shaders and it fails it will log an error message. I don't see any error messages.

Unfortunately I don't have any more time to debug today. I will try again on the weekend to see if I can figure out what is going on. This is why I love free software! Thanks Dark God :-)

mikekchar
Halfling
Posts: 95
Joined: Fri Nov 21, 2014 3:55 am

Re: Graphics

#12 Post by mikekchar »

Well, I have bad news (for me anyway). I debugged it a bit further and now understand the problem. At least for me, the reason is that my driver does not seem to support GL_EXT_gpu_shader4. This is *supposed* to be OpenGL 2.0, but even though my driver pretends to be 3.0, it doesn't seem to support this. I even commented out the check to see if it would work and while it loads the png for the effect, the effect definitely does not work ;-)

Basically, this means that none of the particle effects will work (which is the vast majority of the effects in the game). I'm going to see if I can work around it somehow, but I am not optimistic.

Oh well, it was fun poking through the code :-)

Mordy
Archmage
Posts: 300
Joined: Tue Feb 10, 2015 1:41 pm

Re: Graphics

#13 Post by Mordy »

GL_EXT_gpu_shader4 remains an extension so it doesn't have to be implemented in your OpenGL driver.

If I remember well, the equivalent functionnality became core in OpenGL 3.2 too so having a 3.0 driver does not guarantee you have access to this specific feature.

Can you get an OpenGL 3.2 version of your GPU drivers? If not it might well be that your card just doesn't support this required feature :p

mikekchar
Halfling
Posts: 95
Joined: Fri Nov 21, 2014 3:55 am

Re: Graphics

#14 Post by mikekchar »

Thank you for the reply! Yes, I think you are exactly right. I'm very new to OpenGL (in other words, this is the first time I have looked at it ;-) ), so I couldn't understand what was going on until you posted :-) I'm going to have a look around at the development versions of the drivers to see if they will help.

@marcusfarcus: Did upgrading the drivers help? searching around the internet leads me to believe that it should support OpenGL 4.0 which should be enough.

The reason I ask is because the code is explicitly looking for GL_EXT_gpu_shader4, so I wonder if it will only work if you have the extension (as opposed to the core functionality).

Mordy
Archmage
Posts: 300
Joined: Tue Feb 10, 2015 1:41 pm

Re: Graphics

#15 Post by Mordy »

Your card should definitively support that extension. Which means either there's some driver problem or something else.

This card is a laptop one. Are you on a multi GPU laptop? This might cause problems if Tome is using the other cheaper card to start.

Post Reply