/// <summary> /// Setup uniforms for specified surface<para/> /// Установка параметров шейдера для поверхности /// </summary> /// <param name="surf">Surface<para/>Поверхность</param> /// <param name="mat">Material<para/>Материал поверхности</param> public override void SetupSurface(Model.SubMesh.Surface surf, Model.Material mat, ModelFile.Geometry geom, Model.SubMesh subMesh) { GL.Uniform1(StaticShader.AppearValue, Fading ? FadingDelta : 1f); GL.Uniform3(StaticShader.AmbientColor, Renderer.SkyState.AmbientStatic); GL.Uniform3(StaticShader.DiffuseColor, Renderer.SkyState.DirectLight); GL.Uniform4(StaticShader.TintColor, new Color4(mat.Color[0], mat.Color[1], mat.Color[2], mat.Color[3])); }
/// <summary> /// Setup uniforms for specified surface<para/> /// Установка параметров шейдера для поверхности /// </summary> /// <param name="surf">Surface<para/>Поверхность</param> /// <param name="mat">Material<para/>Материал поверхности</param> public override void SetupSurface(Model.SubMesh.Surface surf, Model.Material mat, ModelFile.Geometry geom, Model.SubMesh subMesh) { //GL.Uniform1(StaticShader.AppearValue, Fading ? FadingDelta : 1f); //GL.Uniform3(StaticShader.AmbientColor, Renderer.SkyState.AmbientStatic); //GL.Uniform3(StaticShader.DiffuseColor, Renderer.SkyState.DirectLight); //GL.Uniform4(StaticShader.TintColor, new Color4(mat.Color[0], mat.Color[1], mat.Color[2], mat.Color[3])); GL.EnableVertexAttribArray(SkinnedShader.BoneIndexAttrib); GL.BindBuffer(BufferTarget.ArrayBuffer, subMesh.BoneIndexBuffer); GL.VertexAttribPointer(SkinnedShader.BoneIndexAttrib, 4, VertexAttribPointerType.Byte, false, 0, IntPtr.Zero); GL.EnableVertexAttribArray(SkinnedShader.BoneWeightAttrib); GL.BindBuffer(BufferTarget.ArrayBuffer, subMesh.BoneWeightBuffer); GL.VertexAttribPointer(SkinnedShader.BoneWeightAttrib, 4, VertexAttribPointerType.Float, false, 0, IntPtr.Zero); }
/// <summary> /// Disable surface processing<para/> /// Отключение обработки поверхностей /// </summary> public override void SetupSurface(Model.SubMesh.Surface surf, Model.Material mat, Files.ModelFile.Geometry geom) { throw new NotImplementedException(); }
/// <summary> /// Setup uniforms for specified surface<para/> /// Установка параметров шейдера для поверхности /// </summary> /// <param name="surf">Surface<para/>Поверхность</param> /// <param name="mat">Material<para/>Материал поверхности</param> public abstract void SetupSurface(Model.SubMesh.Surface surf, Model.Material mat, ModelFile.Geometry geom, Model.SubMesh subMesh);