예제 #1
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        Raytracing editorObj = target as Raytracing;

        if (editorObj == null)
        {
            return;
        }

        if (GUILayout.Button("Raytrace"))
        {
            if (editorObj.raytracingMode == RaytracingMode.RandomColors)
            {
                editorObj.RaytraceUsingRandomColors();
            }
            else
            {
                editorObj.RaytraceForResolutionRate();
            }
        }

        editorObj.filePath = EditorGUILayout.TextField("Path:", editorObj.filePath);

        if (GUILayout.Button("Save JPG"))
        {
            editorObj.SaveJPGImage();
        }
    }
예제 #2
0
        private void InitializeRenderers()
        {
            Renderers = new Dictionary <string, Renderer>();

            Renderer raytracing = new Raytracing(
                canvas:    Canvas,
                scene:     CurrentScene,
                cameraPos: CameraPos,
                maxDepth:  10
                );

            Renderers.Add("Raytracing", raytracing);

            Renderer raycasting = new Raycasting(
                canvas:    Canvas,
                scene:     CurrentScene,
                cameraPos: CameraPos
                );

            Renderers.Add("Raycasting", raycasting);

            Renderer zbuffer = new ZBuffer(
                canvas: Canvas,
                scene:  CurrentScene
                );

            Renderers.Add("ZBuffer", zbuffer);

            RendererComboBox.DataSource    = new BindingSource(Renderers, null);
            RendererComboBox.DisplayMember = "Key";
            RendererComboBox.ValueMember   = "Value";
        }