devendrn / newb-x-mcbe

A custom vanilla RenderDragon shader for Minecraft Bedrock
https://devendrn.github.io/newb-shader
MIT License
99 stars 52 forks source link
mcpe minecraft-shader

Newb X Legacy

Newb X Legacy is a RenderDragon successor to the legacy GLSL shader, Newb Shader. It is an enhanced vanilla shader that focuses on being lightweight and having soft aesthetics. It supports Minecraft Bedrock 1.21+ (Windows/Android/iOS).

[!WARNING] This is an experimental repository, breaking changes are made often.


Screenshots


Downloads

v15 stable (For 1.20.73 or older)
v15 beta (For 1.20.80 or newer)

Nightly builds for Android (ESSL), Windows (DX), and iOS (Metal) can also be found at the Discord server.


Installation

[!NOTE] Shaders are not officially supported on Minecraft Bedrock. The following are unofficial ways to load shaders.

Android

  1. Install Patched Minecraft App
  2. Import the resource pack and activate it in global resources.

Windows

  1. Use BetterRenderDragon to enable MaterialBinLoader.
  2. Import the resource pack and activate it in global resources.

Linux / Mac

This method is for mcpelauncher-manifest.

x86_64 arch
  1. Install mcpelauncher-materialbinloader-mod.
  2. Import the resource pack and activate it in global resources.
    x86_64, x86, arm64, arm arch
  3. Download mcpelauncher-shadersmod.
  4. Follow this guide to setup.


Building

Install dependencies

Get source code

git clone https://github.com/devendrn/newb-x-mcbe/
cd newb-x-mcbe

Install dependencies from requirements.txt

Skip if you already have installed those versions.

python -m pip install -r requirements.txt

Setup build environment

[!NOTE] On Windows, run .\build.bat instead of ./build.sh for all following commands.

./build.sh setup

This will download shaderc binary and material data required to build shader.


Compile specific shader materials

./build.sh mats

Compiled material.bin files will be inside build/<platform>/

Command usage:

usage: build mats [-h] [-p {android,windows,merged,ios}] [-m M [M ...]] [-s S]

options:
  -h, --help            show this help message and exit
  -p {android,windows,merged,ios}
                        build profile
  -m M [M ...]          build materials (eg: Sky)
  -s S                  subpack config to use (eg: NO_WAVE)

Compile and build full shader pack

./build.sh pack

The final mcpack will be inside build/

Command usage:

usage: build pack [-h] [-p {android,windows,merged,ios}] [--no-zip] [--no-label] [-v V]

options:
  -h, --help            show this help message and exit
  -p {android,windows,merged,ios}
                        build profile
  --no-zip              don't make archive
  --no-label            don't label materials
  -v V                  version number eg: 46

[!TIP] If you want to customize pack name, author, version and other details, you can do so in src/newb/pack_config.toml.


Development

Clangd can be used to get code completion and error checks for source files inside include/newb. Fake bgfx header and clangd config are provided for the same.