Physically-Based Rendering in glTF 2.0 using WebGL
Physically-Based Rendering in glTF 2.0 using WebGL
This is the official Khronos glTF 2.0 Sample Viewer using WebGL 2.0:
Link to the live glTF 2.0 Sample Viewer.
KHR_physics_rigid_bodies extension. It provides functionality to enable/disable/reset the physics simulation, select a physics engine, manually step through the simulation and enable/disable debug visualization.click + drag : Rotate model
shift + drag middle mouse button + drag : Pan camera
scroll right click + drag : Zoom camera
GUI : Use to change models and settings
URL parameters are added at the end of the sample viewer URL: ?key=value&another_key=another_value
Possible parameters:
model=URL_to_file: Load glTF/glb from specified URLnoUI: Disable UIyaw=90: Orbit the camera around the model along the Y-axis in degrees. With 90 degrees you look at the model from the left side.pitch=90: Orbit the camera around the model along the X-axis in degrees. With 90 degrees you look at the model from the top. Value range: -90 to 90distance=5: The models gets smaller with positive and bigger with negative numbers. Relative to the initial camera position.For local usage and debugging, please follow these instructions:
Checkout the main branch
Pull the submodule for the required glTF-Sample-Renderer git submodule update --init --recursive
Build the web app
npm installnpm run dev, and open http://localhost:8000.When making changes, the project is automatically rebuilt and the ./dist directory is populated with the web app. This directory contains all files necessary for deployment to a webserver.
Debug->Add Configuration->Chrome or Debug->Add Configuration->Firefox so the .vscode/launch.json file is created./dist to ${workspaceFolder} in the launch.json fileDebug->Start Debugging should now launch a Chrome or Firefox window with the sample viewer and VS Code breakpoints should be hit.npm install / npm run dev give the following warnings:
The following warning comes from a thirdparty and does not affect sample viewer since the mentioned line 179 is never executed.
(!) "this" has been rewritten to "undefined"
https://rollupjs.org/troubleshooting/#error-this-is-undefined
node_modules/iobuffer/lib-esm/text-encoding-polyfill.js
177: : typeof self !== 'undefined'
178: ? self
179: : this);
^
180: //# sourceMappingURL=text-encoding-polyfill.js.mapThe following warning is caused by an old bulma version, which buefy-next currently depends on. This should be fixed in an upcoming release: https://github.com/ntohq/buefy-next/issues/208
…The following warnings stem from the rollup copy plugin, which is only used for development to copy files to the dist folder.
…This repository uses Prettier for code formatting and ESLint for linting.
To check the formatting and linting of the code run:
npm run formatPrettier and ESLint are configured to only run on files in the "source" folder and ignore files in "source/libs".
There are extensions for both Prettier and ESLint in Visual Studio Code. They can be found in the marketplace:
You are encouraged to run Prettier and ESLint on your code before committing.
No open issues yet, or sync has not completed.