Module CS/plugins/mesh/genmesh/object/

back to main page

Summary Period: 2002-01-23 to 2003-07-05

Modules

[root]/CS/plugins/mesh/genmesh/object

Lines Of Code


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

Authors

Author Changes Lines of code Lines per change
Totals 190 (100.0%) 5166 (100.0%) 27.1
jorrit 97 (51.1%) 2701 (52.3%) 27.8
duhprey 22 (11.6%) 934 (18.1%) 42.4
thebolt00 18 (9.5%) 868 (16.8%) 48.2
dentoid 10 (5.3%) 446 (8.6%) 44.6
res2002 14 (7.4%) 111 (2.1%) 7.9
hangman 6 (3.2%) 41 (0.8%) 6.8
sunshine 8 (4.2%) 25 (0.5%) 3.1
matzebraun 3 (1.6%) 12 (0.2%) 4.0
philwyett 4 (2.1%) 9 (0.2%) 2.2
norman 3 (1.6%) 7 (0.1%) 2.3
ab031ns 2 (1.1%) 6 (0.1%) 3.0
alquarra 1 (0.5%) 3 (0.1%) 3.0
tetron 1 (0.5%) 2 (0.0%) 2.0
vengeance2001 1 (0.5%) 1 (0.0%) 1.0

Most Recent Commits

matzebraun 2003-07-05 22:53

genmesh needs to be linked with cstool

2 lines of code changed in:

hangman 2003-07-01 13:21

anonrndbuf.h moved from csutil to cstool

1 lines of code changed in:

jorrit 2003-06-27 14:33

- Jorrit fixed a bug in genmesh where it would not initialize
normals to 0 if <autonormals/> was not used. The result would
be unpredictable lighting behaviour. Now genmesh will initialize
the normals to 0. This means that at least the behaviour is
consistent: if you don't use <autonormals/> and you don't specify
normals manually you'll get NO lighting at all.

4 lines of code changed in:

sunshine 2003-06-22 22:38

Eric Sunshine removed the unused, obsolete, and deprecated top-level <name>
node from the .csplugin files.

0 lines of code changed in:

res2002 2003-06-20 16:55

Made the following changes to the new renderer system:
- Index buffers aren't treated in a special way any more now.
Just your average vertex buffer.
- Changed the internal implementation of render buffers a bit.
- Renamed stencil shadow binary to 'rlsstencil' to fit in with the
other renderstep plugins.

1 lines of code changed in:

hangman 2003-06-20 00:40

forgot a #ifdef CS_USE_NEW_RENDERER

4 lines of code changed in:

hangman 2003-06-20 00:11

added anonymous render buffer manager class, which can be used to implement the anonymous render buffers for new renderer easily.

34 lines of code changed in:

thebolt00 2003-06-19 23:45

- Marten made the following changes:
- Changed duhpreys shadowcode to use GetPolygonMeshShadows at first, then fallback to GetPolygonMeshColldet.
- Added setting of PolygonMeshShadows in genmesh.
- Added stencil to user.mk

1 lines of code changed in:

thebolt00 2003-06-18 16:58

- Marten removed the sc. discardingsystem for renderbuffers
- Marten ported the ballmesh, nullmesh, simplecon and csconout to new renderer.

23 lines of code changed in:

thebolt00 2003-06-17 19:37

- Marten renamed iStreamSource to iRenderBufferSource and GetBuffer to GetRenderBuffer. In the classes the terms stream and renderbuffer are mixed, from now on use just the term renderbuffer.

27 lines of code changed in:

thebolt00 2003-06-16 21:16

- Moved csRenderMesh to a new headerfile to solve circular header dependency.
- Cleaned up code in glrender3d and genmesh. Removed old deprecated code and some general cleanup. Also removed a few unused files in glrender3d.

10 lines of code changed in:

jorrit 2003-06-13 13:41

- Jorrit added iLightingInfo->StaticLightDisconnect() so that a light
can be removed.
- Jorrit implemented iEngine->RemoveLight(). However since none
of the mesh objects correctly implement StaticLightDisconnect()
the function will not actually work even though it is fully
bugfree :-)

11 lines of code changed in:

jorrit 2003-06-13 13:11

- Jorrit added iEngine->RemoveLight() to remove a pseudo-dynamic
static lights and also automatically update all lightmaps. In case
of a static light this will not update the lightmaps unless
ForceRelight() is called later.
NOTE! Currently not implemented yet!
- Jorrit Extended iLightingInfo->InitializeDefault() with a new flag
telling the lighting sub-system if the lighting information should
be cleared or not. This allows correct handling when a single light
is added in case of genmesh and bezier curves.

8 lines of code changed in:

sunshine 2003-06-05 15:45

Eric Sunshine performed Phase Three of the elimination of the monolithic
scf.cfg:

-*- Eliminated the SCF information which was hardcoded in the .cpp files
of plugin modules, and which duplicated information in the external
.csplugin files.

-*- Plugin modules no longer maintain and export a monolithic class list.
Now, each factory implemented by the code is exported automatically.

-*- Added a new <implementation> child node to the <class> node in
.csplugin files. The value of this node is the name of the C++ class
which implements the SCF class. For instance, C++ class csVFS
implements crystalspace.kernel.vfs.

-*- Eliminated the following SCF macros which were related to exporting
SCF information from .cpp code and/or registering classes manually:

SCF_EXPORT_CLASS_TABLE
SCF_EXPORT_CLASS
SCF_EXPORT_CLASS_DEP
SCF_EXPORT_CLASS_TABLE_END
SCF_REGISTER_STATIC_CLASS_DEP

-*- Eliminated the following methods from iSCF:

RegisterStaticClass
RegisterClassList

-*- Plugin modules are now initialized/shutdown lazily as classes are
requested from them. The first time a class is requested, the plugin
is initialized. The plugin is shutdown after the last class instance
has been destroyed.

-*- Fixed bug in scf.h where SCF_PRINT_CALL_ADDRESS was not being enabled
for gcc 3.x.

-*- Fixed bug in win32.jam where GenerateExportDefs rule failed to ensure
that directory containing output file existed before creating file.
Also fixed bug where it failed to set up a dependency between the
input and output files.

-*- Still To-Do:

- Remove references to scf.cfg and scfreg from documentation. Also
document new .csplugin resources.

- Add platform-specific function to scan and locate plugins
automatically rather than using the ad-hoc approach inherited from
scanning for .scf files.

- Add platform-specific function to query a plugin's meta-information.
This should be used by SCF to do the raw extraction. Provide and
finalize API for higher-level clients to access meta-information.

- Augment static linking to work with the new facility. (Removal of
the hardcoded SCF information, has now broken static linking. It
worked until this time, even with all of the preceding changes.)

1 lines of code changed in:

res2002 2003-06-04 20:48

- fixed csGenmeshMeshObject::GetRenderMeshes() from being
completely commented out.

1 lines of code changed in:

jorrit 2003-06-03 11:38

- Jorrit changed Blocks so it no longer uses HardTransform() on
genmesh instances.
- Jorrit removed support for HardTransform() in genmesh objects.
Only HardTransform() for factories is supported.
The reason that I removed this is that it is not really needed
and it was very hard to get completely right. It was also not
very efficient.

7 lines of code changed in:

jorrit 2003-06-02 13:39

- Jorrit fixed genmesh in case the genmesh object (not the factory)
itself is hard-transformed for the following functions:
- AppendShadows()
- UpdateLighting2()
- UpdateLighting()
- Jorrit updated csColliderHelper::InitializeCollisionWrapper()
function so that it compares the polygon mesh returned by the
object with the one from the factory. If they are different it
will use the one from the object. This fix makes sure that objects
can optionally override the object model if they need that.
- Jorrit added default csPolygonMesh implementation for conveniance.

11 lines of code changed in:

jorrit 2003-05-29 08:06

Replaced NULL with 0.

59 lines of code changed in:

sunshine 2003-05-26 09:49

Eric Sunshine performed Phase One of the elimination of the monolithic
scf.cfg:

-*- Plugin modules are now self-describing. This information can be
queried at run-time without having to actually load the module.

-*- The plugin maintainer now manages the plugin's meta-information in an
external .csplugin file, rather than hard-coding the information into
the plugin's source code. The mechanism by which the meta-information
is bound to the plugin is platform-dependent. Presently, all
platforms simply lay down the meta-information in a plain text file
alongside the plugin itself; with the same basename and extension
.csplugin. This may change in the future. For example, on MacOS/X,
the meta-information will probably be encapsulated within the plugin's
bundle wrapper.

-*- Plugin meta-information is now maintained in XML format. Here is an
example:

<?xml version="1.0"?>
<!-- gl3d.csplugin -->
<plugin>
<name>gl3d</name>
<scf>
<classes>
<class>
<name>crystalspace.graphics3d.opengl</name>
<description>OpenGL 3D graphics driver</description>
<requires>
<class>crystalspace.font.server.</class>
</requires>
</class>
</classes>
</scf>
</plugin>

-*- Since meta-information is now extensible, maintainers can choose to
publish supplementary information about plugins (in addition to the
SCF information already published). For example, image loading
plugins could publish "image indendification" information which would
allow the image loading multiplexor to selectively request image
loading plugins on-demand, rather than requesting all plugins
unconditionally, even if they are not needed. Here is an example of a
possible meta-information table for the PNG loader:

<?xml version="1.0"?>
<!-- cspngimg.csplugin -->
<plugin>
<name>cspngimg</name>
<scf>...</scf>
<imageloader>
<imagetype>
<class>crystalspace.graphic.image.io.png</class>
<identify>
<mimetype>image/png</mimetype>
<extension>png</extension>
<extension>PNG</extension>
<scan length="4" bytes="\0x89PNG"/>
</identify>
</imagetype>
</imageloader>
</plugin>

In this example, the PNG loader meta-information tells the multiplexor
several different ways to identify a PNG image: by checking file
extension, if available; by checking MIME type, if available; by
checking for the magic-string "\0x89PNG" in the raw image data. If
the multiplexor identifies the image as PNG, only then will it
actually request the PNG loader.

-*- Added the --meta-file directive to msvcgen.pl to allow specification
of the meta-information file for a module. The value of this option
is interpolated into template files via the new %metafile% variable.
msvcgen.mak now utilizes this flag with the value of the new
INC.PROJECT makefile variable. Augmented the MSVC6 and MSVC7 plugin
template files (plugin.tpl) to make use of %metafile%.

-*- Changed the file extension for plugins on MacOS/X from .csplugin to
.csbundle to avoid conflict with new meta-information resource which
uses the extension .csplugin.

-*- Still To-Do:

- Augment SCF to utilize the new meta-information resources, and to
understand the new XML format. Presently, these resources are
ignored at run-time.

- Add platform-specific function to scan and locate plugins
automatically, rather than relying upon a monolithic registry such
as scf.cfg.

- Add platform-specific function to query a plugin's meta-information.

- Eliminate the monolithic scf.cfg.

- Augment static linking to work with the new facility.

- Eliminate the hard-coded SCF registration information in each
plugin's source code.

15 lines of code changed in:

jorrit 2003-05-25 20:10

- Jorrit optimized ball->HitBeamObject() considerably by moving an
expensive operation out the inner loop. Same optimization for
genmesh, spr3d, and metaball. Also made the test more robust by
comparing floats with >= instead of == (NEVER use == on floats).
- Jorrit reversed the bugfix he did on IntersectSegment (Frustvis
and Dynavis) yesterday and instead fixed the bug for real.

4 lines of code changed in:

(109 more)


Generated by StatCvs v0.2-dev