UNPKG

playcanvas

Version:

PlayCanvas WebGL game engine

43 lines (40 loc) 1.66 kB
import { shaderChunks } from './chunks/chunks.js'; /** * @import { CameraShaderParams } from '../camera-shader-params.js' * @import { GraphicsDevice } from '../../platform/graphics/graphics-device.js' */ var decodeTable = { 'linear': 'decodeLinear', 'srgb': 'decodeGamma', 'rgbm': 'decodeRGBM', 'rgbe': 'decodeRGBE', 'rgbp': 'decodeRGBP' }; var encodeTable = { 'linear': 'encodeLinear', 'srgb': 'encodeGamma', 'rgbm': 'encodeRGBM', 'rgbe': 'encodeRGBE', 'rgbp': 'encodeRGBP' }; class ChunkUtils { // returns the name of the decode function for the texture encoding static decodeFunc(encoding) { var _decodeTable_encoding; return (_decodeTable_encoding = decodeTable[encoding]) != null ? _decodeTable_encoding : 'decodeGamma'; } static encodeFunc(encoding) { var _encodeTable_encoding; return (_encodeTable_encoding = encodeTable[encoding]) != null ? _encodeTable_encoding : 'encodeGamma'; } /** * Returns a screenDepth chunk configured for the given camera shader parameters. * * @param {GraphicsDevice} device - The graphics device. * @param {CameraShaderParams} cameraShaderParams - The camera shader parameters. * @returns {string} The screenDepth chunk. * @ignore */ static getScreenDepthChunk(device, cameraShaderParams) { return "\n " + (cameraShaderParams.sceneDepthMapLinear ? '#define SCENE_DEPTHMAP_LINEAR' : '') + "\n " + (device.textureFloatRenderable ? '#define SCENE_DEPTHMAP_FLOAT' : '') + "\n " + shaderChunks.screenDepthPS + "\n "; } } export { ChunkUtils };