0ad/binaries/data/mods/mod/art/materials/material.rng
Vladislav Belov f781181899
Adds sRGB support for proper lighting
Currently we're incorrectly using sRGB colors as raw inputs for lighting
instead of conversion to linear space. For proper PBR we need linear
values.
2026-07-29 01:29:09 +02:00

87 lines
2.4 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<element name="material" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<interleave>
<zeroOrMore>
<element name="alternative">
<interleave>
<attribute name="material"/>
<optional>
<attribute name="quality">
<data type="decimal">
<param name="minInclusive">0</param>
</data>
</attribute>
</optional>
<optional>
<attribute name="if"/>
</optional>
</interleave>
</element>
</zeroOrMore>
<optional>
<element name="alpha_blending">
<!-- flag; true if present -->
<empty/>
</element>
</optional>
<oneOrMore>
<element name="shader">
<attribute name="effect"/>
<attribute name="pass">
<choice>
<value>main</value>
<value>shadow_caster</value>
<value>silhouette_occluder</value>
<value>silhouette_caster</value>
<value>wireframe</value>
<value>wireframe_solid</value>
<value>reflections</value>
<value>refractions</value>
</choice>
</attribute>
</element>
</oneOrMore>
<zeroOrMore>
<element name="define">
<attribute name="name"/>
<attribute name="value"/>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="uniform">
<attribute name="name"/>
<attribute name="value">
<list>
<!-- X Y Z W -->
<data type="float"/>
<optional>
<data type="float"/>
</optional>
<optional>
<data type="float"/>
</optional>
<optional>
<data type="float"/>
</optional>
</list>
</attribute>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="renderquery">
<attribute name="name"/>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="required_texture">
<attribute name="name"/>
<optional>
<attribute name="define"/>
</optional>
<optional>
<attribute name="srgb"/>
</optional>
</element>
</zeroOrMore>
</interleave>
</element>