Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/evergineteam/renderdoc.net
This repository contains low-level bindings for RenderDoc used in Evergine.
https://github.com/evergineteam/renderdoc.net
csharp dotnet dotnet-core netstandard renderdoc waveengine
Last synced: about 20 hours ago
JSON representation
This repository contains low-level bindings for RenderDoc used in Evergine.
- Host: GitHub
- URL: https://github.com/evergineteam/renderdoc.net
- Owner: EvergineTeam
- License: mit
- Created: 2020-07-25T08:34:26.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-09-16T14:48:29.000Z (2 months ago)
- Last Synced: 2024-09-17T16:36:13.509Z (2 months ago)
- Topics: csharp, dotnet, dotnet-core, netstandard, renderdoc, waveengine
- Language: C#
- Homepage:
- Size: 369 KB
- Stars: 18
- Watchers: 15
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RenderDoc.NET
This repository contains low-level bindings for RenderDoc used in Evergine for .NET 8.0.
This binding is auto-generated from renderdoc api header: https://github.com/baldurk/renderdoc/blob/v1.x/renderdoc/api/app/renderdoc_app.hOfficial documentation: https://renderdoc.org/docs/in_application_api.html
[![CI](https://github.com/EvergineTeam/RenderDoc.NET/actions/workflows/CI.yml/badge.svg)](https://github.com/EvergineTeam/RenderDoc.NET/actions/workflows/CI.yml)
[![CD](https://github.com/EvergineTeam/RenderDoc.NET/actions/workflows/CD.yml/badge.svg)](https://github.com/EvergineTeam/RenderDoc.NET/actions/workflows/CD.yml)
[![Nuget](https://img.shields.io/nuget/v/Evergine.Bindings.RenderDoc?logo=nuget)](https://www.nuget.org/packages/Evergine.Bindings.RenderDoc)## Features
- RenderDoc 1.4.1
- Raw low level binding using unsafe c# code## Installation
### Visual Studio
#### NuGet Package Manager
Create a C# project and open the NuGet package manager, select the Browse tab, search for Evergine.Bindings.RenderDoc and install the package.
#### Or via the Package Manager Console
```
dotnet add package Evergine.Bindings.RenderDoc
```## Usage
- Make sure [RenderDoc](https://renderdoc.org/) is installed on your system.
- Include the `Evergine.Bindings.RenderDoc` namespace in your code:
```csharp
using Evergine.Bindings.RenderDoc;
```
- Load RenderDoc into your C# application before any rendering code happen, as early as possible:
```csharp
RenderDoc.Load(out RenderDoc renderDoc);
```
- If you have a window based application you will get a RenderDoc overlay on the top left corner of your window. You can take a RenderDoc screenshot by pressing F12 or PrtScrn.
![alt Capture0](RenderDocOverlay.png)
- Or if you do not have a window based application you can capture a frame by calling:
```csharp
renderDoc.API.StartFrameCapture(IntPtr device, IntPtr wndHandle);
... graphics code ...
renderDoc.API.EndFrameCapture(IntPtr device, IntPtr wndHandle);
```
- A RenderDoc capture file will be created in the default directory: `C:\Users\{user}\AppData\Local\Temp\RenderDoc`. You can double click that file and it will open in RenderDoc.
## Test Images![alt Capture1](Capture1.JPG)
![alt Capture0](Capture.JPG)## Related Work
- [Veldrid RenderDoc Binding](https://github.com/mellinoe/veldrid/tree/c44982e59b0a77a3e01ece926e9993dc72986b0d/src/Veldrid.RenderDoc)