23,614 reputation
34174
bio website reedbeta.com
location Milpitas, CA
age 28
visits member for 2 years, 7 months
seen 3 hours ago

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.


16h
comment Unity Question: Destructible Boxes
Googling "Unity destructible box" gives me tons of hits. You should go read/watch those and try them out. Ask a question here if you get stuck on something specific, but as it stands this question is too broad for this site. Voting to close.
2d
answered Is there any way to change texture filtering globally in Direct3D 11?
Apr
9
answered OpenGL 2.0 - Texture animation with 'pixelated' effect
Apr
9
answered Possible to create transparency shader which doesn't stack alpha values
Apr
9
answered Direct3D: should I use MIXED_VERTEXPROCESSING?
Apr
7
comment Optimize state changes within a render queue
@Takumi What I call "pass" here is more like what is called "layer" in that article. It would be quite unusual for a material to have more than one deferred pass. Different objects will have different materials, but they will all be drawn once in the deferred pass. And as I mentioned in my answer, many materials will be in some passes but not others. You can still keep everything in one master render queue as long as it's sorted by pass.
Apr
3
comment Java: Irrelative Simplex Noise
@Zaphyk What did you set the frequency to? If your x-values are in pixels, you might have to set it to something quite low, like 0.01. Also, is your noise function known good (i.e. you got it from a known working source), or could there be bugs in it as well?
Apr
3
comment Understanding and editing HDR light environments in Photoshop
@Phrogz Ah, I see. I guess the individual RGB channel values are not on a log-scale, though the intensity slider is. It's unfortunately confusing (and possibly a bug?) that they both max out at 20, but the "20" means entirely different things. Not sure why you're seeing some error in your values e.g. 3.986 instead of 4.0, or 786432 instead of 1048576, though.
Apr
3
answered Java: Irrelative Simplex Noise
Apr
2
comment Separating Axis Theorem Issue
It's helpful to add a rendering mode that visually shows each of the separating axes one by one, and the calculated box projections along them. That way you can see directly what part of the process is going wrong.
Apr
2
comment Understanding and editing HDR light environments in Photoshop
@Phrogz I added a screenshot of what I see in Photoshop (CS6), showing how "intensity" of 20 stops corresponds to actual RGB values of 1048576.
Apr
2
revised Understanding and editing HDR light environments in Photoshop
added screenshot
Apr
2
answered Understanding and editing HDR light environments in Photoshop
Apr
2
answered Correcting Lighting in Stencil Reflections
Apr
2
answered Optimize state changes within a render queue
Apr
1
awarded  Guru
Mar
31
answered Calculating normals after displacement mapping
Mar
30
comment How To Set Constants Using ID3DShaderReflection
@KamRandle Your code shows you only setting a single variable at a time, directly in the mapped buffer. That won't work correctly since MAP_WRITE_DISCARD throws out any previous data in that constant buffer, so each time you set a variable you're losing all the other variables. That's why, like I said in my answer, you need to keep a shadow copy of the buffer in main memory---update individual variables there, then copy the whole thing to the mapped buffer, after you've updated all necessary variables, just before the draw call.
Mar
29
comment Self occluding object and alpha blending
Yes, it would mean treating each leaf as a separate object for the purposes of sorting. And yes, alpha test means discarding pixels that have too low of an alpha, and rendering the remaining pixels opaque, with no blending.
Mar
29
comment How To Set Constants Using ID3DShaderReflection
@KamRandle I presume StartOffset is in bytes, so that should work assuming data is an unsigned char *. If data is some other type, the pointer arithmetic will be done in multiples of that type, so it'll screw things up.