Exemple #1
0
        void UpdateRenderer()
        {
            if (_renderer == null)
            {
                _renderer = new RendererAdapter(gameObject, _defaultMaterial);
            }

            // Update the custom property block.
            #if UNITY_EDITOR_WIN || UNITY_STANDALONE
            var block = GetComponent <Renderer>().material;
            #else
            var block = _renderer.propertyBlock;
            #endif
            block.SetTexture("_PreviousPositionBuffer", _kernel.GetWorkingBuffer(Buffers.Position));
            block.SetTexture("_PreviousVelocityBuffer", _kernel.GetWorkingBuffer(Buffers.Velocity));
            block.SetTexture("_PreviousOrthnormBuffer", _kernel.GetWorkingBuffer(Buffers.Orthnorm));
            block.SetTexture("_PositionBuffer", _kernel.GetLastBuffer(Buffers.Position));
            block.SetTexture("_VelocityBuffer", _kernel.GetLastBuffer(Buffers.Velocity));
            block.SetTexture("_OrthnormBuffer", _kernel.GetLastBuffer(Buffers.Orthnorm));
            block.SetVector("_LineWidth", new Vector3(_maxWidth, _cutoffSpeed, _speedToWidth / _maxWidth));
            block.SetFloat("_RandomSeed", _randomSeed);

            _renderer.Update(_template.mesh);

            #if UNITY_EDITOR_WIN || UNITY_STANDALONE
            block.SetPass(0);
            #endif
        }
Exemple #2
0
        void UpdateRenderer()
        {
            if (_renderer == null)
            {
                _renderer = new RendererAdapter(gameObject, _defaultMaterial);
            }

            // Update the custom property block.
            #if UNITY_EDITOR_WIN || UNITY_STANDALONE
            var block = GetComponent <Renderer>().material;
            #else
            var block = _renderer.propertyBlock;
            #endif
            block.SetTexture("_PositionBuffer", _kernel.GetLastBuffer(Buffers.Position));
            block.SetFloat("_EdgeThreshold", _edgeThreshold);
            block.SetFloat("_AreaThreshold", _areaThreshold);
            block.SetFloat("_RandomSeed", _randomSeed);
            block.SetFloat("_BufferOffset", Time.frameCount);

            _renderer.Update(_template.mesh);

            #if UNITY_EDITOR_WIN || UNITY_STANDALONE
            block.SetPass(0);
            #endif
        }
        void UpdateRenderer()
        {
            if (_renderer == null)
            {
                _renderer = new RendererAdapter(gameObject, _defaultMaterial);
            }

            // Update the custom property block.
            var block = _renderer.propertyBlock;

            block.SetTexture("_PositionBuffer", _kernel.GetLastBuffer(Buffers.Position));
            block.SetFloat("_EdgeThreshold", _edgeThreshold);
            block.SetFloat("_AreaThreshold", _areaThreshold);
            block.SetFloat("_RandomSeed", _randomSeed);
            block.SetFloat("_BufferOffset", Time.frameCount);

            _renderer.Update(_template.mesh);
        }
        void UpdateRenderer()
        {
            if (_renderer == null)
            {
                _renderer = new RendererAdapter(gameObject, _defaultMaterial);
            }

            // Update the custom property block.
            var block = _renderer.propertyBlock;

            block.SetTexture("_PreviousPositionBuffer", _kernel.GetWorkingBuffer(Buffers.Position));
            block.SetTexture("_PreviousRotationBuffer", _kernel.GetWorkingBuffer(Buffers.Rotation));
            block.SetTexture("_PositionBuffer", _kernel.GetLastBuffer(Buffers.Position));
            block.SetTexture("_VelocityBuffer", _kernel.GetLastBuffer(Buffers.Velocity));
            block.SetTexture("_RotationBuffer", _kernel.GetLastBuffer(Buffers.Rotation));
            block.SetVector("_Scale", new Vector2(_maxScale, _speedToScale));
            block.SetFloat("_RandomSeed", _randomSeed);

            _renderer.Update(_template.mesh);
        }
        void UpdateRenderer()
        {
            if (_renderer == null)
            {
                _renderer = new RendererAdapter(gameObject, _defaultMaterial);
            }

            // Update the custom property block.
            var block = _renderer.propertyBlock;

            block.SetTexture("_PreviousPositionBuffer", _kernel.GetWorkingBuffer(Buffers.Position));
            block.SetTexture("_PreviousVelocityBuffer", _kernel.GetWorkingBuffer(Buffers.Velocity));
            block.SetTexture("_PreviousOrthnormBuffer", _kernel.GetWorkingBuffer(Buffers.Orthnorm));
            block.SetTexture("_PositionBuffer", _kernel.GetLastBuffer(Buffers.Position));
            block.SetTexture("_VelocityBuffer", _kernel.GetLastBuffer(Buffers.Velocity));
            block.SetTexture("_OrthnormBuffer", _kernel.GetLastBuffer(Buffers.Orthnorm));
            block.SetVector("_LineWidth", new Vector3(_maxWidth, _cutoffSpeed, _speedToWidth / _maxWidth));
            block.SetFloat("_RandomSeed", _randomSeed);

            _renderer.Update(_template.mesh);
        }
Exemple #6
0
        private void UpdateRenderer()
        {
            if (_renderer == null)
            {
                _renderer = new RendererAdapter(gameObject, _defaultMaterial);
            }

            // Update the custom property block.
            // DONE :: Q :: What kind of shader it's using here? Maybe TrailSurface.cginc.
            // → SetPropertyBlockでDefaultMaterialを付加している
            var block = _renderer.propertyBlock;

            block.SetTexture("_PreviousPositionBuffer", _kernel.GetWorkingBuffer(Buffers.Position));
            // Q :: There is no "_PreviousVelocityBuffer" in TrailSurface.cginc file.
            block.SetTexture("_PreviousVelocityBuffer", _kernel.GetWorkingBuffer(Buffers.Velocity));
            block.SetTexture("_PreviousOrthnormBuffer", _kernel.GetWorkingBuffer(Buffers.Orthnorm));
            block.SetTexture("_PositionBuffer", _kernel.GetLastBuffer(Buffers.Position));
            block.SetTexture("_VelocityBuffer", _kernel.GetLastBuffer(Buffers.Velocity));
            block.SetTexture("_OrthnormBuffer", _kernel.GetLastBuffer(Buffers.Orthnorm));
            block.SetVector("_LineWidth", new Vector3(_maxWidth, _cutoffSpeed, _speedToWidth / _maxWidth));
            block.SetFloat("_RandomSeed", _randomSeed);

            _renderer.Update(_template.mesh);
        }