├── nakres_VideoCall ├── .DS_Store ├── module │ ├── renderers │ │ ├── shaders │ │ │ ├── ShaderChunk │ │ │ │ ├── begin_vertex.glsl.js │ │ │ │ ├── beginnormal_vertex.glsl.js │ │ │ │ ├── encodings_fragment.glsl.js │ │ │ │ ├── color_vertex.glsl.js │ │ │ │ ├── fog_vertex.glsl.js │ │ │ │ ├── color_pars_fragment.glsl.js │ │ │ │ ├── color_pars_vertex.glsl.js │ │ │ │ ├── fog_pars_vertex.glsl.js │ │ │ │ ├── map_pars_fragment.glsl.js │ │ │ │ ├── color_fragment.glsl.js │ │ │ │ ├── alphamap_pars_fragment.glsl.js │ │ │ │ ├── alphatest_fragment.glsl.js │ │ │ │ ├── uv2_vertex.glsl.js │ │ │ │ ├── emissivemap_pars_fragment.glsl.js │ │ │ │ ├── metalnessmap_pars_fragment.glsl.js │ │ │ │ ├── roughnessmap_pars_fragment.glsl.js │ │ │ │ ├── specularmap_pars_fragment.glsl.js │ │ │ │ ├── alphamap_fragment.glsl.js │ │ │ │ ├── uv2_pars_fragment.glsl.js │ │ │ │ ├── aomap_pars_fragment.glsl.js │ │ │ │ ├── dithering_fragment.glsl.js │ │ │ │ ├── map_particle_pars_fragment.glsl.js │ │ │ │ ├── tonemapping_fragment.glsl.js │ │ │ │ ├── lightmap_pars_fragment.glsl.js │ │ │ │ ├── project_vertex.glsl.js │ │ │ │ ├── uv2_pars_vertex.glsl.js │ │ │ │ ├── clipping_planes_pars_vertex.glsl.js │ │ │ │ ├── clipping_planes_vertex.glsl.js │ │ │ │ ├── logdepthbuf_fragment.glsl.js │ │ │ │ ├── defaultnormal_vertex.glsl.js │ │ │ │ ├── logdepthbuf_pars_fragment.glsl.js │ │ │ │ ├── worldpos_vertex.glsl.js │ │ │ │ ├── map_fragment.glsl.js │ │ │ │ ├── displacementmap_vertex.glsl.js │ │ │ │ ├── displacementmap_pars_vertex.glsl.js │ │ │ │ ├── lightmap_fragment.glsl.js │ │ │ │ ├── lights_phong_fragment.glsl.js │ │ │ │ ├── logdepthbuf_pars_vertex.glsl.js │ │ │ │ ├── premultiplied_alpha_fragment.glsl.js │ │ │ │ ├── map_particle_fragment.glsl.js │ │ │ │ ├── morphtarget_pars_vertex.glsl.js │ │ │ │ ├── specularmap_fragment.glsl.js │ │ │ │ ├── emissivemap_fragment.glsl.js │ │ │ │ ├── clipping_planes_pars_fragment.glsl.js │ │ │ │ ├── skinbase_vertex.glsl.js │ │ │ │ ├── fog_pars_fragment.glsl.js │ │ │ │ ├── uv_pars_fragment.glsl.js │ │ │ │ ├── envmap_pars_vertex.glsl.js │ │ │ │ ├── uv_vertex.glsl.js │ │ │ │ ├── uv_pars_vertex.glsl.js │ │ │ │ ├── lights_fragment_end.glsl.js │ │ │ │ ├── metalnessmap_fragment.glsl.js │ │ │ │ ├── roughnessmap_fragment.glsl.js │ │ │ │ ├── logdepthbuf_vertex.glsl.js │ │ │ │ ├── fog_fragment.glsl.js │ │ │ │ ├── morphnormal_vertex.glsl.js │ │ │ │ ├── skinnormal_vertex.glsl.js │ │ │ │ ├── skinning_vertex.glsl.js │ │ │ │ ├── gradientmap_pars_fragment.glsl.js │ │ │ │ ├── aomap_fragment.glsl.js │ │ │ │ ├── normal_fragment_begin.glsl.js │ │ │ │ ├── envmap_vertex.glsl.js │ │ │ │ ├── lights_physical_fragment.glsl.js │ │ │ │ ├── dithering_pars_fragment.glsl.js │ │ │ │ ├── clipping_planes_fragment.glsl.js │ │ │ │ ├── normal_fragment_maps.glsl.js │ │ │ │ ├── shadowmap_pars_vertex.glsl.js │ │ │ │ ├── envmap_pars_fragment.glsl.js │ │ │ │ ├── morphtarget_vertex.glsl.js │ │ │ │ ├── shadowmap_vertex.glsl.js │ │ │ │ ├── lights_fragment_maps.glsl.js │ │ │ │ └── skinning_pars_vertex.glsl.js │ │ │ ├── ShaderLib │ │ │ │ ├── background_vert.glsl.js │ │ │ │ ├── equirect_vert.glsl.js │ │ │ │ ├── shadow_vert.glsl.js │ │ │ │ ├── background_frag.glsl.js │ │ │ │ ├── cube_vert.glsl.js │ │ │ │ ├── shadow_frag.glsl.js │ │ │ │ ├── cube_frag.glsl.js │ │ │ │ ├── equirect_frag.glsl.js │ │ │ │ ├── linedashed_vert.glsl.js │ │ │ │ ├── normal_frag.glsl.js │ │ │ │ ├── sprite_frag.glsl.js │ │ │ │ ├── depth_vert.glsl.js │ │ │ │ ├── points_vert.glsl.js │ │ │ │ ├── distanceRGBA_frag.glsl.js │ │ │ │ ├── distanceRGBA_vert.glsl.js │ │ │ │ ├── points_frag.glsl.js │ │ │ │ ├── depth_frag.glsl.js │ │ │ │ ├── linedashed_frag.glsl.js │ │ │ │ ├── meshbasic_vert.glsl.js │ │ │ │ └── meshmatcap_vert.glsl.js │ │ │ └── UniformsUtils.js │ │ ├── WebGLRenderTargetCube.js │ │ ├── WebGLMultisampleRenderTarget.js │ │ └── webgl │ │ │ ├── WebGLProperties.js │ │ │ ├── WebGLObjects.js │ │ │ ├── WebGLAnimation.js │ │ │ └── WebGLShader.js │ ├── objects │ │ ├── Group.js │ │ ├── LineLoop.js │ │ └── Bone.js │ ├── audio │ │ ├── AudioContext.js │ │ └── AudioAnalyser.js │ ├── cameras │ │ └── ArrayCamera.js │ ├── core │ │ ├── Uniform.js │ │ ├── Layers.js │ │ ├── InstancedInterleavedBuffer.js │ │ ├── InstancedBufferGeometry.js │ │ └── InstancedBufferAttribute.js │ ├── extras │ │ ├── curves │ │ │ ├── ArcCurve.js │ │ │ └── Curves.js │ │ └── objects │ │ │ └── ImmediateRenderObject.js │ ├── lights │ │ ├── AmbientLight.js │ │ ├── DirectionalLightShadow.js │ │ ├── HemisphereLight.js │ │ ├── RectAreaLight.js │ │ ├── DirectionalLight.js │ │ └── SpotLightShadow.js │ ├── materials │ │ ├── RawShaderMaterial.js │ │ ├── ShadowMaterial.js │ │ ├── MeshToonMaterial.js │ │ ├── Materials.js │ │ └── LineDashedMaterial.js │ ├── textures │ │ ├── CanvasTexture.js │ │ ├── CfxTexture.js │ │ ├── DataTexture.js │ │ ├── DataTexture3D.js │ │ ├── CompressedTexture.js │ │ ├── CubeTexture.js │ │ └── VideoTexture.js │ ├── utils.js │ ├── scenes │ │ ├── FogExp2.js │ │ └── Fog.js │ ├── loaders │ │ ├── Cache.js │ │ ├── LoaderUtils.js │ │ └── AnimationLoader.js │ ├── animation │ │ └── tracks │ │ │ ├── NumberKeyframeTrack.js │ │ │ ├── VectorKeyframeTrack.js │ │ │ ├── ColorKeyframeTrack.js │ │ │ ├── StringKeyframeTrack.js │ │ │ ├── BooleanKeyframeTrack.js │ │ │ └── QuaternionKeyframeTrack.js │ └── math │ │ └── interpolants │ │ ├── DiscreteInterpolant.js │ │ ├── LinearInterpolant.js │ │ └── QuaternionLinearInterpolant.js ├── readme.md └── fxmanifest.lua ├── qb-phone ├── html │ ├── img │ │ ├── qbit.png │ │ ├── default.png │ │ ├── politie.png │ │ ├── samsung-s10.png │ │ ├── apps │ │ │ ├── bank-logo.png │ │ │ ├── whatsapp-chat.png │ │ │ └── whatsapp-chatlight.png │ │ ├── samsung-s10og.png │ │ └── backgrounds │ │ │ ├── background-1.png │ │ │ └── default-qbcore.png │ ├── js │ │ ├── camera.js │ │ └── config.js │ └── css │ │ ├── tooltip.css │ │ └── camera.css └── module │ ├── renderers │ ├── shaders │ │ ├── ShaderChunk │ │ │ ├── begin_vertex.glsl.js │ │ │ ├── beginnormal_vertex.glsl.js │ │ │ ├── encodings_fragment.glsl.js │ │ │ ├── fog_vertex.glsl.js │ │ │ ├── color_pars_vertex.glsl.js │ │ │ ├── color_vertex.glsl.js │ │ │ ├── fog_pars_vertex.glsl.js │ │ │ ├── map_pars_fragment.glsl.js │ │ │ ├── color_fragment.glsl.js │ │ │ ├── color_pars_fragment.glsl.js │ │ │ ├── alphamap_pars_fragment.glsl.js │ │ │ ├── uv2_vertex.glsl.js │ │ │ ├── alphatest_fragment.glsl.js │ │ │ ├── emissivemap_pars_fragment.glsl.js │ │ │ ├── specularmap_pars_fragment.glsl.js │ │ │ ├── alphamap_fragment.glsl.js │ │ │ ├── metalnessmap_pars_fragment.glsl.js │ │ │ ├── roughnessmap_pars_fragment.glsl.js │ │ │ ├── uv2_pars_fragment.glsl.js │ │ │ ├── aomap_pars_fragment.glsl.js │ │ │ ├── dithering_fragment.glsl.js │ │ │ ├── map_particle_pars_fragment.glsl.js │ │ │ ├── tonemapping_fragment.glsl.js │ │ │ ├── project_vertex.glsl.js │ │ │ ├── lightmap_pars_fragment.glsl.js │ │ │ ├── uv2_pars_vertex.glsl.js │ │ │ ├── clipping_planes_pars_vertex.glsl.js │ │ │ ├── clipping_planes_vertex.glsl.js │ │ │ ├── logdepthbuf_fragment.glsl.js │ │ │ ├── logdepthbuf_pars_fragment.glsl.js │ │ │ ├── defaultnormal_vertex.glsl.js │ │ │ ├── worldpos_vertex.glsl.js │ │ │ ├── displacementmap_vertex.glsl.js │ │ │ ├── map_fragment.glsl.js │ │ │ ├── displacementmap_pars_vertex.glsl.js │ │ │ ├── logdepthbuf_pars_vertex.glsl.js │ │ │ ├── lightmap_fragment.glsl.js │ │ │ ├── lights_phong_fragment.glsl.js │ │ │ ├── premultiplied_alpha_fragment.glsl.js │ │ │ ├── map_particle_fragment.glsl.js │ │ │ ├── morphtarget_pars_vertex.glsl.js │ │ │ ├── specularmap_fragment.glsl.js │ │ │ ├── emissivemap_fragment.glsl.js │ │ │ ├── skinbase_vertex.glsl.js │ │ │ ├── clipping_planes_pars_fragment.glsl.js │ │ │ ├── uv_pars_fragment.glsl.js │ │ │ ├── envmap_pars_vertex.glsl.js │ │ │ ├── fog_pars_fragment.glsl.js │ │ │ ├── uv_vertex.glsl.js │ │ │ ├── uv_pars_vertex.glsl.js │ │ │ ├── lights_fragment_end.glsl.js │ │ │ ├── metalnessmap_fragment.glsl.js │ │ │ ├── roughnessmap_fragment.glsl.js │ │ │ ├── logdepthbuf_vertex.glsl.js │ │ │ ├── fog_fragment.glsl.js │ │ │ ├── morphnormal_vertex.glsl.js │ │ │ ├── skinnormal_vertex.glsl.js │ │ │ ├── skinning_vertex.glsl.js │ │ │ ├── gradientmap_pars_fragment.glsl.js │ │ │ ├── aomap_fragment.glsl.js │ │ │ ├── normal_fragment_begin.glsl.js │ │ │ ├── envmap_vertex.glsl.js │ │ │ ├── lights_physical_fragment.glsl.js │ │ │ ├── dithering_pars_fragment.glsl.js │ │ │ ├── clipping_planes_fragment.glsl.js │ │ │ ├── normal_fragment_maps.glsl.js │ │ │ ├── shadowmap_pars_vertex.glsl.js │ │ │ ├── envmap_pars_fragment.glsl.js │ │ │ ├── morphtarget_vertex.glsl.js │ │ │ ├── shadowmap_vertex.glsl.js │ │ │ ├── lights_fragment_maps.glsl.js │ │ │ └── skinning_pars_vertex.glsl.js │ │ ├── ShaderLib │ │ │ ├── background_vert.glsl.js │ │ │ ├── equirect_vert.glsl.js │ │ │ ├── shadow_vert.glsl.js │ │ │ ├── background_frag.glsl.js │ │ │ ├── cube_vert.glsl.js │ │ │ ├── shadow_frag.glsl.js │ │ │ ├── cube_frag.glsl.js │ │ │ ├── equirect_frag.glsl.js │ │ │ ├── linedashed_vert.glsl.js │ │ │ ├── normal_frag.glsl.js │ │ │ ├── sprite_frag.glsl.js │ │ │ ├── depth_vert.glsl.js │ │ │ ├── points_vert.glsl.js │ │ │ ├── distanceRGBA_frag.glsl.js │ │ │ ├── distanceRGBA_vert.glsl.js │ │ │ ├── points_frag.glsl.js │ │ │ ├── depth_frag.glsl.js │ │ │ ├── linedashed_frag.glsl.js │ │ │ ├── meshbasic_vert.glsl.js │ │ │ └── meshmatcap_vert.glsl.js │ │ └── UniformsUtils.js │ ├── WebGLRenderTargetCube.js │ ├── WebGLMultisampleRenderTarget.js │ └── webgl │ │ ├── WebGLProperties.js │ │ ├── WebGLObjects.js │ │ ├── WebGLAnimation.js │ │ └── WebGLShader.js │ ├── objects │ ├── Group.js │ ├── LineLoop.js │ └── Bone.js │ ├── audio │ ├── AudioContext.js │ └── AudioAnalyser.js │ ├── cameras │ └── ArrayCamera.js │ ├── extras │ ├── curves │ │ ├── ArcCurve.js │ │ └── Curves.js │ └── objects │ │ └── ImmediateRenderObject.js │ ├── core │ ├── Uniform.js │ ├── Layers.js │ ├── InstancedInterleavedBuffer.js │ ├── InstancedBufferGeometry.js │ └── InstancedBufferAttribute.js │ ├── lights │ ├── AmbientLight.js │ ├── DirectionalLightShadow.js │ ├── HemisphereLight.js │ ├── RectAreaLight.js │ ├── DirectionalLight.js │ └── SpotLightShadow.js │ ├── materials │ ├── RawShaderMaterial.js │ ├── ShadowMaterial.js │ ├── MeshToonMaterial.js │ ├── Materials.js │ └── LineDashedMaterial.js │ ├── textures │ ├── CanvasTexture.js │ ├── CfxTexture.js │ ├── DataTexture.js │ ├── DataTexture3D.js │ ├── CompressedTexture.js │ ├── CubeTexture.js │ └── VideoTexture.js │ ├── utils.js │ ├── scenes │ ├── FogExp2.js │ └── Fog.js │ ├── loaders │ ├── Cache.js │ ├── LoaderUtils.js │ └── AnimationLoader.js │ ├── animation │ └── tracks │ │ ├── NumberKeyframeTrack.js │ │ ├── VectorKeyframeTrack.js │ │ ├── ColorKeyframeTrack.js │ │ ├── StringKeyframeTrack.js │ │ ├── BooleanKeyframeTrack.js │ │ └── QuaternionKeyframeTrack.js │ ├── math │ └── interpolants │ │ ├── DiscreteInterpolant.js │ │ ├── LinearInterpolant.js │ │ └── QuaternionLinearInterpolant.js │ └── helpers │ └── AxesHelper.js └── readme.md /nakres_VideoCall/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NNakreSS/VideoCall/HEAD/nakres_VideoCall/.DS_Store -------------------------------------------------------------------------------- /qb-phone/html/img/qbit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NNakreSS/VideoCall/HEAD/qb-phone/html/img/qbit.png -------------------------------------------------------------------------------- /qb-phone/html/js/camera.js: -------------------------------------------------------------------------------- 1 | function setUpCameraApp(url){ 2 | $('.phone-home-container').click(); 3 | } -------------------------------------------------------------------------------- /qb-phone/html/img/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NNakreSS/VideoCall/HEAD/qb-phone/html/img/default.png -------------------------------------------------------------------------------- /qb-phone/html/img/politie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NNakreSS/VideoCall/HEAD/qb-phone/html/img/politie.png -------------------------------------------------------------------------------- /qb-phone/html/img/samsung-s10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NNakreSS/VideoCall/HEAD/qb-phone/html/img/samsung-s10.png -------------------------------------------------------------------------------- /qb-phone/html/img/apps/bank-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NNakreSS/VideoCall/HEAD/qb-phone/html/img/apps/bank-logo.png -------------------------------------------------------------------------------- /qb-phone/html/img/samsung-s10og.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NNakreSS/VideoCall/HEAD/qb-phone/html/img/samsung-s10og.png -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | ![image](https://user-images.githubusercontent.com/87872407/153680251-411a3b70-3318-484e-b7d2-060ca64f7c37.png) 2 | -------------------------------------------------------------------------------- /qb-phone/html/img/apps/whatsapp-chat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NNakreSS/VideoCall/HEAD/qb-phone/html/img/apps/whatsapp-chat.png -------------------------------------------------------------------------------- /qb-phone/html/img/apps/whatsapp-chatlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NNakreSS/VideoCall/HEAD/qb-phone/html/img/apps/whatsapp-chatlight.png -------------------------------------------------------------------------------- /qb-phone/html/img/backgrounds/background-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NNakreSS/VideoCall/HEAD/qb-phone/html/img/backgrounds/background-1.png -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/begin_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | vec3 transformed = vec3( position ); 3 | `; 4 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/begin_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | vec3 transformed = vec3( position ); 3 | `; 4 | -------------------------------------------------------------------------------- /qb-phone/html/img/backgrounds/default-qbcore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NNakreSS/VideoCall/HEAD/qb-phone/html/img/backgrounds/default-qbcore.png -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/beginnormal_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | vec3 objectNormal = vec3( normal ); 3 | `; 4 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/beginnormal_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | vec3 objectNormal = vec3( normal ); 3 | `; 4 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/encodings_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | gl_FragColor = linearToOutputTexel( gl_FragColor ); 3 | `; 4 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/fog_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_FOG 3 | 4 | fogDepth = -mvPosition.z; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/encodings_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | gl_FragColor = linearToOutputTexel( gl_FragColor ); 3 | `; 4 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/color_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_COLOR 3 | 4 | varying vec3 vColor; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/color_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_COLOR 3 | 4 | vColor.xyz = color.xyz; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/fog_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_FOG 3 | 4 | varying float fogDepth; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/map_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_MAP 3 | 4 | uniform sampler2D map; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/color_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_COLOR 3 | 4 | vColor.xyz = color.xyz; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/fog_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_FOG 3 | 4 | fogDepth = -mvPosition.z; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/color_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_COLOR 3 | 4 | diffuseColor.rgb *= vColor; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/color_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_COLOR 3 | 4 | varying vec3 vColor; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/color_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_COLOR 3 | 4 | varying vec3 vColor; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/color_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_COLOR 3 | 4 | varying vec3 vColor; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/fog_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_FOG 3 | 4 | varying float fogDepth; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/map_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_MAP 3 | 4 | uniform sampler2D map; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/color_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_COLOR 3 | 4 | diffuseColor.rgb *= vColor; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/alphamap_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_ALPHAMAP 3 | 4 | uniform sampler2D alphaMap; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/uv2_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( USE_LIGHTMAP ) || defined( USE_AOMAP ) 3 | 4 | vUv2 = uv2; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/alphamap_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_ALPHAMAP 3 | 4 | uniform sampler2D alphaMap; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/readme.md: -------------------------------------------------------------------------------- 1 | My discord server https://discord.gg/dqVdxm589c 2 | 3 | ![image](https://user-images.githubusercontent.com/87872407/151896040-18deff5b-ef34-4b51-a1da-e5575c328c69.png) 4 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/alphatest_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef ALPHATEST 3 | 4 | if ( diffuseColor.a < ALPHATEST ) discard; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/emissivemap_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_EMISSIVEMAP 3 | 4 | uniform sampler2D emissiveMap; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/specularmap_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_SPECULARMAP 3 | 4 | uniform sampler2D specularMap; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/alphatest_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef ALPHATEST 3 | 4 | if ( diffuseColor.a < ALPHATEST ) discard; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/uv2_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( USE_LIGHTMAP ) || defined( USE_AOMAP ) 3 | 4 | vUv2 = uv2; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/alphamap_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_ALPHAMAP 3 | 4 | diffuseColor.a *= texture2D( alphaMap, vUv ).g; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/metalnessmap_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_METALNESSMAP 3 | 4 | uniform sampler2D metalnessMap; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/roughnessmap_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_ROUGHNESSMAP 3 | 4 | uniform sampler2D roughnessMap; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/emissivemap_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_EMISSIVEMAP 3 | 4 | uniform sampler2D emissiveMap; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/metalnessmap_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_METALNESSMAP 3 | 4 | uniform sampler2D metalnessMap; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/roughnessmap_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_ROUGHNESSMAP 3 | 4 | uniform sampler2D roughnessMap; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/specularmap_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_SPECULARMAP 3 | 4 | uniform sampler2D specularMap; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/uv2_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( USE_LIGHTMAP ) || defined( USE_AOMAP ) 3 | 4 | varying vec2 vUv2; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/alphamap_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_ALPHAMAP 3 | 4 | diffuseColor.a *= texture2D( alphaMap, vUv ).g; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/uv2_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( USE_LIGHTMAP ) || defined( USE_AOMAP ) 3 | 4 | varying vec2 vUv2; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/aomap_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_AOMAP 3 | 4 | uniform sampler2D aoMap; 5 | uniform float aoMapIntensity; 6 | 7 | #endif 8 | `; 9 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/dithering_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( DITHERING ) 3 | 4 | gl_FragColor.rgb = dithering( gl_FragColor.rgb ); 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/map_particle_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_MAP 3 | 4 | uniform mat3 uvTransform; 5 | uniform sampler2D map; 6 | 7 | #endif 8 | `; 9 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/tonemapping_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( TONE_MAPPING ) 3 | 4 | gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/aomap_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_AOMAP 3 | 4 | uniform sampler2D aoMap; 5 | uniform float aoMapIntensity; 6 | 7 | #endif 8 | `; 9 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/dithering_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( DITHERING ) 3 | 4 | gl_FragColor.rgb = dithering( gl_FragColor.rgb ); 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/map_particle_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_MAP 3 | 4 | uniform mat3 uvTransform; 5 | uniform sampler2D map; 6 | 7 | #endif 8 | `; 9 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/project_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | vec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 ); 3 | 4 | gl_Position = projectionMatrix * mvPosition; 5 | `; 6 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/tonemapping_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( TONE_MAPPING ) 3 | 4 | gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/lightmap_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_LIGHTMAP 3 | 4 | uniform sampler2D lightMap; 5 | uniform float lightMapIntensity; 6 | 7 | #endif 8 | `; 9 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/uv2_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( USE_LIGHTMAP ) || defined( USE_AOMAP ) 3 | 4 | attribute vec2 uv2; 5 | varying vec2 vUv2; 6 | 7 | #endif 8 | `; 9 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/lightmap_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_LIGHTMAP 3 | 4 | uniform sampler2D lightMap; 5 | uniform float lightMapIntensity; 6 | 7 | #endif 8 | `; 9 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/project_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | vec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 ); 3 | 4 | gl_Position = projectionMatrix * mvPosition; 5 | `; 6 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/uv2_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( USE_LIGHTMAP ) || defined( USE_AOMAP ) 3 | 4 | attribute vec2 uv2; 5 | varying vec2 vUv2; 6 | 7 | #endif 8 | `; 9 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/clipping_planes_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP ) 3 | varying vec3 vViewPosition; 4 | #endif 5 | `; 6 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/clipping_planes_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP ) 3 | vViewPosition = - mvPosition.xyz; 4 | #endif 5 | `; 6 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/logdepthbuf_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) 3 | 4 | gl_FragDepthEXT = log2( vFragDepth ) * logDepthBufFC * 0.5; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/clipping_planes_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP ) 3 | varying vec3 vViewPosition; 4 | #endif 5 | `; 6 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/logdepthbuf_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) 3 | 4 | uniform float logDepthBufFC; 5 | varying float vFragDepth; 6 | 7 | #endif 8 | `; 9 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/clipping_planes_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP ) 3 | vViewPosition = - mvPosition.xyz; 4 | #endif 5 | `; 6 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/logdepthbuf_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) 3 | 4 | gl_FragDepthEXT = log2( vFragDepth ) * logDepthBufFC * 0.5; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/defaultnormal_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | vec3 transformedNormal = normalMatrix * objectNormal; 3 | 4 | #ifdef FLIP_SIDED 5 | 6 | transformedNormal = - transformedNormal; 7 | 8 | #endif 9 | `; 10 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/worldpos_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) 3 | 4 | vec4 worldPosition = modelMatrix * vec4( transformed, 1.0 ); 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/defaultnormal_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | vec3 transformedNormal = normalMatrix * objectNormal; 3 | 4 | #ifdef FLIP_SIDED 5 | 6 | transformedNormal = - transformedNormal; 7 | 8 | #endif 9 | `; 10 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/logdepthbuf_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) 3 | 4 | uniform float logDepthBufFC; 5 | varying float vFragDepth; 6 | 7 | #endif 8 | `; 9 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/worldpos_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) 3 | 4 | vec4 worldPosition = modelMatrix * vec4( transformed, 1.0 ); 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/displacementmap_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_DISPLACEMENTMAP 3 | 4 | transformed += normalize( objectNormal ) * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias ); 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/map_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_MAP 3 | 4 | vec4 texelColor = texture2D( map, vUv ); 5 | 6 | texelColor = mapTexelToLinear( texelColor ); 7 | diffuseColor *= texelColor; 8 | 9 | #endif 10 | `; 11 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/map_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_MAP 3 | 4 | vec4 texelColor = texture2D( map, vUv ); 5 | 6 | texelColor = mapTexelToLinear( texelColor ); 7 | diffuseColor *= texelColor; 8 | 9 | #endif 10 | `; 11 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/displacementmap_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_DISPLACEMENTMAP 3 | 4 | uniform sampler2D displacementMap; 5 | uniform float displacementScale; 6 | uniform float displacementBias; 7 | 8 | #endif 9 | `; 10 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/displacementmap_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_DISPLACEMENTMAP 3 | 4 | transformed += normalize( objectNormal ) * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias ); 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/displacementmap_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_DISPLACEMENTMAP 3 | 4 | uniform sampler2D displacementMap; 5 | uniform float displacementScale; 6 | uniform float displacementBias; 7 | 8 | #endif 9 | `; 10 | -------------------------------------------------------------------------------- /qb-phone/html/js/config.js: -------------------------------------------------------------------------------- 1 | Config = [] 2 | 3 | Config.HeaderDisabledApps = [ 4 | "bank", 5 | "whatsapp", 6 | "meos", 7 | "garage", 8 | "crypto", 9 | "racing", 10 | "houses", 11 | "lawyers", 12 | "trucker", 13 | ] 14 | 15 | Config.DefaultCryptoPage = "general"; -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderLib/background_vert.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | varying vec2 vUv; 3 | uniform mat3 uvTransform; 4 | 5 | void main() { 6 | 7 | vUv = ( uvTransform * vec3( uv, 1 ) ).xy; 8 | 9 | gl_Position = vec4( position.xy, 1.0, 1.0 ); 10 | 11 | } 12 | `; 13 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderLib/background_vert.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | varying vec2 vUv; 3 | uniform mat3 uvTransform; 4 | 5 | void main() { 6 | 7 | vUv = ( uvTransform * vec3( uv, 1 ) ).xy; 8 | 9 | gl_Position = vec4( position.xy, 1.0, 1.0 ); 10 | 11 | } 12 | `; 13 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/logdepthbuf_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_LOGDEPTHBUF 3 | 4 | #ifdef USE_LOGDEPTHBUF_EXT 5 | 6 | varying float vFragDepth; 7 | 8 | #else 9 | 10 | uniform float logDepthBufFC; 11 | 12 | #endif 13 | 14 | #endif 15 | `; 16 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/lightmap_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_LIGHTMAP 3 | 4 | reflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity; // factor of PI should not be present; included here to prevent breakage 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/lights_phong_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | BlinnPhongMaterial material; 3 | material.diffuseColor = diffuseColor.rgb; 4 | material.specularColor = specular; 5 | material.specularShininess = shininess; 6 | material.specularStrength = specularStrength; 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/lightmap_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_LIGHTMAP 3 | 4 | reflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity; // factor of PI should not be present; included here to prevent breakage 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/lights_phong_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | BlinnPhongMaterial material; 3 | material.diffuseColor = diffuseColor.rgb; 4 | material.specularColor = specular; 5 | material.specularShininess = shininess; 6 | material.specularStrength = specularStrength; 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/logdepthbuf_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_LOGDEPTHBUF 3 | 4 | #ifdef USE_LOGDEPTHBUF_EXT 5 | 6 | varying float vFragDepth; 7 | 8 | #else 9 | 10 | uniform float logDepthBufFC; 11 | 12 | #endif 13 | 14 | #endif 15 | `; 16 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef PREMULTIPLIED_ALPHA 3 | 4 | // Get get normal blending with premultipled, use with CustomBlending, OneFactor, OneMinusSrcAlphaFactor, AddEquation. 5 | gl_FragColor.rgb *= gl_FragColor.a; 6 | 7 | #endif 8 | `; 9 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef PREMULTIPLIED_ALPHA 3 | 4 | // Get get normal blending with premultipled, use with CustomBlending, OneFactor, OneMinusSrcAlphaFactor, AddEquation. 5 | gl_FragColor.rgb *= gl_FragColor.a; 6 | 7 | #endif 8 | `; 9 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/map_particle_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_MAP 3 | 4 | vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy; 5 | vec4 mapTexel = texture2D( map, uv ); 6 | diffuseColor *= mapTexelToLinear( mapTexel ); 7 | 8 | #endif 9 | `; 10 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_MORPHTARGETS 3 | 4 | #ifndef USE_MORPHNORMALS 5 | 6 | uniform float morphTargetInfluences[ 8 ]; 7 | 8 | #else 9 | 10 | uniform float morphTargetInfluences[ 4 ]; 11 | 12 | #endif 13 | 14 | #endif 15 | `; 16 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/map_particle_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_MAP 3 | 4 | vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy; 5 | vec4 mapTexel = texture2D( map, uv ); 6 | diffuseColor *= mapTexelToLinear( mapTexel ); 7 | 8 | #endif 9 | `; 10 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderLib/equirect_vert.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | varying vec3 vWorldDirection; 3 | 4 | #include 5 | 6 | void main() { 7 | 8 | vWorldDirection = transformDirection( position, modelMatrix ); 9 | 10 | #include 11 | #include 12 | 13 | } 14 | `; 15 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_MORPHTARGETS 3 | 4 | #ifndef USE_MORPHNORMALS 5 | 6 | uniform float morphTargetInfluences[ 8 ]; 7 | 8 | #else 9 | 10 | uniform float morphTargetInfluences[ 4 ]; 11 | 12 | #endif 13 | 14 | #endif 15 | `; 16 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/specularmap_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | float specularStrength; 3 | 4 | #ifdef USE_SPECULARMAP 5 | 6 | vec4 texelSpecular = texture2D( specularMap, vUv ); 7 | specularStrength = texelSpecular.r; 8 | 9 | #else 10 | 11 | specularStrength = 1.0; 12 | 13 | #endif 14 | `; 15 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/specularmap_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | float specularStrength; 3 | 4 | #ifdef USE_SPECULARMAP 5 | 6 | vec4 texelSpecular = texture2D( specularMap, vUv ); 7 | specularStrength = texelSpecular.r; 8 | 9 | #else 10 | 11 | specularStrength = 1.0; 12 | 13 | #endif 14 | `; 15 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderLib/equirect_vert.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | varying vec3 vWorldDirection; 3 | 4 | #include 5 | 6 | void main() { 7 | 8 | vWorldDirection = transformDirection( position, modelMatrix ); 9 | 10 | #include 11 | #include 12 | 13 | } 14 | `; 15 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/emissivemap_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_EMISSIVEMAP 3 | 4 | vec4 emissiveColor = texture2D( emissiveMap, vUv ); 5 | 6 | emissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb; 7 | 8 | totalEmissiveRadiance *= emissiveColor.rgb; 9 | 10 | #endif 11 | `; 12 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/emissivemap_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_EMISSIVEMAP 3 | 4 | vec4 emissiveColor = texture2D( emissiveMap, vUv ); 5 | 6 | emissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb; 7 | 8 | totalEmissiveRadiance *= emissiveColor.rgb; 9 | 10 | #endif 11 | `; 12 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/skinbase_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_SKINNING 3 | 4 | mat4 boneMatX = getBoneMatrix( skinIndex.x ); 5 | mat4 boneMatY = getBoneMatrix( skinIndex.y ); 6 | mat4 boneMatZ = getBoneMatrix( skinIndex.z ); 7 | mat4 boneMatW = getBoneMatrix( skinIndex.w ); 8 | 9 | #endif 10 | `; 11 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/clipping_planes_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if NUM_CLIPPING_PLANES > 0 3 | 4 | #if ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP ) 5 | varying vec3 vViewPosition; 6 | #endif 7 | 8 | uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; 9 | 10 | #endif 11 | `; 12 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/clipping_planes_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if NUM_CLIPPING_PLANES > 0 3 | 4 | #if ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP ) 5 | varying vec3 vViewPosition; 6 | #endif 7 | 8 | uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; 9 | 10 | #endif 11 | `; 12 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/skinbase_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_SKINNING 3 | 4 | mat4 boneMatX = getBoneMatrix( skinIndex.x ); 5 | mat4 boneMatY = getBoneMatrix( skinIndex.y ); 6 | mat4 boneMatZ = getBoneMatrix( skinIndex.z ); 7 | mat4 boneMatW = getBoneMatrix( skinIndex.w ); 8 | 9 | #endif 10 | `; 11 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderLib/shadow_vert.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #include 3 | #include 4 | 5 | void main() { 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | } 14 | `; 15 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderLib/shadow_vert.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #include 3 | #include 4 | 5 | void main() { 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | } 14 | `; 15 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/uv_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP ) 3 | 4 | varying vec2 vUv; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/envmap_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_ENVMAP 3 | 4 | #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) 5 | varying vec3 vWorldPosition; 6 | 7 | #else 8 | 9 | varying vec3 vReflect; 10 | uniform float refractionRatio; 11 | 12 | #endif 13 | 14 | #endif 15 | `; 16 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_FOG 3 | 4 | uniform vec3 fogColor; 5 | varying float fogDepth; 6 | 7 | #ifdef FOG_EXP2 8 | 9 | uniform float fogDensity; 10 | 11 | #else 12 | 13 | uniform float fogNear; 14 | uniform float fogFar; 15 | 16 | #endif 17 | 18 | #endif 19 | `; 20 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_FOG 3 | 4 | uniform vec3 fogColor; 5 | varying float fogDepth; 6 | 7 | #ifdef FOG_EXP2 8 | 9 | uniform float fogDensity; 10 | 11 | #else 12 | 13 | uniform float fogNear; 14 | uniform float fogFar; 15 | 16 | #endif 17 | 18 | #endif 19 | `; 20 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/uv_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP ) 3 | 4 | varying vec2 vUv; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderLib/background_frag.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | uniform sampler2D t2D; 3 | 4 | varying vec2 vUv; 5 | 6 | void main() { 7 | 8 | vec4 texColor = texture2D( t2D, vUv ); 9 | 10 | gl_FragColor = mapTexelToLinear( texColor ); 11 | 12 | #include 13 | #include 14 | 15 | } 16 | `; 17 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/envmap_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_ENVMAP 3 | 4 | #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) 5 | varying vec3 vWorldPosition; 6 | 7 | #else 8 | 9 | varying vec3 vReflect; 10 | uniform float refractionRatio; 11 | 12 | #endif 13 | 14 | #endif 15 | `; 16 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderLib/background_frag.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | uniform sampler2D t2D; 3 | 4 | varying vec2 vUv; 5 | 6 | void main() { 7 | 8 | vec4 texColor = texture2D( t2D, vUv ); 9 | 10 | gl_FragColor = mapTexelToLinear( texColor ); 11 | 12 | #include 13 | #include 14 | 15 | } 16 | `; 17 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/uv_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP ) 3 | 4 | vUv = ( uvTransform * vec3( uv, 1 ) ).xy; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/uv_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP ) 3 | 4 | vUv = ( uvTransform * vec3( uv, 1 ) ).xy; 5 | 6 | #endif 7 | `; 8 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/uv_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP ) 3 | 4 | varying vec2 vUv; 5 | uniform mat3 uvTransform; 6 | 7 | #endif 8 | `; 9 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderLib/cube_vert.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | varying vec3 vWorldDirection; 3 | 4 | #include 5 | 6 | void main() { 7 | 8 | vWorldDirection = transformDirection( position, modelMatrix ); 9 | 10 | #include 11 | #include 12 | 13 | gl_Position.z = gl_Position.w; // set z to camera.far 14 | 15 | } 16 | `; 17 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/lights_fragment_end.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( RE_IndirectDiffuse ) 3 | 4 | RE_IndirectDiffuse( irradiance, geometry, material, reflectedLight ); 5 | 6 | #endif 7 | 8 | #if defined( RE_IndirectSpecular ) 9 | 10 | RE_IndirectSpecular( radiance, clearCoatRadiance, geometry, material, reflectedLight ); 11 | 12 | #endif 13 | `; 14 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/metalnessmap_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | float metalnessFactor = metalness; 3 | 4 | #ifdef USE_METALNESSMAP 5 | 6 | vec4 texelMetalness = texture2D( metalnessMap, vUv ); 7 | 8 | // reads channel B, compatible with a combined OcclusionRoughnessMetallic (RGB) texture 9 | metalnessFactor *= texelMetalness.b; 10 | 11 | #endif 12 | `; 13 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/roughnessmap_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | float roughnessFactor = roughness; 3 | 4 | #ifdef USE_ROUGHNESSMAP 5 | 6 | vec4 texelRoughness = texture2D( roughnessMap, vUv ); 7 | 8 | // reads channel G, compatible with a combined OcclusionRoughnessMetallic (RGB) texture 9 | roughnessFactor *= texelRoughness.g; 10 | 11 | #endif 12 | `; 13 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/uv_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP ) 3 | 4 | varying vec2 vUv; 5 | uniform mat3 uvTransform; 6 | 7 | #endif 8 | `; 9 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderLib/cube_vert.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | varying vec3 vWorldDirection; 3 | 4 | #include 5 | 6 | void main() { 7 | 8 | vWorldDirection = transformDirection( position, modelMatrix ); 9 | 10 | #include 11 | #include 12 | 13 | gl_Position.z = gl_Position.w; // set z to camera.far 14 | 15 | } 16 | `; 17 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/logdepthbuf_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_LOGDEPTHBUF 3 | 4 | #ifdef USE_LOGDEPTHBUF_EXT 5 | 6 | vFragDepth = 1.0 + gl_Position.w; 7 | 8 | #else 9 | 10 | gl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0; 11 | 12 | gl_Position.z *= gl_Position.w; 13 | 14 | #endif 15 | 16 | #endif 17 | `; 18 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/lights_fragment_end.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( RE_IndirectDiffuse ) 3 | 4 | RE_IndirectDiffuse( irradiance, geometry, material, reflectedLight ); 5 | 6 | #endif 7 | 8 | #if defined( RE_IndirectSpecular ) 9 | 10 | RE_IndirectSpecular( radiance, clearCoatRadiance, geometry, material, reflectedLight ); 11 | 12 | #endif 13 | `; 14 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/metalnessmap_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | float metalnessFactor = metalness; 3 | 4 | #ifdef USE_METALNESSMAP 5 | 6 | vec4 texelMetalness = texture2D( metalnessMap, vUv ); 7 | 8 | // reads channel B, compatible with a combined OcclusionRoughnessMetallic (RGB) texture 9 | metalnessFactor *= texelMetalness.b; 10 | 11 | #endif 12 | `; 13 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/roughnessmap_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | float roughnessFactor = roughness; 3 | 4 | #ifdef USE_ROUGHNESSMAP 5 | 6 | vec4 texelRoughness = texture2D( roughnessMap, vUv ); 7 | 8 | // reads channel G, compatible with a combined OcclusionRoughnessMetallic (RGB) texture 9 | roughnessFactor *= texelRoughness.g; 10 | 11 | #endif 12 | `; 13 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/logdepthbuf_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_LOGDEPTHBUF 3 | 4 | #ifdef USE_LOGDEPTHBUF_EXT 5 | 6 | vFragDepth = 1.0 + gl_Position.w; 7 | 8 | #else 9 | 10 | gl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0; 11 | 12 | gl_Position.z *= gl_Position.w; 13 | 14 | #endif 15 | 16 | #endif 17 | `; 18 | -------------------------------------------------------------------------------- /qb-phone/module/objects/Group.js: -------------------------------------------------------------------------------- 1 | import { Object3D } from '../core/Object3D.js'; 2 | 3 | /** 4 | * @author mrdoob / http://mrdoob.com/ 5 | */ 6 | 7 | function Group() { 8 | 9 | Object3D.call( this ); 10 | 11 | this.type = 'Group'; 12 | 13 | } 14 | 15 | Group.prototype = Object.assign( Object.create( Object3D.prototype ), { 16 | 17 | constructor: Group, 18 | 19 | isGroup: true 20 | 21 | } ); 22 | 23 | 24 | export { Group }; 25 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/objects/Group.js: -------------------------------------------------------------------------------- 1 | import { Object3D } from '../core/Object3D.js'; 2 | 3 | /** 4 | * @author mrdoob / http://mrdoob.com/ 5 | */ 6 | 7 | function Group() { 8 | 9 | Object3D.call( this ); 10 | 11 | this.type = 'Group'; 12 | 13 | } 14 | 15 | Group.prototype = Object.assign( Object.create( Object3D.prototype ), { 16 | 17 | constructor: Group, 18 | 19 | isGroup: true 20 | 21 | } ); 22 | 23 | 24 | export { Group }; 25 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/fog_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_FOG 3 | 4 | #ifdef FOG_EXP2 5 | 6 | float fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * fogDepth * fogDepth * LOG2 ) ); 7 | 8 | #else 9 | 10 | float fogFactor = smoothstep( fogNear, fogFar, fogDepth ); 11 | 12 | #endif 13 | 14 | gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); 15 | 16 | #endif 17 | `; 18 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/morphnormal_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_MORPHNORMALS 3 | 4 | objectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ]; 5 | objectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ]; 6 | objectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ]; 7 | objectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ]; 8 | 9 | #endif 10 | `; 11 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/fog_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_FOG 3 | 4 | #ifdef FOG_EXP2 5 | 6 | float fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * fogDepth * fogDepth * LOG2 ) ); 7 | 8 | #else 9 | 10 | float fogFactor = smoothstep( fogNear, fogFar, fogDepth ); 11 | 12 | #endif 13 | 14 | gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); 15 | 16 | #endif 17 | `; 18 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/morphnormal_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_MORPHNORMALS 3 | 4 | objectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ]; 5 | objectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ]; 6 | objectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ]; 7 | objectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ]; 8 | 9 | #endif 10 | `; 11 | -------------------------------------------------------------------------------- /qb-phone/module/objects/LineLoop.js: -------------------------------------------------------------------------------- 1 | import { Line } from './Line.js'; 2 | 3 | /** 4 | * @author mgreter / http://github.com/mgreter 5 | */ 6 | 7 | function LineLoop( geometry, material ) { 8 | 9 | Line.call( this, geometry, material ); 10 | 11 | this.type = 'LineLoop'; 12 | 13 | } 14 | 15 | LineLoop.prototype = Object.assign( Object.create( Line.prototype ), { 16 | 17 | constructor: LineLoop, 18 | 19 | isLineLoop: true, 20 | 21 | } ); 22 | 23 | 24 | export { LineLoop }; 25 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/objects/LineLoop.js: -------------------------------------------------------------------------------- 1 | import { Line } from './Line.js'; 2 | 3 | /** 4 | * @author mgreter / http://github.com/mgreter 5 | */ 6 | 7 | function LineLoop( geometry, material ) { 8 | 9 | Line.call( this, geometry, material ); 10 | 11 | this.type = 'LineLoop'; 12 | 13 | } 14 | 15 | LineLoop.prototype = Object.assign( Object.create( Line.prototype ), { 16 | 17 | constructor: LineLoop, 18 | 19 | isLineLoop: true, 20 | 21 | } ); 22 | 23 | 24 | export { LineLoop }; 25 | -------------------------------------------------------------------------------- /qb-phone/module/audio/AudioContext.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | var context; 6 | 7 | var AudioContext = { 8 | 9 | getContext: function () { 10 | 11 | if ( context === undefined ) { 12 | 13 | context = new ( window.AudioContext || window.webkitAudioContext )(); 14 | 15 | } 16 | 17 | return context; 18 | 19 | }, 20 | 21 | setContext: function ( value ) { 22 | 23 | context = value; 24 | 25 | } 26 | 27 | }; 28 | 29 | export { AudioContext }; 30 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/skinnormal_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_SKINNING 3 | 4 | mat4 skinMatrix = mat4( 0.0 ); 5 | skinMatrix += skinWeight.x * boneMatX; 6 | skinMatrix += skinWeight.y * boneMatY; 7 | skinMatrix += skinWeight.z * boneMatZ; 8 | skinMatrix += skinWeight.w * boneMatW; 9 | skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix; 10 | 11 | objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz; 12 | 13 | #endif 14 | `; 15 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/audio/AudioContext.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | var context; 6 | 7 | var AudioContext = { 8 | 9 | getContext: function () { 10 | 11 | if ( context === undefined ) { 12 | 13 | context = new ( window.AudioContext || window.webkitAudioContext )(); 14 | 15 | } 16 | 17 | return context; 18 | 19 | }, 20 | 21 | setContext: function ( value ) { 22 | 23 | context = value; 24 | 25 | } 26 | 27 | }; 28 | 29 | export { AudioContext }; 30 | -------------------------------------------------------------------------------- /qb-phone/html/css/tooltip.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200&display=swap'); 2 | 3 | .tooltip-inner { 4 | font-family: 'Poppins', sans-serif; 5 | font-size: 11px; 6 | color: white; 7 | } 8 | 9 | .toggle.ios, .toggle-on.ios, .toggle-off.ios { 10 | border-radius: 20px; 11 | } 12 | 13 | .toggle.ios .toggle-handle { 14 | border-radius: 20px; 15 | } 16 | 17 | .custom-control, .custom-switch, .custom-control-input { 18 | color: white 19 | } 20 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/skinnormal_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_SKINNING 3 | 4 | mat4 skinMatrix = mat4( 0.0 ); 5 | skinMatrix += skinWeight.x * boneMatX; 6 | skinMatrix += skinWeight.y * boneMatY; 7 | skinMatrix += skinWeight.z * boneMatZ; 8 | skinMatrix += skinWeight.w * boneMatW; 9 | skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix; 10 | 11 | objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz; 12 | 13 | #endif 14 | `; 15 | -------------------------------------------------------------------------------- /qb-phone/module/cameras/ArrayCamera.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | import { PerspectiveCamera } from './PerspectiveCamera.js'; 6 | 7 | function ArrayCamera( array ) { 8 | 9 | PerspectiveCamera.call( this ); 10 | 11 | this.cameras = array || []; 12 | 13 | } 14 | 15 | ArrayCamera.prototype = Object.assign( Object.create( PerspectiveCamera.prototype ), { 16 | 17 | constructor: ArrayCamera, 18 | 19 | isArrayCamera: true 20 | 21 | } ); 22 | 23 | 24 | export { ArrayCamera }; 25 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderLib/shadow_frag.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | uniform vec3 color; 3 | uniform float opacity; 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | void main() { 14 | 15 | gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) ); 16 | 17 | #include 18 | 19 | } 20 | `; 21 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderLib/shadow_frag.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | uniform vec3 color; 3 | uniform float opacity; 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | void main() { 14 | 15 | gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) ); 16 | 17 | #include 18 | 19 | } 20 | `; 21 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderLib/cube_frag.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | uniform samplerCube tCube; 3 | uniform float tFlip; 4 | uniform float opacity; 5 | 6 | varying vec3 vWorldDirection; 7 | 8 | void main() { 9 | 10 | vec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) ); 11 | 12 | gl_FragColor = mapTexelToLinear( texColor ); 13 | gl_FragColor.a *= opacity; 14 | 15 | #include 16 | #include 17 | 18 | } 19 | `; 20 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/cameras/ArrayCamera.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | import { PerspectiveCamera } from './PerspectiveCamera.js'; 6 | 7 | function ArrayCamera( array ) { 8 | 9 | PerspectiveCamera.call( this ); 10 | 11 | this.cameras = array || []; 12 | 13 | } 14 | 15 | ArrayCamera.prototype = Object.assign( Object.create( PerspectiveCamera.prototype ), { 16 | 17 | constructor: ArrayCamera, 18 | 19 | isArrayCamera: true 20 | 21 | } ); 22 | 23 | 24 | export { ArrayCamera }; 25 | -------------------------------------------------------------------------------- /qb-phone/module/extras/curves/ArcCurve.js: -------------------------------------------------------------------------------- 1 | import { EllipseCurve } from './EllipseCurve.js'; 2 | 3 | 4 | function ArcCurve( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) { 5 | 6 | EllipseCurve.call( this, aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise ); 7 | 8 | this.type = 'ArcCurve'; 9 | 10 | } 11 | 12 | ArcCurve.prototype = Object.create( EllipseCurve.prototype ); 13 | ArcCurve.prototype.constructor = ArcCurve; 14 | 15 | ArcCurve.prototype.isArcCurve = true; 16 | 17 | 18 | export { ArcCurve }; 19 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/skinning_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_SKINNING 3 | 4 | vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); 5 | 6 | vec4 skinned = vec4( 0.0 ); 7 | skinned += boneMatX * skinVertex * skinWeight.x; 8 | skinned += boneMatY * skinVertex * skinWeight.y; 9 | skinned += boneMatZ * skinVertex * skinWeight.z; 10 | skinned += boneMatW * skinVertex * skinWeight.w; 11 | 12 | transformed = ( bindMatrixInverse * skinned ).xyz; 13 | 14 | #endif 15 | `; 16 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/skinning_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_SKINNING 3 | 4 | vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); 5 | 6 | vec4 skinned = vec4( 0.0 ); 7 | skinned += boneMatX * skinVertex * skinWeight.x; 8 | skinned += boneMatY * skinVertex * skinWeight.y; 9 | skinned += boneMatZ * skinVertex * skinWeight.z; 10 | skinned += boneMatW * skinVertex * skinWeight.w; 11 | 12 | transformed = ( bindMatrixInverse * skinned ).xyz; 13 | 14 | #endif 15 | `; 16 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderLib/cube_frag.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | uniform samplerCube tCube; 3 | uniform float tFlip; 4 | uniform float opacity; 5 | 6 | varying vec3 vWorldDirection; 7 | 8 | void main() { 9 | 10 | vec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) ); 11 | 12 | gl_FragColor = mapTexelToLinear( texColor ); 13 | gl_FragColor.a *= opacity; 14 | 15 | #include 16 | #include 17 | 18 | } 19 | `; 20 | -------------------------------------------------------------------------------- /qb-phone/module/core/Uniform.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | function Uniform( value ) { 6 | 7 | if ( typeof value === 'string' ) { 8 | 9 | console.warn( 'THREE.Uniform: Type parameter is no longer needed.' ); 10 | value = arguments[ 1 ]; 11 | 12 | } 13 | 14 | this.value = value; 15 | 16 | } 17 | 18 | Uniform.prototype.clone = function () { 19 | 20 | return new Uniform( this.value.clone === undefined ? this.value : this.value.clone() ); 21 | 22 | }; 23 | 24 | export { Uniform }; 25 | -------------------------------------------------------------------------------- /qb-phone/module/objects/Bone.js: -------------------------------------------------------------------------------- 1 | import { Object3D } from '../core/Object3D.js'; 2 | 3 | /** 4 | * @author mikael emtinger / http://gomo.se/ 5 | * @author alteredq / http://alteredqualia.com/ 6 | * @author ikerr / http://verold.com 7 | */ 8 | 9 | function Bone() { 10 | 11 | Object3D.call( this ); 12 | 13 | this.type = 'Bone'; 14 | 15 | } 16 | 17 | Bone.prototype = Object.assign( Object.create( Object3D.prototype ), { 18 | 19 | constructor: Bone, 20 | 21 | isBone: true 22 | 23 | } ); 24 | 25 | 26 | export { Bone }; 27 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/core/Uniform.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | function Uniform( value ) { 6 | 7 | if ( typeof value === 'string' ) { 8 | 9 | console.warn( 'THREE.Uniform: Type parameter is no longer needed.' ); 10 | value = arguments[ 1 ]; 11 | 12 | } 13 | 14 | this.value = value; 15 | 16 | } 17 | 18 | Uniform.prototype.clone = function () { 19 | 20 | return new Uniform( this.value.clone === undefined ? this.value : this.value.clone() ); 21 | 22 | }; 23 | 24 | export { Uniform }; 25 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/extras/curves/ArcCurve.js: -------------------------------------------------------------------------------- 1 | import { EllipseCurve } from './EllipseCurve.js'; 2 | 3 | 4 | function ArcCurve( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) { 5 | 6 | EllipseCurve.call( this, aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise ); 7 | 8 | this.type = 'ArcCurve'; 9 | 10 | } 11 | 12 | ArcCurve.prototype = Object.create( EllipseCurve.prototype ); 13 | ArcCurve.prototype.constructor = ArcCurve; 14 | 15 | ArcCurve.prototype.isArcCurve = true; 16 | 17 | 18 | export { ArcCurve }; 19 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/objects/Bone.js: -------------------------------------------------------------------------------- 1 | import { Object3D } from '../core/Object3D.js'; 2 | 3 | /** 4 | * @author mikael emtinger / http://gomo.se/ 5 | * @author alteredq / http://alteredqualia.com/ 6 | * @author ikerr / http://verold.com 7 | */ 8 | 9 | function Bone() { 10 | 11 | Object3D.call( this ); 12 | 13 | this.type = 'Bone'; 14 | 15 | } 16 | 17 | Bone.prototype = Object.assign( Object.create( Object3D.prototype ), { 18 | 19 | constructor: Bone, 20 | 21 | isBone: true 22 | 23 | } ); 24 | 25 | 26 | export { Bone }; 27 | -------------------------------------------------------------------------------- /qb-phone/module/lights/AmbientLight.js: -------------------------------------------------------------------------------- 1 | import { Light } from './Light.js'; 2 | 3 | /** 4 | * @author mrdoob / http://mrdoob.com/ 5 | */ 6 | 7 | function AmbientLight( color, intensity ) { 8 | 9 | Light.call( this, color, intensity ); 10 | 11 | this.type = 'AmbientLight'; 12 | 13 | this.castShadow = undefined; 14 | 15 | } 16 | 17 | AmbientLight.prototype = Object.assign( Object.create( Light.prototype ), { 18 | 19 | constructor: AmbientLight, 20 | 21 | isAmbientLight: true 22 | 23 | } ); 24 | 25 | 26 | export { AmbientLight }; 27 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/lights/AmbientLight.js: -------------------------------------------------------------------------------- 1 | import { Light } from './Light.js'; 2 | 3 | /** 4 | * @author mrdoob / http://mrdoob.com/ 5 | */ 6 | 7 | function AmbientLight( color, intensity ) { 8 | 9 | Light.call( this, color, intensity ); 10 | 11 | this.type = 'AmbientLight'; 12 | 13 | this.castShadow = undefined; 14 | 15 | } 16 | 17 | AmbientLight.prototype = Object.assign( Object.create( Light.prototype ), { 18 | 19 | constructor: AmbientLight, 20 | 21 | isAmbientLight: true 22 | 23 | } ); 24 | 25 | 26 | export { AmbientLight }; 27 | -------------------------------------------------------------------------------- /qb-phone/module/materials/RawShaderMaterial.js: -------------------------------------------------------------------------------- 1 | import { ShaderMaterial } from './ShaderMaterial.js'; 2 | 3 | /** 4 | * @author mrdoob / http://mrdoob.com/ 5 | */ 6 | 7 | function RawShaderMaterial( parameters ) { 8 | 9 | ShaderMaterial.call( this, parameters ); 10 | 11 | this.type = 'RawShaderMaterial'; 12 | 13 | } 14 | 15 | RawShaderMaterial.prototype = Object.create( ShaderMaterial.prototype ); 16 | RawShaderMaterial.prototype.constructor = RawShaderMaterial; 17 | 18 | RawShaderMaterial.prototype.isRawShaderMaterial = true; 19 | 20 | 21 | export { RawShaderMaterial }; 22 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/materials/RawShaderMaterial.js: -------------------------------------------------------------------------------- 1 | import { ShaderMaterial } from './ShaderMaterial.js'; 2 | 3 | /** 4 | * @author mrdoob / http://mrdoob.com/ 5 | */ 6 | 7 | function RawShaderMaterial( parameters ) { 8 | 9 | ShaderMaterial.call( this, parameters ); 10 | 11 | this.type = 'RawShaderMaterial'; 12 | 13 | } 14 | 15 | RawShaderMaterial.prototype = Object.create( ShaderMaterial.prototype ); 16 | RawShaderMaterial.prototype.constructor = RawShaderMaterial; 17 | 18 | RawShaderMaterial.prototype.isRawShaderMaterial = true; 19 | 20 | 21 | export { RawShaderMaterial }; 22 | -------------------------------------------------------------------------------- /qb-phone/module/lights/DirectionalLightShadow.js: -------------------------------------------------------------------------------- 1 | import { LightShadow } from './LightShadow.js'; 2 | import { OrthographicCamera } from '../cameras/OrthographicCamera.js'; 3 | 4 | /** 5 | * @author mrdoob / http://mrdoob.com/ 6 | */ 7 | 8 | function DirectionalLightShadow( ) { 9 | 10 | LightShadow.call( this, new OrthographicCamera( - 5, 5, 5, - 5, 0.5, 500 ) ); 11 | 12 | } 13 | 14 | DirectionalLightShadow.prototype = Object.assign( Object.create( LightShadow.prototype ), { 15 | 16 | constructor: DirectionalLightShadow 17 | 18 | } ); 19 | 20 | 21 | export { DirectionalLightShadow }; 22 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/lights/DirectionalLightShadow.js: -------------------------------------------------------------------------------- 1 | import { LightShadow } from './LightShadow.js'; 2 | import { OrthographicCamera } from '../cameras/OrthographicCamera.js'; 3 | 4 | /** 5 | * @author mrdoob / http://mrdoob.com/ 6 | */ 7 | 8 | function DirectionalLightShadow( ) { 9 | 10 | LightShadow.call( this, new OrthographicCamera( - 5, 5, 5, - 5, 0.5, 500 ) ); 11 | 12 | } 13 | 14 | DirectionalLightShadow.prototype = Object.assign( Object.create( LightShadow.prototype ), { 15 | 16 | constructor: DirectionalLightShadow 17 | 18 | } ); 19 | 20 | 21 | export { DirectionalLightShadow }; 22 | -------------------------------------------------------------------------------- /qb-phone/module/extras/curves/Curves.js: -------------------------------------------------------------------------------- 1 | export { ArcCurve } from './ArcCurve.js'; 2 | export { CatmullRomCurve3 } from './CatmullRomCurve3.js'; 3 | export { CubicBezierCurve } from './CubicBezierCurve.js'; 4 | export { CubicBezierCurve3 } from './CubicBezierCurve3.js'; 5 | export { EllipseCurve } from './EllipseCurve.js'; 6 | export { LineCurve } from './LineCurve.js'; 7 | export { LineCurve3 } from './LineCurve3.js'; 8 | export { QuadraticBezierCurve } from './QuadraticBezierCurve.js'; 9 | export { QuadraticBezierCurve3 } from './QuadraticBezierCurve3.js'; 10 | export { SplineCurve } from './SplineCurve.js'; 11 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/extras/curves/Curves.js: -------------------------------------------------------------------------------- 1 | export { ArcCurve } from './ArcCurve.js'; 2 | export { CatmullRomCurve3 } from './CatmullRomCurve3.js'; 3 | export { CubicBezierCurve } from './CubicBezierCurve.js'; 4 | export { CubicBezierCurve3 } from './CubicBezierCurve3.js'; 5 | export { EllipseCurve } from './EllipseCurve.js'; 6 | export { LineCurve } from './LineCurve.js'; 7 | export { LineCurve3 } from './LineCurve3.js'; 8 | export { QuadraticBezierCurve } from './QuadraticBezierCurve.js'; 9 | export { QuadraticBezierCurve3 } from './QuadraticBezierCurve3.js'; 10 | export { SplineCurve } from './SplineCurve.js'; 11 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef TOON 3 | 4 | uniform sampler2D gradientMap; 5 | 6 | vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { 7 | 8 | // dotNL will be from -1.0 to 1.0 9 | float dotNL = dot( normal, lightDirection ); 10 | vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 ); 11 | 12 | #ifdef USE_GRADIENTMAP 13 | 14 | return texture2D( gradientMap, coord ).rgb; 15 | 16 | #else 17 | 18 | return ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 ); 19 | 20 | #endif 21 | 22 | 23 | } 24 | 25 | #endif 26 | `; 27 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef TOON 3 | 4 | uniform sampler2D gradientMap; 5 | 6 | vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { 7 | 8 | // dotNL will be from -1.0 to 1.0 9 | float dotNL = dot( normal, lightDirection ); 10 | vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 ); 11 | 12 | #ifdef USE_GRADIENTMAP 13 | 14 | return texture2D( gradientMap, coord ).rgb; 15 | 16 | #else 17 | 18 | return ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 ); 19 | 20 | #endif 21 | 22 | 23 | } 24 | 25 | #endif 26 | `; 27 | -------------------------------------------------------------------------------- /qb-phone/module/textures/CanvasTexture.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | import { Texture } from './Texture.js'; 6 | 7 | function CanvasTexture( canvas, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ) { 8 | 9 | Texture.call( this, canvas, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ); 10 | 11 | this.needsUpdate = true; 12 | 13 | } 14 | 15 | CanvasTexture.prototype = Object.create( Texture.prototype ); 16 | CanvasTexture.prototype.constructor = CanvasTexture; 17 | CanvasTexture.prototype.isCanvasTexture = true; 18 | 19 | export { CanvasTexture }; 20 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/textures/CanvasTexture.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | import { Texture } from './Texture.js'; 6 | 7 | function CanvasTexture( canvas, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ) { 8 | 9 | Texture.call( this, canvas, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ); 10 | 11 | this.needsUpdate = true; 12 | 13 | } 14 | 15 | CanvasTexture.prototype = Object.create( Texture.prototype ); 16 | CanvasTexture.prototype.constructor = CanvasTexture; 17 | CanvasTexture.prototype.isCanvasTexture = true; 18 | 19 | export { CanvasTexture }; 20 | -------------------------------------------------------------------------------- /qb-phone/module/extras/objects/ImmediateRenderObject.js: -------------------------------------------------------------------------------- 1 | import { Object3D } from '../../core/Object3D.js'; 2 | 3 | /** 4 | * @author alteredq / http://alteredqualia.com/ 5 | */ 6 | 7 | function ImmediateRenderObject( material ) { 8 | 9 | Object3D.call( this ); 10 | 11 | this.material = material; 12 | this.render = function ( /* renderCallback */ ) {}; 13 | 14 | } 15 | 16 | ImmediateRenderObject.prototype = Object.create( Object3D.prototype ); 17 | ImmediateRenderObject.prototype.constructor = ImmediateRenderObject; 18 | 19 | ImmediateRenderObject.prototype.isImmediateRenderObject = true; 20 | 21 | 22 | export { ImmediateRenderObject }; 23 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/extras/objects/ImmediateRenderObject.js: -------------------------------------------------------------------------------- 1 | import { Object3D } from '../../core/Object3D.js'; 2 | 3 | /** 4 | * @author alteredq / http://alteredqualia.com/ 5 | */ 6 | 7 | function ImmediateRenderObject( material ) { 8 | 9 | Object3D.call( this ); 10 | 11 | this.material = material; 12 | this.render = function ( /* renderCallback */ ) {}; 13 | 14 | } 15 | 16 | ImmediateRenderObject.prototype = Object.create( Object3D.prototype ); 17 | ImmediateRenderObject.prototype.constructor = ImmediateRenderObject; 18 | 19 | ImmediateRenderObject.prototype.isImmediateRenderObject = true; 20 | 21 | 22 | export { ImmediateRenderObject }; 23 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/aomap_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_AOMAP 3 | 4 | // reads channel R, compatible with a combined OcclusionRoughnessMetallic (RGB) texture 5 | float ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0; 6 | 7 | reflectedLight.indirectDiffuse *= ambientOcclusion; 8 | 9 | #if defined( USE_ENVMAP ) && defined( PHYSICAL ) 10 | 11 | float dotNV = saturate( dot( geometry.normal, geometry.viewDir ) ); 12 | 13 | reflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness ); 14 | 15 | #endif 16 | 17 | #endif 18 | `; 19 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef FLAT_SHADED 3 | 4 | // Workaround for Adreno/Nexus5 not able able to do dFdx( vViewPosition ) ... 5 | 6 | vec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) ); 7 | vec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) ); 8 | vec3 normal = normalize( cross( fdx, fdy ) ); 9 | 10 | #else 11 | 12 | vec3 normal = normalize( vNormal ); 13 | 14 | #ifdef DOUBLE_SIDED 15 | 16 | normal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 ); 17 | 18 | #endif 19 | 20 | #endif 21 | `; 22 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/aomap_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_AOMAP 3 | 4 | // reads channel R, compatible with a combined OcclusionRoughnessMetallic (RGB) texture 5 | float ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0; 6 | 7 | reflectedLight.indirectDiffuse *= ambientOcclusion; 8 | 9 | #if defined( USE_ENVMAP ) && defined( PHYSICAL ) 10 | 11 | float dotNV = saturate( dot( geometry.normal, geometry.viewDir ) ); 12 | 13 | reflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness ); 14 | 15 | #endif 16 | 17 | #endif 18 | `; 19 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef FLAT_SHADED 3 | 4 | // Workaround for Adreno/Nexus5 not able able to do dFdx( vViewPosition ) ... 5 | 6 | vec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) ); 7 | vec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) ); 8 | vec3 normal = normalize( cross( fdx, fdy ) ); 9 | 10 | #else 11 | 12 | vec3 normal = normalize( vNormal ); 13 | 14 | #ifdef DOUBLE_SIDED 15 | 16 | normal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 ); 17 | 18 | #endif 19 | 20 | #endif 21 | `; 22 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderLib/equirect_frag.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | uniform sampler2D tEquirect; 3 | 4 | varying vec3 vWorldDirection; 5 | 6 | #include 7 | 8 | void main() { 9 | 10 | vec3 direction = normalize( vWorldDirection ); 11 | 12 | vec2 sampleUV; 13 | 14 | sampleUV.y = asin( clamp( direction.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5; 15 | 16 | sampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5; 17 | 18 | vec4 texColor = texture2D( tEquirect, sampleUV ); 19 | 20 | gl_FragColor = mapTexelToLinear( texColor ); 21 | 22 | #include 23 | #include 24 | 25 | } 26 | `; 27 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderLib/equirect_frag.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | uniform sampler2D tEquirect; 3 | 4 | varying vec3 vWorldDirection; 5 | 6 | #include 7 | 8 | void main() { 9 | 10 | vec3 direction = normalize( vWorldDirection ); 11 | 12 | vec2 sampleUV; 13 | 14 | sampleUV.y = asin( clamp( direction.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5; 15 | 16 | sampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5; 17 | 18 | vec4 texColor = texture2D( tEquirect, sampleUV ); 19 | 20 | gl_FragColor = mapTexelToLinear( texColor ); 21 | 22 | #include 23 | #include 24 | 25 | } 26 | `; 27 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/envmap_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_ENVMAP 3 | 4 | #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) 5 | 6 | vWorldPosition = worldPosition.xyz; 7 | 8 | #else 9 | 10 | vec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition ); 11 | 12 | vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); 13 | 14 | #ifdef ENVMAP_MODE_REFLECTION 15 | 16 | vReflect = reflect( cameraToVertex, worldNormal ); 17 | 18 | #else 19 | 20 | vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); 21 | 22 | #endif 23 | 24 | #endif 25 | 26 | #endif 27 | `; 28 | -------------------------------------------------------------------------------- /qb-phone/module/utils.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | function arrayMin( array ) { 6 | 7 | if ( array.length === 0 ) return Infinity; 8 | 9 | var min = array[ 0 ]; 10 | 11 | for ( var i = 1, l = array.length; i < l; ++ i ) { 12 | 13 | if ( array[ i ] < min ) min = array[ i ]; 14 | 15 | } 16 | 17 | return min; 18 | 19 | } 20 | 21 | function arrayMax( array ) { 22 | 23 | if ( array.length === 0 ) return - Infinity; 24 | 25 | var max = array[ 0 ]; 26 | 27 | for ( var i = 1, l = array.length; i < l; ++ i ) { 28 | 29 | if ( array[ i ] > max ) max = array[ i ]; 30 | 31 | } 32 | 33 | return max; 34 | 35 | } 36 | 37 | export { arrayMin, arrayMax }; 38 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/envmap_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_ENVMAP 3 | 4 | #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) 5 | 6 | vWorldPosition = worldPosition.xyz; 7 | 8 | #else 9 | 10 | vec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition ); 11 | 12 | vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); 13 | 14 | #ifdef ENVMAP_MODE_REFLECTION 15 | 16 | vReflect = reflect( cameraToVertex, worldNormal ); 17 | 18 | #else 19 | 20 | vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); 21 | 22 | #endif 23 | 24 | #endif 25 | 26 | #endif 27 | `; 28 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/utils.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | function arrayMin( array ) { 6 | 7 | if ( array.length === 0 ) return Infinity; 8 | 9 | var min = array[ 0 ]; 10 | 11 | for ( var i = 1, l = array.length; i < l; ++ i ) { 12 | 13 | if ( array[ i ] < min ) min = array[ i ]; 14 | 15 | } 16 | 17 | return min; 18 | 19 | } 20 | 21 | function arrayMax( array ) { 22 | 23 | if ( array.length === 0 ) return - Infinity; 24 | 25 | var max = array[ 0 ]; 26 | 27 | for ( var i = 1, l = array.length; i < l; ++ i ) { 28 | 29 | if ( array[ i ] > max ) max = array[ i ]; 30 | 31 | } 32 | 33 | return max; 34 | 35 | } 36 | 37 | export { arrayMin, arrayMax }; 38 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | PhysicalMaterial material; 3 | material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); 4 | material.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 ); 5 | #ifdef STANDARD 6 | material.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor ); 7 | #else 8 | material.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor ); 9 | material.clearCoat = saturate( clearCoat ); // Burley clearcoat model 10 | material.clearCoatRoughness = clamp( clearCoatRoughness, 0.04, 1.0 ); 11 | #endif 12 | `; 13 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/WebGLRenderTargetCube.js: -------------------------------------------------------------------------------- 1 | import { WebGLRenderTarget } from './WebGLRenderTarget.js'; 2 | 3 | /** 4 | * @author alteredq / http://alteredqualia.com 5 | */ 6 | 7 | function WebGLRenderTargetCube( width, height, options ) { 8 | 9 | WebGLRenderTarget.call( this, width, height, options ); 10 | 11 | this.activeCubeFace = 0; // PX 0, NX 1, PY 2, NY 3, PZ 4, NZ 5 12 | this.activeMipMapLevel = 0; 13 | 14 | } 15 | 16 | WebGLRenderTargetCube.prototype = Object.create( WebGLRenderTarget.prototype ); 17 | WebGLRenderTargetCube.prototype.constructor = WebGLRenderTargetCube; 18 | 19 | WebGLRenderTargetCube.prototype.isWebGLRenderTargetCube = true; 20 | 21 | 22 | export { WebGLRenderTargetCube }; 23 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | PhysicalMaterial material; 3 | material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); 4 | material.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 ); 5 | #ifdef STANDARD 6 | material.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor ); 7 | #else 8 | material.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor ); 9 | material.clearCoat = saturate( clearCoat ); // Burley clearcoat model 10 | material.clearCoatRoughness = clamp( clearCoatRoughness, 0.04, 1.0 ); 11 | #endif 12 | `; 13 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderLib/linedashed_vert.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | uniform float scale; 3 | attribute float lineDistance; 4 | 5 | varying float vLineDistance; 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | void main() { 14 | 15 | #include 16 | 17 | vLineDistance = scale * lineDistance; 18 | 19 | vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 ); 20 | gl_Position = projectionMatrix * mvPosition; 21 | 22 | #include 23 | #include 24 | #include 25 | 26 | } 27 | `; 28 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/WebGLRenderTargetCube.js: -------------------------------------------------------------------------------- 1 | import { WebGLRenderTarget } from './WebGLRenderTarget.js'; 2 | 3 | /** 4 | * @author alteredq / http://alteredqualia.com 5 | */ 6 | 7 | function WebGLRenderTargetCube( width, height, options ) { 8 | 9 | WebGLRenderTarget.call( this, width, height, options ); 10 | 11 | this.activeCubeFace = 0; // PX 0, NX 1, PY 2, NY 3, PZ 4, NZ 5 12 | this.activeMipMapLevel = 0; 13 | 14 | } 15 | 16 | WebGLRenderTargetCube.prototype = Object.create( WebGLRenderTarget.prototype ); 17 | WebGLRenderTargetCube.prototype.constructor = WebGLRenderTargetCube; 18 | 19 | WebGLRenderTargetCube.prototype.isWebGLRenderTargetCube = true; 20 | 21 | 22 | export { WebGLRenderTargetCube }; 23 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderLib/linedashed_vert.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | uniform float scale; 3 | attribute float lineDistance; 4 | 5 | varying float vLineDistance; 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | void main() { 14 | 15 | #include 16 | 17 | vLineDistance = scale * lineDistance; 18 | 19 | vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 ); 20 | gl_Position = projectionMatrix * mvPosition; 21 | 22 | #include 23 | #include 24 | #include 25 | 26 | } 27 | `; 28 | -------------------------------------------------------------------------------- /qb-phone/module/core/Layers.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | function Layers() { 6 | 7 | this.mask = 1 | 0; 8 | 9 | } 10 | 11 | Object.assign( Layers.prototype, { 12 | 13 | set: function ( channel ) { 14 | 15 | this.mask = 1 << channel | 0; 16 | 17 | }, 18 | 19 | enable: function ( channel ) { 20 | 21 | this.mask |= 1 << channel | 0; 22 | 23 | }, 24 | 25 | toggle: function ( channel ) { 26 | 27 | this.mask ^= 1 << channel | 0; 28 | 29 | }, 30 | 31 | disable: function ( channel ) { 32 | 33 | this.mask &= ~ ( 1 << channel | 0 ); 34 | 35 | }, 36 | 37 | test: function ( layers ) { 38 | 39 | return ( this.mask & layers.mask ) !== 0; 40 | 41 | } 42 | 43 | } ); 44 | 45 | 46 | export { Layers }; 47 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/dithering_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( DITHERING ) 3 | 4 | // based on https://www.shadertoy.com/view/MslGR8 5 | vec3 dithering( vec3 color ) { 6 | //Calculate grid position 7 | float grid_position = rand( gl_FragCoord.xy ); 8 | 9 | //Shift the individual colors differently, thus making it even harder to see the dithering pattern 10 | vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); 11 | 12 | //modify shift acording to grid position. 13 | dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); 14 | 15 | //shift the color by dither_shift 16 | return color + dither_shift_RGB; 17 | } 18 | 19 | #endif 20 | `; 21 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/core/Layers.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | function Layers() { 6 | 7 | this.mask = 1 | 0; 8 | 9 | } 10 | 11 | Object.assign( Layers.prototype, { 12 | 13 | set: function ( channel ) { 14 | 15 | this.mask = 1 << channel | 0; 16 | 17 | }, 18 | 19 | enable: function ( channel ) { 20 | 21 | this.mask |= 1 << channel | 0; 22 | 23 | }, 24 | 25 | toggle: function ( channel ) { 26 | 27 | this.mask ^= 1 << channel | 0; 28 | 29 | }, 30 | 31 | disable: function ( channel ) { 32 | 33 | this.mask &= ~ ( 1 << channel | 0 ); 34 | 35 | }, 36 | 37 | test: function ( layers ) { 38 | 39 | return ( this.mask & layers.mask ) !== 0; 40 | 41 | } 42 | 43 | } ); 44 | 45 | 46 | export { Layers }; 47 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/dithering_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( DITHERING ) 3 | 4 | // based on https://www.shadertoy.com/view/MslGR8 5 | vec3 dithering( vec3 color ) { 6 | //Calculate grid position 7 | float grid_position = rand( gl_FragCoord.xy ); 8 | 9 | //Shift the individual colors differently, thus making it even harder to see the dithering pattern 10 | vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); 11 | 12 | //modify shift acording to grid position. 13 | dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); 14 | 15 | //shift the color by dither_shift 16 | return color + dither_shift_RGB; 17 | } 18 | 19 | #endif 20 | `; 21 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/clipping_planes_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if NUM_CLIPPING_PLANES > 0 3 | 4 | vec4 plane; 5 | 6 | #pragma unroll_loop 7 | for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { 8 | 9 | plane = clippingPlanes[ i ]; 10 | if ( dot( vViewPosition, plane.xyz ) > plane.w ) discard; 11 | 12 | } 13 | 14 | #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES 15 | 16 | bool clipped = true; 17 | 18 | #pragma unroll_loop 19 | for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { 20 | 21 | plane = clippingPlanes[ i ]; 22 | clipped = ( dot( vViewPosition, plane.xyz ) > plane.w ) && clipped; 23 | 24 | } 25 | 26 | if ( clipped ) discard; 27 | 28 | #endif 29 | 30 | #endif 31 | `; 32 | -------------------------------------------------------------------------------- /qb-phone/module/scenes/FogExp2.js: -------------------------------------------------------------------------------- 1 | import { Color } from '../math/Color.js'; 2 | 3 | /** 4 | * @author mrdoob / http://mrdoob.com/ 5 | * @author alteredq / http://alteredqualia.com/ 6 | */ 7 | 8 | function FogExp2( color, density ) { 9 | 10 | this.name = ''; 11 | 12 | this.color = new Color( color ); 13 | this.density = ( density !== undefined ) ? density : 0.00025; 14 | 15 | } 16 | 17 | FogExp2.prototype.isFogExp2 = true; 18 | 19 | FogExp2.prototype.clone = function () { 20 | 21 | return new FogExp2( this.color, this.density ); 22 | 23 | }; 24 | 25 | FogExp2.prototype.toJSON = function ( /* meta */ ) { 26 | 27 | return { 28 | type: 'FogExp2', 29 | color: this.color.getHex(), 30 | density: this.density 31 | }; 32 | 33 | }; 34 | 35 | export { FogExp2 }; 36 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/clipping_planes_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if NUM_CLIPPING_PLANES > 0 3 | 4 | vec4 plane; 5 | 6 | #pragma unroll_loop 7 | for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { 8 | 9 | plane = clippingPlanes[ i ]; 10 | if ( dot( vViewPosition, plane.xyz ) > plane.w ) discard; 11 | 12 | } 13 | 14 | #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES 15 | 16 | bool clipped = true; 17 | 18 | #pragma unroll_loop 19 | for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { 20 | 21 | plane = clippingPlanes[ i ]; 22 | clipped = ( dot( vViewPosition, plane.xyz ) > plane.w ) && clipped; 23 | 24 | } 25 | 26 | if ( clipped ) discard; 27 | 28 | #endif 29 | 30 | #endif 31 | `; 32 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/scenes/FogExp2.js: -------------------------------------------------------------------------------- 1 | import { Color } from '../math/Color.js'; 2 | 3 | /** 4 | * @author mrdoob / http://mrdoob.com/ 5 | * @author alteredq / http://alteredqualia.com/ 6 | */ 7 | 8 | function FogExp2( color, density ) { 9 | 10 | this.name = ''; 11 | 12 | this.color = new Color( color ); 13 | this.density = ( density !== undefined ) ? density : 0.00025; 14 | 15 | } 16 | 17 | FogExp2.prototype.isFogExp2 = true; 18 | 19 | FogExp2.prototype.clone = function () { 20 | 21 | return new FogExp2( this.color, this.density ); 22 | 23 | }; 24 | 25 | FogExp2.prototype.toJSON = function ( /* meta */ ) { 26 | 27 | return { 28 | type: 'FogExp2', 29 | color: this.color.getHex(), 30 | density: this.density 31 | }; 32 | 33 | }; 34 | 35 | export { FogExp2 }; 36 | -------------------------------------------------------------------------------- /qb-phone/module/loaders/Cache.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | var Cache = { 6 | 7 | enabled: false, 8 | 9 | files: {}, 10 | 11 | add: function ( key, file ) { 12 | 13 | if ( this.enabled === false ) return; 14 | 15 | // console.log( 'THREE.Cache', 'Adding key:', key ); 16 | 17 | this.files[ key ] = file; 18 | 19 | }, 20 | 21 | get: function ( key ) { 22 | 23 | if ( this.enabled === false ) return; 24 | 25 | // console.log( 'THREE.Cache', 'Checking key:', key ); 26 | 27 | return this.files[ key ]; 28 | 29 | }, 30 | 31 | remove: function ( key ) { 32 | 33 | delete this.files[ key ]; 34 | 35 | }, 36 | 37 | clear: function () { 38 | 39 | this.files = {}; 40 | 41 | } 42 | 43 | }; 44 | 45 | 46 | export { Cache }; 47 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/loaders/Cache.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | var Cache = { 6 | 7 | enabled: false, 8 | 9 | files: {}, 10 | 11 | add: function ( key, file ) { 12 | 13 | if ( this.enabled === false ) return; 14 | 15 | // console.log( 'THREE.Cache', 'Adding key:', key ); 16 | 17 | this.files[ key ] = file; 18 | 19 | }, 20 | 21 | get: function ( key ) { 22 | 23 | if ( this.enabled === false ) return; 24 | 25 | // console.log( 'THREE.Cache', 'Checking key:', key ); 26 | 27 | return this.files[ key ]; 28 | 29 | }, 30 | 31 | remove: function ( key ) { 32 | 33 | delete this.files[ key ]; 34 | 35 | }, 36 | 37 | clear: function () { 38 | 39 | this.files = {}; 40 | 41 | } 42 | 43 | }; 44 | 45 | 46 | export { Cache }; 47 | -------------------------------------------------------------------------------- /qb-phone/module/animation/tracks/NumberKeyframeTrack.js: -------------------------------------------------------------------------------- 1 | import { KeyframeTrack } from '../KeyframeTrack.js'; 2 | 3 | /** 4 | * 5 | * A Track of numeric keyframe values. 6 | * 7 | * @author Ben Houston / http://clara.io/ 8 | * @author David Sarno / http://lighthaus.us/ 9 | * @author tschw 10 | */ 11 | 12 | function NumberKeyframeTrack( name, times, values, interpolation ) { 13 | 14 | KeyframeTrack.call( this, name, times, values, interpolation ); 15 | 16 | } 17 | 18 | NumberKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrack.prototype ), { 19 | 20 | constructor: NumberKeyframeTrack, 21 | 22 | ValueTypeName: 'number' 23 | 24 | // ValueBufferType is inherited 25 | 26 | // DefaultInterpolation is inherited 27 | 28 | } ); 29 | 30 | export { NumberKeyframeTrack }; 31 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/animation/tracks/NumberKeyframeTrack.js: -------------------------------------------------------------------------------- 1 | import { KeyframeTrack } from '../KeyframeTrack.js'; 2 | 3 | /** 4 | * 5 | * A Track of numeric keyframe values. 6 | * 7 | * @author Ben Houston / http://clara.io/ 8 | * @author David Sarno / http://lighthaus.us/ 9 | * @author tschw 10 | */ 11 | 12 | function NumberKeyframeTrack( name, times, values, interpolation ) { 13 | 14 | KeyframeTrack.call( this, name, times, values, interpolation ); 15 | 16 | } 17 | 18 | NumberKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrack.prototype ), { 19 | 20 | constructor: NumberKeyframeTrack, 21 | 22 | ValueTypeName: 'number' 23 | 24 | // ValueBufferType is inherited 25 | 26 | // DefaultInterpolation is inherited 27 | 28 | } ); 29 | 30 | export { NumberKeyframeTrack }; 31 | -------------------------------------------------------------------------------- /qb-phone/module/animation/tracks/VectorKeyframeTrack.js: -------------------------------------------------------------------------------- 1 | import { KeyframeTrack } from '../KeyframeTrack.js'; 2 | 3 | /** 4 | * 5 | * A Track of vectored keyframe values. 6 | * 7 | * 8 | * @author Ben Houston / http://clara.io/ 9 | * @author David Sarno / http://lighthaus.us/ 10 | * @author tschw 11 | */ 12 | 13 | function VectorKeyframeTrack( name, times, values, interpolation ) { 14 | 15 | KeyframeTrack.call( this, name, times, values, interpolation ); 16 | 17 | } 18 | 19 | VectorKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrack.prototype ), { 20 | 21 | constructor: VectorKeyframeTrack, 22 | 23 | ValueTypeName: 'vector' 24 | 25 | // ValueBufferType is inherited 26 | 27 | // DefaultInterpolation is inherited 28 | 29 | } ); 30 | 31 | export { VectorKeyframeTrack }; 32 | -------------------------------------------------------------------------------- /qb-phone/module/math/interpolants/DiscreteInterpolant.js: -------------------------------------------------------------------------------- 1 | import { Interpolant } from '../Interpolant.js'; 2 | 3 | /** 4 | * 5 | * Interpolant that evaluates to the sample value at the position preceeding 6 | * the parameter. 7 | * 8 | * @author tschw 9 | */ 10 | 11 | function DiscreteInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { 12 | 13 | Interpolant.call( this, parameterPositions, sampleValues, sampleSize, resultBuffer ); 14 | 15 | } 16 | 17 | DiscreteInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype ), { 18 | 19 | constructor: DiscreteInterpolant, 20 | 21 | interpolate_: function ( i1 /*, t0, t, t1 */ ) { 22 | 23 | return this.copySampleValue_( i1 - 1 ); 24 | 25 | } 26 | 27 | } ); 28 | 29 | 30 | export { DiscreteInterpolant }; 31 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_NORMALMAP 3 | 4 | #ifdef OBJECTSPACE_NORMALMAP 5 | 6 | normal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0; // overrides both flatShading and attribute normals 7 | 8 | #ifdef FLIP_SIDED 9 | 10 | normal = - normal; 11 | 12 | #endif 13 | 14 | #ifdef DOUBLE_SIDED 15 | 16 | normal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 ); 17 | 18 | #endif 19 | 20 | normal = normalize( normalMatrix * normal ); 21 | 22 | #else // tangent-space normal map 23 | 24 | normal = perturbNormal2Arb( -vViewPosition, normal ); 25 | 26 | #endif 27 | 28 | #elif defined( USE_BUMPMAP ) 29 | 30 | normal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() ); 31 | 32 | #endif 33 | `; 34 | -------------------------------------------------------------------------------- /qb-phone/module/scenes/Fog.js: -------------------------------------------------------------------------------- 1 | import { Color } from '../math/Color.js'; 2 | 3 | /** 4 | * @author mrdoob / http://mrdoob.com/ 5 | * @author alteredq / http://alteredqualia.com/ 6 | */ 7 | 8 | function Fog( color, near, far ) { 9 | 10 | this.name = ''; 11 | 12 | this.color = new Color( color ); 13 | 14 | this.near = ( near !== undefined ) ? near : 1; 15 | this.far = ( far !== undefined ) ? far : 1000; 16 | 17 | } 18 | 19 | Fog.prototype.isFog = true; 20 | 21 | Fog.prototype.clone = function () { 22 | 23 | return new Fog( this.color, this.near, this.far ); 24 | 25 | }; 26 | 27 | Fog.prototype.toJSON = function ( /* meta */ ) { 28 | 29 | return { 30 | type: 'Fog', 31 | color: this.color.getHex(), 32 | near: this.near, 33 | far: this.far 34 | }; 35 | 36 | }; 37 | 38 | export { Fog }; 39 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/animation/tracks/VectorKeyframeTrack.js: -------------------------------------------------------------------------------- 1 | import { KeyframeTrack } from '../KeyframeTrack.js'; 2 | 3 | /** 4 | * 5 | * A Track of vectored keyframe values. 6 | * 7 | * 8 | * @author Ben Houston / http://clara.io/ 9 | * @author David Sarno / http://lighthaus.us/ 10 | * @author tschw 11 | */ 12 | 13 | function VectorKeyframeTrack( name, times, values, interpolation ) { 14 | 15 | KeyframeTrack.call( this, name, times, values, interpolation ); 16 | 17 | } 18 | 19 | VectorKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrack.prototype ), { 20 | 21 | constructor: VectorKeyframeTrack, 22 | 23 | ValueTypeName: 'vector' 24 | 25 | // ValueBufferType is inherited 26 | 27 | // DefaultInterpolation is inherited 28 | 29 | } ); 30 | 31 | export { VectorKeyframeTrack }; 32 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/math/interpolants/DiscreteInterpolant.js: -------------------------------------------------------------------------------- 1 | import { Interpolant } from '../Interpolant.js'; 2 | 3 | /** 4 | * 5 | * Interpolant that evaluates to the sample value at the position preceeding 6 | * the parameter. 7 | * 8 | * @author tschw 9 | */ 10 | 11 | function DiscreteInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { 12 | 13 | Interpolant.call( this, parameterPositions, sampleValues, sampleSize, resultBuffer ); 14 | 15 | } 16 | 17 | DiscreteInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype ), { 18 | 19 | constructor: DiscreteInterpolant, 20 | 21 | interpolate_: function ( i1 /*, t0, t, t1 */ ) { 22 | 23 | return this.copySampleValue_( i1 - 1 ); 24 | 25 | } 26 | 27 | } ); 28 | 29 | 30 | export { DiscreteInterpolant }; 31 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_NORMALMAP 3 | 4 | #ifdef OBJECTSPACE_NORMALMAP 5 | 6 | normal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0; // overrides both flatShading and attribute normals 7 | 8 | #ifdef FLIP_SIDED 9 | 10 | normal = - normal; 11 | 12 | #endif 13 | 14 | #ifdef DOUBLE_SIDED 15 | 16 | normal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 ); 17 | 18 | #endif 19 | 20 | normal = normalize( normalMatrix * normal ); 21 | 22 | #else // tangent-space normal map 23 | 24 | normal = perturbNormal2Arb( -vViewPosition, normal ); 25 | 26 | #endif 27 | 28 | #elif defined( USE_BUMPMAP ) 29 | 30 | normal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() ); 31 | 32 | #endif 33 | `; 34 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/scenes/Fog.js: -------------------------------------------------------------------------------- 1 | import { Color } from '../math/Color.js'; 2 | 3 | /** 4 | * @author mrdoob / http://mrdoob.com/ 5 | * @author alteredq / http://alteredqualia.com/ 6 | */ 7 | 8 | function Fog( color, near, far ) { 9 | 10 | this.name = ''; 11 | 12 | this.color = new Color( color ); 13 | 14 | this.near = ( near !== undefined ) ? near : 1; 15 | this.far = ( far !== undefined ) ? far : 1000; 16 | 17 | } 18 | 19 | Fog.prototype.isFog = true; 20 | 21 | Fog.prototype.clone = function () { 22 | 23 | return new Fog( this.color, this.near, this.far ); 24 | 25 | }; 26 | 27 | Fog.prototype.toJSON = function ( /* meta */ ) { 28 | 29 | return { 30 | type: 'Fog', 31 | color: this.color.getHex(), 32 | near: this.near, 33 | far: this.far 34 | }; 35 | 36 | }; 37 | 38 | export { Fog }; 39 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_SHADOWMAP 3 | 4 | #if NUM_DIR_LIGHTS > 0 5 | 6 | uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHTS ]; 7 | varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ]; 8 | 9 | #endif 10 | 11 | #if NUM_SPOT_LIGHTS > 0 12 | 13 | uniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHTS ]; 14 | varying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ]; 15 | 16 | #endif 17 | 18 | #if NUM_POINT_LIGHTS > 0 19 | 20 | uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHTS ]; 21 | varying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ]; 22 | 23 | #endif 24 | 25 | /* 26 | #if NUM_RECT_AREA_LIGHTS > 0 27 | 28 | // TODO (abelnation): uniforms for area light shadows 29 | 30 | #endif 31 | */ 32 | 33 | #endif 34 | `; 35 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderLib/normal_frag.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #define NORMAL 3 | 4 | uniform float opacity; 5 | 6 | #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) ) 7 | 8 | varying vec3 vViewPosition; 9 | 10 | #endif 11 | 12 | #ifndef FLAT_SHADED 13 | 14 | varying vec3 vNormal; 15 | 16 | #endif 17 | 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | 24 | void main() { 25 | 26 | #include 27 | #include 28 | #include 29 | 30 | gl_FragColor = vec4( packNormalToRGB( normal ), opacity ); 31 | 32 | } 33 | `; 34 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_SHADOWMAP 3 | 4 | #if NUM_DIR_LIGHTS > 0 5 | 6 | uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHTS ]; 7 | varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ]; 8 | 9 | #endif 10 | 11 | #if NUM_SPOT_LIGHTS > 0 12 | 13 | uniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHTS ]; 14 | varying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ]; 15 | 16 | #endif 17 | 18 | #if NUM_POINT_LIGHTS > 0 19 | 20 | uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHTS ]; 21 | varying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ]; 22 | 23 | #endif 24 | 25 | /* 26 | #if NUM_RECT_AREA_LIGHTS > 0 27 | 28 | // TODO (abelnation): uniforms for area light shadows 29 | 30 | #endif 31 | */ 32 | 33 | #endif 34 | `; 35 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderLib/normal_frag.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #define NORMAL 3 | 4 | uniform float opacity; 5 | 6 | #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) ) 7 | 8 | varying vec3 vViewPosition; 9 | 10 | #endif 11 | 12 | #ifndef FLAT_SHADED 13 | 14 | varying vec3 vNormal; 15 | 16 | #endif 17 | 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | 24 | void main() { 25 | 26 | #include 27 | #include 28 | #include 29 | 30 | gl_FragColor = vec4( packNormalToRGB( normal ), opacity ); 31 | 32 | } 33 | `; 34 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( USE_ENVMAP ) || defined( PHYSICAL ) 3 | uniform float reflectivity; 4 | uniform float envMapIntensity; 5 | #endif 6 | 7 | #ifdef USE_ENVMAP 8 | 9 | #if ! defined( PHYSICAL ) && ( defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) ) 10 | varying vec3 vWorldPosition; 11 | #endif 12 | 13 | #ifdef ENVMAP_TYPE_CUBE 14 | uniform samplerCube envMap; 15 | #else 16 | uniform sampler2D envMap; 17 | #endif 18 | uniform float flipEnvMap; 19 | uniform int maxMipLevel; 20 | 21 | #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL ) 22 | uniform float refractionRatio; 23 | #else 24 | varying vec3 vReflect; 25 | #endif 26 | 27 | #endif 28 | `; 29 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/morphtarget_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_MORPHTARGETS 3 | 4 | transformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ]; 5 | transformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ]; 6 | transformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ]; 7 | transformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ]; 8 | 9 | #ifndef USE_MORPHNORMALS 10 | 11 | transformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ]; 12 | transformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ]; 13 | transformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ]; 14 | transformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ]; 15 | 16 | #endif 17 | 18 | #endif 19 | `; 20 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( USE_ENVMAP ) || defined( PHYSICAL ) 3 | uniform float reflectivity; 4 | uniform float envMapIntensity; 5 | #endif 6 | 7 | #ifdef USE_ENVMAP 8 | 9 | #if ! defined( PHYSICAL ) && ( defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) ) 10 | varying vec3 vWorldPosition; 11 | #endif 12 | 13 | #ifdef ENVMAP_TYPE_CUBE 14 | uniform samplerCube envMap; 15 | #else 16 | uniform sampler2D envMap; 17 | #endif 18 | uniform float flipEnvMap; 19 | uniform int maxMipLevel; 20 | 21 | #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL ) 22 | uniform float refractionRatio; 23 | #else 24 | varying vec3 vReflect; 25 | #endif 26 | 27 | #endif 28 | `; 29 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/morphtarget_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_MORPHTARGETS 3 | 4 | transformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ]; 5 | transformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ]; 6 | transformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ]; 7 | transformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ]; 8 | 9 | #ifndef USE_MORPHNORMALS 10 | 11 | transformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ]; 12 | transformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ]; 13 | transformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ]; 14 | transformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ]; 15 | 16 | #endif 17 | 18 | #endif 19 | `; 20 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderLib/sprite_frag.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | uniform vec3 diffuse; 3 | uniform float opacity; 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | void main() { 13 | 14 | #include 15 | 16 | vec3 outgoingLight = vec3( 0.0 ); 17 | vec4 diffuseColor = vec4( diffuse, opacity ); 18 | 19 | #include 20 | #include 21 | #include 22 | 23 | outgoingLight = diffuseColor.rgb; 24 | 25 | gl_FragColor = vec4( outgoingLight, diffuseColor.a ); 26 | 27 | #include 28 | #include 29 | #include 30 | 31 | } 32 | `; 33 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderLib/sprite_frag.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | uniform vec3 diffuse; 3 | uniform float opacity; 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | void main() { 13 | 14 | #include 15 | 16 | vec3 outgoingLight = vec3( 0.0 ); 17 | vec4 diffuseColor = vec4( diffuse, opacity ); 18 | 19 | #include 20 | #include 21 | #include 22 | 23 | outgoingLight = diffuseColor.rgb; 24 | 25 | gl_FragColor = vec4( outgoingLight, diffuseColor.a ); 26 | 27 | #include 28 | #include 29 | #include 30 | 31 | } 32 | `; 33 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderLib/depth_vert.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | void main() { 11 | 12 | #include 13 | 14 | #include 15 | 16 | #ifdef USE_DISPLACEMENTMAP 17 | 18 | #include 19 | #include 20 | #include 21 | 22 | #endif 23 | 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include 31 | 32 | } 33 | `; 34 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderLib/depth_vert.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | void main() { 11 | 12 | #include 13 | 14 | #include 15 | 16 | #ifdef USE_DISPLACEMENTMAP 17 | 18 | #include 19 | #include 20 | #include 21 | 22 | #endif 23 | 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include 31 | 32 | } 33 | `; 34 | -------------------------------------------------------------------------------- /qb-phone/module/core/InstancedInterleavedBuffer.js: -------------------------------------------------------------------------------- 1 | import { InterleavedBuffer } from './InterleavedBuffer.js'; 2 | 3 | /** 4 | * @author benaadams / https://twitter.com/ben_a_adams 5 | */ 6 | 7 | function InstancedInterleavedBuffer( array, stride, meshPerAttribute ) { 8 | 9 | InterleavedBuffer.call( this, array, stride ); 10 | 11 | this.meshPerAttribute = meshPerAttribute || 1; 12 | 13 | } 14 | 15 | InstancedInterleavedBuffer.prototype = Object.assign( Object.create( InterleavedBuffer.prototype ), { 16 | 17 | constructor: InstancedInterleavedBuffer, 18 | 19 | isInstancedInterleavedBuffer: true, 20 | 21 | copy: function ( source ) { 22 | 23 | InterleavedBuffer.prototype.copy.call( this, source ); 24 | 25 | this.meshPerAttribute = source.meshPerAttribute; 26 | 27 | return this; 28 | 29 | } 30 | 31 | } ); 32 | 33 | export { InstancedInterleavedBuffer }; 34 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/core/InstancedInterleavedBuffer.js: -------------------------------------------------------------------------------- 1 | import { InterleavedBuffer } from './InterleavedBuffer.js'; 2 | 3 | /** 4 | * @author benaadams / https://twitter.com/ben_a_adams 5 | */ 6 | 7 | function InstancedInterleavedBuffer( array, stride, meshPerAttribute ) { 8 | 9 | InterleavedBuffer.call( this, array, stride ); 10 | 11 | this.meshPerAttribute = meshPerAttribute || 1; 12 | 13 | } 14 | 15 | InstancedInterleavedBuffer.prototype = Object.assign( Object.create( InterleavedBuffer.prototype ), { 16 | 17 | constructor: InstancedInterleavedBuffer, 18 | 19 | isInstancedInterleavedBuffer: true, 20 | 21 | copy: function ( source ) { 22 | 23 | InterleavedBuffer.prototype.copy.call( this, source ); 24 | 25 | this.meshPerAttribute = source.meshPerAttribute; 26 | 27 | return this; 28 | 29 | } 30 | 31 | } ); 32 | 33 | export { InstancedInterleavedBuffer }; 34 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/WebGLMultisampleRenderTarget.js: -------------------------------------------------------------------------------- 1 | import { WebGLRenderTarget } from './WebGLRenderTarget.js'; 2 | 3 | /** 4 | * @author Mugen87 / https://github.com/Mugen87 5 | * @author Matt DesLauriers / @mattdesl 6 | */ 7 | 8 | function WebGLMultisampleRenderTarget( width, height, options ) { 9 | 10 | WebGLRenderTarget.call( this, width, height, options ); 11 | 12 | this.samples = 4; 13 | 14 | } 15 | 16 | WebGLMultisampleRenderTarget.prototype = Object.assign( Object.create( WebGLRenderTarget.prototype ), { 17 | 18 | constructor: WebGLMultisampleRenderTarget, 19 | 20 | isWebGLMultisampleRenderTarget: true, 21 | 22 | copy: function ( source ) { 23 | 24 | WebGLRenderTarget.prototype.copy.call( this, source ); 25 | 26 | this.samples = source.samples; 27 | 28 | return this; 29 | 30 | } 31 | 32 | } ); 33 | 34 | 35 | export { WebGLMultisampleRenderTarget }; 36 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/WebGLMultisampleRenderTarget.js: -------------------------------------------------------------------------------- 1 | import { WebGLRenderTarget } from './WebGLRenderTarget.js'; 2 | 3 | /** 4 | * @author Mugen87 / https://github.com/Mugen87 5 | * @author Matt DesLauriers / @mattdesl 6 | */ 7 | 8 | function WebGLMultisampleRenderTarget( width, height, options ) { 9 | 10 | WebGLRenderTarget.call( this, width, height, options ); 11 | 12 | this.samples = 4; 13 | 14 | } 15 | 16 | WebGLMultisampleRenderTarget.prototype = Object.assign( Object.create( WebGLRenderTarget.prototype ), { 17 | 18 | constructor: WebGLMultisampleRenderTarget, 19 | 20 | isWebGLMultisampleRenderTarget: true, 21 | 22 | copy: function ( source ) { 23 | 24 | WebGLRenderTarget.prototype.copy.call( this, source ); 25 | 26 | this.samples = source.samples; 27 | 28 | return this; 29 | 30 | } 31 | 32 | } ); 33 | 34 | 35 | export { WebGLMultisampleRenderTarget }; 36 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/webgl/WebGLProperties.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author fordacious / fordacious.github.io 3 | */ 4 | 5 | function WebGLProperties() { 6 | 7 | var properties = new WeakMap(); 8 | 9 | function get( object ) { 10 | 11 | var map = properties.get( object ); 12 | 13 | if ( map === undefined ) { 14 | 15 | map = {}; 16 | properties.set( object, map ); 17 | 18 | } 19 | 20 | return map; 21 | 22 | } 23 | 24 | function remove( object ) { 25 | 26 | properties.delete( object ); 27 | 28 | } 29 | 30 | function update( object, key, value ) { 31 | 32 | properties.get( object )[ key ] = value; 33 | 34 | } 35 | 36 | function dispose() { 37 | 38 | properties = new WeakMap(); 39 | 40 | } 41 | 42 | return { 43 | get: get, 44 | remove: remove, 45 | update: update, 46 | dispose: dispose 47 | }; 48 | 49 | } 50 | 51 | 52 | export { WebGLProperties }; 53 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/webgl/WebGLProperties.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author fordacious / fordacious.github.io 3 | */ 4 | 5 | function WebGLProperties() { 6 | 7 | var properties = new WeakMap(); 8 | 9 | function get( object ) { 10 | 11 | var map = properties.get( object ); 12 | 13 | if ( map === undefined ) { 14 | 15 | map = {}; 16 | properties.set( object, map ); 17 | 18 | } 19 | 20 | return map; 21 | 22 | } 23 | 24 | function remove( object ) { 25 | 26 | properties.delete( object ); 27 | 28 | } 29 | 30 | function update( object, key, value ) { 31 | 32 | properties.get( object )[ key ] = value; 33 | 34 | } 35 | 36 | function dispose() { 37 | 38 | properties = new WeakMap(); 39 | 40 | } 41 | 42 | return { 43 | get: get, 44 | remove: remove, 45 | update: update, 46 | dispose: dispose 47 | }; 48 | 49 | } 50 | 51 | 52 | export { WebGLProperties }; 53 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderLib/points_vert.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | uniform float size; 3 | uniform float scale; 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | void main() { 13 | 14 | #include 15 | #include 16 | #include 17 | #include 18 | 19 | gl_PointSize = size; 20 | 21 | #ifdef USE_SIZEATTENUATION 22 | 23 | bool isPerspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); 24 | 25 | if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z ); 26 | 27 | #endif 28 | 29 | #include 30 | #include 31 | #include 32 | #include 33 | 34 | } 35 | `; 36 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderLib/points_vert.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | uniform float size; 3 | uniform float scale; 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | void main() { 13 | 14 | #include 15 | #include 16 | #include 17 | #include 18 | 19 | gl_PointSize = size; 20 | 21 | #ifdef USE_SIZEATTENUATION 22 | 23 | bool isPerspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); 24 | 25 | if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z ); 26 | 27 | #endif 28 | 29 | #include 30 | #include 31 | #include 32 | #include 33 | 34 | } 35 | `; 36 | -------------------------------------------------------------------------------- /qb-phone/html/css/camera.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css?family=Lato&display=swap'); 2 | 3 | .camera-app { 4 | display: none; 5 | height: 100%; 6 | width: 100%; 7 | background: rgb(36, 36, 36); 8 | overflow: hidden; 9 | } 10 | 11 | 12 | .camera-homescreen { 13 | position: absolute; 14 | height: 100%; 15 | width: 100%; 16 | left: 0vh; 17 | } 18 | 19 | 20 | 21 | .loader { 22 | z-index: 1000; 23 | border: 16px solid #f3f3f3; /* Light grey */ 24 | border-top: 16px solid #3498db; 25 | border-bottom: 16px solid #3498db; 26 | border-radius: 50%; 27 | animation: spin 2s linear infinite; 28 | position: absolute; 29 | top: 50%; 30 | left: 50%; 31 | margin-top: -50px; 32 | margin-left: -50px; 33 | width: 100px; 34 | height: 100px; 35 | } 36 | 37 | @keyframes spin { 38 | 0% { transform: rotate(0deg); } 39 | 100% { transform: rotate(360deg); } 40 | } -------------------------------------------------------------------------------- /qb-phone/module/audio/AudioAnalyser.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | function AudioAnalyser( audio, fftSize ) { 6 | 7 | this.analyser = audio.context.createAnalyser(); 8 | this.analyser.fftSize = fftSize !== undefined ? fftSize : 2048; 9 | 10 | this.data = new Uint8Array( this.analyser.frequencyBinCount ); 11 | 12 | audio.getOutput().connect( this.analyser ); 13 | 14 | } 15 | 16 | Object.assign( AudioAnalyser.prototype, { 17 | 18 | getFrequencyData: function () { 19 | 20 | this.analyser.getByteFrequencyData( this.data ); 21 | 22 | return this.data; 23 | 24 | }, 25 | 26 | getAverageFrequency: function () { 27 | 28 | var value = 0, data = this.getFrequencyData(); 29 | 30 | for ( var i = 0; i < data.length; i ++ ) { 31 | 32 | value += data[ i ]; 33 | 34 | } 35 | 36 | return value / data.length; 37 | 38 | } 39 | 40 | } ); 41 | 42 | export { AudioAnalyser }; 43 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/audio/AudioAnalyser.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | function AudioAnalyser( audio, fftSize ) { 6 | 7 | this.analyser = audio.context.createAnalyser(); 8 | this.analyser.fftSize = fftSize !== undefined ? fftSize : 2048; 9 | 10 | this.data = new Uint8Array( this.analyser.frequencyBinCount ); 11 | 12 | audio.getOutput().connect( this.analyser ); 13 | 14 | } 15 | 16 | Object.assign( AudioAnalyser.prototype, { 17 | 18 | getFrequencyData: function () { 19 | 20 | this.analyser.getByteFrequencyData( this.data ); 21 | 22 | return this.data; 23 | 24 | }, 25 | 26 | getAverageFrequency: function () { 27 | 28 | var value = 0, data = this.getFrequencyData(); 29 | 30 | for ( var i = 0; i < data.length; i ++ ) { 31 | 32 | value += data[ i ]; 33 | 34 | } 35 | 36 | return value / data.length; 37 | 38 | } 39 | 40 | } ); 41 | 42 | export { AudioAnalyser }; 43 | -------------------------------------------------------------------------------- /qb-phone/module/core/InstancedBufferGeometry.js: -------------------------------------------------------------------------------- 1 | import { BufferGeometry } from './BufferGeometry.js'; 2 | 3 | /** 4 | * @author benaadams / https://twitter.com/ben_a_adams 5 | */ 6 | 7 | function InstancedBufferGeometry() { 8 | 9 | BufferGeometry.call( this ); 10 | 11 | this.type = 'InstancedBufferGeometry'; 12 | this.maxInstancedCount = undefined; 13 | 14 | } 15 | 16 | InstancedBufferGeometry.prototype = Object.assign( Object.create( BufferGeometry.prototype ), { 17 | 18 | constructor: InstancedBufferGeometry, 19 | 20 | isInstancedBufferGeometry: true, 21 | 22 | copy: function ( source ) { 23 | 24 | BufferGeometry.prototype.copy.call( this, source ); 25 | 26 | this.maxInstancedCount = source.maxInstancedCount; 27 | 28 | return this; 29 | 30 | }, 31 | 32 | clone: function () { 33 | 34 | return new this.constructor().copy( this ); 35 | 36 | } 37 | 38 | } ); 39 | 40 | export { InstancedBufferGeometry }; 41 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderLib/distanceRGBA_frag.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #define DISTANCE 3 | 4 | uniform vec3 referencePosition; 5 | uniform float nearDistance; 6 | uniform float farDistance; 7 | varying vec3 vWorldPosition; 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | 16 | void main () { 17 | 18 | #include 19 | 20 | vec4 diffuseColor = vec4( 1.0 ); 21 | 22 | #include 23 | #include 24 | #include 25 | 26 | float dist = length( vWorldPosition - referencePosition ); 27 | dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); 28 | dist = saturate( dist ); // clamp to [ 0, 1 ] 29 | 30 | gl_FragColor = packDepthToRGBA( dist ); 31 | 32 | } 33 | `; 34 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/core/InstancedBufferGeometry.js: -------------------------------------------------------------------------------- 1 | import { BufferGeometry } from './BufferGeometry.js'; 2 | 3 | /** 4 | * @author benaadams / https://twitter.com/ben_a_adams 5 | */ 6 | 7 | function InstancedBufferGeometry() { 8 | 9 | BufferGeometry.call( this ); 10 | 11 | this.type = 'InstancedBufferGeometry'; 12 | this.maxInstancedCount = undefined; 13 | 14 | } 15 | 16 | InstancedBufferGeometry.prototype = Object.assign( Object.create( BufferGeometry.prototype ), { 17 | 18 | constructor: InstancedBufferGeometry, 19 | 20 | isInstancedBufferGeometry: true, 21 | 22 | copy: function ( source ) { 23 | 24 | BufferGeometry.prototype.copy.call( this, source ); 25 | 26 | this.maxInstancedCount = source.maxInstancedCount; 27 | 28 | return this; 29 | 30 | }, 31 | 32 | clone: function () { 33 | 34 | return new this.constructor().copy( this ); 35 | 36 | } 37 | 38 | } ); 39 | 40 | export { InstancedBufferGeometry }; 41 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderLib/distanceRGBA_frag.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #define DISTANCE 3 | 4 | uniform vec3 referencePosition; 5 | uniform float nearDistance; 6 | uniform float farDistance; 7 | varying vec3 vWorldPosition; 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | 16 | void main () { 17 | 18 | #include 19 | 20 | vec4 diffuseColor = vec4( 1.0 ); 21 | 22 | #include 23 | #include 24 | #include 25 | 26 | float dist = length( vWorldPosition - referencePosition ); 27 | dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); 28 | dist = saturate( dist ); // clamp to [ 0, 1 ] 29 | 30 | gl_FragColor = packDepthToRGBA( dist ); 31 | 32 | } 33 | `; 34 | -------------------------------------------------------------------------------- /qb-phone/module/animation/tracks/ColorKeyframeTrack.js: -------------------------------------------------------------------------------- 1 | import { KeyframeTrack } from '../KeyframeTrack.js'; 2 | 3 | /** 4 | * 5 | * A Track of keyframe values that represent color. 6 | * 7 | * 8 | * @author Ben Houston / http://clara.io/ 9 | * @author David Sarno / http://lighthaus.us/ 10 | * @author tschw 11 | */ 12 | 13 | function ColorKeyframeTrack( name, times, values, interpolation ) { 14 | 15 | KeyframeTrack.call( this, name, times, values, interpolation ); 16 | 17 | } 18 | 19 | ColorKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrack.prototype ), { 20 | 21 | constructor: ColorKeyframeTrack, 22 | 23 | ValueTypeName: 'color' 24 | 25 | // ValueBufferType is inherited 26 | 27 | // DefaultInterpolation is inherited 28 | 29 | // Note: Very basic implementation and nothing special yet. 30 | // However, this is the place for color space parameterization. 31 | 32 | } ); 33 | 34 | export { ColorKeyframeTrack }; 35 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderLib/distanceRGBA_vert.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #define DISTANCE 3 | 4 | varying vec3 vWorldPosition; 5 | 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | void main() { 14 | 15 | #include 16 | 17 | #include 18 | 19 | #ifdef USE_DISPLACEMENTMAP 20 | 21 | #include 22 | #include 23 | #include 24 | 25 | #endif 26 | 27 | #include 28 | #include 29 | #include 30 | #include 31 | #include 32 | #include 33 | #include 34 | 35 | vWorldPosition = worldPosition.xyz; 36 | 37 | } 38 | `; 39 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/animation/tracks/ColorKeyframeTrack.js: -------------------------------------------------------------------------------- 1 | import { KeyframeTrack } from '../KeyframeTrack.js'; 2 | 3 | /** 4 | * 5 | * A Track of keyframe values that represent color. 6 | * 7 | * 8 | * @author Ben Houston / http://clara.io/ 9 | * @author David Sarno / http://lighthaus.us/ 10 | * @author tschw 11 | */ 12 | 13 | function ColorKeyframeTrack( name, times, values, interpolation ) { 14 | 15 | KeyframeTrack.call( this, name, times, values, interpolation ); 16 | 17 | } 18 | 19 | ColorKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrack.prototype ), { 20 | 21 | constructor: ColorKeyframeTrack, 22 | 23 | ValueTypeName: 'color' 24 | 25 | // ValueBufferType is inherited 26 | 27 | // DefaultInterpolation is inherited 28 | 29 | // Note: Very basic implementation and nothing special yet. 30 | // However, this is the place for color space parameterization. 31 | 32 | } ); 33 | 34 | export { ColorKeyframeTrack }; 35 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderLib/distanceRGBA_vert.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #define DISTANCE 3 | 4 | varying vec3 vWorldPosition; 5 | 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | void main() { 14 | 15 | #include 16 | 17 | #include 18 | 19 | #ifdef USE_DISPLACEMENTMAP 20 | 21 | #include 22 | #include 23 | #include 24 | 25 | #endif 26 | 27 | #include 28 | #include 29 | #include 30 | #include 31 | #include 32 | #include 33 | #include 34 | 35 | vWorldPosition = worldPosition.xyz; 36 | 37 | } 38 | `; 39 | -------------------------------------------------------------------------------- /qb-phone/module/materials/ShadowMaterial.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | * 4 | * parameters = { 5 | * color: 6 | * } 7 | */ 8 | 9 | import { Material } from './Material.js'; 10 | import { Color } from '../math/Color.js'; 11 | 12 | function ShadowMaterial( parameters ) { 13 | 14 | Material.call( this ); 15 | 16 | this.type = 'ShadowMaterial'; 17 | 18 | this.color = new Color( 0x000000 ); 19 | this.transparent = true; 20 | 21 | this.setValues( parameters ); 22 | 23 | } 24 | 25 | ShadowMaterial.prototype = Object.create( Material.prototype ); 26 | ShadowMaterial.prototype.constructor = ShadowMaterial; 27 | 28 | ShadowMaterial.prototype.isShadowMaterial = true; 29 | 30 | ShadowMaterial.prototype.copy = function ( source ) { 31 | 32 | Material.prototype.copy.call( this, source ); 33 | 34 | this.color.copy( source.color ); 35 | 36 | return this; 37 | 38 | }; 39 | 40 | 41 | export { ShadowMaterial }; 42 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderLib/points_frag.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | uniform vec3 diffuse; 3 | uniform float opacity; 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | void main() { 13 | 14 | #include 15 | 16 | vec3 outgoingLight = vec3( 0.0 ); 17 | vec4 diffuseColor = vec4( diffuse, opacity ); 18 | 19 | #include 20 | #include 21 | #include 22 | #include 23 | 24 | outgoingLight = diffuseColor.rgb; 25 | 26 | gl_FragColor = vec4( outgoingLight, diffuseColor.a ); 27 | 28 | #include 29 | #include 30 | #include 31 | #include 32 | 33 | } 34 | `; 35 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/materials/ShadowMaterial.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | * 4 | * parameters = { 5 | * color: 6 | * } 7 | */ 8 | 9 | import { Material } from './Material.js'; 10 | import { Color } from '../math/Color.js'; 11 | 12 | function ShadowMaterial( parameters ) { 13 | 14 | Material.call( this ); 15 | 16 | this.type = 'ShadowMaterial'; 17 | 18 | this.color = new Color( 0x000000 ); 19 | this.transparent = true; 20 | 21 | this.setValues( parameters ); 22 | 23 | } 24 | 25 | ShadowMaterial.prototype = Object.create( Material.prototype ); 26 | ShadowMaterial.prototype.constructor = ShadowMaterial; 27 | 28 | ShadowMaterial.prototype.isShadowMaterial = true; 29 | 30 | ShadowMaterial.prototype.copy = function ( source ) { 31 | 32 | Material.prototype.copy.call( this, source ); 33 | 34 | this.color.copy( source.color ); 35 | 36 | return this; 37 | 38 | }; 39 | 40 | 41 | export { ShadowMaterial }; 42 | -------------------------------------------------------------------------------- /qb-phone/module/animation/tracks/StringKeyframeTrack.js: -------------------------------------------------------------------------------- 1 | import { InterpolateDiscrete } from '../../constants.js'; 2 | import { KeyframeTrack } from '../KeyframeTrack.js'; 3 | 4 | /** 5 | * 6 | * A Track that interpolates Strings 7 | * 8 | * 9 | * @author Ben Houston / http://clara.io/ 10 | * @author David Sarno / http://lighthaus.us/ 11 | * @author tschw 12 | */ 13 | 14 | function StringKeyframeTrack( name, times, values, interpolation ) { 15 | 16 | KeyframeTrack.call( this, name, times, values, interpolation ); 17 | 18 | } 19 | 20 | StringKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrack.prototype ), { 21 | 22 | constructor: StringKeyframeTrack, 23 | 24 | ValueTypeName: 'string', 25 | ValueBufferType: Array, 26 | 27 | DefaultInterpolation: InterpolateDiscrete, 28 | 29 | InterpolantFactoryMethodLinear: undefined, 30 | 31 | InterpolantFactoryMethodSmooth: undefined 32 | 33 | } ); 34 | 35 | export { StringKeyframeTrack }; 36 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/animation/tracks/StringKeyframeTrack.js: -------------------------------------------------------------------------------- 1 | import { InterpolateDiscrete } from '../../constants.js'; 2 | import { KeyframeTrack } from '../KeyframeTrack.js'; 3 | 4 | /** 5 | * 6 | * A Track that interpolates Strings 7 | * 8 | * 9 | * @author Ben Houston / http://clara.io/ 10 | * @author David Sarno / http://lighthaus.us/ 11 | * @author tschw 12 | */ 13 | 14 | function StringKeyframeTrack( name, times, values, interpolation ) { 15 | 16 | KeyframeTrack.call( this, name, times, values, interpolation ); 17 | 18 | } 19 | 20 | StringKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrack.prototype ), { 21 | 22 | constructor: StringKeyframeTrack, 23 | 24 | ValueTypeName: 'string', 25 | ValueBufferType: Array, 26 | 27 | DefaultInterpolation: InterpolateDiscrete, 28 | 29 | InterpolantFactoryMethodLinear: undefined, 30 | 31 | InterpolantFactoryMethodSmooth: undefined 32 | 33 | } ); 34 | 35 | export { StringKeyframeTrack }; 36 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderLib/points_frag.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | uniform vec3 diffuse; 3 | uniform float opacity; 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | void main() { 13 | 14 | #include 15 | 16 | vec3 outgoingLight = vec3( 0.0 ); 17 | vec4 diffuseColor = vec4( diffuse, opacity ); 18 | 19 | #include 20 | #include 21 | #include 22 | #include 23 | 24 | outgoingLight = diffuseColor.rgb; 25 | 26 | gl_FragColor = vec4( outgoingLight, diffuseColor.a ); 27 | 28 | #include 29 | #include 30 | #include 31 | #include 32 | 33 | } 34 | `; 35 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/webgl/WebGLObjects.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | function WebGLObjects( geometries, info ) { 6 | 7 | var updateList = {}; 8 | 9 | function update( object ) { 10 | 11 | var frame = info.render.frame; 12 | 13 | var geometry = object.geometry; 14 | var buffergeometry = geometries.get( object, geometry ); 15 | 16 | // Update once per frame 17 | 18 | if ( updateList[ buffergeometry.id ] !== frame ) { 19 | 20 | if ( geometry.isGeometry ) { 21 | 22 | buffergeometry.updateFromObject( object ); 23 | 24 | } 25 | 26 | geometries.update( buffergeometry ); 27 | 28 | updateList[ buffergeometry.id ] = frame; 29 | 30 | } 31 | 32 | return buffergeometry; 33 | 34 | } 35 | 36 | function dispose() { 37 | 38 | updateList = {}; 39 | 40 | } 41 | 42 | return { 43 | 44 | update: update, 45 | dispose: dispose 46 | 47 | }; 48 | 49 | } 50 | 51 | 52 | export { WebGLObjects }; 53 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/webgl/WebGLObjects.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | function WebGLObjects( geometries, info ) { 6 | 7 | var updateList = {}; 8 | 9 | function update( object ) { 10 | 11 | var frame = info.render.frame; 12 | 13 | var geometry = object.geometry; 14 | var buffergeometry = geometries.get( object, geometry ); 15 | 16 | // Update once per frame 17 | 18 | if ( updateList[ buffergeometry.id ] !== frame ) { 19 | 20 | if ( geometry.isGeometry ) { 21 | 22 | buffergeometry.updateFromObject( object ); 23 | 24 | } 25 | 26 | geometries.update( buffergeometry ); 27 | 28 | updateList[ buffergeometry.id ] = frame; 29 | 30 | } 31 | 32 | return buffergeometry; 33 | 34 | } 35 | 36 | function dispose() { 37 | 38 | updateList = {}; 39 | 40 | } 41 | 42 | return { 43 | 44 | update: update, 45 | dispose: dispose 46 | 47 | }; 48 | 49 | } 50 | 51 | 52 | export { WebGLObjects }; 53 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_SHADOWMAP 3 | 4 | #if NUM_DIR_LIGHTS > 0 5 | 6 | #pragma unroll_loop 7 | for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) { 8 | 9 | vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition; 10 | 11 | } 12 | 13 | #endif 14 | 15 | #if NUM_SPOT_LIGHTS > 0 16 | 17 | #pragma unroll_loop 18 | for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) { 19 | 20 | vSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition; 21 | 22 | } 23 | 24 | #endif 25 | 26 | #if NUM_POINT_LIGHTS > 0 27 | 28 | #pragma unroll_loop 29 | for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) { 30 | 31 | vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition; 32 | 33 | } 34 | 35 | #endif 36 | 37 | /* 38 | #if NUM_RECT_AREA_LIGHTS > 0 39 | 40 | // TODO (abelnation): update vAreaShadowCoord with area light info 41 | 42 | #endif 43 | */ 44 | 45 | #endif 46 | `; 47 | -------------------------------------------------------------------------------- /qb-phone/module/textures/CfxTexture.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author citizenfx 3 | */ 4 | 5 | import { Texture } from './Texture.js'; 6 | import { NearestFilter, RGBFormat } from '../constants.js'; 7 | 8 | function CfxTexture( ) { 9 | 10 | var data = new Uint8Array( 3 ); 11 | var width = 1; 12 | var height = 1; 13 | 14 | var format = RGBFormat; 15 | 16 | Texture.call( this, null, undefined, undefined, undefined, undefined, undefined, format, undefined, undefined, undefined ); 17 | 18 | this.image = { data: data, width: width, height: height }; 19 | 20 | this.magFilter = NearestFilter; 21 | this.minFilter = NearestFilter; 22 | 23 | this.generateMipmaps = false; 24 | this.flipY = false; 25 | this.unpackAlignment = 1; 26 | 27 | } 28 | 29 | CfxTexture.prototype = Object.create( Texture.prototype ); 30 | CfxTexture.prototype.constructor = CfxTexture; 31 | 32 | CfxTexture.prototype.isDataTexture = true; 33 | CfxTexture.prototype.isCfxTexture = true; 34 | 35 | 36 | export { CfxTexture }; 37 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_SHADOWMAP 3 | 4 | #if NUM_DIR_LIGHTS > 0 5 | 6 | #pragma unroll_loop 7 | for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) { 8 | 9 | vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition; 10 | 11 | } 12 | 13 | #endif 14 | 15 | #if NUM_SPOT_LIGHTS > 0 16 | 17 | #pragma unroll_loop 18 | for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) { 19 | 20 | vSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition; 21 | 22 | } 23 | 24 | #endif 25 | 26 | #if NUM_POINT_LIGHTS > 0 27 | 28 | #pragma unroll_loop 29 | for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) { 30 | 31 | vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition; 32 | 33 | } 34 | 35 | #endif 36 | 37 | /* 38 | #if NUM_RECT_AREA_LIGHTS > 0 39 | 40 | // TODO (abelnation): update vAreaShadowCoord with area light info 41 | 42 | #endif 43 | */ 44 | 45 | #endif 46 | `; 47 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/textures/CfxTexture.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author citizenfx 3 | */ 4 | 5 | import { Texture } from './Texture.js'; 6 | import { NearestFilter, RGBFormat } from '../constants.js'; 7 | 8 | function CfxTexture( ) { 9 | 10 | var data = new Uint8Array( 3 ); 11 | var width = 1; 12 | var height = 1; 13 | 14 | var format = RGBFormat; 15 | 16 | Texture.call( this, null, undefined, undefined, undefined, undefined, undefined, format, undefined, undefined, undefined ); 17 | 18 | this.image = { data: data, width: width, height: height }; 19 | 20 | this.magFilter = NearestFilter; 21 | this.minFilter = NearestFilter; 22 | 23 | this.generateMipmaps = false; 24 | this.flipY = false; 25 | this.unpackAlignment = 1; 26 | 27 | } 28 | 29 | CfxTexture.prototype = Object.create( Texture.prototype ); 30 | CfxTexture.prototype.constructor = CfxTexture; 31 | 32 | CfxTexture.prototype.isDataTexture = true; 33 | CfxTexture.prototype.isCfxTexture = true; 34 | 35 | 36 | export { CfxTexture }; 37 | -------------------------------------------------------------------------------- /qb-phone/module/textures/DataTexture.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author alteredq / http://alteredqualia.com/ 3 | */ 4 | 5 | import { Texture } from './Texture.js'; 6 | import { NearestFilter } from '../constants.js'; 7 | 8 | function DataTexture( data, width, height, format, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, encoding ) { 9 | 10 | Texture.call( this, null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ); 11 | 12 | this.image = { data: data, width: width, height: height }; 13 | 14 | this.magFilter = magFilter !== undefined ? magFilter : NearestFilter; 15 | this.minFilter = minFilter !== undefined ? minFilter : NearestFilter; 16 | 17 | this.generateMipmaps = false; 18 | this.flipY = false; 19 | this.unpackAlignment = 1; 20 | 21 | } 22 | 23 | DataTexture.prototype = Object.create( Texture.prototype ); 24 | DataTexture.prototype.constructor = DataTexture; 25 | 26 | DataTexture.prototype.isDataTexture = true; 27 | 28 | 29 | export { DataTexture }; 30 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/textures/DataTexture.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author alteredq / http://alteredqualia.com/ 3 | */ 4 | 5 | import { Texture } from './Texture.js'; 6 | import { NearestFilter } from '../constants.js'; 7 | 8 | function DataTexture( data, width, height, format, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, encoding ) { 9 | 10 | Texture.call( this, null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ); 11 | 12 | this.image = { data: data, width: width, height: height }; 13 | 14 | this.magFilter = magFilter !== undefined ? magFilter : NearestFilter; 15 | this.minFilter = minFilter !== undefined ? minFilter : NearestFilter; 16 | 17 | this.generateMipmaps = false; 18 | this.flipY = false; 19 | this.unpackAlignment = 1; 20 | 21 | } 22 | 23 | DataTexture.prototype = Object.create( Texture.prototype ); 24 | DataTexture.prototype.constructor = DataTexture; 25 | 26 | DataTexture.prototype.isDataTexture = true; 27 | 28 | 29 | export { DataTexture }; 30 | -------------------------------------------------------------------------------- /qb-phone/module/lights/HemisphereLight.js: -------------------------------------------------------------------------------- 1 | import { Light } from './Light.js'; 2 | import { Color } from '../math/Color.js'; 3 | import { Object3D } from '../core/Object3D.js'; 4 | 5 | /** 6 | * @author alteredq / http://alteredqualia.com/ 7 | */ 8 | 9 | function HemisphereLight( skyColor, groundColor, intensity ) { 10 | 11 | Light.call( this, skyColor, intensity ); 12 | 13 | this.type = 'HemisphereLight'; 14 | 15 | this.castShadow = undefined; 16 | 17 | this.position.copy( Object3D.DefaultUp ); 18 | this.updateMatrix(); 19 | 20 | this.groundColor = new Color( groundColor ); 21 | 22 | } 23 | 24 | HemisphereLight.prototype = Object.assign( Object.create( Light.prototype ), { 25 | 26 | constructor: HemisphereLight, 27 | 28 | isHemisphereLight: true, 29 | 30 | copy: function ( source ) { 31 | 32 | Light.prototype.copy.call( this, source ); 33 | 34 | this.groundColor.copy( source.groundColor ); 35 | 36 | return this; 37 | 38 | } 39 | 40 | } ); 41 | 42 | 43 | export { HemisphereLight }; 44 | -------------------------------------------------------------------------------- /qb-phone/module/materials/MeshToonMaterial.js: -------------------------------------------------------------------------------- 1 | import { MeshPhongMaterial } from './MeshPhongMaterial.js'; 2 | 3 | /** 4 | * @author takahirox / http://github.com/takahirox 5 | * 6 | * parameters = { 7 | * gradientMap: new THREE.Texture( ) 8 | * } 9 | */ 10 | 11 | function MeshToonMaterial( parameters ) { 12 | 13 | MeshPhongMaterial.call( this ); 14 | 15 | this.defines = { 'TOON': '' }; 16 | 17 | this.type = 'MeshToonMaterial'; 18 | 19 | this.gradientMap = null; 20 | 21 | this.setValues( parameters ); 22 | 23 | } 24 | 25 | MeshToonMaterial.prototype = Object.create( MeshPhongMaterial.prototype ); 26 | MeshToonMaterial.prototype.constructor = MeshToonMaterial; 27 | 28 | MeshToonMaterial.prototype.isMeshToonMaterial = true; 29 | 30 | MeshToonMaterial.prototype.copy = function ( source ) { 31 | 32 | MeshPhongMaterial.prototype.copy.call( this, source ); 33 | 34 | this.gradientMap = source.gradientMap; 35 | 36 | return this; 37 | 38 | }; 39 | 40 | 41 | export { MeshToonMaterial }; 42 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderLib/depth_frag.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if DEPTH_PACKING == 3200 3 | 4 | uniform float opacity; 5 | 6 | #endif 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | 16 | void main() { 17 | 18 | #include 19 | 20 | vec4 diffuseColor = vec4( 1.0 ); 21 | 22 | #if DEPTH_PACKING == 3200 23 | 24 | diffuseColor.a = opacity; 25 | 26 | #endif 27 | 28 | #include 29 | #include 30 | #include 31 | 32 | #include 33 | 34 | #if DEPTH_PACKING == 3200 35 | 36 | gl_FragColor = vec4( vec3( 1.0 - gl_FragCoord.z ), opacity ); 37 | 38 | #elif DEPTH_PACKING == 3201 39 | 40 | gl_FragColor = packDepthToRGBA( gl_FragCoord.z ); 41 | 42 | #endif 43 | 44 | } 45 | `; 46 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/materials/MeshToonMaterial.js: -------------------------------------------------------------------------------- 1 | import { MeshPhongMaterial } from './MeshPhongMaterial.js'; 2 | 3 | /** 4 | * @author takahirox / http://github.com/takahirox 5 | * 6 | * parameters = { 7 | * gradientMap: new THREE.Texture( ) 8 | * } 9 | */ 10 | 11 | function MeshToonMaterial( parameters ) { 12 | 13 | MeshPhongMaterial.call( this ); 14 | 15 | this.defines = { 'TOON': '' }; 16 | 17 | this.type = 'MeshToonMaterial'; 18 | 19 | this.gradientMap = null; 20 | 21 | this.setValues( parameters ); 22 | 23 | } 24 | 25 | MeshToonMaterial.prototype = Object.create( MeshPhongMaterial.prototype ); 26 | MeshToonMaterial.prototype.constructor = MeshToonMaterial; 27 | 28 | MeshToonMaterial.prototype.isMeshToonMaterial = true; 29 | 30 | MeshToonMaterial.prototype.copy = function ( source ) { 31 | 32 | MeshPhongMaterial.prototype.copy.call( this, source ); 33 | 34 | this.gradientMap = source.gradientMap; 35 | 36 | return this; 37 | 38 | }; 39 | 40 | 41 | export { MeshToonMaterial }; 42 | -------------------------------------------------------------------------------- /qb-phone/module/loaders/LoaderUtils.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Don McCurdy / https://www.donmccurdy.com 3 | */ 4 | 5 | var LoaderUtils = { 6 | 7 | decodeText: function ( array ) { 8 | 9 | if ( typeof TextDecoder !== 'undefined' ) { 10 | 11 | return new TextDecoder().decode( array ); 12 | 13 | } 14 | 15 | // Avoid the String.fromCharCode.apply(null, array) shortcut, which 16 | // throws a "maximum call stack size exceeded" error for large arrays. 17 | 18 | var s = ''; 19 | 20 | for ( var i = 0, il = array.length; i < il; i ++ ) { 21 | 22 | // Implicitly assumes little-endian. 23 | s += String.fromCharCode( array[ i ] ); 24 | 25 | } 26 | 27 | // Merges multi-byte utf-8 characters. 28 | return decodeURIComponent( escape( s ) ); 29 | 30 | }, 31 | 32 | extractUrlBase: function ( url ) { 33 | 34 | var index = url.lastIndexOf( '/' ); 35 | 36 | if ( index === - 1 ) return './'; 37 | 38 | return url.substr( 0, index + 1 ); 39 | 40 | } 41 | 42 | }; 43 | 44 | export { LoaderUtils }; 45 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/lights/HemisphereLight.js: -------------------------------------------------------------------------------- 1 | import { Light } from './Light.js'; 2 | import { Color } from '../math/Color.js'; 3 | import { Object3D } from '../core/Object3D.js'; 4 | 5 | /** 6 | * @author alteredq / http://alteredqualia.com/ 7 | */ 8 | 9 | function HemisphereLight( skyColor, groundColor, intensity ) { 10 | 11 | Light.call( this, skyColor, intensity ); 12 | 13 | this.type = 'HemisphereLight'; 14 | 15 | this.castShadow = undefined; 16 | 17 | this.position.copy( Object3D.DefaultUp ); 18 | this.updateMatrix(); 19 | 20 | this.groundColor = new Color( groundColor ); 21 | 22 | } 23 | 24 | HemisphereLight.prototype = Object.assign( Object.create( Light.prototype ), { 25 | 26 | constructor: HemisphereLight, 27 | 28 | isHemisphereLight: true, 29 | 30 | copy: function ( source ) { 31 | 32 | Light.prototype.copy.call( this, source ); 33 | 34 | this.groundColor.copy( source.groundColor ); 35 | 36 | return this; 37 | 38 | } 39 | 40 | } ); 41 | 42 | 43 | export { HemisphereLight }; 44 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderLib/depth_frag.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if DEPTH_PACKING == 3200 3 | 4 | uniform float opacity; 5 | 6 | #endif 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | 16 | void main() { 17 | 18 | #include 19 | 20 | vec4 diffuseColor = vec4( 1.0 ); 21 | 22 | #if DEPTH_PACKING == 3200 23 | 24 | diffuseColor.a = opacity; 25 | 26 | #endif 27 | 28 | #include 29 | #include 30 | #include 31 | 32 | #include 33 | 34 | #if DEPTH_PACKING == 3200 35 | 36 | gl_FragColor = vec4( vec3( 1.0 - gl_FragCoord.z ), opacity ); 37 | 38 | #elif DEPTH_PACKING == 3201 39 | 40 | gl_FragColor = packDepthToRGBA( gl_FragCoord.z ); 41 | 42 | #endif 43 | 44 | } 45 | `; 46 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/loaders/LoaderUtils.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Don McCurdy / https://www.donmccurdy.com 3 | */ 4 | 5 | var LoaderUtils = { 6 | 7 | decodeText: function ( array ) { 8 | 9 | if ( typeof TextDecoder !== 'undefined' ) { 10 | 11 | return new TextDecoder().decode( array ); 12 | 13 | } 14 | 15 | // Avoid the String.fromCharCode.apply(null, array) shortcut, which 16 | // throws a "maximum call stack size exceeded" error for large arrays. 17 | 18 | var s = ''; 19 | 20 | for ( var i = 0, il = array.length; i < il; i ++ ) { 21 | 22 | // Implicitly assumes little-endian. 23 | s += String.fromCharCode( array[ i ] ); 24 | 25 | } 26 | 27 | // Merges multi-byte utf-8 characters. 28 | return decodeURIComponent( escape( s ) ); 29 | 30 | }, 31 | 32 | extractUrlBase: function ( url ) { 33 | 34 | var index = url.lastIndexOf( '/' ); 35 | 36 | if ( index === - 1 ) return './'; 37 | 38 | return url.substr( 0, index + 1 ); 39 | 40 | } 41 | 42 | }; 43 | 44 | export { LoaderUtils }; 45 | -------------------------------------------------------------------------------- /qb-phone/module/textures/DataTexture3D.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Artur Trzesiok 3 | */ 4 | 5 | import { Texture } from './Texture.js'; 6 | import { NearestFilter } from '../constants.js'; 7 | 8 | function DataTexture3D( data, width, height, depth ) { 9 | 10 | // We're going to add .setXXX() methods for setting properties later. 11 | // Users can still set in DataTexture3D directly. 12 | // 13 | // var texture = new THREE.DataTexture3D( data, width, height, depth ); 14 | // texture.anisotropy = 16; 15 | // 16 | // See #14839 17 | 18 | Texture.call( this, null ); 19 | 20 | this.image = { data: data, width: width, height: height, depth: depth }; 21 | 22 | this.magFilter = NearestFilter; 23 | this.minFilter = NearestFilter; 24 | 25 | this.generateMipmaps = false; 26 | this.flipY = false; 27 | 28 | } 29 | 30 | DataTexture3D.prototype = Object.create( Texture.prototype ); 31 | DataTexture3D.prototype.constructor = DataTexture3D; 32 | DataTexture3D.prototype.isDataTexture3D = true; 33 | 34 | export { DataTexture3D }; 35 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/textures/DataTexture3D.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Artur Trzesiok 3 | */ 4 | 5 | import { Texture } from './Texture.js'; 6 | import { NearestFilter } from '../constants.js'; 7 | 8 | function DataTexture3D( data, width, height, depth ) { 9 | 10 | // We're going to add .setXXX() methods for setting properties later. 11 | // Users can still set in DataTexture3D directly. 12 | // 13 | // var texture = new THREE.DataTexture3D( data, width, height, depth ); 14 | // texture.anisotropy = 16; 15 | // 16 | // See #14839 17 | 18 | Texture.call( this, null ); 19 | 20 | this.image = { data: data, width: width, height: height, depth: depth }; 21 | 22 | this.magFilter = NearestFilter; 23 | this.minFilter = NearestFilter; 24 | 25 | this.generateMipmaps = false; 26 | this.flipY = false; 27 | 28 | } 29 | 30 | DataTexture3D.prototype = Object.create( Texture.prototype ); 31 | DataTexture3D.prototype.constructor = DataTexture3D; 32 | DataTexture3D.prototype.isDataTexture3D = true; 33 | 34 | export { DataTexture3D }; 35 | -------------------------------------------------------------------------------- /qb-phone/module/textures/CompressedTexture.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author alteredq / http://alteredqualia.com/ 3 | */ 4 | 5 | import { Texture } from './Texture.js'; 6 | 7 | function CompressedTexture( mipmaps, width, height, format, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, encoding ) { 8 | 9 | Texture.call( this, null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ); 10 | 11 | this.image = { width: width, height: height }; 12 | this.mipmaps = mipmaps; 13 | 14 | // no flipping for cube textures 15 | // (also flipping doesn't work for compressed textures ) 16 | 17 | this.flipY = false; 18 | 19 | // can't generate mipmaps for compressed textures 20 | // mips must be embedded in DDS files 21 | 22 | this.generateMipmaps = false; 23 | 24 | } 25 | 26 | CompressedTexture.prototype = Object.create( Texture.prototype ); 27 | CompressedTexture.prototype.constructor = CompressedTexture; 28 | 29 | CompressedTexture.prototype.isCompressedTexture = true; 30 | 31 | 32 | export { CompressedTexture }; 33 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/textures/CompressedTexture.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author alteredq / http://alteredqualia.com/ 3 | */ 4 | 5 | import { Texture } from './Texture.js'; 6 | 7 | function CompressedTexture( mipmaps, width, height, format, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, encoding ) { 8 | 9 | Texture.call( this, null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ); 10 | 11 | this.image = { width: width, height: height }; 12 | this.mipmaps = mipmaps; 13 | 14 | // no flipping for cube textures 15 | // (also flipping doesn't work for compressed textures ) 16 | 17 | this.flipY = false; 18 | 19 | // can't generate mipmaps for compressed textures 20 | // mips must be embedded in DDS files 21 | 22 | this.generateMipmaps = false; 23 | 24 | } 25 | 26 | CompressedTexture.prototype = Object.create( Texture.prototype ); 27 | CompressedTexture.prototype.constructor = CompressedTexture; 28 | 29 | CompressedTexture.prototype.isCompressedTexture = true; 30 | 31 | 32 | export { CompressedTexture }; 33 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/webgl/WebGLAnimation.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | function WebGLAnimation() { 6 | 7 | var context = null; 8 | var isAnimating = false; 9 | var animationLoop = null; 10 | 11 | function onAnimationFrame( time, frame ) { 12 | 13 | if ( isAnimating === false ) return; 14 | 15 | animationLoop( time, frame ); 16 | 17 | context.requestAnimationFrame( onAnimationFrame ); 18 | 19 | } 20 | 21 | return { 22 | 23 | start: function () { 24 | 25 | if ( isAnimating === true ) return; 26 | if ( animationLoop === null ) return; 27 | 28 | context.requestAnimationFrame( onAnimationFrame ); 29 | 30 | isAnimating = true; 31 | 32 | }, 33 | 34 | stop: function () { 35 | 36 | isAnimating = false; 37 | 38 | }, 39 | 40 | setAnimationLoop: function ( callback ) { 41 | 42 | animationLoop = callback; 43 | 44 | }, 45 | 46 | setContext: function ( value ) { 47 | 48 | context = value; 49 | 50 | } 51 | 52 | }; 53 | 54 | } 55 | 56 | export { WebGLAnimation }; 57 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/webgl/WebGLAnimation.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | function WebGLAnimation() { 6 | 7 | var context = null; 8 | var isAnimating = false; 9 | var animationLoop = null; 10 | 11 | function onAnimationFrame( time, frame ) { 12 | 13 | if ( isAnimating === false ) return; 14 | 15 | animationLoop( time, frame ); 16 | 17 | context.requestAnimationFrame( onAnimationFrame ); 18 | 19 | } 20 | 21 | return { 22 | 23 | start: function () { 24 | 25 | if ( isAnimating === true ) return; 26 | if ( animationLoop === null ) return; 27 | 28 | context.requestAnimationFrame( onAnimationFrame ); 29 | 30 | isAnimating = true; 31 | 32 | }, 33 | 34 | stop: function () { 35 | 36 | isAnimating = false; 37 | 38 | }, 39 | 40 | setAnimationLoop: function ( callback ) { 41 | 42 | animationLoop = callback; 43 | 44 | }, 45 | 46 | setContext: function ( value ) { 47 | 48 | context = value; 49 | 50 | } 51 | 52 | }; 53 | 54 | } 55 | 56 | export { WebGLAnimation }; 57 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderLib/linedashed_frag.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | uniform vec3 diffuse; 3 | uniform float opacity; 4 | 5 | uniform float dashSize; 6 | uniform float totalSize; 7 | 8 | varying float vLineDistance; 9 | 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | 16 | void main() { 17 | 18 | #include 19 | 20 | if ( mod( vLineDistance, totalSize ) > dashSize ) { 21 | 22 | discard; 23 | 24 | } 25 | 26 | vec3 outgoingLight = vec3( 0.0 ); 27 | vec4 diffuseColor = vec4( diffuse, opacity ); 28 | 29 | #include 30 | #include 31 | 32 | outgoingLight = diffuseColor.rgb; // simple shader 33 | 34 | gl_FragColor = vec4( outgoingLight, diffuseColor.a ); 35 | 36 | #include 37 | #include 38 | #include 39 | #include 40 | 41 | } 42 | `; 43 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderLib/linedashed_frag.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | uniform vec3 diffuse; 3 | uniform float opacity; 4 | 5 | uniform float dashSize; 6 | uniform float totalSize; 7 | 8 | varying float vLineDistance; 9 | 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | 16 | void main() { 17 | 18 | #include 19 | 20 | if ( mod( vLineDistance, totalSize ) > dashSize ) { 21 | 22 | discard; 23 | 24 | } 25 | 26 | vec3 outgoingLight = vec3( 0.0 ); 27 | vec4 diffuseColor = vec4( diffuse, opacity ); 28 | 29 | #include 30 | #include 31 | 32 | outgoingLight = diffuseColor.rgb; // simple shader 33 | 34 | gl_FragColor = vec4( outgoingLight, diffuseColor.a ); 35 | 36 | #include 37 | #include 38 | #include 39 | #include 40 | 41 | } 42 | `; 43 | -------------------------------------------------------------------------------- /qb-phone/module/textures/CubeTexture.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | import { Texture } from './Texture.js'; 6 | import { CubeReflectionMapping } from '../constants.js'; 7 | 8 | function CubeTexture( images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ) { 9 | 10 | images = images !== undefined ? images : []; 11 | mapping = mapping !== undefined ? mapping : CubeReflectionMapping; 12 | 13 | Texture.call( this, images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ); 14 | 15 | this.flipY = false; 16 | 17 | } 18 | 19 | CubeTexture.prototype = Object.create( Texture.prototype ); 20 | CubeTexture.prototype.constructor = CubeTexture; 21 | 22 | CubeTexture.prototype.isCubeTexture = true; 23 | 24 | Object.defineProperty( CubeTexture.prototype, 'images', { 25 | 26 | get: function () { 27 | 28 | return this.image; 29 | 30 | }, 31 | 32 | set: function ( value ) { 33 | 34 | this.image = value; 35 | 36 | } 37 | 38 | } ); 39 | 40 | 41 | export { CubeTexture }; 42 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/textures/CubeTexture.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | import { Texture } from './Texture.js'; 6 | import { CubeReflectionMapping } from '../constants.js'; 7 | 8 | function CubeTexture( images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ) { 9 | 10 | images = images !== undefined ? images : []; 11 | mapping = mapping !== undefined ? mapping : CubeReflectionMapping; 12 | 13 | Texture.call( this, images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ); 14 | 15 | this.flipY = false; 16 | 17 | } 18 | 19 | CubeTexture.prototype = Object.create( Texture.prototype ); 20 | CubeTexture.prototype.constructor = CubeTexture; 21 | 22 | CubeTexture.prototype.isCubeTexture = true; 23 | 24 | Object.defineProperty( CubeTexture.prototype, 'images', { 25 | 26 | get: function () { 27 | 28 | return this.image; 29 | 30 | }, 31 | 32 | set: function ( value ) { 33 | 34 | this.image = value; 35 | 36 | } 37 | 38 | } ); 39 | 40 | 41 | export { CubeTexture }; 42 | -------------------------------------------------------------------------------- /qb-phone/module/lights/RectAreaLight.js: -------------------------------------------------------------------------------- 1 | import { Light } from './Light.js'; 2 | 3 | /** 4 | * @author abelnation / http://github.com/abelnation 5 | */ 6 | 7 | function RectAreaLight( color, intensity, width, height ) { 8 | 9 | Light.call( this, color, intensity ); 10 | 11 | this.type = 'RectAreaLight'; 12 | 13 | this.width = ( width !== undefined ) ? width : 10; 14 | this.height = ( height !== undefined ) ? height : 10; 15 | 16 | } 17 | 18 | RectAreaLight.prototype = Object.assign( Object.create( Light.prototype ), { 19 | 20 | constructor: RectAreaLight, 21 | 22 | isRectAreaLight: true, 23 | 24 | copy: function ( source ) { 25 | 26 | Light.prototype.copy.call( this, source ); 27 | 28 | this.width = source.width; 29 | this.height = source.height; 30 | 31 | return this; 32 | 33 | }, 34 | 35 | toJSON: function ( meta ) { 36 | 37 | var data = Light.prototype.toJSON.call( this, meta ); 38 | 39 | data.object.width = this.width; 40 | data.object.height = this.height; 41 | 42 | return data; 43 | 44 | } 45 | 46 | } ); 47 | 48 | export { RectAreaLight }; 49 | -------------------------------------------------------------------------------- /qb-phone/module/math/interpolants/LinearInterpolant.js: -------------------------------------------------------------------------------- 1 | import { Interpolant } from '../Interpolant.js'; 2 | 3 | /** 4 | * @author tschw 5 | */ 6 | 7 | function LinearInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { 8 | 9 | Interpolant.call( this, parameterPositions, sampleValues, sampleSize, resultBuffer ); 10 | 11 | } 12 | 13 | LinearInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype ), { 14 | 15 | constructor: LinearInterpolant, 16 | 17 | interpolate_: function ( i1, t0, t, t1 ) { 18 | 19 | var result = this.resultBuffer, 20 | values = this.sampleValues, 21 | stride = this.valueSize, 22 | 23 | offset1 = i1 * stride, 24 | offset0 = offset1 - stride, 25 | 26 | weight1 = ( t - t0 ) / ( t1 - t0 ), 27 | weight0 = 1 - weight1; 28 | 29 | for ( var i = 0; i !== stride; ++ i ) { 30 | 31 | result[ i ] = 32 | values[ offset0 + i ] * weight0 + 33 | values[ offset1 + i ] * weight1; 34 | 35 | } 36 | 37 | return result; 38 | 39 | } 40 | 41 | } ); 42 | 43 | 44 | export { LinearInterpolant }; 45 | -------------------------------------------------------------------------------- /nakres_VideoCall/fxmanifest.lua: -------------------------------------------------------------------------------- 1 | fx_version "cerulean" 2 | 3 | game "common" 4 | 5 | files {"module/*.js", "module/animation/tracks/*.js", "module/animation/*.js", "module/audio/*js", 6 | "module/cameras/*.js", "module/core/*.js", "module/extras/core/*.js", "module/extras/curves/*.js", 7 | "module/extras/objects/*.js", "module/extras/*.js", "module/geometries/*.js", "module/helpers/*.js", 8 | "module/lights/*.js", "module/loaders/*.js", "module/materials/*.js", "module/math/interpolants/*.js", 9 | "module/math/*.js", "module/objects/*.js", "module/renderers/shaders/*.js", 10 | "module/renderers/shaders/ShaderChunk/*.js", "module/renderers/shaders/ShaderLib/*.js", 11 | "module/renderers/webgl/*.js", "module/renderers/webxr/*.js", "module/renderers/webvr/*.js", 12 | "module/renderers/*.js", "module/scenes/*.js", "module/textures/*.js", "script.js", "html/index.html", 13 | "html/videoCall.js", "style.css"} 14 | 15 | client_scripts {"videoCallclient.lua"} 16 | 17 | server_scripts {"videoCallserver.lua"} 18 | 19 | ui_page "html/index.html" 20 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderLib/meshbasic_vert.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | void main() { 14 | 15 | #include 16 | #include 17 | #include 18 | #include 19 | 20 | #ifdef USE_ENVMAP 21 | 22 | #include 23 | #include 24 | #include 25 | #include 26 | 27 | #endif 28 | 29 | #include 30 | #include 31 | #include 32 | #include 33 | #include 34 | 35 | #include 36 | #include 37 | #include 38 | #include 39 | 40 | } 41 | `; 42 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/lights/RectAreaLight.js: -------------------------------------------------------------------------------- 1 | import { Light } from './Light.js'; 2 | 3 | /** 4 | * @author abelnation / http://github.com/abelnation 5 | */ 6 | 7 | function RectAreaLight( color, intensity, width, height ) { 8 | 9 | Light.call( this, color, intensity ); 10 | 11 | this.type = 'RectAreaLight'; 12 | 13 | this.width = ( width !== undefined ) ? width : 10; 14 | this.height = ( height !== undefined ) ? height : 10; 15 | 16 | } 17 | 18 | RectAreaLight.prototype = Object.assign( Object.create( Light.prototype ), { 19 | 20 | constructor: RectAreaLight, 21 | 22 | isRectAreaLight: true, 23 | 24 | copy: function ( source ) { 25 | 26 | Light.prototype.copy.call( this, source ); 27 | 28 | this.width = source.width; 29 | this.height = source.height; 30 | 31 | return this; 32 | 33 | }, 34 | 35 | toJSON: function ( meta ) { 36 | 37 | var data = Light.prototype.toJSON.call( this, meta ); 38 | 39 | data.object.width = this.width; 40 | data.object.height = this.height; 41 | 42 | return data; 43 | 44 | } 45 | 46 | } ); 47 | 48 | export { RectAreaLight }; 49 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/math/interpolants/LinearInterpolant.js: -------------------------------------------------------------------------------- 1 | import { Interpolant } from '../Interpolant.js'; 2 | 3 | /** 4 | * @author tschw 5 | */ 6 | 7 | function LinearInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { 8 | 9 | Interpolant.call( this, parameterPositions, sampleValues, sampleSize, resultBuffer ); 10 | 11 | } 12 | 13 | LinearInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype ), { 14 | 15 | constructor: LinearInterpolant, 16 | 17 | interpolate_: function ( i1, t0, t, t1 ) { 18 | 19 | var result = this.resultBuffer, 20 | values = this.sampleValues, 21 | stride = this.valueSize, 22 | 23 | offset1 = i1 * stride, 24 | offset0 = offset1 - stride, 25 | 26 | weight1 = ( t - t0 ) / ( t1 - t0 ), 27 | weight0 = 1 - weight1; 28 | 29 | for ( var i = 0; i !== stride; ++ i ) { 30 | 31 | result[ i ] = 32 | values[ offset0 + i ] * weight0 + 33 | values[ offset1 + i ] * weight1; 34 | 35 | } 36 | 37 | return result; 38 | 39 | } 40 | 41 | } ); 42 | 43 | 44 | export { LinearInterpolant }; 45 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderLib/meshbasic_vert.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | void main() { 14 | 15 | #include 16 | #include 17 | #include 18 | #include 19 | 20 | #ifdef USE_ENVMAP 21 | 22 | #include 23 | #include 24 | #include 25 | #include 26 | 27 | #endif 28 | 29 | #include 30 | #include 31 | #include 32 | #include 33 | #include 34 | 35 | #include 36 | #include 37 | #include 38 | #include 39 | 40 | } 41 | `; 42 | -------------------------------------------------------------------------------- /qb-phone/module/lights/DirectionalLight.js: -------------------------------------------------------------------------------- 1 | import { Light } from './Light.js'; 2 | import { DirectionalLightShadow } from './DirectionalLightShadow.js'; 3 | import { Object3D } from '../core/Object3D.js'; 4 | 5 | /** 6 | * @author mrdoob / http://mrdoob.com/ 7 | * @author alteredq / http://alteredqualia.com/ 8 | */ 9 | 10 | function DirectionalLight( color, intensity ) { 11 | 12 | Light.call( this, color, intensity ); 13 | 14 | this.type = 'DirectionalLight'; 15 | 16 | this.position.copy( Object3D.DefaultUp ); 17 | this.updateMatrix(); 18 | 19 | this.target = new Object3D(); 20 | 21 | this.shadow = new DirectionalLightShadow(); 22 | 23 | } 24 | 25 | DirectionalLight.prototype = Object.assign( Object.create( Light.prototype ), { 26 | 27 | constructor: DirectionalLight, 28 | 29 | isDirectionalLight: true, 30 | 31 | copy: function ( source ) { 32 | 33 | Light.prototype.copy.call( this, source ); 34 | 35 | this.target = source.target.clone(); 36 | 37 | this.shadow = source.shadow.clone(); 38 | 39 | return this; 40 | 41 | } 42 | 43 | } ); 44 | 45 | 46 | export { DirectionalLight }; 47 | -------------------------------------------------------------------------------- /qb-phone/module/lights/SpotLightShadow.js: -------------------------------------------------------------------------------- 1 | import { LightShadow } from './LightShadow.js'; 2 | import { _Math } from '../math/Math.js'; 3 | import { PerspectiveCamera } from '../cameras/PerspectiveCamera.js'; 4 | 5 | /** 6 | * @author mrdoob / http://mrdoob.com/ 7 | */ 8 | 9 | function SpotLightShadow() { 10 | 11 | LightShadow.call( this, new PerspectiveCamera( 50, 1, 0.5, 500 ) ); 12 | 13 | } 14 | 15 | SpotLightShadow.prototype = Object.assign( Object.create( LightShadow.prototype ), { 16 | 17 | constructor: SpotLightShadow, 18 | 19 | isSpotLightShadow: true, 20 | 21 | update: function ( light ) { 22 | 23 | var camera = this.camera; 24 | 25 | var fov = _Math.RAD2DEG * 2 * light.angle; 26 | var aspect = this.mapSize.width / this.mapSize.height; 27 | var far = light.distance || camera.far; 28 | 29 | if ( fov !== camera.fov || aspect !== camera.aspect || far !== camera.far ) { 30 | 31 | camera.fov = fov; 32 | camera.aspect = aspect; 33 | camera.far = far; 34 | camera.updateProjectionMatrix(); 35 | 36 | } 37 | 38 | } 39 | 40 | } ); 41 | 42 | 43 | export { SpotLightShadow }; 44 | -------------------------------------------------------------------------------- /qb-phone/module/textures/VideoTexture.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | import { RGBFormat, LinearFilter } from '../constants.js'; 6 | import { Texture } from './Texture.js'; 7 | 8 | function VideoTexture( video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ) { 9 | 10 | Texture.call( this, video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ); 11 | 12 | this.format = format !== undefined ? format : RGBFormat; 13 | 14 | this.minFilter = minFilter !== undefined ? minFilter : LinearFilter; 15 | this.magFilter = magFilter !== undefined ? magFilter : LinearFilter; 16 | 17 | this.generateMipmaps = false; 18 | 19 | } 20 | 21 | VideoTexture.prototype = Object.assign( Object.create( Texture.prototype ), { 22 | 23 | constructor: VideoTexture, 24 | 25 | isVideoTexture: true, 26 | 27 | update: function () { 28 | 29 | var video = this.image; 30 | 31 | if ( video.readyState >= video.HAVE_CURRENT_DATA ) { 32 | 33 | this.needsUpdate = true; 34 | 35 | } 36 | 37 | } 38 | 39 | } ); 40 | 41 | 42 | export { VideoTexture }; 43 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/lights/DirectionalLight.js: -------------------------------------------------------------------------------- 1 | import { Light } from './Light.js'; 2 | import { DirectionalLightShadow } from './DirectionalLightShadow.js'; 3 | import { Object3D } from '../core/Object3D.js'; 4 | 5 | /** 6 | * @author mrdoob / http://mrdoob.com/ 7 | * @author alteredq / http://alteredqualia.com/ 8 | */ 9 | 10 | function DirectionalLight( color, intensity ) { 11 | 12 | Light.call( this, color, intensity ); 13 | 14 | this.type = 'DirectionalLight'; 15 | 16 | this.position.copy( Object3D.DefaultUp ); 17 | this.updateMatrix(); 18 | 19 | this.target = new Object3D(); 20 | 21 | this.shadow = new DirectionalLightShadow(); 22 | 23 | } 24 | 25 | DirectionalLight.prototype = Object.assign( Object.create( Light.prototype ), { 26 | 27 | constructor: DirectionalLight, 28 | 29 | isDirectionalLight: true, 30 | 31 | copy: function ( source ) { 32 | 33 | Light.prototype.copy.call( this, source ); 34 | 35 | this.target = source.target.clone(); 36 | 37 | this.shadow = source.shadow.clone(); 38 | 39 | return this; 40 | 41 | } 42 | 43 | } ); 44 | 45 | 46 | export { DirectionalLight }; 47 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/lights/SpotLightShadow.js: -------------------------------------------------------------------------------- 1 | import { LightShadow } from './LightShadow.js'; 2 | import { _Math } from '../math/Math.js'; 3 | import { PerspectiveCamera } from '../cameras/PerspectiveCamera.js'; 4 | 5 | /** 6 | * @author mrdoob / http://mrdoob.com/ 7 | */ 8 | 9 | function SpotLightShadow() { 10 | 11 | LightShadow.call( this, new PerspectiveCamera( 50, 1, 0.5, 500 ) ); 12 | 13 | } 14 | 15 | SpotLightShadow.prototype = Object.assign( Object.create( LightShadow.prototype ), { 16 | 17 | constructor: SpotLightShadow, 18 | 19 | isSpotLightShadow: true, 20 | 21 | update: function ( light ) { 22 | 23 | var camera = this.camera; 24 | 25 | var fov = _Math.RAD2DEG * 2 * light.angle; 26 | var aspect = this.mapSize.width / this.mapSize.height; 27 | var far = light.distance || camera.far; 28 | 29 | if ( fov !== camera.fov || aspect !== camera.aspect || far !== camera.far ) { 30 | 31 | camera.fov = fov; 32 | camera.aspect = aspect; 33 | camera.far = far; 34 | camera.updateProjectionMatrix(); 35 | 36 | } 37 | 38 | } 39 | 40 | } ); 41 | 42 | 43 | export { SpotLightShadow }; 44 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/textures/VideoTexture.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | import { RGBFormat, LinearFilter } from '../constants.js'; 6 | import { Texture } from './Texture.js'; 7 | 8 | function VideoTexture( video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ) { 9 | 10 | Texture.call( this, video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ); 11 | 12 | this.format = format !== undefined ? format : RGBFormat; 13 | 14 | this.minFilter = minFilter !== undefined ? minFilter : LinearFilter; 15 | this.magFilter = magFilter !== undefined ? magFilter : LinearFilter; 16 | 17 | this.generateMipmaps = false; 18 | 19 | } 20 | 21 | VideoTexture.prototype = Object.assign( Object.create( Texture.prototype ), { 22 | 23 | constructor: VideoTexture, 24 | 25 | isVideoTexture: true, 26 | 27 | update: function () { 28 | 29 | var video = this.image; 30 | 31 | if ( video.readyState >= video.HAVE_CURRENT_DATA ) { 32 | 33 | this.needsUpdate = true; 34 | 35 | } 36 | 37 | } 38 | 39 | } ); 40 | 41 | 42 | export { VideoTexture }; 43 | -------------------------------------------------------------------------------- /qb-phone/module/animation/tracks/BooleanKeyframeTrack.js: -------------------------------------------------------------------------------- 1 | import { InterpolateDiscrete } from '../../constants.js'; 2 | import { KeyframeTrack } from '../KeyframeTrack.js'; 3 | 4 | /** 5 | * 6 | * A Track of Boolean keyframe values. 7 | * 8 | * 9 | * @author Ben Houston / http://clara.io/ 10 | * @author David Sarno / http://lighthaus.us/ 11 | * @author tschw 12 | */ 13 | 14 | function BooleanKeyframeTrack( name, times, values ) { 15 | 16 | KeyframeTrack.call( this, name, times, values ); 17 | 18 | } 19 | 20 | BooleanKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrack.prototype ), { 21 | 22 | constructor: BooleanKeyframeTrack, 23 | 24 | ValueTypeName: 'bool', 25 | ValueBufferType: Array, 26 | 27 | DefaultInterpolation: InterpolateDiscrete, 28 | 29 | InterpolantFactoryMethodLinear: undefined, 30 | InterpolantFactoryMethodSmooth: undefined 31 | 32 | // Note: Actually this track could have a optimized / compressed 33 | // representation of a single value and a custom interpolant that 34 | // computes "firstValue ^ isOdd( index )". 35 | 36 | } ); 37 | 38 | export { BooleanKeyframeTrack }; 39 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/animation/tracks/BooleanKeyframeTrack.js: -------------------------------------------------------------------------------- 1 | import { InterpolateDiscrete } from '../../constants.js'; 2 | import { KeyframeTrack } from '../KeyframeTrack.js'; 3 | 4 | /** 5 | * 6 | * A Track of Boolean keyframe values. 7 | * 8 | * 9 | * @author Ben Houston / http://clara.io/ 10 | * @author David Sarno / http://lighthaus.us/ 11 | * @author tschw 12 | */ 13 | 14 | function BooleanKeyframeTrack( name, times, values ) { 15 | 16 | KeyframeTrack.call( this, name, times, values ); 17 | 18 | } 19 | 20 | BooleanKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrack.prototype ), { 21 | 22 | constructor: BooleanKeyframeTrack, 23 | 24 | ValueTypeName: 'bool', 25 | ValueBufferType: Array, 26 | 27 | DefaultInterpolation: InterpolateDiscrete, 28 | 29 | InterpolantFactoryMethodLinear: undefined, 30 | InterpolantFactoryMethodSmooth: undefined 31 | 32 | // Note: Actually this track could have a optimized / compressed 33 | // representation of a single value and a custom interpolant that 34 | // computes "firstValue ^ isOdd( index )". 35 | 36 | } ); 37 | 38 | export { BooleanKeyframeTrack }; 39 | -------------------------------------------------------------------------------- /qb-phone/module/materials/Materials.js: -------------------------------------------------------------------------------- 1 | export { ShadowMaterial } from './ShadowMaterial.js'; 2 | export { SpriteMaterial } from './SpriteMaterial.js'; 3 | export { RawShaderMaterial } from './RawShaderMaterial.js'; 4 | export { ShaderMaterial } from './ShaderMaterial.js'; 5 | export { PointsMaterial } from './PointsMaterial.js'; 6 | export { MeshPhysicalMaterial } from './MeshPhysicalMaterial.js'; 7 | export { MeshStandardMaterial } from './MeshStandardMaterial.js'; 8 | export { MeshPhongMaterial } from './MeshPhongMaterial.js'; 9 | export { MeshToonMaterial } from './MeshToonMaterial.js'; 10 | export { MeshNormalMaterial } from './MeshNormalMaterial.js'; 11 | export { MeshLambertMaterial } from './MeshLambertMaterial.js'; 12 | export { MeshDepthMaterial } from './MeshDepthMaterial.js'; 13 | export { MeshDistanceMaterial } from './MeshDistanceMaterial.js'; 14 | export { MeshBasicMaterial } from './MeshBasicMaterial.js'; 15 | export { MeshMatcapMaterial } from './MeshMatcapMaterial.js'; 16 | export { LineDashedMaterial } from './LineDashedMaterial.js'; 17 | export { LineBasicMaterial } from './LineBasicMaterial.js'; 18 | export { Material } from './Material.js'; 19 | -------------------------------------------------------------------------------- /qb-phone/module/core/InstancedBufferAttribute.js: -------------------------------------------------------------------------------- 1 | import { BufferAttribute } from './BufferAttribute.js'; 2 | 3 | /** 4 | * @author benaadams / https://twitter.com/ben_a_adams 5 | */ 6 | 7 | function InstancedBufferAttribute( array, itemSize, normalized, meshPerAttribute ) { 8 | 9 | if ( typeof ( normalized ) === 'number' ) { 10 | 11 | meshPerAttribute = normalized; 12 | 13 | normalized = false; 14 | 15 | console.error( 'THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.' ); 16 | 17 | } 18 | 19 | BufferAttribute.call( this, array, itemSize, normalized ); 20 | 21 | this.meshPerAttribute = meshPerAttribute || 1; 22 | 23 | } 24 | 25 | InstancedBufferAttribute.prototype = Object.assign( Object.create( BufferAttribute.prototype ), { 26 | 27 | constructor: InstancedBufferAttribute, 28 | 29 | isInstancedBufferAttribute: true, 30 | 31 | copy: function ( source ) { 32 | 33 | BufferAttribute.prototype.copy.call( this, source ); 34 | 35 | this.meshPerAttribute = source.meshPerAttribute; 36 | 37 | return this; 38 | 39 | } 40 | 41 | } ); 42 | 43 | 44 | 45 | export { InstancedBufferAttribute }; 46 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/materials/Materials.js: -------------------------------------------------------------------------------- 1 | export { ShadowMaterial } from './ShadowMaterial.js'; 2 | export { SpriteMaterial } from './SpriteMaterial.js'; 3 | export { RawShaderMaterial } from './RawShaderMaterial.js'; 4 | export { ShaderMaterial } from './ShaderMaterial.js'; 5 | export { PointsMaterial } from './PointsMaterial.js'; 6 | export { MeshPhysicalMaterial } from './MeshPhysicalMaterial.js'; 7 | export { MeshStandardMaterial } from './MeshStandardMaterial.js'; 8 | export { MeshPhongMaterial } from './MeshPhongMaterial.js'; 9 | export { MeshToonMaterial } from './MeshToonMaterial.js'; 10 | export { MeshNormalMaterial } from './MeshNormalMaterial.js'; 11 | export { MeshLambertMaterial } from './MeshLambertMaterial.js'; 12 | export { MeshDepthMaterial } from './MeshDepthMaterial.js'; 13 | export { MeshDistanceMaterial } from './MeshDistanceMaterial.js'; 14 | export { MeshBasicMaterial } from './MeshBasicMaterial.js'; 15 | export { MeshMatcapMaterial } from './MeshMatcapMaterial.js'; 16 | export { LineDashedMaterial } from './LineDashedMaterial.js'; 17 | export { LineBasicMaterial } from './LineBasicMaterial.js'; 18 | export { Material } from './Material.js'; 19 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( RE_IndirectDiffuse ) 3 | 4 | #ifdef USE_LIGHTMAP 5 | 6 | vec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity; 7 | 8 | #ifndef PHYSICALLY_CORRECT_LIGHTS 9 | 10 | lightMapIrradiance *= PI; // factor of PI should not be present; included here to prevent breakage 11 | 12 | #endif 13 | 14 | irradiance += lightMapIrradiance; 15 | 16 | #endif 17 | 18 | #if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV ) 19 | 20 | irradiance += getLightProbeIndirectIrradiance( /*lightProbe,*/ geometry, maxMipLevel ); 21 | 22 | #endif 23 | 24 | #endif 25 | 26 | #if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular ) 27 | 28 | radiance += getLightProbeIndirectRadiance( /*specularLightProbe,*/ geometry, Material_BlinnShininessExponent( material ), maxMipLevel ); 29 | 30 | #ifndef STANDARD 31 | clearCoatRadiance += getLightProbeIndirectRadiance( /*specularLightProbe,*/ geometry, Material_ClearCoat_BlinnShininessExponent( material ), maxMipLevel ); 32 | #endif 33 | 34 | #endif 35 | `; 36 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/core/InstancedBufferAttribute.js: -------------------------------------------------------------------------------- 1 | import { BufferAttribute } from './BufferAttribute.js'; 2 | 3 | /** 4 | * @author benaadams / https://twitter.com/ben_a_adams 5 | */ 6 | 7 | function InstancedBufferAttribute( array, itemSize, normalized, meshPerAttribute ) { 8 | 9 | if ( typeof ( normalized ) === 'number' ) { 10 | 11 | meshPerAttribute = normalized; 12 | 13 | normalized = false; 14 | 15 | console.error( 'THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.' ); 16 | 17 | } 18 | 19 | BufferAttribute.call( this, array, itemSize, normalized ); 20 | 21 | this.meshPerAttribute = meshPerAttribute || 1; 22 | 23 | } 24 | 25 | InstancedBufferAttribute.prototype = Object.assign( Object.create( BufferAttribute.prototype ), { 26 | 27 | constructor: InstancedBufferAttribute, 28 | 29 | isInstancedBufferAttribute: true, 30 | 31 | copy: function ( source ) { 32 | 33 | BufferAttribute.prototype.copy.call( this, source ); 34 | 35 | this.meshPerAttribute = source.meshPerAttribute; 36 | 37 | return this; 38 | 39 | } 40 | 41 | } ); 42 | 43 | 44 | 45 | export { InstancedBufferAttribute }; 46 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #if defined( RE_IndirectDiffuse ) 3 | 4 | #ifdef USE_LIGHTMAP 5 | 6 | vec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity; 7 | 8 | #ifndef PHYSICALLY_CORRECT_LIGHTS 9 | 10 | lightMapIrradiance *= PI; // factor of PI should not be present; included here to prevent breakage 11 | 12 | #endif 13 | 14 | irradiance += lightMapIrradiance; 15 | 16 | #endif 17 | 18 | #if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV ) 19 | 20 | irradiance += getLightProbeIndirectIrradiance( /*lightProbe,*/ geometry, maxMipLevel ); 21 | 22 | #endif 23 | 24 | #endif 25 | 26 | #if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular ) 27 | 28 | radiance += getLightProbeIndirectRadiance( /*specularLightProbe,*/ geometry, Material_BlinnShininessExponent( material ), maxMipLevel ); 29 | 30 | #ifndef STANDARD 31 | clearCoatRadiance += getLightProbeIndirectRadiance( /*specularLightProbe,*/ geometry, Material_ClearCoat_BlinnShininessExponent( material ), maxMipLevel ); 32 | #endif 33 | 34 | #endif 35 | `; 36 | -------------------------------------------------------------------------------- /qb-phone/module/math/interpolants/QuaternionLinearInterpolant.js: -------------------------------------------------------------------------------- 1 | import { Interpolant } from '../Interpolant.js'; 2 | import { Quaternion } from '../Quaternion.js'; 3 | 4 | /** 5 | * Spherical linear unit quaternion interpolant. 6 | * 7 | * @author tschw 8 | */ 9 | 10 | function QuaternionLinearInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { 11 | 12 | Interpolant.call( this, parameterPositions, sampleValues, sampleSize, resultBuffer ); 13 | 14 | } 15 | 16 | QuaternionLinearInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype ), { 17 | 18 | constructor: QuaternionLinearInterpolant, 19 | 20 | interpolate_: function ( i1, t0, t, t1 ) { 21 | 22 | var result = this.resultBuffer, 23 | values = this.sampleValues, 24 | stride = this.valueSize, 25 | 26 | offset = i1 * stride, 27 | 28 | alpha = ( t - t0 ) / ( t1 - t0 ); 29 | 30 | for ( var end = offset + stride; offset !== end; offset += 4 ) { 31 | 32 | Quaternion.slerpFlat( result, 0, values, offset - stride, values, offset, alpha ); 33 | 34 | } 35 | 36 | return result; 37 | 38 | } 39 | 40 | } ); 41 | 42 | 43 | export { QuaternionLinearInterpolant }; 44 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/math/interpolants/QuaternionLinearInterpolant.js: -------------------------------------------------------------------------------- 1 | import { Interpolant } from '../Interpolant.js'; 2 | import { Quaternion } from '../Quaternion.js'; 3 | 4 | /** 5 | * Spherical linear unit quaternion interpolant. 6 | * 7 | * @author tschw 8 | */ 9 | 10 | function QuaternionLinearInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { 11 | 12 | Interpolant.call( this, parameterPositions, sampleValues, sampleSize, resultBuffer ); 13 | 14 | } 15 | 16 | QuaternionLinearInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype ), { 17 | 18 | constructor: QuaternionLinearInterpolant, 19 | 20 | interpolate_: function ( i1, t0, t, t1 ) { 21 | 22 | var result = this.resultBuffer, 23 | values = this.sampleValues, 24 | stride = this.valueSize, 25 | 26 | offset = i1 * stride, 27 | 28 | alpha = ( t - t0 ) / ( t1 - t0 ); 29 | 30 | for ( var end = offset + stride; offset !== end; offset += 4 ) { 31 | 32 | Quaternion.slerpFlat( result, 0, values, offset - stride, values, offset, alpha ); 33 | 34 | } 35 | 36 | return result; 37 | 38 | } 39 | 40 | } ); 41 | 42 | 43 | export { QuaternionLinearInterpolant }; 44 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/webgl/WebGLShader.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | function addLineNumbers( string ) { 6 | 7 | var lines = string.split( '\n' ); 8 | 9 | for ( var i = 0; i < lines.length; i ++ ) { 10 | 11 | lines[ i ] = ( i + 1 ) + ': ' + lines[ i ]; 12 | 13 | } 14 | 15 | return lines.join( '\n' ); 16 | 17 | } 18 | 19 | function WebGLShader( gl, type, string ) { 20 | 21 | var shader = gl.createShader( type ); 22 | 23 | gl.shaderSource( shader, string ); 24 | gl.compileShader( shader ); 25 | 26 | if ( gl.getShaderParameter( shader, gl.COMPILE_STATUS ) === false ) { 27 | 28 | console.error( 'THREE.WebGLShader: Shader couldn\'t compile.' ); 29 | 30 | } 31 | 32 | if ( gl.getShaderInfoLog( shader ) !== '' ) { 33 | 34 | console.warn( 'THREE.WebGLShader: gl.getShaderInfoLog()', type === gl.VERTEX_SHADER ? 'vertex' : 'fragment', gl.getShaderInfoLog( shader ), addLineNumbers( string ) ); 35 | 36 | } 37 | 38 | // --enable-privileged-webgl-extension 39 | // console.log( type, gl.getExtension( 'WEBGL_debug_shaders' ).getTranslatedShaderSource( shader ) ); 40 | 41 | return shader; 42 | 43 | } 44 | 45 | 46 | export { WebGLShader }; 47 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/webgl/WebGLShader.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author mrdoob / http://mrdoob.com/ 3 | */ 4 | 5 | function addLineNumbers( string ) { 6 | 7 | var lines = string.split( '\n' ); 8 | 9 | for ( var i = 0; i < lines.length; i ++ ) { 10 | 11 | lines[ i ] = ( i + 1 ) + ': ' + lines[ i ]; 12 | 13 | } 14 | 15 | return lines.join( '\n' ); 16 | 17 | } 18 | 19 | function WebGLShader( gl, type, string ) { 20 | 21 | var shader = gl.createShader( type ); 22 | 23 | gl.shaderSource( shader, string ); 24 | gl.compileShader( shader ); 25 | 26 | if ( gl.getShaderParameter( shader, gl.COMPILE_STATUS ) === false ) { 27 | 28 | console.error( 'THREE.WebGLShader: Shader couldn\'t compile.' ); 29 | 30 | } 31 | 32 | if ( gl.getShaderInfoLog( shader ) !== '' ) { 33 | 34 | console.warn( 'THREE.WebGLShader: gl.getShaderInfoLog()', type === gl.VERTEX_SHADER ? 'vertex' : 'fragment', gl.getShaderInfoLog( shader ), addLineNumbers( string ) ); 35 | 36 | } 37 | 38 | // --enable-privileged-webgl-extension 39 | // console.log( type, gl.getExtension( 'WEBGL_debug_shaders' ).getTranslatedShaderSource( shader ) ); 40 | 41 | return shader; 42 | 43 | } 44 | 45 | 46 | export { WebGLShader }; 47 | -------------------------------------------------------------------------------- /qb-phone/module/materials/LineDashedMaterial.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author alteredq / http://alteredqualia.com/ 3 | * 4 | * parameters = { 5 | * color: , 6 | * opacity: , 7 | * 8 | * linewidth: , 9 | * 10 | * scale: , 11 | * dashSize: , 12 | * gapSize: 13 | * } 14 | */ 15 | 16 | import { LineBasicMaterial } from './LineBasicMaterial.js'; 17 | 18 | function LineDashedMaterial( parameters ) { 19 | 20 | LineBasicMaterial.call( this ); 21 | 22 | this.type = 'LineDashedMaterial'; 23 | 24 | this.scale = 1; 25 | this.dashSize = 3; 26 | this.gapSize = 1; 27 | 28 | this.setValues( parameters ); 29 | 30 | } 31 | 32 | LineDashedMaterial.prototype = Object.create( LineBasicMaterial.prototype ); 33 | LineDashedMaterial.prototype.constructor = LineDashedMaterial; 34 | 35 | LineDashedMaterial.prototype.isLineDashedMaterial = true; 36 | 37 | LineDashedMaterial.prototype.copy = function ( source ) { 38 | 39 | LineBasicMaterial.prototype.copy.call( this, source ); 40 | 41 | this.scale = source.scale; 42 | this.dashSize = source.dashSize; 43 | this.gapSize = source.gapSize; 44 | 45 | return this; 46 | 47 | }; 48 | 49 | 50 | export { LineDashedMaterial }; 51 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/materials/LineDashedMaterial.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author alteredq / http://alteredqualia.com/ 3 | * 4 | * parameters = { 5 | * color: , 6 | * opacity: , 7 | * 8 | * linewidth: , 9 | * 10 | * scale: , 11 | * dashSize: , 12 | * gapSize: 13 | * } 14 | */ 15 | 16 | import { LineBasicMaterial } from './LineBasicMaterial.js'; 17 | 18 | function LineDashedMaterial( parameters ) { 19 | 20 | LineBasicMaterial.call( this ); 21 | 22 | this.type = 'LineDashedMaterial'; 23 | 24 | this.scale = 1; 25 | this.dashSize = 3; 26 | this.gapSize = 1; 27 | 28 | this.setValues( parameters ); 29 | 30 | } 31 | 32 | LineDashedMaterial.prototype = Object.create( LineBasicMaterial.prototype ); 33 | LineDashedMaterial.prototype.constructor = LineDashedMaterial; 34 | 35 | LineDashedMaterial.prototype.isLineDashedMaterial = true; 36 | 37 | LineDashedMaterial.prototype.copy = function ( source ) { 38 | 39 | LineBasicMaterial.prototype.copy.call( this, source ); 40 | 41 | this.scale = source.scale; 42 | this.dashSize = source.dashSize; 43 | this.gapSize = source.gapSize; 44 | 45 | return this; 46 | 47 | }; 48 | 49 | 50 | export { LineDashedMaterial }; 51 | -------------------------------------------------------------------------------- /qb-phone/module/animation/tracks/QuaternionKeyframeTrack.js: -------------------------------------------------------------------------------- 1 | import { InterpolateLinear } from '../../constants.js'; 2 | import { KeyframeTrack } from '../KeyframeTrack.js'; 3 | import { QuaternionLinearInterpolant } from '../../math/interpolants/QuaternionLinearInterpolant.js'; 4 | 5 | /** 6 | * 7 | * A Track of quaternion keyframe values. 8 | * 9 | * @author Ben Houston / http://clara.io/ 10 | * @author David Sarno / http://lighthaus.us/ 11 | * @author tschw 12 | */ 13 | 14 | function QuaternionKeyframeTrack( name, times, values, interpolation ) { 15 | 16 | KeyframeTrack.call( this, name, times, values, interpolation ); 17 | 18 | } 19 | 20 | QuaternionKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrack.prototype ), { 21 | 22 | constructor: QuaternionKeyframeTrack, 23 | 24 | ValueTypeName: 'quaternion', 25 | 26 | // ValueBufferType is inherited 27 | 28 | DefaultInterpolation: InterpolateLinear, 29 | 30 | InterpolantFactoryMethodLinear: function ( result ) { 31 | 32 | return new QuaternionLinearInterpolant( this.times, this.values, this.getValueSize(), result ); 33 | 34 | }, 35 | 36 | InterpolantFactoryMethodSmooth: undefined // not yet implemented 37 | 38 | } ); 39 | 40 | export { QuaternionKeyframeTrack }; 41 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/animation/tracks/QuaternionKeyframeTrack.js: -------------------------------------------------------------------------------- 1 | import { InterpolateLinear } from '../../constants.js'; 2 | import { KeyframeTrack } from '../KeyframeTrack.js'; 3 | import { QuaternionLinearInterpolant } from '../../math/interpolants/QuaternionLinearInterpolant.js'; 4 | 5 | /** 6 | * 7 | * A Track of quaternion keyframe values. 8 | * 9 | * @author Ben Houston / http://clara.io/ 10 | * @author David Sarno / http://lighthaus.us/ 11 | * @author tschw 12 | */ 13 | 14 | function QuaternionKeyframeTrack( name, times, values, interpolation ) { 15 | 16 | KeyframeTrack.call( this, name, times, values, interpolation ); 17 | 18 | } 19 | 20 | QuaternionKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrack.prototype ), { 21 | 22 | constructor: QuaternionKeyframeTrack, 23 | 24 | ValueTypeName: 'quaternion', 25 | 26 | // ValueBufferType is inherited 27 | 28 | DefaultInterpolation: InterpolateLinear, 29 | 30 | InterpolantFactoryMethodLinear: function ( result ) { 31 | 32 | return new QuaternionLinearInterpolant( this.times, this.values, this.getValueSize(), result ); 33 | 34 | }, 35 | 36 | InterpolantFactoryMethodSmooth: undefined // not yet implemented 37 | 38 | } ); 39 | 40 | export { QuaternionKeyframeTrack }; 41 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderLib/meshmatcap_vert.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #define MATCAP 3 | 4 | varying vec3 vViewPosition; 5 | 6 | #ifndef FLAT_SHADED 7 | 8 | varying vec3 vNormal; 9 | 10 | #endif 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | 19 | #include 20 | #include 21 | 22 | void main() { 23 | 24 | #include 25 | 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include 31 | 32 | #ifndef FLAT_SHADED // Normal computed with derivatives when FLAT_SHADED 33 | 34 | vNormal = normalize( transformedNormal ); 35 | 36 | #endif 37 | 38 | #include 39 | #include 40 | #include 41 | #include 42 | #include 43 | 44 | #include 45 | #include 46 | #include 47 | 48 | vViewPosition = - mvPosition.xyz; 49 | 50 | } 51 | `; 52 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderLib/meshmatcap_vert.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #define MATCAP 3 | 4 | varying vec3 vViewPosition; 5 | 6 | #ifndef FLAT_SHADED 7 | 8 | varying vec3 vNormal; 9 | 10 | #endif 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | 19 | #include 20 | #include 21 | 22 | void main() { 23 | 24 | #include 25 | 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include 31 | 32 | #ifndef FLAT_SHADED // Normal computed with derivatives when FLAT_SHADED 33 | 34 | vNormal = normalize( transformedNormal ); 35 | 36 | #endif 37 | 38 | #include 39 | #include 40 | #include 41 | #include 42 | #include 43 | 44 | #include 45 | #include 46 | #include 47 | 48 | vViewPosition = - mvPosition.xyz; 49 | 50 | } 51 | `; 52 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/ShaderChunk/skinning_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_SKINNING 3 | 4 | uniform mat4 bindMatrix; 5 | uniform mat4 bindMatrixInverse; 6 | 7 | #ifdef BONE_TEXTURE 8 | 9 | uniform sampler2D boneTexture; 10 | uniform int boneTextureSize; 11 | 12 | mat4 getBoneMatrix( const in float i ) { 13 | 14 | float j = i * 4.0; 15 | float x = mod( j, float( boneTextureSize ) ); 16 | float y = floor( j / float( boneTextureSize ) ); 17 | 18 | float dx = 1.0 / float( boneTextureSize ); 19 | float dy = 1.0 / float( boneTextureSize ); 20 | 21 | y = dy * ( y + 0.5 ); 22 | 23 | vec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) ); 24 | vec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) ); 25 | vec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) ); 26 | vec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) ); 27 | 28 | mat4 bone = mat4( v1, v2, v3, v4 ); 29 | 30 | return bone; 31 | 32 | } 33 | 34 | #else 35 | 36 | uniform mat4 boneMatrices[ MAX_BONES ]; 37 | 38 | mat4 getBoneMatrix( const in float i ) { 39 | 40 | mat4 bone = boneMatrices[ int(i) ]; 41 | return bone; 42 | 43 | } 44 | 45 | #endif 46 | 47 | #endif 48 | `; 49 | -------------------------------------------------------------------------------- /qb-phone/module/renderers/shaders/UniformsUtils.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Uniform Utilities 3 | */ 4 | 5 | export function cloneUniforms( src ) { 6 | 7 | var dst = {}; 8 | 9 | for ( var u in src ) { 10 | 11 | dst[ u ] = {}; 12 | 13 | for ( var p in src[ u ] ) { 14 | 15 | var property = src[ u ][ p ]; 16 | 17 | if ( property && ( property.isColor || 18 | property.isMatrix3 || property.isMatrix4 || 19 | property.isVector2 || property.isVector3 || property.isVector4 || 20 | property.isTexture ) ) { 21 | 22 | dst[ u ][ p ] = property.clone(); 23 | 24 | } else if ( Array.isArray( property ) ) { 25 | 26 | dst[ u ][ p ] = property.slice(); 27 | 28 | } else { 29 | 30 | dst[ u ][ p ] = property; 31 | 32 | } 33 | 34 | } 35 | 36 | } 37 | 38 | return dst; 39 | 40 | } 41 | 42 | export function mergeUniforms( uniforms ) { 43 | 44 | var merged = {}; 45 | 46 | for ( var u = 0; u < uniforms.length; u ++ ) { 47 | 48 | var tmp = cloneUniforms( uniforms[ u ] ); 49 | 50 | for ( var p in tmp ) { 51 | 52 | merged[ p ] = tmp[ p ]; 53 | 54 | } 55 | 56 | } 57 | 58 | return merged; 59 | 60 | } 61 | 62 | // Legacy 63 | 64 | var UniformsUtils = { clone: cloneUniforms, merge: mergeUniforms }; 65 | 66 | export { UniformsUtils }; 67 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/ShaderChunk/skinning_pars_vertex.glsl.js: -------------------------------------------------------------------------------- 1 | export default /* glsl */` 2 | #ifdef USE_SKINNING 3 | 4 | uniform mat4 bindMatrix; 5 | uniform mat4 bindMatrixInverse; 6 | 7 | #ifdef BONE_TEXTURE 8 | 9 | uniform sampler2D boneTexture; 10 | uniform int boneTextureSize; 11 | 12 | mat4 getBoneMatrix( const in float i ) { 13 | 14 | float j = i * 4.0; 15 | float x = mod( j, float( boneTextureSize ) ); 16 | float y = floor( j / float( boneTextureSize ) ); 17 | 18 | float dx = 1.0 / float( boneTextureSize ); 19 | float dy = 1.0 / float( boneTextureSize ); 20 | 21 | y = dy * ( y + 0.5 ); 22 | 23 | vec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) ); 24 | vec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) ); 25 | vec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) ); 26 | vec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) ); 27 | 28 | mat4 bone = mat4( v1, v2, v3, v4 ); 29 | 30 | return bone; 31 | 32 | } 33 | 34 | #else 35 | 36 | uniform mat4 boneMatrices[ MAX_BONES ]; 37 | 38 | mat4 getBoneMatrix( const in float i ) { 39 | 40 | mat4 bone = boneMatrices[ int(i) ]; 41 | return bone; 42 | 43 | } 44 | 45 | #endif 46 | 47 | #endif 48 | `; 49 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/renderers/shaders/UniformsUtils.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Uniform Utilities 3 | */ 4 | 5 | export function cloneUniforms( src ) { 6 | 7 | var dst = {}; 8 | 9 | for ( var u in src ) { 10 | 11 | dst[ u ] = {}; 12 | 13 | for ( var p in src[ u ] ) { 14 | 15 | var property = src[ u ][ p ]; 16 | 17 | if ( property && ( property.isColor || 18 | property.isMatrix3 || property.isMatrix4 || 19 | property.isVector2 || property.isVector3 || property.isVector4 || 20 | property.isTexture ) ) { 21 | 22 | dst[ u ][ p ] = property.clone(); 23 | 24 | } else if ( Array.isArray( property ) ) { 25 | 26 | dst[ u ][ p ] = property.slice(); 27 | 28 | } else { 29 | 30 | dst[ u ][ p ] = property; 31 | 32 | } 33 | 34 | } 35 | 36 | } 37 | 38 | return dst; 39 | 40 | } 41 | 42 | export function mergeUniforms( uniforms ) { 43 | 44 | var merged = {}; 45 | 46 | for ( var u = 0; u < uniforms.length; u ++ ) { 47 | 48 | var tmp = cloneUniforms( uniforms[ u ] ); 49 | 50 | for ( var p in tmp ) { 51 | 52 | merged[ p ] = tmp[ p ]; 53 | 54 | } 55 | 56 | } 57 | 58 | return merged; 59 | 60 | } 61 | 62 | // Legacy 63 | 64 | var UniformsUtils = { clone: cloneUniforms, merge: mergeUniforms }; 65 | 66 | export { UniformsUtils }; 67 | -------------------------------------------------------------------------------- /qb-phone/module/loaders/AnimationLoader.js: -------------------------------------------------------------------------------- 1 | import { AnimationClip } from '../animation/AnimationClip.js'; 2 | import { FileLoader } from './FileLoader.js'; 3 | import { DefaultLoadingManager } from './LoadingManager.js'; 4 | 5 | /** 6 | * @author bhouston / http://clara.io/ 7 | */ 8 | 9 | function AnimationLoader( manager ) { 10 | 11 | this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; 12 | 13 | } 14 | 15 | Object.assign( AnimationLoader.prototype, { 16 | 17 | load: function ( url, onLoad, onProgress, onError ) { 18 | 19 | var scope = this; 20 | 21 | var loader = new FileLoader( scope.manager ); 22 | loader.setPath( scope.path ); 23 | loader.load( url, function ( text ) { 24 | 25 | onLoad( scope.parse( JSON.parse( text ) ) ); 26 | 27 | }, onProgress, onError ); 28 | 29 | }, 30 | 31 | parse: function ( json, onLoad ) { 32 | 33 | var animations = []; 34 | 35 | for ( var i = 0; i < json.length; i ++ ) { 36 | 37 | var clip = AnimationClip.parse( json[ i ] ); 38 | 39 | animations.push( clip ); 40 | 41 | } 42 | 43 | onLoad( animations ); 44 | 45 | }, 46 | 47 | setPath: function ( value ) { 48 | 49 | this.path = value; 50 | return this; 51 | 52 | } 53 | 54 | } ); 55 | 56 | 57 | export { AnimationLoader }; 58 | -------------------------------------------------------------------------------- /nakres_VideoCall/module/loaders/AnimationLoader.js: -------------------------------------------------------------------------------- 1 | import { AnimationClip } from '../animation/AnimationClip.js'; 2 | import { FileLoader } from './FileLoader.js'; 3 | import { DefaultLoadingManager } from './LoadingManager.js'; 4 | 5 | /** 6 | * @author bhouston / http://clara.io/ 7 | */ 8 | 9 | function AnimationLoader( manager ) { 10 | 11 | this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; 12 | 13 | } 14 | 15 | Object.assign( AnimationLoader.prototype, { 16 | 17 | load: function ( url, onLoad, onProgress, onError ) { 18 | 19 | var scope = this; 20 | 21 | var loader = new FileLoader( scope.manager ); 22 | loader.setPath( scope.path ); 23 | loader.load( url, function ( text ) { 24 | 25 | onLoad( scope.parse( JSON.parse( text ) ) ); 26 | 27 | }, onProgress, onError ); 28 | 29 | }, 30 | 31 | parse: function ( json, onLoad ) { 32 | 33 | var animations = []; 34 | 35 | for ( var i = 0; i < json.length; i ++ ) { 36 | 37 | var clip = AnimationClip.parse( json[ i ] ); 38 | 39 | animations.push( clip ); 40 | 41 | } 42 | 43 | onLoad( animations ); 44 | 45 | }, 46 | 47 | setPath: function ( value ) { 48 | 49 | this.path = value; 50 | return this; 51 | 52 | } 53 | 54 | } ); 55 | 56 | 57 | export { AnimationLoader }; 58 | -------------------------------------------------------------------------------- /qb-phone/module/helpers/AxesHelper.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author sroucheray / http://sroucheray.org/ 3 | * @author mrdoob / http://mrdoob.com/ 4 | */ 5 | 6 | import { LineSegments } from '../objects/LineSegments.js'; 7 | import { VertexColors } from '../constants.js'; 8 | import { LineBasicMaterial } from '../materials/LineBasicMaterial.js'; 9 | import { Float32BufferAttribute } from '../core/BufferAttribute.js'; 10 | import { BufferGeometry } from '../core/BufferGeometry.js'; 11 | 12 | function AxesHelper( size ) { 13 | 14 | size = size || 1; 15 | 16 | var vertices = [ 17 | 0, 0, 0, size, 0, 0, 18 | 0, 0, 0, 0, size, 0, 19 | 0, 0, 0, 0, 0, size 20 | ]; 21 | 22 | var colors = [ 23 | 1, 0, 0, 1, 0.6, 0, 24 | 0, 1, 0, 0.6, 1, 0, 25 | 0, 0, 1, 0, 0.6, 1 26 | ]; 27 | 28 | var geometry = new BufferGeometry(); 29 | geometry.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); 30 | geometry.addAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); 31 | 32 | var material = new LineBasicMaterial( { vertexColors: VertexColors } ); 33 | 34 | LineSegments.call( this, geometry, material ); 35 | 36 | } 37 | 38 | AxesHelper.prototype = Object.create( LineSegments.prototype ); 39 | AxesHelper.prototype.constructor = AxesHelper; 40 | 41 | 42 | export { AxesHelper }; 43 | --------------------------------------------------------------------------------