I've been working a lot with AGAL vertex and fragment shaders. I've got individual objects lit correctly (including specular shading) but I'd like to have objects cast shadows on OTHER objects. I have looked online, but I think most people working directly with AGAL have built custom Stage3D libraries and the shadow-casting solution doesn't seem to be in the public domain. Anyone willing to change that?
I'd like to know how to get an object to cast a shadow on another. I can't post what I've tried, because I can't get my head around where to begin on this problem. How would you pass the information (whether other objects are blocking the light) into another object's shader?
Thanks.
Shadow-casting shaders in Stage3D
315 views Asked by moosefetcher At
1
There are 1 answers
Related Questions in ACTIONSCRIPT-3
- Apple Watch: WKInterfaceLabel doesn't update on device, but fine on simulator
- Display both alertTitle and AlertBody on a custom WatchKit notification
- Check if image with name is set (WatchKit)
- AppleWatch - "attempt to insert nil" when calling WKInterfaceDevice addCachedImage
- Why is willActivate called twice when watch app enters foreground?
- Detect WKInterfaceButton pressed continuously?
- How can I setup the distribution build to get watchkit App working?
- Play sound with WatchKit 2
- How to record audio and play it with WatchOS2?
- change initial interface controller in watchKit
Related Questions in FRAGMENT-SHADER
- Apple Watch: WKInterfaceLabel doesn't update on device, but fine on simulator
- Display both alertTitle and AlertBody on a custom WatchKit notification
- Check if image with name is set (WatchKit)
- AppleWatch - "attempt to insert nil" when calling WKInterfaceDevice addCachedImage
- Why is willActivate called twice when watch app enters foreground?
- Detect WKInterfaceButton pressed continuously?
- How can I setup the distribution build to get watchkit App working?
- Play sound with WatchKit 2
- How to record audio and play it with WatchOS2?
- change initial interface controller in watchKit
Related Questions in VERTEX-SHADER
- Apple Watch: WKInterfaceLabel doesn't update on device, but fine on simulator
- Display both alertTitle and AlertBody on a custom WatchKit notification
- Check if image with name is set (WatchKit)
- AppleWatch - "attempt to insert nil" when calling WKInterfaceDevice addCachedImage
- Why is willActivate called twice when watch app enters foreground?
- Detect WKInterfaceButton pressed continuously?
- How can I setup the distribution build to get watchkit App working?
- Play sound with WatchKit 2
- How to record audio and play it with WatchOS2?
- change initial interface controller in watchKit
Related Questions in STAGE3D
- Apple Watch: WKInterfaceLabel doesn't update on device, but fine on simulator
- Display both alertTitle and AlertBody on a custom WatchKit notification
- Check if image with name is set (WatchKit)
- AppleWatch - "attempt to insert nil" when calling WKInterfaceDevice addCachedImage
- Why is willActivate called twice when watch app enters foreground?
- Detect WKInterfaceButton pressed continuously?
- How can I setup the distribution build to get watchkit App working?
- Play sound with WatchKit 2
- How to record audio and play it with WatchOS2?
- change initial interface controller in watchKit
Related Questions in AGAL
- Apple Watch: WKInterfaceLabel doesn't update on device, but fine on simulator
- Display both alertTitle and AlertBody on a custom WatchKit notification
- Check if image with name is set (WatchKit)
- AppleWatch - "attempt to insert nil" when calling WKInterfaceDevice addCachedImage
- Why is willActivate called twice when watch app enters foreground?
- Detect WKInterfaceButton pressed continuously?
- How can I setup the distribution build to get watchkit App working?
- Play sound with WatchKit 2
- How to record audio and play it with WatchOS2?
- change initial interface controller in watchKit
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
IT's called Deferred shading, you have to do 2 pass of vertex and fragment shaders. In the first pass you accumulate informations about distances, normals, occlusion... In the second pass you render and apply the informations of the first pass to make shadows.
Another options is ShadowMapping:
Basic shadowmap
The basic shadowmap algorithm consists in two passes. First, the scene is rendered from the point of view of the light. Only the depth of each fragment is computed. Next, the scene is rendered as usual, but with an extra test to see it the current fragment is in the shadow.
The “being in the shadow” test is actually quite simple. If the current sample is further from the light than the shadowmap at the same point, this means that the scene contains an object that is closer to the light. In other words, the current fragment is in the shadow.