Giter Club home page Giter Club logo

nvidiastreamline's Introduction

Streamline (SL) - Version 1.0.4

Streamline is an open-sourced cross-IHV solution that simplifies integration of the latest NVIDIA and other independent hardware vendors’ super resolution technologies into applications and games. This framework allows developers to easily implement one single integration and enable multiple super-resolution technologies and other graphics effects supported by the hardware vendor.

This repo contains the SDK for integrating Streamline into your application.

For a high level overview, see the NVIDIA Developer Streamline page

IMPORTANT: For important changes and bug fixes included in the current release, please see the Release Notes


Prerequisites

Hardware

  • GPU supporting DirectX 11

IMPORTANT: Current version of SDK does not support Vulkan properly, this is still work in progress

Windows

  • Install latest graphics driver
  • Install VS Code or VS2017/VS2019 with SDK 10.17763+
  • Install "git".
  • Clone your fork to a local hard drive, make sure to use a NTFS drive on Windows (SL uses symbolic links)
  • Execute ./setup.bat with {vs2017|vs2019} (vs2017 is default)

The make/solution files will be found in the generated _project directory.

(Optional) Compiling Shaders

Most users will not need to compile shaders as they are provided pre-compiled. If you need to compile HLSL shaders for your own plugin, you will need to place slang in the .\external\slang_internal folder and xxd in the .\tools folder. Then any *.hlsl files in the .\shaders folder will be compiled at build time.

Additionally, if you would like to recompile the shaders for the NIS plugin, you will need to have Python 3 installed and in the path.

Building

  • Execute ./build.bat with -{debug|release|production} (debug is default) or use VS IDE and load solution from the _project directory

IMPORTANT: Only use production builds (digitally signed by NVIDIA) when releasing your software otherwise SL plugins could be replaced with potentially malicious modules.

The build outputs can be found in the generated _artifacts folder. The default setting is to target x86_64 CPU architecture.

The default setting is to target x86_64 CPU architecture.

NOTE: To build the project minimal configuration is needed. Any version of Windows 10 will do. Then run the setup and build scripts as described here above. That's it. The specific version of Windows, NVIDIA driver, or Vulkan are all runtime dependencies, not compile/link time dependencies. This allows SL to build on stock virtual machines that require zero configuration. This is a beautiful thing, help us keep it that way.

Programming Guide

Please read ProgrammingGuide.md to learn about the integration in games.

Debugging

Please read Debugging.md to learn how to debug and troubleshoot issues.

Programming Guide - DLSS

Please read ProgrammingGuideDLSS.md to learn about DLSS specific integration in games.

Programming Guide - NRD

Please read ProgrammingGuideNRD.md to learn about NRD specific integration in games.

Programming Guide - Latency

Please read ProgrammingGuideLatency.md to learn about low-latency specific integration in games.

Programming Guide - NIS

Please read ProgrammingGuideNIS.md to learn about NIS specific integration in games.

Sample Plugin Source Code

A sample Streamline plugin source code is located here

Sample App and Source

A sample application using Streamline may be found in this git repo

nvidiastreamline's People

Contributors

larsbishop avatar nvthayes 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.