D3D11 backend for egui library. Presumably for mods/cheats development

Related tags

GUI rust gui mod cheat egui
Overview

egui-d3d11

D3D11 backend for egui library. Presumably for mods/cheats development. Currently few features from egui are missing. WIP.

Implemented features

  • Text rendering
  • Mesh rendering
  • Mouse input
  • Keyboard input
  • Scroll support
  • Scissor rects clipping
  • State storage
  • Other image textures
  • Drag & Drop support

Example DLL

Example dll is contained in example-wnd folder. It uses either steam overlay hook or dxgi.

Contributions are welcome!

Feel free to make an issue or fork the repository if you would like to contribute to the project.

Example

You might also like...
a day-planner/calendar app based on egui
a day-planner/calendar app based on egui

Malakal Malakal is a day planner application. I crafted it because I was not able to find a comfortable calendar application for Linux. I myself have

Example showing how to use tokio and egui together.

Example using tokio with egui This example uses reqwest to send an HTTP request to httpbin. The parsed response contains an increment value (as provid

A tool for creating egui Visuals (themes).

egui-visuals-utility A tool for creating egui Visuals (themes). The code is rather messy and might crash but it seems to work. To load the theme use s

egui port to Car Thing (and maybe an alternative Car Thing UI?)
egui port to Car Thing (and maybe an alternative Car Thing UI?)

tt This project contains a port of egui to the Spotify Car Thing although in the future I also plan for it to contain a custom Car Thing UI. Technical

Create dynamic grid-based layouts for egui

egui_grid Create dynamic grid layouts for egui. Grids are flexible, easy to create, with behavior similar to egui_extra's strip creation. They're comp

Provides event handling for egui in SDL2 window applications.

egui-sdl2-event Provides event handling for egui when SDL2 is used as the windowing system. This crate does not perform any rendering, but it can be c

An interactive JSON tree visualiser for egui, with search and highlight functionality.
An interactive JSON tree visualiser for egui, with search and highlight functionality.

egui_json_tree An interactive JSON tree visualiser for egui, with search and highlight functionality. Usage use egui::{Color32}; use egui_json_tree::{

egui integration for ash (Vulkan).
egui integration for ash (Vulkan).

egui-ash egui integration for ash (Vulkan). This crate natively supports the multi-viewports feature added since version 0.24 of egui. You can use gpu

A Vulkan renderer for egui using Ash.
A Vulkan renderer for egui using Ash.

egui-ash-renderer A Vulkan renderer for egui using Ash. This is meant to add support for egui in your existing Vulkan/ash applications. Not a full efr

Comments
  • Crashes in resolutions above 1080p

    Crashes in resolutions above 1080p

    If I try and make an overlay with this it works fine if I never change my resolution to be above 1920x1080. I use 1440p for most, but it appears that any change to resolution crashes the game.

    It works just fine in 1080p, so I'd imagine something with the textures scaling, but I didn't get a chance to debug it that far yet.

    opened by hntd187 6
  • Helop

    Helop

    Hello, sorry if i am dumb but i can't get the example to work. maybe because the game is 32bit but i would really appreciate it if someone could help me. I hope this is the right place to ask for help

    opened by Alleexxi 4
  • How to compile to x86 for CSGO?

    How to compile to x86 for CSGO?

    CSGO is x86 and also is using d3d9. Any way to use this?

    EDIT: I used this command: ```cargo build --release --target i686-pc-windows-msvc --target-dir ../targetBut this just doesn't build:error[E0463]: can't find crate for core | = note: the i686-pc-windows-msvc target may not be installed = help: consider downloading the target with rustup target add i686-pc-windows-msvc

    error[E0463]: can't find crate for compiler_builtins

    For more information about this error, try rustc --explain E0463. error: could not compile cfg-if due to 2 previous errors warning: build failed, waiting for other jobs to finish... error[E0463]: can't find crate for core --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:192:1 | 192 | extern crate core as std; | ^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate | = note: the i686-pc-windows-msvc target may not be installed = help: consider downloading the target with rustup target add i686-pc-windows-msvc

    error: cannot find macro stringify in this scope --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:470:24 | 470 | f.debug_struct(stringify!(ScopeGuard)) | ^^^^^^^^^

    error: cannot find attribute derive in this scope --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:212:3 | 212 | #[derive(Debug)] | ^^^^^^

    error[E0433]: failed to resolve: use of undeclared type ManuallyDrop --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:319:20 | 319 | value: ManuallyDrop::new(v), | ^^^^^^^^^^^^ use of undeclared type ManuallyDrop

    error[E0433]: failed to resolve: use of undeclared type ManuallyDrop --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:320:21 | 320 | dropfn: ManuallyDrop::new(dropfn), | ^^^^^^^^^^^^ use of undeclared type ManuallyDrop

    error[E0433]: failed to resolve: use of undeclared crate or module ptr --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:352:25 | 352 | let value = ptr::read(&*guard.value); | ^^^ use of undeclared crate or module ptr

    error[E0433]: failed to resolve: use of undeclared crate or module ptr --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:357:27 | 357 | let _dropfn = ptr::read(&*guard.dropfn); | ^^^ use of undeclared crate or module ptr

    error[E0433]: failed to resolve: use of undeclared crate or module mem --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:358:13 | 358 | mem::forget(guard); | ^^^ use of undeclared crate or module mem

    error[E0433]: failed to resolve: use of undeclared crate or module ptr --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:456:14 | 456 | (ptr::read(&*self.value), ptr::read(&*self.dropfn)) | ^^^ use of undeclared crate or module ptr

    error[E0433]: failed to resolve: use of undeclared crate or module ptr --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:456:39 | 456 | (ptr::read(&*self.value), ptr::read(&*self.dropfn)) | ^^^ use of undeclared crate or module ptr

    error[E0433]: failed to resolve: use of undeclared crate or module fmt --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:464:15 | 464 | impl<T, F, S> fmt::Debug for ScopeGuard<T, F, S> | ^^^ use of undeclared crate or module fmt

    error[E0433]: failed to resolve: use of undeclared crate or module fmt --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:465:14 | 465 | where T: fmt::Debug, | ^^^ use of undeclared crate or module fmt

    error[E0433]: failed to resolve: use of undeclared crate or module fmt --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:469:27 | 469 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { | ^^^ use of undeclared crate or module fmt

    error[E0433]: failed to resolve: use of undeclared crate or module fmt --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:469:46 | 469 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { | ^^^ use of undeclared crate or module fmt

    error[E0405]: cannot find trait FnOnce in this scope --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:299:14 | 299 | where F: FnOnce(T), | ^^^^^^ not found in this scope

    error[E0412]: cannot find type ManuallyDrop in this scope --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:302:12 | 302 | value: ManuallyDrop, | ^^^^^^^^^^^^ not found in this scope

    error[E0412]: cannot find type ManuallyDrop in this scope --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:303:13 | 303 | dropfn: ManuallyDrop, | ^^^^^^^^^^^^ not found in this scope

    error[E0412]: cannot find type PhantomData in this scope --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:305:15 | 305 | strategy: PhantomData<fn(S) -> S>, | ^^^^^^^^^^^ not found in this scope

    error[E0405]: cannot find trait FnOnce in this scope --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:309:14 | 309 | where F: FnOnce(T), | ^^^^^^ not found in this scope

    error[E0425]: cannot find value PhantomData in this scope --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:321:23 | 321 | strategy: PhantomData, | ^^^^^^^^^^^ not found in this scope

    error[E0405]: cannot find trait FnOnce in this scope --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:368:14 | 368 | where F: FnOnce(T) | ^^^^^^ not found in this scope

    error[E0405]: cannot find trait Sync in this scope --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:422:22 | 422 | unsafe impl<T, F, S> Sync for ScopeGuard<T, F, S> | ^^^^ not found in this scope

    error[E0405]: cannot find trait Sync in this scope --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:423:14 | 423 | where T: Sync, | ^^^^ not found in this scope

    error[E0405]: cannot find trait FnOnce in this scope --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:424:14 | 424 | F: FnOnce(T), | ^^^^^^ not found in this scope

    error[E0405]: cannot find trait Deref in this scope --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:428:15 | 428 | impl<T, F, S> Deref for ScopeGuard<T, F, S> | ^^^^^ not found in this scope

    error[E0405]: cannot find trait FnOnce in this scope --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:429:14 | 429 | where F: FnOnce(T), | ^^^^^^ not found in this scope

    error[E0405]: cannot find trait DerefMut in this scope --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:439:15 | 439 | impl<T, F, S> DerefMut for ScopeGuard<T, F, S> | ^^^^^^^^ not found in this scope

    error[E0405]: cannot find trait FnOnce in this scope --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:440:14 | 440 | where F: FnOnce(T), | ^^^^^^ not found in this scope

    error[E0405]: cannot find trait Drop in this scope --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:448:15 | 448 | impl<T, F, S> Drop for ScopeGuard<T, F, S> | ^^^^ not found in this scope

    error[E0405]: cannot find trait FnOnce in this scope --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:449:14 | 449 | where F: FnOnce(T), | ^^^^^^ not found in this scope

    error[E0405]: cannot find trait FnOnce in this scope --> C:\Users\gerar.cargo\registry\src\github.com-1ecc6299db9ec823\scopeguard-1.1.0\src\lib.rs:466:14 | 466 | F: FnOnce(T), | ^^^^^^ not found in this scope```

    opened by L1ghtingBolt 2
Owner
sy1ntexx
sy1ntexx
Egui node graph is a featureful, customizable library to create node graph applications using egui

Egui node graph is a featureful, customizable library to create node graph applications using egui. The library takes care of presenting a node graph to your users, and allows customizing many aspects of the interaction, creating the semantics you want for your specific application.

null 367 Jan 8, 2023
A presentation about egui, implemented in egui

egui presentation A presentation about egui, implemented in egui. You can view the presentation at https://emilk.github.io/egui_presentation/. TODO Li

Emil Ernerfeldt 9 Aug 24, 2023
FLTK frontend for Egui WGPU backend.

Egui FLTK Frontend FLTK Frontend for Egui WGPU Backend On linux Debian/Ubuntu, make sure to install the latest main requirements: sudo apt-get update

Adia Robbie 5 Oct 25, 2022
egui backend for D3D9.

egui-d3d9 egui backend for D3D9. Primarily intended for source games like CS:GO and GMod. It's not perfect by far, but it'll do. This is a rewrite of

unknowntrojan 6 Dec 25, 2022
This project attempts to allow the creation of reusable egui-themes

egui stylist Note this project is considered to be experimental and -- while used in personal projects -- may have API breaking changes without warnin

Jacobsky 22 Dec 1, 2022
A simple GUI version of the pH calibration tool written in egui, based on the eframe template.

caliphui A simple GUI version of the pH calibration tool written in egui, based on the eframe template. Usage Native binaries are provided under relea

Peter Dunne 0 Dec 29, 2021
egui: an easy-to-use immediate mode GUI in pure Rust

?? egui: an easy-to-use GUI in pure Rust egui is a simple, fast, and highly portable immediate mode GUI library for Rust. egui runs on the web, native

Emil Ernerfeldt 12.6k Jan 3, 2023
Egui bindings for macroquad

egui bindings for macroquad This is the easiest way to use egui. Just two functions! Web demo. Usage You need to call ui when you need to get informat

ilya sheprut 54 Dec 28, 2022
Egui bindings for miniquad

egui bindings for miniquad native On Linux you first must run apt install libx11-dev libxi-dev libgl1-mesa-dev (miniquad dependencies). cargo run --re

Fedor Logachev 48 Dec 28, 2022
Render egui with skia!

Skia backend for egui This is a drawing backend for egui that uses skia-safe. Usage Have a look at the metal or cpu examples to get started. Run the e

null 14 Dec 19, 2022