Initial alpha model support
This commit is contained in:
parent
91060ad5be
commit
fcf0c6a503
|
@ -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();
|
||||||
|
|
|
@ -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++)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue