Skip to content
This repository has been archived by the owner on Nov 13, 2017. It is now read-only.
/ GzRNM Public archive

Open Source version of GzRNM: A shader package that brings Radiosity Normal Mapping/Directional Light Mapping to Unity 3D!

Notifications You must be signed in to change notification settings

Geenz/GzRNM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 

Repository files navigation

Radiosity Normal Readme


This guide is intended to assist new users in using Radiosity Normal Maps and Compressed Radiosity Normal Maps within Unity3D.


Within the Snow Cat Solutions folder in your project's hierarchy, there is a folder called RNM Basis Maps.  Each texture corresponds to a given "basis" for which RNMs should be generated.  These textures are only to be used with your 3D application of choice to generate the appropriate RNMs.


Using the basis textures is simple enough; you simply supply the texture as a normal map using the primary UV of your mesh in your modeling application.  It's very important that the basis maps are applied to the primary UV of the mesh, not the secondary or lightmap UV.  Otherwise, you will not have the appropriate basis baked into your lightmaps.


The basis textures are named after the basis they represent in the shaders within Unity.  You can use the table below to determine which lightmaps should go where in the material within Unity.

| Basis Map      | Texture Spot
================================
| RNM Basis Map X| RNM X Component
| RNM Basis Map Y| RNM Y Component
| RNM Basis Map Z| RNM Z Component

So for example, if you're using an application like Modo, and you bake a lightmap with RNM Basis Map X, then the resulting lightmap should be used in the RNM X Component for the object's material.


These RNM shaders also include a new type of RNM called Compressed Radiosity Normal Maps.


Creating CRNMs are simple enough; you take the three RNM light maps that you have generated, and merge them into one lightmap.  You desaturate each lightmap, and merge them into a different color channel of the CRNM in your image editing application of choice.  You can refer to the table below to know which lightmap goes into which channel of the CRNM.

| Lightmap  | CRNM Color Channel
===============================
| Lightmap X| Red Channel
| Lightmap Y| Green Channel
| Lightmap Z| Blue Channel

The shaders also have support for valve's "Self-Shadowed Bump Maps".  These bump maps can either include self-shadowing, or simply be normal maps stored in an RNM basis.  The key advantages of using this is for better performance on iOS, and more believable visuals.  In order to generate the appropriate SSBumps, you need something like SSBump Generator (which can be find here http://ssbump-generator.yolasite.com/).  Please note: SSBumps are only supported under forward rendering.


3D Modeling package specific tutorials and documentation is coming soon!


Donating helps to continue development of the project.

Donate with PayPal.

About

Open Source version of GzRNM: A shader package that brings Radiosity Normal Mapping/Directional Light Mapping to Unity 3D!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages