Example #1
0
    public ShaderResourceView Load(string name, DefaultMode defaultMode)
    {
        if (name == null)
        {
            if (defaultMode == DefaultMode.Bump)
            {
                return(defaultBumpTexture);
            }
            else
            {
                return(defaultStandardTexture);
            }
        }

        if (!cache.TryGetValue(name, out var textureView))
        {
            var imageFile = texturesDirectory.File(name + ".dds");
            textureView = textureCache.Get(imageFile);
            cache.Add(name, textureView);
        }

        return(textureView);
    }
Example #2
0
        protected override JobHandle OnUpdate(JobHandle inputDeps)
        {
            switch (GameObj.baseData.mode)
            {
            case 1:
                waveMode = new WaveMode
                {
                    baseData      = GameObj.baseData,
                    transformData = GameObj.transformData,
                    freq          = GameObj.freq,
                    magn          = GameObj.magn,
                    time          = GameObj.time,
                    scalej        = GameObj.transformData.size,
                    vector        = float3.zero,
                };
                jobHandle = waveMode.Schedule(this, inputDeps);
                break;

            case 2:
                rippleMode = new RippleMode
                {
                    baseData      = GameObj.baseData,
                    transformData = GameObj.transformData,
                    freq          = GameObj.freq,
                    magn          = GameObj.magn,
                    time          = GameObj.time,
                    scalej        = GameObj.transformData.size,
                    vector        = float3.zero
                };
                jobHandle = rippleMode.Schedule(this, inputDeps);
                break;

            case 3:
                cylinderMode = new CylinderMode
                {
                    baseData      = GameObj.baseData,
                    transformData = GameObj.transformData,
                    freq          = GameObj.freq,
                    magn          = GameObj.magn,
                    time          = GameObj.time,
                    scalej        = GameObj.transformData.size,
                    vector        = float3.zero
                };
                jobHandle = cylinderMode.Schedule(this, inputDeps);
                break;

            case 4:
                sphereMode = new SphereMode
                {
                    baseData      = GameObj.baseData,
                    transformData = GameObj.transformData,
                    freq          = GameObj.freq,
                    magn          = GameObj.magn,
                    time          = GameObj.time,
                    scalej        = GameObj.transformData.size,
                    vector        = float3.zero
                };
                jobHandle = sphereMode.Schedule(this, inputDeps);
                break;

            case 5:
                torusMode = new TorusMode
                {
                    baseData      = GameObj.baseData,
                    transformData = GameObj.transformData,
                    freq          = GameObj.freq,
                    magn          = GameObj.magn,
                    time          = GameObj.time,
                    scalej        = GameObj.transformData.size,
                    vector        = float3.zero
                };
                jobHandle = torusMode.Schedule(this, inputDeps);
                break;

            default:
                defaultMode = new DefaultMode
                {
                    scalej = 1f,
                    vector = float3.zero
                };
                jobHandle = defaultMode.Schedule(this, inputDeps);
                break;
            }
            return(jobHandle);
        }