blender/source/gameengine/Rasterizer
Jack Andersen 861616bf69 Full Inverse-Quadratic-Equation Lamp Falloff
This patch adds a new `falloff_type` ('Inverse Coefficients') for Lamps in
Blender-Internal and GLSL.

The current falloff modes use a formula like this inverse-square one:

`I = E × (D^2 / (D^2 + Q × r^2))`

While such a formula is simple for 3D-artists to use, it's algebraically
cumbersome to work with. Game-designers authoring their own shaders
could benefit much more by having direct control of falloff-coefficients:

`I = E × (1.0 / (coefC + coefL × r + coefQ × r^2))`

In this mode, the `distance` parameter is unused (except for 'Sphere'
mode); instead relying on the designer to mathematically-model the
falloff-behavior.

The UI has been patched like so:
{F153843}

Reviewers: brecht, psy-fi

Reviewed By: psy-fi

Subscribers: brita_, antidote, campbellbarton, psy-fi

Differential Revision: https://developer.blender.org/D1194
2016-03-13 02:05:36 +01:00
..
RAS_OpenGLFilters code cleanup: bge warnings 2013-04-04 23:16:23 +00:00
RAS_OpenGLRasterizer Full Inverse-Quadratic-Equation Lamp Falloff 2016-03-13 02:05:36 +01:00
CMakeLists.txt BGE: Save screenshots in a different thread 2015-11-24 09:15:15 +01:00
RAS_2DFilterManager.cpp BGE Rasterizer clean up: double-promotion warnings 2015-12-13 03:20:27 +01:00
RAS_2DFilterManager.h BGE Rasterizer Cleanup: Cleaning up some includes. 2013-11-04 19:22:10 +00:00
RAS_BucketManager.cpp cleanup: spelling, comments, alignment 2016-01-28 01:36:12 -05:00
RAS_BucketManager.h Fix T40199: bge.logic.LibFree() could cause crashes by leaving dangling pointers in the rasterizer. 2014-05-14 19:11:08 -07:00
RAS_CameraData.h BGE Rasterizer clean up: double-promotion warnings 2015-12-13 03:20:27 +01:00
RAS_Deformer.h code cleanup: check for msvc directly when using warning pragma's. 2012-10-15 02:15:07 +00:00
RAS_FramingManager.cpp BGE Rasterizer clean up: double-promotion warnings 2015-12-13 03:20:27 +01:00
RAS_FramingManager.h cleanup: spelling, comments, alignment 2016-01-28 01:36:12 -05:00
RAS_ICanvas.cpp BGE: Save screenshots in a different thread 2015-11-24 09:15:15 +01:00
RAS_ICanvas.h BGE: Save screenshots in a different thread 2015-11-24 09:15:15 +01:00
RAS_ILightObject.h Full Inverse-Quadratic-Equation Lamp Falloff 2016-03-13 02:05:36 +01:00
RAS_IPolygonMaterial.cpp BGE Rasterizer clean up: double-promotion warnings 2015-12-13 03:20:27 +01:00
RAS_IPolygonMaterial.h Move from MTFace to MTexPoly w/ texture checks 2015-07-14 22:36:00 +10:00
RAS_IRasterizer.h use float (not double) for font matrix 2015-12-14 22:28:12 -05:00
RAS_MaterialBucket.cpp BGE Rasterizer clean up: double-promotion warnings 2015-12-13 03:20:27 +01:00
RAS_MaterialBucket.h BGE: Use float as default instead of double in Moto library. 2015-12-13 02:09:05 +01:00
RAS_MeshObject.cpp BGE: Fix T38030: wrong vertex index returned by KX_PolyProxy 2015-06-20 14:21:31 +02:00
RAS_MeshObject.h BGE: Fix T38030: wrong vertex index returned by KX_PolyProxy 2015-06-20 14:21:31 +02:00
RAS_ObjectColor.h code cleanup: make header defines more consistent, JOYSENSOR header guard had a typo too. 2012-10-09 13:36:42 +00:00
RAS_Polygon.cpp BGE: Fix T38030: wrong vertex index returned by KX_PolyProxy 2015-06-20 14:21:31 +02:00
RAS_Polygon.h BGE: Fix T38030: wrong vertex index returned by KX_PolyProxy 2015-06-20 14:21:31 +02:00
RAS_Rect.h code cleanup: make header defines more consistent, JOYSENSOR header guard had a typo too. 2012-10-09 13:36:42 +00:00
RAS_texmatrix.cpp Cleanup: spelling 2015-08-22 21:17:32 +10:00
RAS_TexMatrix.h code cleanup: make header defines more consistent, JOYSENSOR header guard had a typo too. 2012-10-09 13:36:42 +00:00
RAS_TexVert.cpp BGE Rasterizer clean up: double-promotion warnings 2015-12-13 03:20:27 +01:00
RAS_TexVert.h BGE: Cleaning up the VBO code to use RAS_TexVert more directly instead of copying out pieces. This also gets rid of MapBuffers, which isn't available in OpenGL ES. Scenes that require constant VBO updates (like my skeletal mesh stress test) are now 10~13% faster. 2013-04-05 01:28:38 +00:00