// --------------------------------------------------------------------

        public override void Init(Onyx3DInstance onyx3d)
        {
            base.Init(onyx3d);

            GL.Enable(EnableCap.CullFace);
            GL.Enable(EnableCap.DepthTest);

            GL.Enable(EnableCap.Multisample);

            GL.Enable(EnableCap.LineSmooth);
            GL.Hint(HintTarget.LineSmoothHint, HintMode.Nicest);

            GL.Enable(EnableCap.Blend);
            GL.BlendFunc(BlendingFactor.SrcAlpha, BlendingFactor.OneMinusSrcAlpha);

            GL.Enable(EnableCap.TextureCubeMapSeamless);

            GL.ClearColor(Color.SlateGray);

            Gizmos = new GizmosManager();
            Gizmos.Init(onyx3d);

            mRenderFrame = new FrameBuffer((int)MainResolution.X, (int)MainResolution.Y);

            mScreenCamera = new OrthoCamera("Cam", 1, 1, 0, 1000);
            mScreenQuad   = new ScreenQuadRenderer();
            mScreenQuad.GenerateQuad(1, 1);
            mScreenQuad.Material = onyx3d.Resources.GetMaterial(BuiltInMaterial.Screen);
        }
Exemple #2
0
        public override void Init(Onyx3DInstance onyx3d)
        {
            base.Init(onyx3d);

            GL.Enable(EnableCap.CullFace);
            GL.Enable(EnableCap.DepthTest);

            GL.Enable(EnableCap.Multisample);
            GL.Hint(HintTarget.MultisampleFilterHintNv, HintMode.Nicest);

            GL.Enable(EnableCap.LineSmooth);
            GL.Hint(HintTarget.LineSmoothHint, HintMode.Nicest);

            GL.Enable(EnableCap.Blend);
            GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);

            GL.ClearColor(Color.SlateGray);

            Gizmos = new GizmosManager();
            Gizmos.Init(onyx3d);
        }
Exemple #3
0
        public void Prepare(Onyx3DInstance context)
        {
            if (Type == ShadingType.Procedural)
            {
                if (SkyMesh == null)
                {
                    SceneObject sky = new SceneObject("{Sky}");
                    sky.Transform.LocalScale = new Vector3(-1, 1, 1);
                    SkyMesh          = sky.AddComponent <MeshRenderer>();
                    SkyMesh.Mesh     = context.Resources.GetMesh(BuiltInMesh.Sphere);
                    SkyMesh.Material = context.Resources.GetMaterial(BuiltInMaterial.Sky);
                }

                UpdateUBO();
                SkyMesh.Material.Shader.BindUBO(mSkyUBO);
            }
            else if (SkyMesh != null)
            {
                SkyMesh.SceneObject.Destroy();
                SkyMesh = null;
            }
        }
Exemple #4
0
        //private SceneObject mRoot;

        public override void Init(Onyx3DInstance onyx3D)
        {
            base.Init(onyx3D);
        }
        // --------------------------------------------------------------------

        public void MakeCurrent()
        {
            mGraphicsContext.MakeCurrent(mWindowsInfo);
            CurrentContext = this;
        }
Exemple #6
0
        // --------------------------------------------------------------------

        public Scene(Onyx3DInstance context = null)
        {
            mContext = context;
            Root     = new SceneObject("", this);
            SetDirty(true);
        }
Exemple #7
0
 public static void InitMain(IGraphicsContext context, IWindowInfo winInfo)
 {
     mMainInstance = new Onyx3DInstance(context, winInfo);
 }