UNPKG

rl-loadout-lib

Version:

Load Rocket League assets into three.js

58 lines (51 loc) 1.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const body_model_1 = require("./body-model"); const color_1 = require("../../webgl/include/color"); // language=GLSL const FRAGMENT_SHADER = () => ` precision mediump float; ` + color_1.COLOR_INCLUDE + ` uniform sampler2D u_base; uniform sampler2D u_rgba_map; uniform vec4 u_primary; // the texCoords passed in from the vertex shader. varying vec2 v_texCoord; void main() { gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); // Look up a color from the texture. vec4 base = texture2D(u_base, v_texCoord); vec4 rgba_map = texture2D(u_rgba_map, v_texCoord); // base body color gl_FragColor.rgb = blendNormal(gl_FragColor.rgb, base.rgb, base.a); // primary color if (rgba_map.r > 0.16470588235) { gl_FragColor.rgb = blendNormal(gl_FragColor.rgb, u_primary.rgb, rgba_map.r); } // grey color gl_FragColor.rgb = blendNormal(gl_FragColor.rgb, vec3(0.329729, 0.329729, 0.329729), rgba_map.a); } `; /** * Class for the 3D model of DeLorean Time Machine. Needed because of custom coloring. */ class GreyCarModel extends body_model_1.BodyModel { constructor(body, decal, bodyAssets, decalAssets, paints) { super(body, decal, bodyAssets, decalAssets, paints); this.setPrimaryColor(this.bodyMaterial.primaryColor); } setPaintColor(color) { } changeDecal(decalAssets, paints) { } setPrimaryColor(color) { this.bodyMaterial.primaryColor = color; this.chassisMaterial.paintColor = color; } setAccentColor(color) { } setDecalPaintColor(color) { } } exports.GreyCarModel = GreyCarModel; //# sourceMappingURL=grey-car-model.js.map