OpenHellion / OpenHellion/Client

Move to a new graphics backend

Open
#5 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C#
Stars
13
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Description

OpenHellion uses the built-in render pipeline to render the game. This pipeline has worked fine for the the years Hellion existed, but later improvements in rendering technology, such as GPU culling, efficient lights and better decals are not possible to implement on the old pipeline, and many features that are now basic have difficult and inefficient implementations, such as volumetric lightning and fog (are currently disabled because of crashes). In addition, the built-in pipeline is deprecated in Unity 6.5 and will be removed in Unity 6.7, and it is therefore important to migrate to the Universal Render Pipeline (URP).

This project currently use a library called Decalicious to render decals. Some years ago Unity introduced a native solution to render decals that is much better this decal library, but it requires URP to funtion.

The shaders that exist are currently decompiled scrabble that needs to be recreated from scratch. This migration is a great opportunity to fix broken shaders and make performance improvements.

Proposal

Migrate the client to the Universal Render pipeline, and make sure that all features that exist are carried over successfully. This requires requires remaking all of our shaders from scratch.

Fully replace Decalicious and other third-party libraries with native Unity features if possible.

Tasks

  • Figure out which shaders to keep and remove
  • Rewrite the kept shaders
  • Replace all references to Decalicious with Unity projectors

Remarks

High priority because of future deprecation and because of the URP has better implementations of disabled features.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Begin by locating the Unity render-pipeline configuration, existing shaders, and all Decalicious references, then inventory which shaders and features must be retained. Done means the client uses URP, retained shaders are recreated, and Decalicious references are replaced with Unity projectors where possible.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, unity
Domain
computer-graphics, game-dev
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.