-
Quick preview (deployed version): URL
-
Codebase: https://github.com/RyanQ96/CSE5542-RTRendering
-
Additional Object invited from here!
-
Framework References:
-
How to run from Github:
git clone https://github.com/RyanQ96/CSE5542-RTRendering.git
npm install
(make sure npm is installed on your local machine)cd 5542-codebase
git checkout lab5
npm run dev
-
Run from the ZIP (might have environment configuration issue)
npm run dev
-
Repository Walkthrough
5542-codebase/src/
shaders
: shader code for environemnt cube mapping and general objectscomponents
: vue component for the interface, including appbar and the main view (canvas) of the interfaceutils
: utility methods generally used in initialize webgl programshaderUtils.ts
: utility functions to initialize shadersmatrix.ts
: matrix utility functions,including creating projection, translation, rotation matrix, their inverse and also matrix and vector multiplication operations.hierarchymodel.ts
: hierarchical model, includingHObj
class, its children classGlobal
and each one of the shapesSphere
,Cylinder
,Cube
el al.obj.ts
: class extends HObj, hierarchical model, includingOBJGeneral
class, its a generic class for.obj
object and support rendering vertex shader, fragment shader and also texture.objUtils.ts
Utility functions for parsing OBJ files. Borrowed from https://webglfundamentals.org/webgl/webgl-load-obj-w-mtl-w-normal-maps.html.
core
: core code for eventhander and webgl renderingsetup-lab4.ts
: setup event listenerdrawwebgl-new.ts
: main rendering code, functioninitShape
is the function that create all the shapes (table, cube, sphere, album and the invited new obj) and vertical node.