示例#1
0
        private void OnFrameEventChange(FrameDebugDumpInfo.FrameEventInfo evtInfo)
        {
            var screenShotTex = textureLoader.LoadTexture(evtInfo.screenshot);

            this.rootVisualElement.Q <ScalableImageView>("ScreenShot").SetTexture(screenShotTex);

            ChangeRenderTargetInfo(evtInfo);
            ChangeRenderInfo(evtInfo);
            ChangeShaderInfo(evtInfo);
            ChangeShaderParam(evtInfo);
        }
示例#2
0
        private void ChangeRenderTargetInfo(FrameDebugDumpInfo.FrameEventInfo evtInfo)
        {
            var parentElement = this.rootVisualElement.Q <Foldout>("RenderTargetInfo");

            RemoveAllChildren(parentElement);
            var rtInfo = evtInfo.renderTarget;

            parentElement.Add(CreateNameValueElement("RT Name", rtInfo.rtName));
            parentElement.Add(CreateNameValueElement("Size", rtInfo.rtWidth + " X " + rtInfo.rtHeight));
            parentElement.Add(CreateNameValueElement("Count", rtInfo.rtCount.ToString()));
            parentElement.Add(CreateNameValueElement("Depth", (rtInfo.rtHasDepthTexture > 0).ToString()));
        }
示例#3
0
        private void ChangeShaderInfo(FrameDebugDumpInfo.FrameEventInfo evtInfo)
        {
            var parentElement = this.rootVisualElement.Q <Foldout>("ShaderInfo");
            var shaderInfo    = evtInfo.shaderInfo;

            RemoveAllChildren(parentElement);

            parentElement.Add(CreateNameValueElement("ShaderName", shaderInfo.shaderName));
            parentElement.Add(CreateNameValueElement("SubShader", shaderInfo.subShaderIndex.ToString()));
            parentElement.Add(CreateNameValueElement("Keyword", shaderInfo.shaderKeywords));
            parentElement.Add(CreateNameValueElement("Pass", shaderInfo.passName + "(" + shaderInfo.shaderPassIndex + ")"));
            parentElement.Add(CreateNameValueElement("LightMode", shaderInfo.passLightMode));
        }
示例#4
0
        private void ChangeRenderInfo(FrameDebugDumpInfo.FrameEventInfo evtInfo)
        {
            var parentElement = this.rootVisualElement.Q <Foldout>("RenderingInfo");

            RemoveAllChildren(parentElement);
            var renderInfo = evtInfo.rendering;


            parentElement.Add(CreateNameValueElement("BreakReson", renderInfo.batchBreakCauseStr));
            parentElement.Add(CreateNameValueElement("Vertex", renderInfo.vertexCount.ToString()));
            parentElement.Add(CreateNameValueElement("Index", renderInfo.indexCount.ToString()));
            parentElement.Add(CreateNameValueElement("DrawCount", renderInfo.drawCallCount.ToString()));
            parentElement.Add(CreateNameValueElement("GameObject", renderInfo.gameobject));
            parentElement.Add(CreateNameValueElement("ComponentId", renderInfo.componentInstanceID.ToString()));
            parentElement.Add(CreateNameValueElement("MeshInstanceId", renderInfo.meshInstanceID.ToString()));
            parentElement.Add(CreateNameValueElement("InstanceCount", renderInfo.instanceCount.ToString()));
            parentElement.Add(CreateNameValueElement("MeshSubset", renderInfo.meshSubset.ToString()));
        }
示例#5
0
        private void ChangeShaderParam(FrameDebugDumpInfo.FrameEventInfo evtInfo)
        {
            var shaderParams  = evtInfo.shaderInfo.shaderParams;
            var parentElement = this.rootVisualElement.Q <Foldout>("ShaderParameters");

            RemoveAllChildren(parentElement);

            if (shaderParams.textures != null)
            {
                foreach (var textureParam in shaderParams.textures)
                {
                    var elem = CreateShaderParamVE(textureParam);
                    parentElement.Add(elem);
                }
            }
            if (shaderParams.floats != null)
            {
                foreach (var floatParam in shaderParams.floats)
                {
                    var elem = CreateShaderParamVE(floatParam);
                    parentElement.Add(elem);
                }
            }
            if (shaderParams.vectors != null)
            {
                foreach (var vectorParam in shaderParams.vectors)
                {
                    var elem = CreateShaderParamVE(vectorParam);
                    parentElement.Add(elem);
                }
            }
            if (shaderParams.matricies != null)
            {
                foreach (var matrixParam in shaderParams.matricies)
                {
                    var elem = CreateShaderParamVE(matrixParam);
                    parentElement.Add(elem);
                }
            }
        }
示例#6
0
 public UIPair(FrameDebugDumpInfo.FrameEventInfo info, VisualElement elem)
 {
     this.eventInfo = info;
     this.element   = elem;
 }