MCPcopy Create free account
hub / github.com/AcademySoftwareFoundation/MaterialX / init

Function init

javascript/MaterialXView/source/index.js:68–182  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

66}
67
68function init()
69{
70 let canvas = document.getElementById('webglcanvas');
71
72 // Handle material selection changes
73 let materialsSelect = document.getElementById('materials');
74 materialsSelect.value = materialFilename;
75 materialsSelect.addEventListener('change', (e) =>
76 {
77 materialFilename = e.target.value;
78 viewer.getEditor().initialize();
79 viewer.getMaterial().loadMaterials(viewer, materialFilename);
80 viewer.getEditor().updateProperties(0.9);
81 });
82
83 // Handle geometry selection changes
84 const scene = viewer.getScene();
85 let geometrySelect = document.getElementById('geometry');
86 geometrySelect.value = scene.getGeometryURL();
87 geometrySelect.addEventListener('change', (e) =>
88 {
89 console.log('Change geometry to:', e.target.value);
90 scene.setGeometryURL(e.target.value);
91 scene.loadGeometry(viewer, orbitControls);
92 });
93
94 // Set up scene
95 scene.initialize();
96
97 // Set up renderer
98 renderer = new THREE.WebGLRenderer({ antialias: true, canvas });
99 renderer.setSize(window.innerWidth, window.innerHeight);
100 renderer.outputColorSpace = THREE.SRGBColorSpace;
101 renderer.debug.checkShaderErrors = false;
102
103 window.addEventListener('resize', onWindowResize);
104
105 // Set up controls
106 orbitControls = new OrbitControls(scene.getCamera(), renderer.domElement);
107
108 // Add hotkey 'f' to capture the current frame and save an image file.
109 // See check inside the render loop when a capture can be performed.
110
111 document.addEventListener('keydown', (event) => {
112 // Toggle FPS timer with T key
113 if (event.key === 't' || event.key === 'T') {
114 showFPS = !showFPS;
115 setFPSOverlayVisible(showFPS);
116 event.preventDefault();
117 }
118 // Capture frame with Shift+F
119 else if ((event.key === 'f' || event.key === 'F') && event.shiftKey) {
120 captureRequested = true;
121 }
122 });
123
124 // Initialize editor
125 viewer.getEditor().initialize();

Callers 1

index.jsFile · 0.70

Calls 15

setLoadingCallbackFunction · 0.90
setSceneLoadingCallbackFunction · 0.90
setFPSOverlayVisibleFunction · 0.85
animateFunction · 0.85
getEditorMethod · 0.80
loadMaterialsMethod · 0.80
updatePropertiesMethod · 0.80
getGeometryURLMethod · 0.80
setGeometryURLMethod · 0.80
getCameraMethod · 0.80
getHdrLoaderMethod · 0.80
getFileLoaderMethod · 0.80

Tested by

no test coverage detected