playcanvas
Version:
PlayCanvas WebGL game engine
323 lines (320 loc) • 11.1 kB
JavaScript
import { PIXELFORMAT_DEPTH, PIXELFORMAT_DEPTH16, PIXELFORMAT_RGBA16F, PIXELFORMAT_RGBA32F, PIXELFORMAT_R32F } from '../platform/graphics/constants.js';
var BLEND_SUBTRACTIVE = 0;
var BLEND_ADDITIVE = 1;
var BLEND_NORMAL = 2;
var BLEND_NONE = 3;
var BLEND_PREMULTIPLIED = 4;
var BLEND_MULTIPLICATIVE = 5;
var BLEND_ADDITIVEALPHA = 6;
var BLEND_MULTIPLICATIVE2X = 7;
var BLEND_SCREEN = 8;
var BLEND_MIN = 9;
var BLEND_MAX = 10;
var blendNames = {
[BLEND_SUBTRACTIVE]: 'SUBTRACTIVE',
[BLEND_ADDITIVE]: 'ADDITIVE',
[BLEND_NORMAL]: 'NORMAL',
[BLEND_NONE]: 'NONE',
[BLEND_PREMULTIPLIED]: 'PREMULTIPLIED',
[BLEND_MULTIPLICATIVE]: 'MULTIPLICATIVE',
[BLEND_ADDITIVEALPHA]: 'ADDITIVEALPHA',
[BLEND_MULTIPLICATIVE2X]: 'MULTIPLICATIVE2X',
[BLEND_SCREEN]: 'SCREEN',
[BLEND_MIN]: 'MIN',
[BLEND_MAX]: 'MAX'
};
var FOG_NONE = 'none';
var FOG_LINEAR = 'linear';
var FOG_EXP = 'exp';
var FOG_EXP2 = 'exp2';
var FRESNEL_NONE = 0;
var FRESNEL_SCHLICK = 2;
var fresnelNames = {
[FRESNEL_NONE]: 'NONE',
[FRESNEL_SCHLICK]: 'SCHLICK'
};
var LAYER_HUD = 0;
var LAYER_GIZMO = 1;
var LAYER_WORLD = 15;
var LAYERID_WORLD = 0;
var LAYERID_DEPTH = 1;
var LAYERID_SKYBOX = 2;
var LAYERID_IMMEDIATE = 3;
var LAYERID_UI = 4;
var LIGHTTYPE_DIRECTIONAL = 0;
var LIGHTTYPE_OMNI = 1;
var LIGHTTYPE_POINT = LIGHTTYPE_OMNI;
var LIGHTTYPE_SPOT = 2;
var LIGHTTYPE_COUNT = 3;
var lightTypeNames = {
[LIGHTTYPE_DIRECTIONAL]: 'DIRECTIONAL',
[LIGHTTYPE_OMNI]: 'OMNI',
[LIGHTTYPE_SPOT]: 'SPOT'
};
var LIGHTSHAPE_PUNCTUAL = 0;
var LIGHTSHAPE_RECT = 1;
var LIGHTSHAPE_DISK = 2;
var LIGHTSHAPE_SPHERE = 3;
var lightShapeNames = {
[LIGHTSHAPE_PUNCTUAL]: 'PUNCTUAL',
[LIGHTSHAPE_RECT]: 'RECT',
[LIGHTSHAPE_DISK]: 'DISK',
[LIGHTSHAPE_SPHERE]: 'SPHERE'
};
var LIGHTFALLOFF_LINEAR = 0;
var LIGHTFALLOFF_INVERSESQUARED = 1;
var lightFalloffNames = {
[LIGHTFALLOFF_LINEAR]: 'LINEAR',
[LIGHTFALLOFF_INVERSESQUARED]: 'INVERSESQUARED'
};
var SHADOW_PCF3_32F = 0;
var SHADOW_PCF3 = 0;
var SHADOW_VSM_16F = 2;
var SHADOW_VSM16 = 2;
var SHADOW_VSM_32F = 3;
var SHADOW_VSM32 = 3;
var SHADOW_PCF5_32F = 4;
var SHADOW_PCF5 = 4;
var SHADOW_PCF1_32F = 5;
var SHADOW_PCF1 = 5;
var SHADOW_PCSS_32F = 6;
var SHADOW_PCF1_16F = 7;
var SHADOW_PCF3_16F = 8;
var SHADOW_PCF5_16F = 9;
var shadowTypeInfo = new Map([
[
SHADOW_PCF1_32F,
{
name: 'PCF1_32F',
kind: 'PCF1',
format: PIXELFORMAT_DEPTH,
pcf: true
}
],
[
SHADOW_PCF3_32F,
{
name: 'PCF3_32F',
kind: 'PCF3',
format: PIXELFORMAT_DEPTH,
pcf: true
}
],
[
SHADOW_PCF5_32F,
{
name: 'PCF5_32F',
kind: 'PCF5',
format: PIXELFORMAT_DEPTH,
pcf: true
}
],
[
SHADOW_PCF1_16F,
{
name: 'PCF1_16F',
kind: 'PCF1',
format: PIXELFORMAT_DEPTH16,
pcf: true
}
],
[
SHADOW_PCF3_16F,
{
name: 'PCF3_16F',
kind: 'PCF3',
format: PIXELFORMAT_DEPTH16,
pcf: true
}
],
[
SHADOW_PCF5_16F,
{
name: 'PCF5_16F',
kind: 'PCF5',
format: PIXELFORMAT_DEPTH16,
pcf: true
}
],
[
SHADOW_VSM_16F,
{
name: 'VSM_16F',
kind: 'VSM',
format: PIXELFORMAT_RGBA16F,
vsm: true
}
],
[
SHADOW_VSM_32F,
{
name: 'VSM_32F',
kind: 'VSM',
format: PIXELFORMAT_RGBA32F,
vsm: true
}
],
[
SHADOW_PCSS_32F,
{
name: 'PCSS_32F',
kind: 'PCSS',
format: PIXELFORMAT_R32F,
pcss: true
}
]
]);
var BLUR_BOX = 0;
var BLUR_GAUSSIAN = 1;
var PARTICLESORT_NONE = 0;
var PARTICLESORT_DISTANCE = 1;
var PARTICLESORT_NEWER_FIRST = 2;
var PARTICLESORT_OLDER_FIRST = 3;
var PARTICLEMODE_GPU = 0;
var PARTICLEMODE_CPU = 1;
var EMITTERSHAPE_BOX = 0;
var EMITTERSHAPE_SPHERE = 1;
var PARTICLEORIENTATION_SCREEN = 0;
var PARTICLEORIENTATION_WORLD = 1;
var PARTICLEORIENTATION_EMITTER = 2;
var PROJECTION_PERSPECTIVE = 0;
var PROJECTION_ORTHOGRAPHIC = 1;
var RENDERSTYLE_SOLID = 0;
var RENDERSTYLE_WIREFRAME = 1;
var RENDERSTYLE_POINTS = 2;
var CUBEPROJ_NONE = 0;
var CUBEPROJ_BOX = 1;
var cubemaProjectionNames = {
[CUBEPROJ_NONE]: 'NONE',
[CUBEPROJ_BOX]: 'BOX'
};
var DETAILMODE_MUL = 'mul';
var DETAILMODE_ADD = 'add';
var DETAILMODE_SCREEN = 'screen';
var DETAILMODE_OVERLAY = 'overlay';
var DETAILMODE_MIN = 'min';
var DETAILMODE_MAX = 'max';
var GAMMA_NONE = 0;
var GAMMA_SRGB = 1;
var gammaNames = {
[GAMMA_NONE]: 'NONE',
[GAMMA_SRGB]: 'SRGB'
};
var TONEMAP_LINEAR = 0;
var TONEMAP_FILMIC = 1;
var TONEMAP_HEJL = 2;
var TONEMAP_ACES = 3;
var TONEMAP_ACES2 = 4;
var TONEMAP_NEUTRAL = 5;
var TONEMAP_NONE = 6;
var tonemapNames = [
'LINEAR',
'FILMIC',
'HEJL',
'ACES',
'ACES2',
'NEUTRAL',
'NONE'
];
var SPECOCC_NONE = 0;
var SPECOCC_AO = 1;
var SPECOCC_GLOSSDEPENDENT = 2;
var specularOcclusionNames = {
[SPECOCC_NONE]: 'NONE',
[SPECOCC_AO]: 'AO',
[SPECOCC_GLOSSDEPENDENT]: 'GLOSSDEPENDENT'
};
var REFLECTIONSRC_NONE = 'none';
var REFLECTIONSRC_ENVATLAS = 'envAtlas';
var REFLECTIONSRC_ENVATLASHQ = 'envAtlasHQ';
var REFLECTIONSRC_CUBEMAP = 'cubeMap';
var REFLECTIONSRC_SPHEREMAP = 'sphereMap';
var reflectionSrcNames = {
[REFLECTIONSRC_NONE]: 'NONE',
[REFLECTIONSRC_ENVATLAS]: 'ENVATLAS',
[REFLECTIONSRC_ENVATLASHQ]: 'ENVATLASHQ',
[REFLECTIONSRC_CUBEMAP]: 'CUBEMAP',
[REFLECTIONSRC_SPHEREMAP]: 'SPHEREMAP'
};
var AMBIENTSRC_AMBIENTSH = 'ambientSH';
var AMBIENTSRC_ENVALATLAS = 'envAtlas';
var AMBIENTSRC_CONSTANT = 'constant';
var ambientSrcNames = {
[AMBIENTSRC_AMBIENTSH]: 'AMBIENTSH',
[AMBIENTSRC_ENVALATLAS]: 'ENVALATLAS',
[AMBIENTSRC_CONSTANT]: 'CONSTANT'
};
var SHADERDEF_NOSHADOW = 1;
var SHADERDEF_SKIN = 2;
var SHADERDEF_UV0 = 4;
var SHADERDEF_UV1 = 8;
var SHADERDEF_VCOLOR = 16;
var SHADERDEF_INSTANCING = 32;
var SHADERDEF_LM = 64;
var SHADERDEF_DIRLM = 128;
var SHADERDEF_SCREENSPACE = 256;
var SHADERDEF_TANGENTS = 512;
var SHADERDEF_MORPH_POSITION = 1024;
var SHADERDEF_MORPH_NORMAL = 2048;
var SHADERDEF_LMAMBIENT = 4096;
var SHADERDEF_MORPH_TEXTURE_BASED_INT = 8192;
var SHADERDEF_BATCH = 16384;
var SHADOWUPDATE_NONE = 0;
var SHADOWUPDATE_THISFRAME = 1;
var SHADOWUPDATE_REALTIME = 2;
var MASK_AFFECT_DYNAMIC = 1;
var MASK_AFFECT_LIGHTMAPPED = 2;
var MASK_BAKE = 4;
var SHADER_FORWARD = 0;
var SHADER_PREPASS = 1;
var SHADER_DEPTH = 2;
var SHADER_PICK = 3;
var SHADER_SHADOW = 4;
var SHADERPASS_FORWARD = 'forward';
var SHADERPASS_ALBEDO = 'debug_albedo';
var SHADERPASS_WORLDNORMAL = 'debug_world_normal';
var SHADERPASS_OPACITY = 'debug_opacity';
var SHADERPASS_SPECULARITY = 'debug_specularity';
var SHADERPASS_GLOSS = 'debug_gloss';
var SHADERPASS_METALNESS = 'debug_metalness';
var SHADERPASS_AO = 'debug_ao';
var SHADERPASS_EMISSION = 'debug_emission';
var SHADERPASS_LIGHTING = 'debug_lighting';
var SHADERPASS_UV0 = 'debug_uv0';
var SPRITE_RENDERMODE_SIMPLE = 0;
var SPRITE_RENDERMODE_SLICED = 1;
var SPRITE_RENDERMODE_TILED = 2;
var spriteRenderModeNames = {
[SPRITE_RENDERMODE_SIMPLE]: 'SIMPLE',
[SPRITE_RENDERMODE_SLICED]: 'SLICED',
[SPRITE_RENDERMODE_TILED]: 'TILED'
};
var BAKE_COLOR = 0;
var BAKE_COLORDIR = 1;
var VIEW_CENTER = 0;
var VIEW_LEFT = 1;
var VIEW_RIGHT = 2;
var SORTMODE_NONE = 0;
var SORTMODE_MANUAL = 1;
var SORTMODE_MATERIALMESH = 2;
var SORTMODE_BACK2FRONT = 3;
var SORTMODE_FRONT2BACK = 4;
var SORTMODE_CUSTOM = 5;
var ASPECT_AUTO = 0;
var ASPECT_MANUAL = 1;
var ORIENTATION_HORIZONTAL = 0;
var ORIENTATION_VERTICAL = 1;
var SKYTYPE_INFINITE = 'infinite';
var SKYTYPE_BOX = 'box';
var SKYTYPE_DOME = 'dome';
var DITHER_NONE = 'none';
var DITHER_BAYER8 = 'bayer8';
var DITHER_BLUENOISE = 'bluenoise';
var DITHER_IGNNOISE = 'ignnoise';
var EVENT_PRERENDER = 'prerender';
var EVENT_POSTRENDER = 'postrender';
var EVENT_PRERENDER_LAYER = 'prerender:layer';
var EVENT_POSTRENDER_LAYER = 'postrender:layer';
var EVENT_PRECULL = 'precull';
var EVENT_POSTCULL = 'postcull';
export { AMBIENTSRC_AMBIENTSH, AMBIENTSRC_CONSTANT, AMBIENTSRC_ENVALATLAS, ASPECT_AUTO, ASPECT_MANUAL, BAKE_COLOR, BAKE_COLORDIR, BLEND_ADDITIVE, BLEND_ADDITIVEALPHA, BLEND_MAX, BLEND_MIN, BLEND_MULTIPLICATIVE, BLEND_MULTIPLICATIVE2X, BLEND_NONE, BLEND_NORMAL, BLEND_PREMULTIPLIED, BLEND_SCREEN, BLEND_SUBTRACTIVE, BLUR_BOX, BLUR_GAUSSIAN, CUBEPROJ_BOX, CUBEPROJ_NONE, DETAILMODE_ADD, DETAILMODE_MAX, DETAILMODE_MIN, DETAILMODE_MUL, DETAILMODE_OVERLAY, DETAILMODE_SCREEN, DITHER_BAYER8, DITHER_BLUENOISE, DITHER_IGNNOISE, DITHER_NONE, EMITTERSHAPE_BOX, EMITTERSHAPE_SPHERE, EVENT_POSTCULL, EVENT_POSTRENDER, EVENT_POSTRENDER_LAYER, EVENT_PRECULL, EVENT_PRERENDER, EVENT_PRERENDER_LAYER, FOG_EXP, FOG_EXP2, FOG_LINEAR, FOG_NONE, FRESNEL_NONE, FRESNEL_SCHLICK, GAMMA_NONE, GAMMA_SRGB, LAYERID_DEPTH, LAYERID_IMMEDIATE, LAYERID_SKYBOX, LAYERID_UI, LAYERID_WORLD, LAYER_GIZMO, LAYER_HUD, LAYER_WORLD, LIGHTFALLOFF_INVERSESQUARED, LIGHTFALLOFF_LINEAR, LIGHTSHAPE_DISK, LIGHTSHAPE_PUNCTUAL, LIGHTSHAPE_RECT, LIGHTSHAPE_SPHERE, LIGHTTYPE_COUNT, LIGHTTYPE_DIRECTIONAL, LIGHTTYPE_OMNI, LIGHTTYPE_POINT, LIGHTTYPE_SPOT, MASK_AFFECT_DYNAMIC, MASK_AFFECT_LIGHTMAPPED, MASK_BAKE, ORIENTATION_HORIZONTAL, ORIENTATION_VERTICAL, PARTICLEMODE_CPU, PARTICLEMODE_GPU, PARTICLEORIENTATION_EMITTER, PARTICLEORIENTATION_SCREEN, PARTICLEORIENTATION_WORLD, PARTICLESORT_DISTANCE, PARTICLESORT_NEWER_FIRST, PARTICLESORT_NONE, PARTICLESORT_OLDER_FIRST, PROJECTION_ORTHOGRAPHIC, PROJECTION_PERSPECTIVE, REFLECTIONSRC_CUBEMAP, REFLECTIONSRC_ENVATLAS, REFLECTIONSRC_ENVATLASHQ, REFLECTIONSRC_NONE, REFLECTIONSRC_SPHEREMAP, RENDERSTYLE_POINTS, RENDERSTYLE_SOLID, RENDERSTYLE_WIREFRAME, SHADERDEF_BATCH, SHADERDEF_DIRLM, SHADERDEF_INSTANCING, SHADERDEF_LM, SHADERDEF_LMAMBIENT, SHADERDEF_MORPH_NORMAL, SHADERDEF_MORPH_POSITION, SHADERDEF_MORPH_TEXTURE_BASED_INT, SHADERDEF_NOSHADOW, SHADERDEF_SCREENSPACE, SHADERDEF_SKIN, SHADERDEF_TANGENTS, SHADERDEF_UV0, SHADERDEF_UV1, SHADERDEF_VCOLOR, SHADERPASS_ALBEDO, SHADERPASS_AO, SHADERPASS_EMISSION, SHADERPASS_FORWARD, SHADERPASS_GLOSS, SHADERPASS_LIGHTING, SHADERPASS_METALNESS, SHADERPASS_OPACITY, SHADERPASS_SPECULARITY, SHADERPASS_UV0, SHADERPASS_WORLDNORMAL, SHADER_DEPTH, SHADER_FORWARD, SHADER_PICK, SHADER_PREPASS, SHADER_SHADOW, SHADOWUPDATE_NONE, SHADOWUPDATE_REALTIME, SHADOWUPDATE_THISFRAME, SHADOW_PCF1, SHADOW_PCF1_16F, SHADOW_PCF1_32F, SHADOW_PCF3, SHADOW_PCF3_16F, SHADOW_PCF3_32F, SHADOW_PCF5, SHADOW_PCF5_16F, SHADOW_PCF5_32F, SHADOW_PCSS_32F, SHADOW_VSM16, SHADOW_VSM32, SHADOW_VSM_16F, SHADOW_VSM_32F, SKYTYPE_BOX, SKYTYPE_DOME, SKYTYPE_INFINITE, SORTMODE_BACK2FRONT, SORTMODE_CUSTOM, SORTMODE_FRONT2BACK, SORTMODE_MANUAL, SORTMODE_MATERIALMESH, SORTMODE_NONE, SPECOCC_AO, SPECOCC_GLOSSDEPENDENT, SPECOCC_NONE, SPRITE_RENDERMODE_SIMPLE, SPRITE_RENDERMODE_SLICED, SPRITE_RENDERMODE_TILED, TONEMAP_ACES, TONEMAP_ACES2, TONEMAP_FILMIC, TONEMAP_HEJL, TONEMAP_LINEAR, TONEMAP_NEUTRAL, TONEMAP_NONE, VIEW_CENTER, VIEW_LEFT, VIEW_RIGHT, ambientSrcNames, blendNames, cubemaProjectionNames, fresnelNames, gammaNames, lightFalloffNames, lightShapeNames, lightTypeNames, reflectionSrcNames, shadowTypeInfo, specularOcclusionNames, spriteRenderModeNames, tonemapNames };