All Projects → Erkaman → planar_proj_shadows

Erkaman / planar_proj_shadows

Licence: MIT license
Demo of Planar Projected Shadows in regl

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to planar proj shadows

fml
Fused Matrix Library
Stars: ✭ 24 (-22.58%)
Mutual labels:  matrix
webgl-regl-fluid-base
Regl base for webgl fluid simulations
Stars: ✭ 14 (-54.84%)
Mutual labels:  regl
generative
Creative coding experiments
Stars: ✭ 71 (+129.03%)
Mutual labels:  regl
tabmat
Efficient matrix representations for working with tabular data
Stars: ✭ 70 (+125.81%)
Mutual labels:  matrix
vec-la-fp
↗️ A tiny (functional) 2d linear algebra library
Stars: ✭ 21 (-32.26%)
Mutual labels:  matrix
TeamReference
Team reference for Competitive Programming. Algorithms implementations very used in the ACM-ICPC contests. Latex template to build your own team reference.
Stars: ✭ 29 (-6.45%)
Mutual labels:  matrix
react-native-image-blur-shadow
A React Native Image component with Blur Drop Shadows,100% JavaScript, 0 dependency component. Supports Android, iOS and Web. A light weight <Image/> component for your react native project.
Stars: ✭ 80 (+158.06%)
Mutual labels:  shadow
JOLI.jl
Julia Operators LIbrary
Stars: ✭ 14 (-54.84%)
Mutual labels:  matrix
matlib
Matrix Functions for Teaching and Learning Linear Algebra and Multivariate Statistics, http://friendly.github.io/matlib/
Stars: ✭ 55 (+77.42%)
Mutual labels:  matrix
NDScala
N-dimensional arrays in Scala 3. Think NumPy ndarray, but type-safe over shapes, array/axis labels & numeric data types
Stars: ✭ 37 (+19.35%)
Mutual labels:  matrix
float
Single precision (float) matrices for R.
Stars: ✭ 41 (+32.26%)
Mutual labels:  matrix
saddle
SADDLE: Scala Data Library
Stars: ✭ 23 (-25.81%)
Mutual labels:  matrix
DeepShadowMap
Real-Time Deep Shadow Maps for Unity3D
Stars: ✭ 36 (+16.13%)
Mutual labels:  shadow
MatrixLib
Lightweight header-only matrix library (C++) for numerical optimization and machine learning. Contact me if there is an exciting opportunity.
Stars: ✭ 35 (+12.9%)
Mutual labels:  matrix
DPVideoMerger-Swift
Multiple videos merge in one video with manage scale & aspect ratio and also merge videos to grid matrix layout for Swift.
Stars: ✭ 49 (+58.06%)
Mutual labels:  matrix
matrix-puppet-slack
puppet style slack bridge for matrix
Stars: ✭ 46 (+48.39%)
Mutual labels:  matrix
matrix-pstn-bridge
☎️ A Matrix Puppet bridge for the public telephone network that supports a number of VoIP providers (Twillo, Vonage, etc.). Sends and receives voice and SMS.
Stars: ✭ 25 (-19.35%)
Mutual labels:  matrix
instagram
A Matrix-Instagram DM puppeting bridge
Stars: ✭ 69 (+122.58%)
Mutual labels:  matrix
matrix-appservice-bridge
Bridging infrastructure for Application Services
Stars: ✭ 119 (+283.87%)
Mutual labels:  matrix
morpheus.js
JavaScript matrix visualization and analysis
Stars: ✭ 51 (+64.52%)
Mutual labels:  matrix

planar_proj_shadows

Demo of Planar Projected Shadows implemented with regl.

Demo here

Implementation Details

This is an implementation of Planar Projected Shadows, described in the excellent book Real-Time Shadows.

Basically, if we only want a plane to receive shadows, we do not need any Shadow Maps or Shadow Volumes. Instead, we simply define a projection matrix P that project onto that plane. To then render the shadows, we render the shadow casting geometry, but instead of rendering them normally, (in vertex shader)we project them onto the plane using the matrix P, and(in fragment shader) we render the geometry in black.

But note that the trick only works when casting shadows onto a plane.

Build

First install all dependencies by doing

npm install

To then run the demo, do

npm run start
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].