Coder Social home page Coder Social logo

john-nagle / rend3-hp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bve-reborn/rend3

6.0 1.0 0.0 30.72 MB

Fork of Rend3 because Rend3 has moved to maintenance mode.

Home Page: https://rend3.rs

License: Apache License 2.0

Shell 0.41% Rust 91.86% WGSL 7.74%

rend3-hp's Introduction

rend3

GitHub Workflow Status Crates.io Documentation License Matrix Matrix Discord

Easy to use, customizable, efficient 3D renderer library built on wgpu.

Library is under active development. While internals are might change in the future, the external api remains stable, with only minor changes occuring as features are added.

Examples

Take a look at the examples for getting started with the api. The examples will show how the core library and helper crates can be used.

Screenshots

These screenshots are from the scene_viewer example.

scifi-base example bistro emerald-square

Crates

The rend3 ecosystem is composed of a couple core crates which provide most of the functionality and exensibility to the library, extension crates, and integration crates

Core

  • rend3: The core crate. Performs all handling of world data, provides the Renderer and RenderGraph and defines vocabulary types.
  • rend3-routine: Implementation of various "Render Routines" on top of the RenderGraph. Also provides for re-usable graphics work. Provides PBR rendering, Skyboxes, Shadow Rendering, and Tonemapping.

Extensions

There are extension crates that are not required, but provide pre-made bits of useful code that I would recommend using.

  • rend3-framework: Vastly simplifies correct handling of the window and surface across platforms.
  • rend3-gltf: Modular gltf file and scene loader.

Integration

Integration with other external libraries are also offered. Due to external dependencies, the versions of these may increase at a much higher rate than the rest of the ecosystem.

  • rend3-anim: Skeletal animation playback utilities. Currently tied to rend3-gltf.
  • rend3-egui: Integration with the egui immediate mode gui.

Purpose

rend3 tries to fulfill the following usecases:

  1. Games and visualizations that need a customizable, and efficient renderer.
  2. Projects that just want to put objects on screen, but want lighting and effects.
  3. A small cog in a big machine: a renderer that doesn't interfere with the rest of the program.

rend3 is not:

  1. A framework or engine. It does not include all the parts needed to make an advanced game or simulation nor care how you structure your program. If you want a very basic framework to deal with windowing and event loop management, rend3-framework can help you. This will always be optional and is just there to help with the limited set of cases it can help.

Future Plans

I have grand plans for this library. An overview can be found in the issue tracker under the enhancement label.

Matrix Chatroom

We have a matrix chatroom that you can come and join if you want to chat about using rend3 or developing it:

Matrix Matrix

If discord is more your style, our meta project has a channel which mirrors the matrix rooms:

Discord

Helping Out

We welcome all contributions and ideas. If you want to participate or have ideas for this library, we'd love to hear them!

License: MIT OR Apache-2.0 OR Zlib

rend3-hp's People

Contributors

cwfitzgerald avatar setzer22 avatar dependabot-preview[bot] avatar dependabot[bot] avatar mindswipe avatar dasifefe avatar scoopr avatar john-nagle avatar noxime avatar cedric-h avatar catcode79 avatar marceline-cramer avatar ratmice avatar detrimentalist avatar liamcs98 avatar svermeulen avatar sparkypotato avatar rustynixietube avatar zarik5 avatar optimisticpeach avatar mavethgh avatar pillowtrucker avatar veykril avatar kpreid avatar jamen avatar issew avatar garyttierney avatar elabajaba avatar aryaveersr avatar albinsjoegren avatar

Stargazers

Joshua Rowe avatar  avatar Artemy Fedotov avatar Tristan Pemble avatar  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.