27,017 reputation
34988
bio website reedbeta.com
location Milpitas, CA
age 28
visits member for 3 years, 3 months
seen Dec 16 at 21:05

I'm a graphics programmer, an amateur physicist, and a sci-fi nerd. I teach computers how to make pretty pictures. I'm excited by beautiful, immersive, story-driven games and interactive fiction. I enjoy messing around with esoteric ideas. I like explaining things.

I currently work for NVIDIA DevTech. Previously, I worked for Sucker Punch Productions on the Infamous series of games for PS3 and PS4.

reedbeta.com - developer blog, OpenGL demos, and other projects. @reedbeta on Twitter.


Oct
7
comment Deferred rendering and gaussian blur - artifacts
I'm confused by your description of your render passes. Is fbo2 the temporary texture that you render to during the blur? Do you have multiple temporary textures, each with its own fbo? Or are you attempting to re-use the same temporary texture / fbo for multiple passes (which won't generally work, and could explain the artifacts)?
Sep
30
awarded  Explainer
Sep
21
awarded  Enlightened
Sep
21
awarded  Nice Answer
Sep
16
answered Ambient occlusion: Correct culling after anisotropy correction
Sep
15
comment Ambient occlusion: Correct culling after anisotropy correction
Also, I saw you cross-posted this to Stack Overflow. That's frowned upon - you should pick the site best suited to the question (which is this one) and post it only there.
Sep
15
comment Ambient occlusion: Correct culling after anisotropy correction
What is "the anisotropy correction"?
Sep
13
awarded  Yearling
Sep
10
awarded  Good Answer
Sep
3
awarded  Enlightened
Sep
3
awarded  Nice Answer
Aug
31
awarded  Nice Answer
Aug
28
comment How does Texture2D.GetData return coloured pixels?
Try i*width + j
Aug
23
comment How can I use the graphics pipeline to render volumetric data based on a density function?
@danijar Yes, it has a slight advantage over using a quad because some pixels along the diagonal will be shaded twice if you use a full-screen quad. On the other hand, discarding off-screen pixels is free since the rasterizer will not generate those pixels to begin with.
Aug
21
comment CSM DX11 issues
@KaiserJohaan I don't think that's quite right. The last row should have +0.5 for both X and Y, and zero for Z.
Aug
20
comment CSM DX11 issues
@KaiserJohaan If you mean converting the post-projective XY coordinates [-1, 1] to UV coordinates [0, 1], that's still needed. The Y axis needs to be flipped though, and the Z axis shouldn't be touched since it should already be in [0, 1] from the corrected projection matrix.
Aug
20
comment Compute directional light frustum from view furstum points and light direction
"How do i transform this new AABB back to world space?" Why do you need to transform it back to world space? The AABB in light space is the frustum for the directional light, i.e. the region that will be visible when you render the shadow map.
Aug
20
answered CSM DX11 issues
Aug
20
comment Find normal based on rotation?
You'll need to convert the XYZ rotation (Euler angles) to a quaternion or matrix, and apply it to (0, 0, 1) to convert that from local to world space. You can find plenty of information on converting Euler angles to other forms of rotation, and applying rotations to vectors, with a bit of googling.
Aug
18
comment How can I simulate shattering glass?
@karlphillip I did work on a demo using PhysX Destruction, though I personally only did rendering stuff, not any physics stuff on that project. The PhysX tech works by generating pre-shattered pieces in a DCC tool, and swapping them in for the unbroken mesh when damage occurs.