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
294 Views Asked by moosefetcher At
1
There are 1 best solutions below
Related Questions in ACTIONSCRIPT-3
- EMACS-Live + Slime error at startup
- Auto complete of braces in emacs
- tmux + emacs : ctrl is not reconized
- yasnippet weird-input when org-mode :tag: on same line
- Error in Dired sorting on Windows (with Cygwin Emacs)
- ESS produces "Variable binding depth exceeds max-specpdl-size"
- How to simplify the mode-line, and enter evil-insert-state depending on buffer name
- MELPA pointing to non-existent version of multi-term?
- Mark-up for bold and italic in emacs org-mode
- How to get C-` key combo recognized in Emacs under Mac?
Related Questions in FRAGMENT-SHADER
- EMACS-Live + Slime error at startup
- Auto complete of braces in emacs
- tmux + emacs : ctrl is not reconized
- yasnippet weird-input when org-mode :tag: on same line
- Error in Dired sorting on Windows (with Cygwin Emacs)
- ESS produces "Variable binding depth exceeds max-specpdl-size"
- How to simplify the mode-line, and enter evil-insert-state depending on buffer name
- MELPA pointing to non-existent version of multi-term?
- Mark-up for bold and italic in emacs org-mode
- How to get C-` key combo recognized in Emacs under Mac?
Related Questions in VERTEX-SHADER
- EMACS-Live + Slime error at startup
- Auto complete of braces in emacs
- tmux + emacs : ctrl is not reconized
- yasnippet weird-input when org-mode :tag: on same line
- Error in Dired sorting on Windows (with Cygwin Emacs)
- ESS produces "Variable binding depth exceeds max-specpdl-size"
- How to simplify the mode-line, and enter evil-insert-state depending on buffer name
- MELPA pointing to non-existent version of multi-term?
- Mark-up for bold and italic in emacs org-mode
- How to get C-` key combo recognized in Emacs under Mac?
Related Questions in STAGE3D
- EMACS-Live + Slime error at startup
- Auto complete of braces in emacs
- tmux + emacs : ctrl is not reconized
- yasnippet weird-input when org-mode :tag: on same line
- Error in Dired sorting on Windows (with Cygwin Emacs)
- ESS produces "Variable binding depth exceeds max-specpdl-size"
- How to simplify the mode-line, and enter evil-insert-state depending on buffer name
- MELPA pointing to non-existent version of multi-term?
- Mark-up for bold and italic in emacs org-mode
- How to get C-` key combo recognized in Emacs under Mac?
Related Questions in AGAL
- EMACS-Live + Slime error at startup
- Auto complete of braces in emacs
- tmux + emacs : ctrl is not reconized
- yasnippet weird-input when org-mode :tag: on same line
- Error in Dired sorting on Windows (with Cygwin Emacs)
- ESS produces "Variable binding depth exceeds max-specpdl-size"
- How to simplify the mode-line, and enter evil-insert-state depending on buffer name
- MELPA pointing to non-existent version of multi-term?
- Mark-up for bold and italic in emacs org-mode
- How to get C-` key combo recognized in Emacs under Mac?
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)
Popular # Hahtags
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?
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.