protected override void ShowOutputConfigurationGUI(MaterialEditor matEditor) { ShaderGUIUtils.BeginHeader("Output Configuration"); { matEditor.ShaderProperty(zTest, Styles.zTest); matEditor.ShaderProperty(zWrite, Styles.zWrite); matEditor.ShaderProperty(colorWriteMask, Styles.colorWriteMask); matEditor.RenderQueueField(); } ShaderGUIUtils.EndHeader(); }
protected virtual void ShowOutputConfigurationGUI(MaterialEditor matEditor) { var mode = (BlendMode)blendMode.floatValue; if (mode == BlendMode.Advanced) { ShaderGUIUtils.BeginHeader("Output Configuration"); { matEditor.ShaderProperty(cullMode, Styles.cullMode); matEditor.ShaderProperty(zTest, Styles.zTest); matEditor.ShaderProperty(zWrite, Styles.zWrite); matEditor.ShaderProperty(colorWriteMask, Styles.colorWriteMask); } ShaderGUIUtils.EndHeader(); } }
protected virtual void ShowMainGUI(MaterialEditor matEditor) { ShowBlendModeGUI(matEditor); var mode = (BlendMode)blendMode.floatValue; var mat = matEditor.target as Material; ShaderGUIUtils.BeginHeader("Base Texture and Color"); { matEditor.ShaderProperty(vertexColorEnabled, Styles.vertexColorEnabled); CustomMaterialEditor.TextureWithToggleableColorAutoScaleOffsetSingleLine(matEditor, Styles.main, mainTexture, mainColorEnabled, mainColor, textureScaleAndOffset); matEditor.TexturePropertySingleLine(Styles.occlusionMap, occlusionMap); if (mode == BlendMode.Cutout) { matEditor.ShaderProperty(alphaCutoff, Styles.alphaCutoffText.text); } } ShaderGUIUtils.EndHeader(); ShaderGUIUtils.HeaderSeparator(); ShaderGUIUtils.BeginHeader("Lighting"); { matEditor.ShaderProperty(ambientLightingEnabled, Styles.ambientLightingEnabled); matEditor.ShaderProperty(diffuseLightingEnabled, Styles.diffuseLightingEnabled); matEditor.ShaderProperty(useAdditionalLightingData, Styles.useAdditionalLighingData); EditorGUI.BeginDisabledGroup(MaterialNeedsPerPixel(mat)); matEditor.ShaderProperty(perPixelLighting, Styles.perPixelLighting); EditorGUI.EndDisabledGroup(); ShaderGUIUtils.BeginHeaderProperty(matEditor, Styles.specularLightingEnabled.text, specularLightingEnabled); { if (specularLightingEnabled.floatValue != 0.0f) { matEditor.ShaderProperty(specularColor, Styles.specularColor); //consider a special slider + tex control matEditor.TexturePropertySingleLine(Styles.specular, specularMap, specular); matEditor.TexturePropertySingleLine(Styles.gloss, glossMap, gloss); } } ShaderGUIUtils.EndHeader(); matEditor.TexturePropertySingleLine(Styles.normalMap, normalMap); ShaderGUIUtils.BeginHeaderProperty(matEditor, Styles.rimLightingEnabled.text, rimLightingEnabled); { if (rimLightingEnabled.floatValue != 0.0f) { matEditor.ShaderProperty(rimPower, Styles.rimPower); matEditor.ShaderProperty(rimColor, Styles.rimColor); } } ShaderGUIUtils.EndHeader(); ShaderGUIUtils.BeginHeaderProperty(matEditor, Styles.reflectionsEnabled.text, reflectionsEnabled); { if (reflectionsEnabled.floatValue != 0.0f) { matEditor.TexturePropertySingleLine(Styles.cubeMap, cubeMap); matEditor.ShaderProperty(reflectionScale, Styles.reflectionScale); matEditor.ShaderProperty(calibrationSpaceReflections, Styles.calibrationSpaceReflections); } } ShaderGUIUtils.EndHeader(); CustomMaterialEditor.TextureWithToggleableColorSingleLine(matEditor, Styles.emission, emissionMap, emissionColorEnabled, emissionColor); } ShaderGUIUtils.EndHeader(); ShaderGUIUtils.HeaderSeparator(); ShaderGUIUtils.BeginHeader("Global"); { CustomMaterialEditor.TextureScaleOffsetVector4Property(matEditor, textureScaleAndOffset); } ShaderGUIUtils.EndHeader(); ShaderGUIUtils.HeaderSeparator(); if (mode == BlendMode.Advanced) { ShaderGUIUtils.BeginHeader("Alpha Blending"); { matEditor.ShaderProperty(srcBlend, Styles.srcBlend); matEditor.ShaderProperty(dstBlend, Styles.dstBlend); matEditor.ShaderProperty(blendOp, Styles.blendOp); } ShaderGUIUtils.EndHeader(); ShaderGUIUtils.HeaderSeparator(); } }