private void PrepareState_Texture_3D(GpuStateStruct* GpuState)
{
var TextureMappingState = &GpuState->TextureMappingState;
var TextureState = &TextureMappingState->TextureState;
if (TextureMappingState->Enabled)
{
TextureMatrix = Matrix4f.Identity;
switch (TextureMappingState->TextureMapMode)
{
case TextureMapMode.GU_TEXTURE_COORDS:
TextureMatrix = TextureMatrix
.Translate(TextureState->OffsetU, TextureState->OffsetV, 0)
.Scale(TextureState->ScaleU, TextureState->ScaleV, 1)
;
break;
case TextureMapMode.GU_TEXTURE_MATRIX:
switch (GpuState->TextureMappingState.TextureProjectionMapMode)
{
default:
Console.Error.WriteLine("NotImplemented: GU_TEXTURE_MATRIX: {0}", GpuState->TextureMappingState.TextureProjectionMapMode);
break;
}
break;
case TextureMapMode.GU_ENVIRONMENT_MAP:
Console.Error.WriteLine("NotImplemented: GU_ENVIRONMENT_MAP");
break;
default:
Console.Error.WriteLine("NotImplemented TextureMappingState->TextureMapMode: " + TextureMappingState->TextureMapMode);
break;
}
}
}