예제 #1
0
파일: Material.cs 프로젝트: johang88/triton
        public void BeginInstance(Backend backend, Camera camera, int renderStateId)
        {
            if (!Initialized)
            {
                Initialize(backend);
            }

            backend.BeginInstance(Shader.Handle, TextureHandles, samplers: Samplers, renderStateId: renderStateId);
            for (var i = 0; i < SamplerToTexture.Length; i++)
            {
                backend.BindShaderVariable(SamplerToTexture[i], i);
            }

            backend.BindShaderVariable(Handles.Time, backend.ElapsedTime);
            backend.BindShaderVariable(Handles.CameraPosition, ref camera.Position);
        }