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