2025-09-26 10:57:15 -04:00
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
|
2025-09-26 13:06:18 -04:00
|
|
|
namespace SabreTools.Data.Models.BSP
|
2025-09-26 10:57:15 -04:00
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// The reflectivity vector corresponds to the RGB components of the reflectivity
|
|
|
|
|
/// of the texture, as derived from the material's .vtf file. This is probably
|
|
|
|
|
/// used in radiosity (lighting) calculations of what light bounces from the
|
|
|
|
|
/// texture's surface. The nameStringTableID is an index into the TexdataStringTable
|
|
|
|
|
/// array (below). The other members relate to the texture's source image.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <see href="https://developer.valvesoftware.com/wiki/BSP_(Source)"/>
|
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
|
|
|
public sealed class Texdata
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// RGB reflectivity
|
|
|
|
|
/// </summary>
|
2025-10-31 13:59:28 -04:00
|
|
|
public Vector3D Reflectivity = new();
|
2025-09-26 10:57:15 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Index into TexdataStringTable
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int NameStringTableID;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Source image
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int Width;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Source image
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int Height;
|
|
|
|
|
|
|
|
|
|
public int ViewWidth;
|
|
|
|
|
|
|
|
|
|
public int ViewHeight;
|
|
|
|
|
}
|
2025-10-30 21:21:56 -04:00
|
|
|
}
|