Beispiel #1
0
        protected override void InitializeInner() {
            _materialsProvider = new UvMaterialProvider();
            DeviceContextHolder.Set(_materialsProvider);

            _materialsProvider.SetKn5(_kn5);
            _carNode = (Kn5RenderableList)Kn5Converter.Convert(_kn5.RootNode, DeviceContextHolder);
        }
        private void LoadAndAdjustKn5() {
            _materialsProvider = new DepthMaterialProvider();
            _texturesProvider = new TexturesProvider();
            DeviceContextHolder.Set(_materialsProvider);
            DeviceContextHolder.Set(_texturesProvider);

            _materialsProvider.SetKn5(_kn5);

            _carNode = (Kn5RenderableList)Kn5Converter.Convert(_kn5.RootNode, DeviceContextHolder);
            _scene.Add(_carNode);

            _carNode.UpdateBoundingBox();
            _carNode.LocalMatrix = Matrix.Translation(0, UpDelta - (_carNode.BoundingBox?.Minimum.Y ?? 0f), 0) * _carNode.LocalMatrix;
            _scene.UpdateBoundingBox();
        }
        protected override void InitializeInner() {
            base.InitializeInner();

            MaterialsProvider = new MaterialsProviderSimple();
            TexturesProvider = new TexturesProvider();
            DeviceContextHolder.Set(MaterialsProvider);
            DeviceContextHolder.Set(TexturesProvider);
            
            CarHelper.SetKn5(DeviceContextHolder);
            CarHelper.SkinTextureUpdated += (sender, args) => IsDirty = true;

            var node = Kn5Converter.Convert(Kn5.RootNode, DeviceContextHolder);
            Scene.Add(node);

            CarNode = node as Kn5RenderableList;
            if (CarNode != null) {
                Scene.InsertRange(0, CarHelper.LoadAmbientShadows(CarNode, 0f));
                CarHelper.AdjustPosition(CarNode);
                CarHelper.LoadMirrors(CarNode, DeviceContextHolder);

                _carLights = CarHelper.LoadLights(CarNode).ToList();
            }

            Scene.UpdateBoundingBox();
            TrianglesCount = node.TrianglesCount;
            ObjectsCount = node.ObjectsCount;

            Camera = CreateCamera(node);
            _resetCamera = (CameraOrbit)Camera.Clone();

            if (_selectSkin != null) {
                SelectSkin(_selectSkin);
                _selectSkin = null;
            }
        }
Beispiel #4
0
        protected override void InitializeInner() {
            _materialsProvider = CreateMaterialsProvider();
            DeviceContextHolder.Set(_materialsProvider);
            _materialsProvider.SetKn5(_kn5);

            RootNode = (RenderableList)Kn5Converter.Convert(_kn5.RootNode, DeviceContextHolder);

            _buffer0 = TargetResourceTexture.Create(Format.R8G8B8A8_UNorm);
            _buffer1 = TargetResourceTexture.Create(Format.R8G8B8A8_UNorm);
        }