Git Product home page Git Product logo

nrhi's Introduction

NRHI

NCoder's Learning Aimed C++ Render Hardware Interface Library.


Features

  • Flexible, optimized and supports multiple drivers (drivers mean low-level graphics APIs like DirectX 11, DirectX 12, OpenGL, Vulkan,...):
    • Compile-time abstraction for single driver
    • Run-time abstraction for multiple drivers
    • Quick cross-driver implementation for enums and functions
    • ...
  • Supported drivers:
    • DirectX 11
    • DirectX 12
  • Shading languages:
    • HLSL
    • NSL (NCoder's shading language)
      • HLSL 4
      • HLSL 5
      • HLSL 5.1

alt text

Core Dependencies


Future-Compatible Drivers

  • Vulkan
  • Metal
  • OpenGL/OpenGLES

Supported Platforms

  • Windows

Future-Compatible Platforms

  • MacOS
  • Android
  • IOS

Supported IDEs and Text Editors (for scripts)

  • Visual Studio
  • Xcode
  • CLion
  • Visual Studio Code

Building

  • Visual Studio 2022 (Windows):
    • Step 1: Clone NRHI git repository from GitHub
    • Step 2: Generate Visual Studio 2022 solution by running scripts/generate_vs2022.bat
    • Step 3: Navigate to build/vs2022
    • Step 4: Open nrhi.sln
    • Step 5: Set nrhi.samples.hello_nrhi as startup project
    • Step 6: Run and enjoy!
  • Xcode (MacOS):
    • Step 1: Clone NRHI git repository from GitHub
    • Step 2: Generate Xcode solution by running scripts/generate_xcode.sh
    • Step 3: Navigate to build/xcode
    • Step 4: Open nrhi.xcodeproj
    • Step 5: Choose nrhi.samples.hello_nrhi for current scheme
    • Step 6: Run and enjoy!
  • CLion (Windows, MacOS, Linux):
    • Step 1: Clone NRHI git repository from GitHub
    • Step 2: Open CLion by running one of these scripts based on your environment (you may need to use chmod +x command first on Linux and MacOS for execute permission):
      • Windows
        • scripts/python_open_clion.bat
        • scripts/python3_open_clion.bat
      • MacOS, Linux:
        • scripts/python_open_clion.sh
        • scripts/python3_open_clion.sh
    • Step 3: At On Project Wizard, click "OK" (if you dont see it, dont worry, go to the next step).
    • Step 4: Run and enjoy!
  • Unix makefiles:
    • Step 1: Clone NRHI git repository from GitHub
    • Step 2: Generate makefiles by running scripts/generate_unix_makefiles.sh
    • Step 3: execute scripts/build_unix_makefiles.sh to build project
    • Step 4: Navigate to build/unix_makefiles/nrhi/samples/hello_nrhi
    • Step 5: Run "nrhi.samples.hello_nrhi" and enjoy!

License

nrhi's People

Contributors

n-c0d3r avatar

Stargazers

ck avatar

Watchers

 avatar

Forkers

lonerangery

nrhi's Issues

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.