OldSchoolHack

Register / Login English

Renderer unabhängig von Fenstern verwenden

icon Thread: [Help] Renderer unabhängig von Fenstern verwenden

Join Date: Aug 2007

Posts: 8643

User-Rating:

199 positive
33 negative
Natürlich ist es möglich. Wenn du zum Beispiel mit D3D zeichnest, dann könnte es so aussehen:

CPP Code:
  1. long Hook_EndScene(IDirect3DDevice9 *device)
  2. {
  3. using namespace OSHGui::Drawing;
  4.  
  5. static auto initOnce = true;
  6. if (initOnce)
  7. {
  8. initOnce = false;
  9.  
  10. auto form = SetupGui(std::make_unique<Direct3D9ExRenderer>(device)); //initialisiert Application und erstellt die Form
  11. }
  12.  
  13. auto &renderer = Application::Instance().GetRenderer(); //Renderer holen
  14. renderer.BeginRendering();
  15.  
  16. auto geometry = renderer.CreateGeometryBuffer();
  17. {
  18. Graphics g(*geometry);
  19.  
  20. /*hier ESP mit der Graphics Klasse zeichnen
  21. for (player)
  22. {
  23. g.DrawString
  24. g.DrawLine
  25. g.FillRectangle
  26. ...
  27. }*/
  28. }
  29. auto &renderTarget = renderer.GetDefaultRenderTarget();
  30. renderTarget->Activate();
  31. renderTarget->Draw(*geometry); //hier wird der ESP dann letztendlich gezeichnet
  32. renderTarget->Deactivate();
  33.  
  34. Application::Instance().Render(); //GUI zeichnen
  35.  
  36. renderer.EndRendering();
  37.  
  38. return pEndScene(device);
  39. }

Wenn man nicht mit einem der Renderer zeichnen kann, die schon beim GUI dabei sind, wirds natürlich ein bissel komplizierter. Im OSHFusion habe ich dazu Renderer geschrieben, die mit der Unreal Engine und der Quake Engine zeichnen können, weil ich dann den gleichen ESP Code für alle Spiele benutzen kann.
Allgemein sollte das aber kein Problem sein, da man in dem Fall einfach das GUI in D3D zeichnet und den ESP in der Engine-Zeichen Funktion.

__________________

Hallo