Giter VIP home page Giter VIP logo

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.

Josh Lawrence's Projects

clothsim icon clothsim

Base code for cis563: physically-based-animation

cuda-flocking icon cuda-flocking

An introduction to CUDA programming by way of a Boids Flocking simulation

fluidsim icon fluidsim

FluidSim for CIS563 Physically-Based Animation at UPenn

graphicsrelatedlibs icon graphicsrelatedlibs

A personal backup of some compiled graphics libs. See links for owner/authors of these libs. GLEW, GLFW, SOIL2, Open Asset Importer. x86 x64 debug release. https://github.com/assimp/assimp https://bitbucket.org/SpartanJ/soil2 http://www.glfw.org/ https://github.com/nigels-com/glew

halfedgecatmulclarksubdivision icon halfedgecatmulclarksubdivision

Half Edge data structure manipulation(inserting vertices, edges, triangulating faces, extruding faces) and Catmul-Clark Subdivision

mini-minecraft icon mini-minecraft

Minecraft style voxel rendering project for intro to graphics course at UPenn

physically-based-rendering icon physically-based-rendering

From a physically based rendering class at UPenn based on Physically Based Rendering 3rd Edition by Pharr Jakob and Humphreys

random icon random

random code backup (testing, stow-away, etc)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.