All Projects → null511 → PixelGraph

null511 / PixelGraph

Licence: GPL-3.0 License
An application for publishing Minecraft resource packs; specifically designed for use with Optifine and PBR textures.

Programming Languages

C#
18002 projects
HLSL
714 projects

Projects that are alternatives of or similar to PixelGraph

autoplay
Gradle plugin for publishing Android artifacts to Google Play.
Stars: ✭ 204 (+786.96%)
Mutual labels:  publish
Nabla
OpenGL/OpenGL ES/Vulkan/CUDA/OptiX Modular Rendering Framework for PC/Linux/Android
Stars: ✭ 235 (+921.74%)
Mutual labels:  pbr
pbrtbook
pbrt 中文整合翻译 基于物理的渲染:从理论到实现 Physically Based Rendering: From Theory To Implementation
Stars: ✭ 221 (+860.87%)
Mutual labels:  pbr
smallpt
☀️ The Rosetta smallpt (small path tracing) project
Stars: ✭ 68 (+195.65%)
Mutual labels:  pbr
RayTracing
Realtime GPU Path tracer based on OpenCL and OpenGL
Stars: ✭ 120 (+421.74%)
Mutual labels:  pbr
engine
An easy-to-use, cross-platform, graphics render library written entirely in rust
Stars: ✭ 26 (+13.04%)
Mutual labels:  pbr
Vanilla-Raytraced
Official repository of Vanilla Raytraced resources pack.
Stars: ✭ 25 (+8.7%)
Mutual labels:  pbr
apple-news
A Node.js client for interacting with the Apple News API 📰
Stars: ✭ 34 (+47.83%)
Mutual labels:  publish
cc0-textures
Torrent downloads of free, CC0 licensed, PBR textures
Stars: ✭ 54 (+134.78%)
Mutual labels:  pbr
ci-publish
Poor man's semantic release utility. Let the CI do the `npm publish` step after the build passes
Stars: ✭ 30 (+30.43%)
Mutual labels:  publish
jcenter-config
Painlessly publish your library/project to jcenter() with these simple scripts.
Stars: ✭ 13 (-43.48%)
Mutual labels:  publish
limitless-engine
OpenGL C++ Graphics Engine
Stars: ✭ 95 (+313.04%)
Mutual labels:  pbr
BRDFGenerator
BRDF LUT generation for PBR Pipelines
Stars: ✭ 97 (+321.74%)
Mutual labels:  pbr
redcube
JS renderer based on GLTF to WebGPU or WebGL backends.
Stars: ✭ 86 (+273.91%)
Mutual labels:  pbr
Github-Release-Action
Publish Github releases in an action
Stars: ✭ 100 (+334.78%)
Mutual labels:  publish
publish
Publish your module with one command in Deno.
Stars: ✭ 16 (-30.43%)
Mutual labels:  publish
taichi pt
progressive path tracer written in taichi
Stars: ✭ 20 (-13.04%)
Mutual labels:  pbr
mkdocs obsidian template
The template for mkdocs-obsidian
Stars: ✭ 26 (+13.04%)
Mutual labels:  publish
tokonoma
Graphics related projects/prototypes/playground (Vulkan, C++17)
Stars: ✭ 23 (+0%)
Mutual labels:  pbr
ngx-deploy-docker
Deploy your Angular Application to a Docker registry directly from the Angular CLI! 🚀
Stars: ✭ 14 (-39.13%)
Mutual labels:  publish

  PixelGraph  Actions Status

PixelGraph is an application for publishing Minecraft resource packs, specially tooled for PBR materials. It allows you to work in a "raw" texture space and automates publishing to one or more encodings, rather than trying to directly encode your textures as design-time. Yaml configuration files can also be used to apply final adjustments to your compiled textures. A cross-platform command-line version is also available, allowing you to completely automating your publishing process from your remote content repository.

User Interface

  • Simplify your workflow by adjusting text instead of pixels. Getting image-based material values just right can be tedious, time consuming, and destructive.

  • Preserve Quality by adjusting material values through text rather than altering the original image data. Repeatedly scaling the integer-based channels of your image slowly destroys quality. Save the gradients!

  • Support more users by publishing multiple packs with varying quality. The resolution and included textures can be altered using either the command-line or Publishing Profiles to create multiple distributions.

  • Automate Normal & AO generation, resizing, and channel-swapping so that you can spend more time designing and less time repeating yourself.

PBR Workflow

Normal-Map Generation

Allows normal-map textures to be created from height-maps as needed during publishing, or by prerendering them beforehand. Strength, blur, and wrapping can be managed using the textures matching pbr-properties file.

Normal-Map from Height-Map

Occlusion-Map Generation

Allows ambient-occlusion textures to be created from height-maps as needed during publishing, or by prerendering them beforehand. Quality, Z-scale, step-count, and wrapping can be managed using the materials properties.

Occlusion-Map from Height-Map

Installation

For manual installation, download the latest standalone executable from the Releases page. For automated usage see Docker Usage. Visit the wiki for more information.

Manual Usage

A single Pack-Input file lives in the root of the workspace (~/input.yml) which specifies the default formatting of all content. The example below uses a 'raw' encoding which manages each channel in a different texture; The 'height' channel has been set to inverted.

# ~/input.yml
format: raw
height:
  invert: true

One or more Pack-Profiles are used to describe a publishing routine; they also live in the project root and should match the naming convention ~/<name>.pack.yml. Each profile can specify pack details, encoding, format, resizing, etc; this allows a single set of content to be published for multiple resolutions and encodings, ie pbr-lab1.3-64x or default-128x

# ~/pbr-lab13-x64.yml
output:
  format: default
texture-scale: 0.5

Material files are used to desribe a collection of textures that compose a single game "item". For more details, see the Wiki.

# ~/assets/minecraft/textures/block/lantern.pbr.yml
smooth:
  scale: 1.2
metal:
  scale: 0.8
emissive:
  scale: 0.2

Sample Repository

Oversized - A high-resolution texture pack made primarily using stock textures and CTM.

Textureless - A low-resolution pack using solid colors, material values, and alpha-masking to provide a smooth visual base for shader testing. Also good for toon/outline style.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Support

Ask about PixelGraph in the ShaderLabs Discord under #pixelgraph.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].