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); }
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); }
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); }