Exemplo n.º 1
0
    void OnSceneGUI()
    {
        Stereo3D s3d = target as Stereo3D;
        Camera   c   = SceneView.lastActiveSceneView.camera;

        s3d.ShowBody = Vector3.Distance(c.transform.position, s3d.transform.position) > 0.2f;
    }
Exemplo n.º 2
0
        // Init()
        public override void Init()
        {
            RC.ClearColor = new float4(0, 0, 0, 1);

            _shaderProgram = RC.CreateShader(Vs, Ps);
            RC.SetShader(_shaderProgram);

            _stereo3D = new Stereo3D(Stereo3DMode.Anaglyph, Width, Height);
            _stereo3D.AttachToContext(RC);

            _exampleLevel = new Level(RC, _shaderProgram, _stereo3D);
        }
Exemplo n.º 3
0
        // Init is called on startup.
        public override void Init()
        {
            //Width and Height are 0 on our Android Device
            if (Width <= 0)
            {
                Width = 2560;
            }
            if (Height <= 0)
            {
                Height = 1440;
            }

            #if GUI_SIMPLE
            _guiHandler = new GUIHandler();
            _guiHandler.AttachToContext(RC);
            _guiFuseeLink                   = new GUIButton(6, 6, 157, 87);
            _guiFuseeLink.ButtonColor       = new float4(0, 0, 0, 0);
            _guiFuseeLink.BorderColor       = new float4(0, 0.6f, 0.2f, 1);
            _guiFuseeLink.BorderWidth       = 0;
            _guiFuseeLink.OnGUIButtonDown  += _guiFuseeLink_OnGUIButtonDown;
            _guiFuseeLink.OnGUIButtonEnter += _guiFuseeLink_OnGUIButtonEnter;
            _guiFuseeLink.OnGUIButtonLeave += _guiFuseeLink_OnGUIButtonLeave;
            _guiHandler.Add(_guiFuseeLink);
            _guiFuseeLogo = new GUIImage(AssetStorage.Get <ImageData>("FuseeLogo150.png"), 10, 10, -5, 150, 80);
            _guiHandler.Add(_guiFuseeLogo);
            var fontLato = AssetStorage.Get <Font>("Lato-Black.ttf");
            fontLato.UseKerning   = true;
            _guiLatoBlack         = new FontMap(fontLato, 18);
            _guiSubText           = new GUIText("Simple FUSEE Cardboard Example", _guiLatoBlack, 100, 100);
            _guiSubText.TextColor = new float4(0.05f, 0.25f, 0.15f, 0.8f);
            _guiHandler.Add(_guiSubText);
            _subtextWidth  = GUIText.GetTextWidth(_guiSubText.Text, _guiLatoBlack);
            _subtextHeight = GUIText.GetTextHeight(_guiSubText.Text, _guiLatoBlack);
            #endif

            // Set the clear color for the backbuffer to white (100% intentsity in all color channels R, G, B, A).
            RC.ClearColor = new float4(1, 1, 1, 1);

            //Initialize StereoRendering
            if (_renderStereo)
            {
                _stereo3d = new Stereo3D(Stereo3DMode.Cardboard, Width, Height);
                _stereo3d.AttachToContext(RC);
            }

            // Load the scene
            _WuggyScene = AssetStorage.Get <SceneContainer>("WuggyLand.fus");

            // Wrap a SceneRenderer around the scene.
            _sceneRenderer = new SceneRenderer(_WuggyScene);
        }
Exemplo n.º 4
0
        public Level(RenderContext rc, ShaderProgram sp, int id, Stereo3D stereo3D)
        {
            ObjRandom = new Random();

            VColorObj   = sp.GetShaderParam("vColor");
            VTextureObj = sp.GetShaderParam("vTexture");

            RContext = rc;

            _stereo3D   = stereo3D;
            UseStereo3D = false;

            ConstructLevel(id);
        }
Exemplo n.º 5
0
    void DrawShutterField()
    {
        int         checkVal = _sstate.intValue;
        StereoState st       = (StereoState)checkVal;

        EditorGUILayout.BeginHorizontal("box");
        st = (StereoState)EditorGUILayout.EnumPopup("3D Mode", st);
        EditorGUILayout.EndHorizontal();
        _sstate.enumValueIndex = (int)st;

        if (checkVal != _sstate.intValue)
        {
            Stereo3D s3d = target as Stereo3D;
            s3d.SetMode(st);
        }
    }
Exemplo n.º 6
0
    void Create()
    {
        if (_cb == null)
        {
            if (sname.Length <= 0)
            {
                sname = "3D Camera";
            }

            GameObject go = new GameObject(sname, typeof(CameraBody));
            _cb = go.GetComponent <CameraBody>();

            Undo.RegisterCreatedObjectUndo(go, "Created Camera");
        }

        _cb.CameraDescription = sname;

        Stereo3D s3d = _cb.gameObject.AddComponent <Stereo3D>();

        s3d.SelectedRig = _selectedRig;
        s3d.Interaxial  = _interaxial;
        s3d.Convergence = _convergence;
        s3d.State       = _sstate;

        Camera cam = _cb.NodalCamera;

        cam.nearClipPlane = 0.01f;

        cam.gameObject.AddComponent <Stereo3DRenderer>();

        SceneView sv = SceneView.lastActiveSceneView;

        if (sv == null)
        {
            sv = SceneView.sceneViews[0] as SceneView;
        }

        sv.Focus();
        Camera c = SceneView.GetAllSceneCameras()[0];

        _cb.transform.rotation = Quaternion.LookRotation(c.transform.forward);
        _cb.transform.position = c.transform.position;
    }
Exemplo n.º 7
0
    void OnEnable()
    {
        _selectedRig    = serializedObject.FindProperty("_selectedRig");
        _minInteraxial  = serializedObject.FindProperty("_minInteraxial");
        _maxInteraxial  = serializedObject.FindProperty("_maxInteraxial");
        _interaxial     = serializedObject.FindProperty("_interaxial");
        _minConvergence = serializedObject.FindProperty("_minConvergence");
        _maxConvergence = serializedObject.FindProperty("_maxConvergence");
        _convergence    = serializedObject.FindProperty("_convergence");
        _material       = serializedObject.FindProperty("_stereoMaterial");
        _sstate         = serializedObject.FindProperty("_sstate");

        _rigList = new string[] {
            "Tango",
            "TS5 3ality",
            "TS2 3ality"
        };

        Stereo3D s3d = target as Stereo3D;

        s3d.SetMode((StereoState)_sstate.intValue);
    }
Exemplo n.º 8
0
 void Awake()
 {
     _s3d = GetComponent<Stereo3D>() as Stereo3D;
 }
	void Start () 
    {
		_s3d = GetComponent<Stereo3D>();
	}
Exemplo n.º 10
0
 public Level(RenderContext rc, ShaderProgram sp, Stereo3D stereo3D)
     : this(rc, sp, 0, stereo3D)
 {
 }
Exemplo n.º 11
0
 void Awake()
 {
     _s3d = GetComponent <Stereo3D>() as Stereo3D;
 }
Exemplo n.º 12
0
 private void Start()
 {
     instance = this;
 }
Exemplo n.º 13
0
 void Start()
 {
     _s3d = GetComponent <Stereo3D>();
 }