Help
Open call for assistance on technical things. My software is now "help-ware" .
Last update 3-26-02
Things I'm working on:
- A mesh library
- Exact solutions of simple lighting configurations. This is super-difficult.
- Lighting in real-time with environment maps representing samples of correct lighting
- BRDF for Tree Leaves
- Fake radiosity with virtual lights
- Soft stencil shadows from blurring the frame buffer
- Continuously variable radius blurring in the pixel shader
- Non-uniform projections for shadow buffers
- IK, blended with animations
- light mapping
- facial animation + lip sinc
- compact PVS for triangle soup
Non-Technical Questions:
Misc Technical Questions:
Answers:
- Why do the sunrise and sunset look different? The answer is basically the issue of
"what's in the atmosphere". First of all, you recall that the reason either of them are
redish is because the white sunlight is scattered in the blue by many things in the atmosphere
while it is transmitted in the red. Thus, the more atmosphere the light goes through, the
redder it will appear to a direct viewer. The difference between sunrise and sunset comes from
two primary contributions : 1) the difference in temperature. The effect on the density of the
air is negligible; what's not is the presence of water vapor. At sunrise, a lot of water vapor
has condensed out of the cold air and is sitting on my car window in the form of ice or dew; at
sunset, that water is in the atmosphere contributing to the scattering. 2) pollutants. Most
pollutants the scatter light are made during the day (by cars) and disperse somewhat at night.
This is why the sunset is much more brilliant in smoggy cities like Mexico City than in the wild.
Here are some excellent links on the topic from Charles Hardwidge :
about this problem
The New Scientist
The Guardian
-
How to replace "new" without getting in the way of "placement new" :
#ifdef DEBUG_MEMORY
#define ALLOC_PREAMBLE (MemoryInternalUseOnly::SetAllocInfo(__FILE__, __LINE__), false) ? 0 :
#else
#define ALLOC_PREAMBLE
#endif // DEBUG_MEMORY
//! do not use OwNew directly; it's purpose is so that you can turn off the new macro and then put it back;
//! like "#undef new" [... stuff using new...] "#define new OwNew"
#define OwNew ALLOC_PREAMBLE new
#define OwDelete ALLOC_PREAMBLE delete
//! Map new & delete to our versions
#define new OwNew
#define delete OwDelete
Thanks to those who have provided answers!
Charles Blooom [cb][at][cbloom][dot][com] Send Me Email
Back to the Index
The free web counter says you are visitor number