Git Product home page Git Product logo

visor's Introduction

Visor

A game capture system, along with a social media platform dedicated to sharing videogame clips.

Building

VCPKG

Install the following packages:

  • ffmpeg[avresample,bzip2,core,ffmpeg,ffplay,ffprobe,ffserver,gpl,lzma,nonfree,opencl,openssl,version3,x264] (x86-windows, x64-windows)
  • x264 (x86-windows, x64-windows)
  • websocketpp (x86-windows, x64-windows)
  • protobuf (x86-windows, x64-windows)
  • boost-random (x86-windows, x64-windows)

About the project

Injection

Visor includes a custom DLL injector which will inject our library along with its dependencies into any valid graphics application.

In the future we would like to automate the process by periodically scanning the list of running processes and attempt to match the processes with a known list of valid game processes.

Overlay

Using our library, we're able to render an overlay over a graphics application to show the user notifications.

Visor injection PoC

Progress

  • 29/04/2020:
    • Add sending frames over WebSocket to encoder server for DirectX9. (way too slow, will need to reimplement video streaming over named pipes)
  • 28/04/2020:
    • Add basic font loading.
    • Improve notification appearance.
    • Add calculated vertical centering on notifications.
  • 27/04/2020:
    • Make hook installation wait for previous hooks to be installed.
    • Fix DX11 and DX12 compatibility issues.
    • Start work on encoder.
  • 26/04/2020:
    • Add notification stacking and animations.
  • 25/04/2020:
    • Migrate from PolyHook2 to MinHook.
    • Add OpenGL hooking.
    • Add image rendering on a per-graphics-API basis.
    • Add protocol buffers for communication.
  • 24/04/2020:
    • Add DX11 hooking.
  • 23/04/2020:
    • Add DLL injection.
    • Add DX9 hooking.

Supported graphics libraries

Visor will support the following graphics libraries:

  • DirectX9
  • DirectX10 (not yet implemented)
  • DirectX11
  • DirectX12 (not yet implemented)
  • OpenGL
  • Vulkan (upcoming)

Credits

The projects that made Visor possible:

  • MinHook
  • ImGui

The people that made Visor possible:

  • Francesco Compagnoni (frannyfx)
  • Nerius Ilmonas (Neriuzz)

visor's People

Contributors

frannyfx avatar neriuzz avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.