DX9-Overlay-API
DX9-Overlay-API copied to clipboard
Not working for dx10 games
Man, I'm sorry for making this an issue but your dll is the one working for me except I need one for dx10 games too. I search and find for dx9 and dx11 only. Why nothing for dx10? What am I missing here? Thank you for your time.
I think that this is the right place to post feature requests ;)
Yes, I would also love it, but I'm not familiar with dx 10 and 11 development (not even with dx 9, or with Windows development in general). @nefarius forked this repository a while ago and this fork supports it. (https://github.com/nefarius/Indicium-Supra) However, I don't know how to use this project, but you can check it out anyway.
Note to self: improve/add documentation 😁
First of all: thanks @agrippa1994 for the initial effort. How to use it? Quick and lazy answer: have a look at the two demo projects included.
Somewhat longer answer: it's design as a core DLL which loads plugins which then do render whatever they want. You create a DLL which exposes certain symbols (e.g. for Present
function) which then get's called with the process' device pointers. I will add some doc, I promise 😄
It's really amazing that you can easily embed imgui, a lot of possibilities right there and a cool project @nefarius ! 👍 But it kinda seems like your library will target low-level users more than this one. It won't be able to replace this library because there is not an easy API like TextSetString(...)
or similar.
But I just had a quick look at your code, so correct me if i'm wrong 😉
@JohnnyCrazy thanks. As with a lot of my projects they once had a specific purpose when I started them. This purpose is currently fulfilled so I didn't invest in altering or creating a new "user-friendly" API. Yes, you can say it's low-level and I didn't intend it as a replacement. I'm always open for suggestions though since I'm far away from being perfect 🤣
Well, I gotta say, this looks really promising. But, I have no idea where to even start. The sample I found is for dx9 which I already have. A sample for dx10 would be great. I was able to compile the 3 dll's but I still have no idea what to even do with them. LOL
@mikeyhalla you were a tick too fast, I'm cleaning up and adding samples and documentation right as we speak 😁 Just gimme a few more minutes.
nice! thx :D
It's not that verbose because I lack the time but have a look here.
Thank you! I have been looking through it and doing what I can but I am C# coder and know pretty much nothing of C++. I am figuring things out but I just don't know what I'm doing. lol
What I was really hoping for was to compile your dll and just use that with my C# program but I am not sure what reference points to use. <---- not even great at C# especially pinvoke but have more experience with that than C++
Thanks again... :D
You can't reference a native DLL in C# the way you reference a managed assembly. Even if you could it won't do anything good here because the DLLs don't expose any functionality to a C# program.
The framework is designed as a low-level rendering helper, there - currently - is no way to simply call a method from a C# program and expect something to appear on the games screen like the original version does. One would have to implement all of @agrippa1994 s rendering functions for every DirectX version which wasn't my goal to begin with and would take a lot of time and knowledge. It's totally doable though.
Have a look at this function, this is basically where the magic happens.
INDICIUM_EXPORT Present(IID guid, LPVOID unknown, Direct3DVersion version)
This function gets called on every frame by the game, relayed to your plugin via the core DLL.
I'm afraid if you wanna profit from the library in its current stage you have to get down with C++ and the DirectX API.
Thank you @nefarius I got it working in a game now and you provided a way to render FPS already. :D So basically you already did it for me. lol
Good to know! Have fun!
Please forgive if I'm bothering. The sample does not seem to work for dx10 games. I can get it to work in dx9 no problem but anything higher is a no go.
Sample I'm using: https://github.com/nefarius/Indicium-Supra/tree/master/samples/Indicium-ImGui I'm trying, trust me :D
What DX10 game? I tested with Bioshock 2 where it's rendering fine.
hmmm, Assassin's Creed III and bioshock inifinite neither are working... I know I must be missing something (I'm nub) ahahah sorry, I am trying and getting it faster than I thought though.
You should find a log file generated at %TEMP%\Indicium-Supra.log
what does it say?
Oh and you did press F11, right? This I should document 😆
My setup: Visual Studio 2017 on Windows 10 x64. I followed your instructions to the letter in every README.md and all works perfectly except for a few DX10 Games that CAN be run in DX11 but I don't have hardware supported for anything higher than DX10. Its Nvidia 9800GT and its DX10 (not even 10.1 which may have something to do with it). I have it working great in all DX9 games.
Oh and you did press F11, right? This I should document 😆: LOL yeah, I found it in the code near the bottom. :D
You should find a log file generated at %TEMP%\Indicium-Supra.log what does it say?:
DX9 game Working says: Direct3D11 [Error]: Couldn't get handle to D3D11.dll Assassins Creed, being run in DX10 but has DX11 Support, Not working says: Direct3D11 [Error]: Couldn't create D3D11 device
https://pastebin.com/scQ8FrkP
Little side note: Maybe @nefarius could enable issues in his fork and you could continue your discussion there because it's kinda offtopic for this repo.
I apologize for the inconvenience and am open for having it done in my own repo if necessary which I can fix later on.
Thank you for your support guys! I moved the topic to: https://github.com/nefarius/Indicium-Supra/issues/1
Yeah sorry for the spam...
You're welcome. I just thought to build a (better) messaging system and high level API on the top of https://github.com/nefarius/Indicium-Supra as this fork supports all available DirectX backends (except 12 as I can see). This is just a thought but maybe I take a closer look at this approach as soon as I have time for that.
I thought about the same, I'm currently looking into OpenCV integration which looks very promising so far.
@agrippa1994 @mikeyhalla FYI I've just added DirectX 12 support to the core.
So, a high-level API for D3D11 (x64) is not going to happen?