Advertisement

Is there any way to force wireframe mode in games from the driver? (nVidia)

Started by August 01, 2011 06:14 PM
8 comments, last by japro 13 years, 3 months ago
The topic says it all. As best I understand this feature was available for a short while, but was pulled by nVidia due to negative feedback from the community. Is anyone aware of a way to override this regardless? Quite simply I'd like to force it to analyze geometry in games - a single-keypress toggle option would be wonderful.
Still curious about this - what's the best option? Don't tell me no one's wanted to do this until now...
Advertisement
Yea It is unfortunate, but what geometry are you wanting to look at? How they are doing trees/grass? Characters? It's probably not going to help you that much. You can always in game go up to objects and walk around to see their silhouettes and judge fairly well the geometry.

NBA2K, Madden, Maneater, Killing Floor, Sims

If you want to go the hard way, you can create a hook to capture the d3d calls - that way you should be also able to set wireframe mode instead of solid fill mode.

Don't ask me how to do it since I never tried it. Google direct3d and hook. You should find some pointers how to do it.

Best regards.
Indeed, hooking driver calls is the only way to tap into the driver itself; however, I'm guessing there are already utilities out there that do it reliably. Currently I'm most interested in examining Fallout 3 in more detail - it's hard to tell on the highest setting where the line between geometry and textures runs, especially since there's constantly a lot of streaming going on.

Indeed, hooking driver calls is the only way to tap into the driver itself; however, I'm guessing there are already utilities out there that do it reliably. Currently I'm most interested in examining Fallout 3 in more detail - it's hard to tell on the highest setting where the line between geometry and textures runs, especially since there's constantly a lot of streaming going on.


Correct me if I am wrong, but I think it is more like question of hooking Direct3D calls. So practically you are able to catch (or implement your own version of) those SetRenderState or [font=Consolas, Courier, monospace][size=2]RSSetState [/font]calls (etc) and you are able to modify the states before being passed to the API.

Bet regards!
Advertisement
There's no general way to do it in a driver, because in any modern game/engine turning on wireframe fill mode for all draw calls will give you a black screen (due to deferred rendering, full screen effects, and other intermediate passes). It would have to be be built into the engine, or the driver would need to have specific knowledge of how the game structures its draw calls. Hacking it in yourself through a driver hook would be very difficult, since you would have absolutely no context to the API calls you receive and thus would have to make educated guesses as to where to change the fill mode.

Instead you might want to try just running the game in PIX. There's an API call that allows a game to disable PIX analysis and I would assume most games use it, but if they don't then you could inspect each individual draw call and see the number of triangles or the wireframe view of the mesh.
Why not simply use GECK (Fallout 3's map editor), it has a wireframe mode when editing the cells. That way you can examine everything including spawn points, nav maps etc...

******************************************************************************************
Youtube Channel

Thanks for the replies, guys! I was more hoping to be able to see LOD and the loading process in action in-game, but I'll definitely check out the editor for a more generic overview. I'll also look into PIX (as I'm not sure what it is yet :) ) when I get home!
Didn't drivers offer that for some time but it was then removed because it allowed undetectable ways to cheat (it's basically a maphack for FPS games)?

This topic is closed to new replies.

Advertisement