UNPKG

@itwin/core-frontend

Version:
41 lines 2.11 kB
"use strict"; /*--------------------------------------------------------------------------------------------- * Copyright (c) Bentley Systems, Incorporated. All rights reserved. * See LICENSE.md in the project root for license terms and full copyright notice. *--------------------------------------------------------------------------------------------*/ /** @packageDocumentation * @module WebGL */ Object.defineProperty(exports, "__esModule", { value: true }); exports.createCombineTexturesProgram = createCombineTexturesProgram; const RenderFlags_1 = require("../RenderFlags"); const Texture_1 = require("../Texture"); const ViewportQuad_1 = require("./ViewportQuad"); const computeBaseColor = "return vec4(1.0);"; const assignFragData = ` if (v_texCoord.y < .5) FragColor = TEXTURE(u_texture0, vec2(v_texCoord.x, v_texCoord.y * 2.0)); else FragColor = TEXTURE(u_texture1, vec2(v_texCoord.x, v_texCoord.y * 2.0 - 1.0)); `; /** @internal */ function createCombineTexturesProgram(context) { const builder = (0, ViewportQuad_1.createViewportQuadBuilder)(true); const frag = builder.frag; frag.set(1 /* FragmentShaderComponent.ComputeBaseColor */, computeBaseColor); frag.addUniform("u_texture0", 8 /* VariableType.Sampler2D */, (prog) => { prog.addGraphicUniform("u_texture0", (uniform, params) => { Texture_1.Texture2DHandle.bindSampler(uniform, params.geometry.texture0, RenderFlags_1.TextureUnit.Zero); }); }, 3 /* VariablePrecision.High */); frag.addUniform("u_texture1", 8 /* VariableType.Sampler2D */, (prog) => { prog.addGraphicUniform("u_texture1", (uniform, params) => { Texture_1.Texture2DHandle.bindSampler(uniform, params.geometry.texture1, RenderFlags_1.TextureUnit.One); }); }, 3 /* VariablePrecision.High */); frag.set(18 /* FragmentShaderComponent.AssignFragData */, assignFragData); builder.vert.headerComment = "//!V! CombineTextures"; builder.frag.headerComment = "//!F! CombineTextures"; return builder.buildProgram(context); } //# sourceMappingURL=CombineTextures.js.map