Esempio n. 1
0
        public void Initialize(DeviceContext context, iCBuffer sharedFrameBuffer)
        {
            //Create the processor that will be used by the Sprite3DRenderer
            Sprite3DBillBoardProc processor = ToDispose(new Sprite3DBillBoardProc(_textureParticules, _textureSampler, ToDispose(new DefaultIncludeHandler()), sharedFrameBuffer));

            //Create a sprite3Drenderer that will use the previously created processor to accumulate text data for drawing.
            _particuleRenderer = ToDispose(new Sprite3DRenderer <Sprite3DBillBoardProc>(processor,
                                                                                        _stateRasterId,
                                                                                        _stateBlenderId,
                                                                                        _stateDepthId,
                                                                                        context));
        }
Esempio n. 2
0
        public void Initialize(DeviceContext context, iCBuffer sharedFrameBuffer)
        {
            CreateColorsSetPerCubeTexture();
            LoadBiomeColorsTexture();

            //Create the processor that will be used by the Sprite3DRenderer
            CubeColorProc processor = ToDispose(new CubeColorProc(ToDispose(new DefaultIncludeHandler()), sharedFrameBuffer));

            //Create a sprite3Drenderer that will use the previously created processor to accumulate text data for drawing.
            _particuleRenderer = ToDispose(new Sprite3DRenderer <CubeColorProc>(processor,
                                                                                DXStates.Rasters.Default,
                                                                                DXStates.Blenders.Disabled,
                                                                                DXStates.DepthStencils.DepthReadWriteEnabled,
                                                                                context));
        }
        public override void LoadContent(DeviceContext context)
        {
            //ArrayTexture.CreateTexture2DFromFiles(context.Device, context, ClientSettings.TexturePack + @"Terran/", @"ct*.png", FilterFlags.Point, "ArrayTexture_DefaultEntityRenderer", out _cubeTextureView);
            //ToDispose(_cubeTextureView);
            _cubeTextureView = _visualWorldParameters.CubeTextureManager.CubeArrayTexture;


            //Create Vertex/Index Buffer to store the loaded cube mesh.
            _cubeVb = ToDispose(new VertexBuffer <VertexMesh>(context.Device, _cubeMeshBluePrint.Vertices.Length, SharpDX.Direct3D.PrimitiveTopology.TriangleList, "Block VB"));
            _cubeIb = ToDispose(new IndexBuffer <ushort>(context.Device, _cubeMeshBluePrint.Indices.Length, "Block IB"));

            _cubeToolEffect = ToDispose(new HLSLCubeTool(context.Device, ClientSettings.EffectPack + @"Entities/CubeTool.hlsl", VertexMesh.VertexDeclaration));
            _cubeToolEffect.DiffuseTexture.Value = _cubeTextureView;
            _cubeToolEffect.SamplerDiffuse.Value = RenderStatesRepo.GetSamplerState(DXStates.Samplers.UVClamp_MinMagMipPoint);

            _voxelModelEffect      = ToDispose(new HLSLVoxelModelInstanced(context.Device, ClientSettings.EffectPack + @"Entities\VoxelModelInstanced.hlsl", VoxelInstanceData.VertexDeclaration));
            _voxelToolEffect       = ToDispose(new HLSLVoxelModel(context.Device, ClientSettings.EffectPack + @"Entities\VoxelModel.hlsl", VertexVoxel.VertexDeclaration));
            _materialChangeMapping = new Dictionary <int, int>();

            //Create the font to base use by the sprite3dText Processor
            _dynamicEntityNameFont = ToDispose(new SpriteFont());
            _dynamicEntityNameFont.Initialize("Lucida Console", 32f, System.Drawing.FontStyle.Regular, true, context.Device, false);

            //Create the processor that will be used by the Sprite3DRenderer
            Sprite3DTextProc textProcessor = ToDispose(new Sprite3DTextProc(_dynamicEntityNameFont, RenderStatesRepo.GetSamplerState(DXStates.Samplers.UVWrap_Text), ToDispose(new UtopiaIncludeHandler()), _sharedFrameCB.CBPerFrame, ClientSettings.EffectPack + @"Sprites\PointSprite3DText.hlsl"));

            //Create a sprite3Drenderer that will use the previously created processor to accumulate text data for drawing.
            _dynamicEntityNameRenderer = ToDispose(new Sprite3DRenderer <Sprite3DTextProc>(textProcessor,
                                                                                           DXStates.Rasters.Default,
                                                                                           DXStates.Blenders.Enabled,
                                                                                           DXStates.DepthStencils.DepthReadWriteEnabled,
                                                                                           context));
            Sprite3DColorBillBoardProc energyBarProcessor = ToDispose(new Sprite3DColorBillBoardProc(ToDispose(new UtopiaIncludeHandler()), _sharedFrameCB.CBPerFrame, ClientSettings.EffectPack + @"Sprites\PointSpriteColor3DBillBoard.hlsl"));

            _dynamicEntityEnergyBarRenderer = ToDispose(new Sprite3DRenderer <Sprite3DColorBillBoardProc>(energyBarProcessor,
                                                                                                          DXStates.Rasters.Default,
                                                                                                          DXStates.Blenders.Enabled,
                                                                                                          DXStates.DepthStencils.DepthReadWriteEnabled,
                                                                                                          context));
        }