Module CS/libs/csengine/light/

back to main page

Summary Period: 1999-05-06 to 2003-05-29

Modules

[root]/CS/libs/csengine/light

Lines Of Code


Total Lines Of Code: 3332 (2003-07-11 20:29)

Authors

Author Changes Lines of code Lines per change
Totals 415 (100.0%) 9685 (100.0%) 23.3
jorrit 204 (49.2%) 4338 (44.8%) 21.2
wouter 53 (12.8%) 2293 (23.7%) 43.2
bdavis 7 (1.7%) 665 (6.9%) 95.0
andyz 25 (6.0%) 516 (5.3%) 20.6
travis_mcintosh 2 (0.5%) 444 (4.6%) 222.0
mgeisse 28 (6.7%) 235 (2.4%) 8.3
res2002 10 (2.4%) 227 (2.3%) 22.7
sunshine 28 (6.7%) 200 (2.1%) 7.1
matzebraun 7 (1.7%) 185 (1.9%) 26.4
vengeance2001 5 (1.2%) 164 (1.7%) 32.8
andy 9 (2.2%) 129 (1.3%) 14.3
philwyett 9 (2.2%) 95 (1.0%) 10.5
thebolt00 4 (1.0%) 68 (0.7%) 17.0
norman 13 (3.1%) 34 (0.4%) 2.6
tulebast 2 (0.5%) 23 (0.2%) 11.5
serplord 1 (0.2%) 20 (0.2%) 20.0
thieber 3 (0.7%) 16 (0.2%) 5.3
hangman 1 (0.2%) 14 (0.1%) 14.0
dentoid 1 (0.2%) 11 (0.1%) 11.0
jacereda 1 (0.2%) 5 (0.1%) 5.0
uid20594 1 (0.2%) 2 (0.0%) 2.0
samuel 1 (0.2%) 1 (0.0%) 1.0

Most Recent Commits

jorrit 2003-05-29 08:05

Replaced NULL with 0.

55 lines of code changed in:

jorrit 2003-05-28 16:19

Jorrit removed GetPrivateObject() in iMaterialWrapper and
iMeshWrapper. They were no longer used. Also removed a few addditional
GetPrivateObject() calls.

5 lines of code changed in:

res2002 2003-05-12 12:03

(Duh. Committed only the history entry, but forgot the actual source change...)
- made a small change to my AddAffectedLightingInfo() fix:
uses csHashMap::AddNoTest() instead of csHashMap::Add() now
(the latter one tests whether a hash object already exists in the
hash, which is never the case here)

2 lines of code changed in:

res2002 2003-05-11 22:49

- fixed a leak in the engine: csStatLight:: and
csDynLight::AddAffectedLightingInfo() added the passed lighting info
to a hash and IncRef()ed it. However, the hash only adds it once,
while the IncRef() always happens, leading to lots of fake
references. When on destruction the lighting info hash was iterated
over, the lighting info was only DecRef()ed once (because there was
only one copy in the hash.) The lighting info is now only IncRef()ed
when it's not already in the hash.
- improved the thing loader to not produce a heap error in case of
an error. An iPoly3D was DecRef()ed, causing it to delete itself -
which wouldn't work as it was block-allocated. Now the polygon is
properly removed from the thing factory state.
- changed the Thing object to emit a notification as well if
iPolygonMesh is queried.
- changed a refcount issue in csEventQueue. For managing the
iEvents in the queue both smart pointers and manual IncRef()s/
DecRef()s were used, however an iEvent was always IncRef()ed but
not always DecRef()ed, causing leaks under some circumstances.
Removed IncRef()s/DecRef()s and let the smart pointers do their
work.
- added a remark to iEventQueue::Post() documentation on how
the owner ship of a passed iEvent is treated.

10 lines of code changed in:

jorrit 2003-04-25 11:23

csHashIterator can no longer iterate over the entire hash. If you
want that you need csGlobalHashIterator instead. That way it
is possible to more efficiently optimize the two different
ways to iterator. The same is true for csHashIteratorReversible.

5 lines of code changed in:

tulebast 2003-04-24 00:02

changed all instances of csFrustum::Intersect() to return csPtr<csFrustum> rather than csFrustum*;
csFrustumContext, csFrustumView, csBezierLightPatch, csLightPath now using smart pointers;
added csFrustumContext::SetNewShadow and ::SetNewFrustum methods;
csShadowBlock using csRefArray instead of deprecated csVector;
removed some unnecessary includes of csvector.h;
removed tabs from some files.

23 lines of code changed in:

res2002 2003-04-15 20:16

- did more new renderer lighting tweaks and fixes:
- Added helper function to iLight to calculate an attenuation vector
for an attenuation type, a radius and a brightness at this radius.
- Added helper function to find the distance from a light for a
brightness.
- Parser now recognizes a "brightness" attribute for <radius> to
specify what brightness a light should have at the specified radius.
- Influence radius can be manually override using <influenceradius>.

57 lines of code changed in:

res2002 2003-04-13 22:51

- made the following changes:
- removed attenuation vector and radius from lights when
new renderer is used. Those can be expressed with the
attenuation vector.
- Made some fixes to the influence radius calculation
- updated csparser to calculate the attenuation vector from
the att. type and radius given in the world file; added
another syntax for explicit attenuation vectors:
<attenuation c="0" l="0.1" q="0" />

99 lines of code changed in:

matzebraun 2003-04-03 15:43

cleaned up csutil as proposed in the crystal-develop list

180 lines of code changed in:

norman 2003-03-29 20:34

made he preprocessor shut up about: warning: pasting "blah" and "[" does not give a
valid preprocessing token

12 lines of code changed in:

jorrit 2003-03-27 08:21

Several fixes to make CS compile again, at least on mingw.

5 lines of code changed in:

jorrit 2003-03-25 11:40

- Changed API of OpenPortal() to accept a G3DPolygonDFP instead
of a 2D polygon. I need z-information.
- First version of OpenGL implementation of OpenPortal().
- Added CS_PORTAL_FLOAT option for portals. This will enable the
portal to use the new OpenPortal() code.
- Added <float> flag to the portal loading code to enable this new
flag. Currently this new feature is not yet working properly.
Needs more testing and fixing.
- Optimized the polygon drawing structures in graph3d.h a little.

56 lines of code changed in:

thebolt00 2003-03-01 15:47

Improved the routine which calculate the influence-radius for lights

8 lines of code changed in:

thebolt00 2003-02-19 23:36

Fixed a bug introduced when adding the new light-parameters for the new renderer due to a missing #ifdef CS_USE_NEW_RENDERER

5 lines of code changed in:

thebolt00 2003-02-19 17:18

- M�rten Svanfeldt changed the way lights are handled in new renderer
- Lights now have a influence radius which is different from the
normal radius. Influence radius is the distance at which the light
have 1/256 (or 1/512, 1/1024 it is configurable) of the intensity
in the center. Influence radius is used to determin wheter i light
needs to be used or not to draw on a specific spot.
- The way culling of lights and objects work is changed. An more
in depth description of how it's done is in a comment in Sector::Draw.
- Shadows now use depthfail shadows if we are in the shadow-volume.

52 lines of code changed in:

jorrit 2003-02-18 09:55

- Light ID's are now MD5 keys instead of simple numbers. This is
done to solve a bug with multiple regions and light id's not
matching with the cached light id's in the lightmap cache.
This fixes a bug with pseudo-dynamic lights not working if they
are loaded differently from when they were loading at relighting
time.
- Changed iEngine->FindLight(id) to iEngine->FindLightID().
- Changed the engine so it now reports the first 4 objects for which
it couldn't load lighting.

37 lines of code changed in:

thebolt00 2003-02-14 14:11

Added default attenuation vector

3 lines of code changed in:

hangman 2003-02-13 22:36

support for Attenuation 3 for new Renderer

14 lines of code changed in:

jorrit 2003-01-22 10:10

- Made iEngine->CreateDynLight() a bit more efficient by avoiding
the SCF_QUERY_INTERFACE.
- Lights (dynamic and static) now keep a real reference to the lighting
infos they store in their maps. That way there will be no crash
if objects get deleted before the lights are deleted. This fixes
crash at exit if you press L and then quit walktest.
I think this also fixes the crash at exit that sometimes occurs
with Blocks.

11 lines of code changed in:

res2002 2003-01-21 20:23

- walktest: default font is loaded if user-specified one fails
- renamed ALLOC_STACK_ARRAY to CS_ALLOC_STACK_ARRAY. flipped order of
var & type parameters so it matches the C++ variabel declaration
(type first, then name)
- win32: console windows are only hidden after an app window was created
- win32: plugins now export a function which returns the used compiler.
if it doesn't match the app compiler the plugin isn't loaded (so mixing
MinGW & MSVC binaries will cause an error report instead of just a crash)
- added iCommandLineParser::GetBoolOption()

1 lines of code changed in:

(279 more)


Generated by StatCvs v0.2-dev