matrix-engine
Version:
basic_timeline improved, VT func setup vide html element id with name arg.- DISABLE RAYCAST DEBUG TEST [2.3.3] Fix for GUI win desktop [2.3.0] DestrucMesh solution & loading convex objs for physics BASIC, SpriteAnimation CPU/texture solution added, Improv
196 lines (182 loc) • 8.67 kB
JavaScript
import * as matrixEngine from './index';
import {runThis as cube_tex_arrays} from './apps/cube_tex_arrays';
import {runThis as adding_color_cube} from './apps/adding_color_cube';
import {runThis as adding_color_piramyde} from './apps/adding_color_piramyde';
import {runThis as adding_color_triangle} from './apps/adding_color_triangle';
import {runThis as adding_tex_square_raycast} from './apps/adding_tex_square_raycast';
import {runThis as adding_more_texture_samplers} from './apps/adding_more_texture_samplers';
import {runThis as adding_square_texture} from './apps/adding_square_texture';
import {runThis as all_variant_of_blending} from './apps/all_variant_of_blending';
import {runThis as audio_manipulation} from './apps/audio_manipulation';
import {runThis as audio_manipulation2} from './apps/audio_manipulation2';
import {runThis as camera_texture} from './apps/camera_texture';
import {runThis as cube_experimental} from './apps/cube_experimental';
import {runThis as cube_geometry} from './apps/cube_geometry';
import {runThis as cube_light_and_texture} from './apps/cube_light_and_texture';
import {runThis as cube_light_dinamic} from './apps/cube_light_dinamic';
import {runThis as custom_texture} from './apps/custom_texture';
import {runThis as first_person_controller} from './apps/first_person_controller';
import {runThis as load_obj_file} from './apps/load_obj_file';
import {runThis as my_world} from './apps/my_world';
import {runThis as obj_animation} from './apps/obj_animation';
import {runThis as obj_animation_build_mesh_effect} from './apps/obj_animation_build_mesh_effect';
import {runThis as one_kilo} from './apps/one-kilo';
import {runThis as porting2d} from './apps/porting2d';
import {runThis as porting2d_particle} from './apps/porting2d_particle';
import {runThis as porting2d_text} from './apps/porting2d_text';
import {runThis as sphere_geometry} from './apps/sphere_geometry';
import {runThis as texture_dinamic_manipulation} from './apps/texture_dinamic_manipulation';
import {runThis as video_texture} from './apps/video_texture';
import {runThis as adding_color_square} from './apps/adding_color_square';
import {runThis as bvh_loader} from './apps/bvh-loader';
import {runThis as bvh_animation_class} from './apps/bvh-animation-class';
import {runThis as active_editor} from './apps/active_editor';
import {runThis as porting2d_micro_draw} from './apps/porting2d_micro_draw';
import {runThis as physics_cube} from './apps/physics_cube';
import {runThis as physics_sphere} from './apps/physics_sphere';
import {runThis as spot_light_basic} from './apps/spot_light_basic';
import {runThis as networking_basic} from './apps/networking_basic';
import {runThis as load_obj_sequence} from './apps/load_obj_sequence';
import {runThis as opengles_native_cubemap} from './apps/opengles_native_cubemap';
import {runThis as opengles_native_cubemap_images} from './apps/opengles_native_cubemap_images';
import {runThis as lens_effect} from './apps/lens_effect';
import {runThis as fps_player_controller} from './apps/fps_player_controller';
import {runThis as basic_fbo} from './apps/basic_fbo';
import {runThis as video_texture_lava} from './apps/video_texture_lava';
import {runThis as matrix_chat_room} from './apps/matrix_chat_room';
import {runThis as torus_geometry} from './apps/torus_geometry';
import {runThis as physics_cube_active_textures} from './apps/physics_cube_active_textures';
import {runThis as fbo_manipulation} from './apps/fbo_manipulation';
import {runThis as welcome_gui_editor} from './apps/welcome-gui-editor';
import {runThis as rolling_the_dice} from './apps/rolling_the_dice';
import {runThis as shader1_direct} from './apps/shader1_direct';
import {runThis as shaders} from './apps/shaders';
import {runThis as shader2_direct} from './apps/shader2_direct';
import {runThis as basic_timeline} from './apps/basic_timeline';
import {runThis as networking2_basic} from './apps/networking2_basic';
import {runThis as public_3d_video_chat} from './apps/public_3d_video_chat';
import {runThis as custom_geometry} from './apps/custom_geometry';
import {runThis as load_obj_file_groups} from './apps/load_obj_file_groups';
import {runThis as maps} from './apps/maps';
import {runThis as matrix_skeletal} from './apps/matrix_skeletal';
import {runThis as sprite_animation_2d} from './apps/sprite_animation_2d';
import {runThis as destruct_cube} from './apps/destruct_cube';
/**
* @description
* All examples instances.
* This schema can be used for any website.
* It is good for switching big independent parts of app.
* @example for query-build.html?u=NAME_OF_EXAMPLE
* public/query-build.html?u=spot_light_shadows
*/
var Examples = {
destruct_cube: destruct_cube,
sprite_animation_2d: sprite_animation_2d,
matrix_skeletal: matrix_skeletal,
maps: maps,
load_obj_file_groups: load_obj_file_groups,
custom_geometry: custom_geometry,
public_3d_video_chat: public_3d_video_chat,
networking2_basic: networking2_basic,
basic_timeline: basic_timeline,
shaders: shaders,
shader1_direct: shader1_direct,
shader2_direct: shader2_direct,
rolling_the_dice: rolling_the_dice,
fbo_manipulation: fbo_manipulation,
physics_cube_active_textures: physics_cube_active_textures,
torus_geometry: torus_geometry,
matrix_chat_room: matrix_chat_room,
video_texture_lava: video_texture_lava,
basic_fbo: basic_fbo,
fps_player_controller: fps_player_controller,
lens_effect: lens_effect,
opengles_native_cubemap_images: opengles_native_cubemap_images,
opengles_native_cubemap: opengles_native_cubemap,
load_obj_sequence: load_obj_sequence,
networking_basic: networking_basic,
spot_light_basic: spot_light_basic,
physics_sphere: physics_sphere,
physics_cube: physics_cube,
porting2d_micro_draw: porting2d_micro_draw,
active_editor: active_editor,
bvh_animation_class: bvh_animation_class,
bvh_loader: bvh_loader,
adding_tex_square_raycast: adding_tex_square_raycast,
cube_tex_arrays: cube_tex_arrays,
adding_color_cube: adding_color_cube,
adding_color_piramyde: adding_color_piramyde,
adding_color_triangle: adding_color_triangle,
adding_color_square: adding_color_square,
adding_more_texture_samplers: adding_more_texture_samplers,
adding_square_texture: adding_square_texture,
all_variant_of_blending: all_variant_of_blending,
audio_manipulation: audio_manipulation,
audio_manipulation2: audio_manipulation2,
camera_texture: camera_texture,
cube_experimental: cube_experimental,
cube_geometry: cube_geometry,
cube_light_and_texture: cube_light_and_texture,
cube_light_dinamic: cube_light_dinamic,
custom_texture: custom_texture,
first_person_controller: first_person_controller,
load_obj_file: load_obj_file,
my_world: my_world,
obj_animation: obj_animation,
obj_animation_build_mesh_effect: obj_animation_build_mesh_effect,
one_kilo: one_kilo,
porting2d: porting2d,
porting2d_particle: porting2d_particle,
porting2d_text: porting2d_text,
sphere_geometry: sphere_geometry,
texture_dinamic_manipulation: texture_dinamic_manipulation,
video_texture: video_texture,
welcome_gui_editor: welcome_gui_editor
};
/**
* @description
* Little help func.
*/
const QueryString = matrixEngine.utility.QueryString;
const scriptManager = matrixEngine.utility.scriptManager;
//https://webglfundamentals.org/webgl/resources/m4.js
var world;
var App = matrixEngine.App;
if('serviceWorker' in navigator) {
// navigator.serviceWorker.register('worker.js');
} else {
console.warn('Matrix Engine: No support for web workers in this browser.');
}
window.addEventListener('load', function() {
setTimeout(() => {matrixEngine.Engine.initApp(webGLStart);}, 1000)
});
function webGLStart() {
world = matrixEngine.matrixWorld.defineworld(canvas);
if(world) {
world.callReDraw();
if(typeof QueryString.u != 'undefined' &&
typeof Examples[QueryString.u] != 'undefined') {
setTimeout(() => {
try {
Examples[QueryString.u](world);
} catch(err) {
// Examples['adding_color_cube'](world);
}
}, 100);
} else {
setTimeout(() => {
Examples['adding_color_cube'](world);
}, 100);
}
} else {
console.error(' Canvas has not been initialized, contact your programmer... ');
}
// Make it global for console easy access.
// Remove this line for final prodc.
window.App = App;
}
// Make it global for console easy access.
// Remove this line for final prodc.
window.matrixEngine = matrixEngine;
var App = matrixEngine.App;
export default App;