Initial alpha model support

This commit is contained in:
Jarrod Doyle 2024-09-01 13:51:05 +01:00
parent 91060ad5be
commit fcf0c6a503
Signed by: Jayrude
GPG Key ID: 38B57B16E7C0ADF7
4 changed files with 7 additions and 3 deletions

View File

@ -284,7 +284,8 @@ public partial class Mission : Node3D
{ {
var overrideMat = new StandardMaterial3D var overrideMat = new StandardMaterial3D
{ {
AlbedoTexture = TextureLoader.LoadTexture(path) AlbedoTexture = TextureLoader.LoadTexture(path),
Transparency = BaseMaterial3D.TransparencyEnum.AlphaDepthPrePass,
}; };
var surfaceCount = model.Mesh.GetSurfaceCount(); var surfaceCount = model.Mesh.GetSurfaceCount();

View File

@ -65,7 +65,8 @@ public class ModelLoader
var mat = new StandardMaterial3D var mat = new StandardMaterial3D
{ {
AlbedoTexture = TextureLoader.LoadTexture(path) AlbedoTexture = TextureLoader.LoadTexture(path),
Transparency = BaseMaterial3D.TransparencyEnum.AlphaDepthPrePass,
}; };
var name = material.Name.ToLower(); var name = material.Name.ToLower();
for (var i = 0; i < 4; i++) for (var i = 0; i < 4; i++)

View File

@ -6,6 +6,7 @@ namespace KeepersCompound.TMV;
public partial class TextureLoader public partial class TextureLoader
{ {
// TODO: Replace this with my own implementation lol // TODO: Replace this with my own implementation lol
// TODO: Alpha!?
// References: // References:
// - https://www.w3.org/Graphics/GIF/spec-gif89a.txt // - https://www.w3.org/Graphics/GIF/spec-gif89a.txt
private static ImageTexture LoadGif(string path) private static ImageTexture LoadGif(string path)

View File

@ -38,7 +38,8 @@ public partial class TextureLoader
var r = reader.ReadByte() / 255.0f; var r = reader.ReadByte() / 255.0f;
var g = reader.ReadByte() / 255.0f; var g = reader.ReadByte() / 255.0f;
var b = reader.ReadByte() / 255.0f; var b = reader.ReadByte() / 255.0f;
palette[i] = new Color(r, g, b); var a = (i == 0) ? 0.0f : 1.0f;
palette[i] = new Color(r, g, b, a);
} }
} }