Esempio n. 1
0
        public void SetMeshRenderLights(IMeshRenderStage effect, MeshRenderLightConfiguration[] lightConfigurations, float transitionSeconds)
        {
            if (effect == null)
            {
                throw new Yak2DException("Unable to set mesh effect as stage passed is null");
            }

            SetMeshRenderLights(effect.Id, lightConfigurations, transitionSeconds);
        }
Esempio n. 2
0
        public void SetMeshRenderMesh(IMeshRenderStage effect, Vertex3D[] mesh)
        {
            if (effect == null)
            {
                throw new Yak2DException("Unable to set mesh effect as stage passed is null");
            }

            SetMeshRenderMesh(effect.Id, mesh);
        }
Esempio n. 3
0
        public void MeshRender(IMeshRenderStage stage, ICamera3D camera, ITexture source, IRenderTarget target)
        {
            if (stage == null)
            {
                throw new Yak2DException("Unable to queue MeshRenderStage. Stage is null", new ArgumentNullException());
            }

            if (camera == null)
            {
                throw new Yak2DException("Unable to queue MeshRenderStage. Camera is null", new ArgumentNullException());
            }

            if (source == null)
            {
                throw new Yak2DException("Unable to queue MeshRenderStage. Source is null", new ArgumentNullException());
            }

            if (target == null)
            {
                throw new Yak2DException("Unable to queue MeshRenderStage. Target is null", new ArgumentNullException());
            }

            if (source.Id == target.Id)
            {
                throw new Yak2DException("Unable to queue MeshRenderStage. Source and Target Surfaces cannot be the same", new ArgumentNullException());
            }

            _commandQueue.Add(RenderCommandType.MeshRender,
                              stage.Id,
                              target.Id,
                              camera.Id,
                              source.Id,
                              0UL,
                              0UL,
                              0UL,
                              RgbaFloat.Clear);
        }