// [MenuItem("Tools/glTF Test/Test")] // static void TestMenu() { // var rp = RenderPipelineUtils.DetectRenderPipeline(); // // var setName = "glTF-Sample-Models"; // // switch (rp) { // case RenderPipeline.Universal: // setName = "glTF-Sample-Models-URP"; // break; // case RenderPipeline.HighDefinition: // setName = "glTF-Sample-Models-HDRP"; // break; // } // // var sampleSet = AssetDatabase.LoadAssetAtPath<SampleSet>( $"Packages/com.atteneder.gltf-graphics-tests/Runtime/SampleSets/{setName}.asset"); // // } internal static void GenerateTests(bool createScenes = true) { var rp = RenderPipelineUtils.DetectRenderPipeline(); var setName = "glTF-Sample-Models"; switch (rp) { case RenderPipeline.Universal: setName = "glTF-Sample-Models-URP"; break; case RenderPipeline.HighDefinition: setName = "glTF-Sample-Models-HDRP"; break; } var sampleSet = AssetDatabase.LoadAssetAtPath <SampleSet>($"Packages/com.atteneder.gltf-graphics-tests/Runtime/SampleSets/{setName}.asset"); sampleSet.CopyToStreamingAssets(); if (createScenes) { sampleSet.CreateRenderTestScenes(); } }
static string GetExportSceneName() { switch (RenderPipelineUtils.DetectRenderPipeline()) { case RenderPipeline.HighDefinition: return("ExportSceneHighDefinition"); case RenderPipeline.Universal: return("ExportSceneUniversal"); default: return("ExportSceneBuiltIn"); } }
public override void OnInspectorGUI() { SetupStyles(); serializedTarget.Update(); // Draw Title "MadGoat SSAA & Resolution Scale 2" EditorMacros.DrawTitle("MadGoat SSAA & Resolution Scale 2", styleTitle); var pipeline = RenderPipelineUtils.DetectPipeline(); if (pipeline != RenderPipelineUtils.PipelineType.Unsupported) { // Draw Main Tab mainTab = GUILayout.Toolbar(mainTab, new string[] { "Super Sampling", "Screenshot", "Integrations & Misc" }); EditorGUILayout.Separator(); // Get current render resolution int width = 0; int height = 0; if (targetAsSSAA.GetType() != typeof(MadGoatSSAA_VR)) { if (targetAsSSAA.RenderCamera && targetAsSSAA.RenderCamera.targetTexture) { width = targetAsSSAA.RenderCamera.targetTexture.width; height = targetAsSSAA.RenderCamera.targetTexture.height; } } else { #if UNITY_2017_2_OR_NEWER width = (int)(UnityEngine.XR.XRSettings.eyeTextureWidth * targetAsSSAA.InternalRenderMultiplier); height = (int)(UnityEngine.XR.XRSettings.eyeTextureHeight * targetAsSSAA.InternalRenderMultiplier); #else width = (int)(UnityEngine.VR.VRSettings.eyeTextureWidth * targetAsSSAA.InternalRenderMultiplier); height = (int)(UnityEngine.VR.VRSettings.eyeTextureHeight * targetAsSSAA.InternalRenderMultiplier); #endif } var resolution = width + " x " + height + " (x" + targetAsSSAA.InternalRenderMultiplier + ")"; if (targetAsSSAA != null && targetAsSSAA.GetType() != typeof(MadGoatSSAA_VR) && targetAsSSAA.CurrentCamera != null && targetAsSSAA.CurrentCamera.targetTexture != null) { resolution += " - Output is texture"; } // Draw Content Header EditorMacros.DrawHeader(new string[] { "Super Sampling Settings - " + resolution, "Screenshot Settings", "Integrations" }[mainTab], styleHeader); // Draw Content switch (mainTab) { case 0: DrawSectionSuperSampling(); break; case 1: DrawSectionScreenshot(); break; case 2: DrawSectionMisc(); break; } } else { EditorGUILayout.HelpBox("<b>Unsupported RenderPipeline detected.</b> \n\n" + "Pipeline Requirements: \n" + " - HDRP: Unity 2019.1 or newer \n" + " - HDRP + DXR: Unity 2019.3 or newer \n" + " - Universal Pipeline: Unity 2019.3 or newer \n" + " - Built-in: Unity 5 or newer", MessageType.Error); } // Draw Version Footer var versionStr = RenderPipelineUtils.DetectPipeline().ToString(); #if UNITY_2019_3_OR_NEWER && SSAA_HDRP && ENABLE_RAYTRACING versionStr += " <b>(DXR Enabled)</b>"; #endif EditorMacros.DrawVersion(SsaaUtils.ssaaversion, versionStr, styleNormal); // Apply modifications serializedTarget.ApplyModifiedProperties(); }
public static void CreateRenderTestScenes(this SampleSet sampleSet) { #if GLTFAST_RENDER_TEST var allScenes = new List <EditorBuildSettingsScene>(); var allScenePaths = new List <string>(); // Texture2D dummyReference = null; var setName = sampleSet.name; var renderPipeline = RenderPipelineUtils.DetectRenderPipeline(); foreach (var item in sampleSet.GetItems()) { var testScene = EditorSceneManager.OpenScene("Assets/Scenes/TestScene.unity"); var settingsGameObject = new GameObject("GraphicsTestSettings"); var graphicsTestSettings = settingsGameObject.AddComponent <UniversalGraphicsTestSettings>(); graphicsTestSettings.WaitFrames = renderPipeline == RenderPipeline.HighDefinition ? 2 : 0; var go = new GameObject(item.name); var gltfAsset = go.AddComponent <GltfBoundsAsset>(); if (string.IsNullOrEmpty(sampleSet.streamingAssetsPath)) { gltfAsset.url = Path.Combine(sampleSet.baseLocalPath, item.path); } else { gltfAsset.url = Path.Combine(sampleSet.streamingAssetsPath, item.path); gltfAsset.streamingAsset = true; } gltfAsset.loadOnStartup = false; gltfAsset.createBoxCollider = false; var sceneDirectory = CertifyDirectory(item.directoryParts, string.Format("Assets/Scenes/{0}", setName)); var scenePath = Path.Combine(sceneDirectory, item.name + ".unity"); EditorSceneManager.SaveScene(testScene, scenePath); allScenes.Add(new EditorBuildSettingsScene(scenePath, true)); allScenePaths.Add(scenePath); // CertifyDirectory(new[] { "ReferenceImages", "Linear", "OSXEditor", "Metal", "None" }, "Assets"); // var referenceImagePath = // Path.Combine(Application.dataPath, "ReferenceImages/Linear/OSXEditor/Metal/None", item.name + ".png"); // // if (!File.Exists(referenceImagePath)) { // Debug.LogFormat("Create dummy reference at path {0}", referenceImagePath); // dummyReference = dummyReference!=null // ? dummyReference // : new Texture2D( // graphicsTestSettings.ImageComparisonSettings.TargetWidth, // graphicsTestSettings.ImageComparisonSettings.TargetHeight // ); // File.WriteAllBytes(referenceImagePath, dummyReference.EncodeToPNG()); // } } AssetDatabase.Refresh(); EditorBuildSettings.scenes = allScenes.ToArray(); Lightmapping.BakeMultipleScenes(allScenePaths.ToArray()); #else Debug.LogWarning("Please install the Graphics Test Framework for render tests to work."); #endif }