public void ShaderImportTest() { var shaderStore = new ShaderStore(null); { var shader = shaderStore.GetShader(null); Assert.AreEqual("Standard", shader.name); } { var shader = shaderStore.GetShader(new glTFMaterial { }); Assert.AreEqual("Standard", shader.name); } { var shader = shaderStore.GetShader(new glTFMaterial { alphaMode = "BLEND", extensions = new glTFMaterial_extensions { KHR_materials_unlit = new glTF_KHR_materials_unlit { } } }); Assert.AreEqual("Unlit/Transparent", shader.name); } { var shader = shaderStore.GetShader(new glTFMaterial { alphaMode = "MASK", extensions = new glTFMaterial_extensions { KHR_materials_unlit = new glTF_KHR_materials_unlit { } } }); Assert.AreEqual("Unlit/Transparent Cutout", shader.name); } { var shader = shaderStore.GetShader(new glTFMaterial { extensions = new glTFMaterial_extensions { KHR_materials_unlit = new glTF_KHR_materials_unlit { } } }); Assert.AreEqual("Unlit/Texture", shader.name); } }
public void glTF_KHR_materials_unlit_Test() { { var value = "{}".ParseAsJson(); Assert.AreEqual(value.Value.ValueType, ValueNodeType.Object); Assert.AreEqual(0, value.GetObjectCount()); var list = value.ObjectItems().ToArray(); Assert.AreEqual(0, list.Length); } { var value = "{\"unlit\":{}}".ParseAsJson(); Assert.AreEqual(value.Value.ValueType, ValueNodeType.Object); Assert.AreEqual(1, value.GetObjectCount()); var list = value.ObjectItems().ToArray(); Assert.AreEqual(1, list.Length); Assert.AreEqual("unlit", list[0].Key.GetString()); Assert.AreEqual(0, list[0].Value.GetObjectCount()); } { var extension = glTF_KHR_materials_unlit.Serialize().Deserialize(); var list = extension.ObjectItems().ToArray(); Assert.AreEqual(1, list.Length); Assert.AreEqual(glTF_KHR_materials_unlit.ExtensionNameUtf8, list[0].Key.GetUtf8String()); Assert.AreEqual(0, list[0].Value.GetObjectCount()); var material = new glTFMaterial { alphaMode = "OPAQUE", pbrMetallicRoughness = new glTFPbrMetallicRoughness { baseColorFactor = new float[] { 1, 0, 0, 1 }, }, extensions = extension, }; Assert.IsTrue(glTF_KHR_materials_unlit.IsEnable(material)); var shaderStore = new ShaderStore(null); var shader = shaderStore.GetShader(material); Assert.AreEqual("UniGLTF/UniUnlit", shader.name); } }
public void UnlitShaderImportTest() { var shaderStore = new ShaderStore(null); { // OPAQUE/Color var shader = shaderStore.GetShader(new glTFMaterial { alphaMode = "OPAQUE", pbrMetallicRoughness = new glTFPbrMetallicRoughness { baseColorFactor = new float[] { 1, 0, 0, 1 }, }, extensions = new glTFMaterial_extensions { KHR_materials_unlit = new glTF_KHR_materials_unlit { } } }); Assert.AreEqual("UniGLTF/UniUnlit", shader.name); } { // OPAQUE/Texture var shader = shaderStore.GetShader(new glTFMaterial { alphaMode = "OPAQUE", pbrMetallicRoughness = new glTFPbrMetallicRoughness { baseColorTexture = new glTFMaterialBaseColorTextureInfo(), }, extensions = new glTFMaterial_extensions { KHR_materials_unlit = new glTF_KHR_materials_unlit { } } }); Assert.AreEqual("UniGLTF/UniUnlit", shader.name); } { // OPAQUE/Color/Texture var shader = shaderStore.GetShader(new glTFMaterial { alphaMode = "OPAQUE", pbrMetallicRoughness = new glTFPbrMetallicRoughness { baseColorFactor = new float[] { 1, 0, 0, 1 }, baseColorTexture = new glTFMaterialBaseColorTextureInfo(), }, extensions = new glTFMaterial_extensions { KHR_materials_unlit = new glTF_KHR_materials_unlit { } } }); Assert.AreEqual("UniGLTF/UniUnlit", shader.name); } { // BLEND/Color var shader = shaderStore.GetShader(new glTFMaterial { alphaMode = "BLEND", pbrMetallicRoughness = new glTFPbrMetallicRoughness { baseColorFactor = new float[] { 1, 0, 0, 1 }, }, extensions = new glTFMaterial_extensions { KHR_materials_unlit = new glTF_KHR_materials_unlit { } } }); Assert.AreEqual("UniGLTF/UniUnlit", shader.name); } { // BLEND/Texture var shader = shaderStore.GetShader(new glTFMaterial { alphaMode = "BLEND", pbrMetallicRoughness = new glTFPbrMetallicRoughness { baseColorTexture = new glTFMaterialBaseColorTextureInfo(), }, extensions = new glTFMaterial_extensions { KHR_materials_unlit = new glTF_KHR_materials_unlit { } } }); Assert.AreEqual("UniGLTF/UniUnlit", shader.name); } { // BLEND/Color/Texture var shader = shaderStore.GetShader(new glTFMaterial { alphaMode = "BLEND", pbrMetallicRoughness = new glTFPbrMetallicRoughness { baseColorFactor = new float[] { 1, 0, 0, 1 }, baseColorTexture = new glTFMaterialBaseColorTextureInfo(), }, extensions = new glTFMaterial_extensions { KHR_materials_unlit = new glTF_KHR_materials_unlit { } } }); Assert.AreEqual("UniGLTF/UniUnlit", shader.name); } { // MASK/Texture var shader = shaderStore.GetShader(new glTFMaterial { alphaMode = "MASK", pbrMetallicRoughness = new glTFPbrMetallicRoughness { baseColorTexture = new glTFMaterialBaseColorTextureInfo(), }, extensions = new glTFMaterial_extensions { KHR_materials_unlit = new glTF_KHR_materials_unlit { } } }); Assert.AreEqual("UniGLTF/UniUnlit", shader.name); } { // MASK/Color/Texture var shader = shaderStore.GetShader(new glTFMaterial { alphaMode = "MASK", pbrMetallicRoughness = new glTFPbrMetallicRoughness { baseColorFactor = new float[] { 1, 0, 0, 1 }, baseColorTexture = new glTFMaterialBaseColorTextureInfo(), }, extensions = new glTFMaterial_extensions { KHR_materials_unlit = new glTF_KHR_materials_unlit { } } }); Assert.AreEqual("UniGLTF/UniUnlit", shader.name); } { // default var shader = shaderStore.GetShader(new glTFMaterial { extensions = new glTFMaterial_extensions { KHR_materials_unlit = new glTF_KHR_materials_unlit { } } }); Assert.AreEqual("UniGLTF/UniUnlit", shader.name); } }