Skip to content

Latest commit

 

History

History
106 lines (67 loc) · 5.98 KB

File metadata and controls

106 lines (67 loc) · 5.98 KB
description
Overview and introduction

🔮 Textures, Materials and Shaders

This is the landing page for materials in Cyberpunk 2077. It contains a definition and a rough overview.

{% hint style="info" %} Check the section's sub pages in the wiki's navigation tree for more detailed information about the different kinds of materials. Additional material-related information can be found here: {% endhint %}

General information

Multilayered

Hands-on:

Definition: Shader

In its original state, a 3d-objects-.mesh-files is a collection of vertices (pixels). The space between those vertices is filled by faces, which form the 3d object's surface.

The shader is the thing that goes on top of the surface, rendering a material such as glass, skin, concrete, steel…

{% hint style="info" %} Without a shader, objects would be invisible in the game, the surface simply being transparent. In Cyberpunk, a default shader will be assigned in such cases (such as debug_coloring.mt). {% endhint %}

In Cyberpunk 2077, REDEngine shaders are implemented as .mt/.remt files.

How can I use shaders?

If you have ever messed with an item's materials, then you already have.

To use a shader, you create a Material Instance, where you can configure the parameters.
Not every parameter of a shader can be configured: since skin always has subsurface scattering, it makes no sense to tweak this. But since skin color already varies dramatically if you don't throw exotic chrome into the mix, you can change them easily via tint.

Definition: Material

{% hint style="info" %} For details how materials are used on a mesh, see the 3d-objects-.mesh-files, or learn how materials can be defined in a mesh via #materialinstance-the-local-material or loaded externally from {% endhint %}

In the context of Cyberpunk, a material is the thing that lets the shader define the surface properties of a 3d-objects-.mesh-files. Typically, you create a local instance, which will then pull in a shader via baseMaterial.

The property baseMaterial can point at a .mt / .remt file directly, or to an intermediary .mi file:

The .mi file

{% hint style="info" %} Each part of a mesh (submesh) can have a different material assigned.

Do you want to know more? ( =>#chunkmaterials) {% endhint %}

{% hint style="success" %} For a hands-on guide and something to play around/experiment with, check textured-items-and-cyberpunk-materials.md. {% endhint %}

What kinds of material exist?

Textured

If you have modded other games, you're used to PBR materials with a bunch of textures like diffuse, normal, metalness etc.

See cheat-sheet-materials.md -> #pbr-material for a list.

{% hint style="success" %} To change a textured material, see changing-materials-colors-and-textures.md -> #step-2-finding-the-correct-appearance {% endhint %}

{% hint style="info" %} Did you know? You can make Cyberpunk's default textured material glow. {% endhint %}

Multilayered

This is specific to Cyberpunk, and it is incredibly cool. If you're used to textured materials, you're probably going to hate it at first, but it has incredible versatility and re-usability.

{% hint style="success" %}

Decal

A decal material is applied to a decal (sub)mesh, which is located on the surface of another mesh like a sticker.

Emissive

There are various kinds of emissive materials. See cheat-sheet-materials.md -> #emissive-materials for a list.