public ShadowCaster( RenderContext rc, AssetDatabase ad, VertexPositionNormalTexture[] vertices, ushort[] indices, TextureData texture) { _meshData = new SimpleMeshDataProvider(vertices, indices); _textureData = texture; _centeredBounds = BoundingSphere.CreateFromPoints(vertices); InitializeContextObjects(ad, rc); }
public ShadowCaster( RenderContext rc, AssetDatabase ad, VertexPositionNormalTexture[] vertices, int[] indices, MaterialAsset regularPassMaterial, TextureData overrideTexture = null) { _meshData = new SimpleMeshDataProvider(vertices, indices); _shadowPassMaterialAsset = ad.LoadAsset <MaterialAsset>("MaterialAsset/ShadowCaster_ShadowMap.json"); _regularPassMaterialAsset = regularPassMaterial; _overrideTextureData = overrideTexture; _worldProvider = new DynamicDataProvider <Matrix4x4>(); _inverseTransposeWorldProvider = new DependantDataProvider <Matrix4x4>(_worldProvider, Utilities.CalculateInverseTranspose); _perObjectProviders = new ConstantBufferDataProvider[] { _worldProvider, _inverseTransposeWorldProvider }; _centeredBounds = BoundingSphere.CreateFromPoints(vertices); InitializeContextObjects(ad, rc); }