Skip to content
View loshjawrence's full-sized avatar
Block or Report

Block or report loshjawrence

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
loshjawrence/README.md

RepositoryListing

Table of Contents

Where I learn, implement, and experiment with modern graphics techniques in OpenGL.
Forward/Deferred paths,Cascaded Shadows,Shadow Mapping(PCF, VSM, ESM, EVSM),Horizon based SSAO, HDR, Tonemapping, Bloom, Color Grading, PBR

Clothing simulation using Backward and Forward Euler integration.
Backward Euler (implicit)

Forward Euler (explicit).

Fluid simulation using a Semi-Lagrangian approach with a MAC grid.

A scratch VR simulator written in vulkan. Radial density masking, Adaptive Quality, Timewarp simulation, perf comparison of several barrel distortion/chromatic aberration implementations, push constant comparison.
Timewarp Simulation. Rendering stops and warps the last frame rendered into the current view

Radial Density Masking mentioned in Alex Vlacho's GDC 2016 talk on VR rendering. See repo for more information.

A CUDA path tracer project done for CIS565 GPU Programming. It's a unidirectional path tracer with direct lighting MIS and a Jensen01 dipole model BSSRDF implementation. For work efficiency, it includes stream compaction to eliminate dead paths and material sorting to minimize thread divergence.
Diffuse vs Jensen01 bssrdf, marble

A WebGL renderer that includes clustered deferred, clustered forward plus, and forward techniques for comparison. This was a project in CIS565 GPU Programming. The view frustum is broken up into a 3D cluster grid and each cluster is populated with point lights in the scene that could potentally effect the lighting in that region. This reduces the lighting computation in the fragment shader.
Clustered Deferred

A CPU path tracer done for CIS561 Physically Based Rendering (using Pharr, Humphreys, and Jakob's physcially based rendering book as guidance). Includes unidirectional path tracer with direct lighting MIS and a (bad)photon mapping renderer. Also includes BVH tree scene representation to reduce intersection test complexity and Kd tree to represent arbitrary meshes.
Unidirectional pathtracer with MIS, 'tangle cube' implicit surface

Photon Mapping with texture mapped microfacet roughness, glass ball, plastic cube

  • could use more photons to smooth out the specular spots

A software rasterizer done in CUDA for CIS565 GPU Programming. Includes perspective correct interpolation texturing and anti-aliasing. Also did a software rasterizer (cpu) for CIS560 Intro to Computer Graphics, but this was a nice refresher.

A from-scratch SIGGRAPH paper implementation done for CIS660 Advanced Topics in Computer Graphics and Animation. This was a group project with Grace Xu. Other papers were implemented as well (Image Analogies, Patch Match) in order to implement this Pixar paper.

A mostly from-scratch group project done for CIS560 Intro to Computer Graphics. I did terrain rendering, weather, and caves.
View of Caves From Under the Terrain

A project for CIS560 exploring half-edge mesh representation for mesh manipulation and Catmul-clark subdivision.
Face Triangulation, extrusion and catmul-clark subdivision

Sharpness with Subdivision

Various animation projects done for CIS562 Computer Animation.

A project done for CIS565 GPU Programming implementing boids flocking.

A project done for CIS565 GPU Programming implementing exclusive scan (recursive scan for EC) and radix sort.

Pinned

  1. loshjawrence loshjawrence Public

    github page readme

    1