Pages: << Previous 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 Next >>
Summary Period: 2001-04-16 to 2001-04-11 (Commits 4495-4544 of 12744)
added lots of methods to iTextureWrapper
76 lines of code changed in:
- Added iEngine::CreateSectorWallsMesh().
- Fixed simplep (plugin version of simple) so that it works
again.
46 lines of code changed in:
More on isometric engine:
- changed size of front facing sprites to be more correct. (less fat)
- added a 'halo' sprite for the blue light in isotest - you can see
the alpha problems using both transparent sprites now. However, when
I try to enable ZBUF_TEST, the effect is ZBUF_NONE.
11 lines of code changed in:
Changed the demo particle systems in walktest to use ZBUF_TEST mode.
this makes them look a lot better. For the 'flame' commans (a fire
particle system), this helps a lot.
7 lines of code changed in:
Mass culling of compiler warnings in VC6 port.
85% of CS warnings many VC specific and some
which should have been apparrent in other
compilers.
3 lines of code changed in:
Eliminated long standing MSVC moanng about
uninitialized variables L and R. Added necessary
initialization of unamed structs contents to
make VC happy.
21 lines of code changed in:
Elimated some unreferenced variable(s). By allocatting
some and moving other(s) i.e. narrowing their scope.
3 lines of code changed in:
Update.
5 lines of code changed in:
added a parameter to the Delete(), Replace() and DeleteAll() functions of
csVector that lets you choose whether to free the deleted element
28 lines of code changed in:
no message
3 lines of code changed in:
Significantly updated the new function terrain engine. The main
structure has basically been totally restructured. There is a
new LOD algorithm that works with edge collapsing. This works
a lot better than the old algorithm but I'm still not completely
statisfied. Either there is a bug in the algo somewhere (likely)
or else the algo itself is flawed because at high lod levels
the triangle distortions are rather large.
There is also a big speed improvement for the terrain engine
on 3D cards that support hardware accelerated transform and
lighting. When a terrain block is fully visible the no_clip
variable will be set to false meaning that the renderer can
use the fast version of DrawTriangleMesh. This makes the
terrain almost four to five times faster on a GeForce. This
is still not the best solution. The best solution is that the
hardware itself performs the clipping somehow (stencil?).
35 lines of code changed in:
removed csstdldr, the test application for it, the iLoader interface and
renamed iLoaderNew to iLoader.
20 lines of code changed in:
Brought VC6 port into the new millennium by updating png lib
used from 1.0.0.2 to 1.0.1.0. This upadte offers many little
texture artifact fixes/improvements which I will not bother
to list, check the apps for yourselves. ;-)
Updated MSVC project file auto-generation process to elimate
'/NODEFAULTLIB: "LIBC"' warnings generated by the change.
Updated docs to point to location of new winlibs package
(version 16) where it will be stored on the 3D Downloads site.
NOTE:
The new lib requires use of a new "png.dll", which can be
obtained temporarily from the Red Eye Entertainment server.
"winlibs16.zip" can be obtained via the following link:
http://www.redeye-entertainment.co.uk/downloads/cs/winlibs16.zip
2195 lines of code changed in:
bugfix.
4 lines of code changed in:
Update.
13 lines of code changed in:
Updated to take account of Martins move
of ImageLoad(), fixing crasher in app.
1 lines of code changed in:
further work on csloader:
- added a new image format flag that indicates an invalid format. This flag
may not be used in csImage or the image loader, but higher-level modules
such as csloader may use this flag to say 'use the default format'. It's much
like the NULL pointer.
- extended csLoader::LoadImage() so you can choose an alternate format
for the image
- extended csLoader::LoadTexture() so you can choose an alternate texture
manager for the texture
- ptlab uses the extended LoadImage() instead of its own function
25 lines of code changed in:
updated some applications I forgot last time with the csparser stuff
2 lines of code changed in:
Update.
13 lines of code changed in:
further work on csparser:
- moved loading mode definitions to imap/parser.h
- removed a lot of unneeded csloader.h includes
14 lines of code changed in:
further work on csparser:
- made all static functions non-static
- removed all unneeded static variables and cleaned up some
temporary stuff
- added interface methods for all public loading functions
- parser plugins are now unloaded at destruction
32 lines of code changed in:
Fixed texture loading error i.e. fixed app.
2 lines of code changed in:
changed csparser to use iLoaderNew for sound loading
8 lines of code changed in:
Update.
21 lines of code changed in:
- Performed some speed optimisations.
- Added mouse support to isotest.
You can click where you want to move to.
- made keyboard cursorskeys in isotest more intuitive.
- added support for transparency in the isometric engine.
changed the player sprite in isotest to be partially transparent.
47 lines of code changed in:
made the following changes:
- added texture loading methods to iLoaderNew. The loader now uses these
functions for texture loading
- added a temporary function to iTextureWrapper to get the private
csTextureWrapper object
- fixed a bug in csTextureWrapper
- fixed VC compilation problems in csPortal
49 lines of code changed in:
Prettyfied things up.
- The blue light now uses another attenuation type, nicely casts through
the door opening now.
- The vertical scale has been corrected for the skew.
I get 80 fps in fullscreen 640x480 opengl.
14 lines of code changed in:
Smaller player
1 lines of code changed in:
Added a nice doorway to show off lighting
41 lines of code changed in:
Worked on a better LOD system for new terrain engine. This LOD
system is based on the principle of edge collapsing (but with
a better cost function than the one that is used for sprites).
It isn't finished yet so there is nothing to see at the moment.
8 lines of code changed in:
Added a stone pillar to the isotest app to show the lighting and shadows.
28 lines of code changed in:
Speed improvement.
9 lines of code changed in:
less jumpy shadows by more accurate hitbeam procedure.
1 lines of code changed in:
The isometric engine now has coloured, dynamic lighting.
Shadows are calculated in realtime.
152 lines of code changed in:
Fixed a VERY old bug in all 3D renderers with DrawTriangleMesh.
The bug was that triangles that are very close to the camera (i.e.
one or more vertices are behind the view plane) were simply rejected.
But this means that triangles could get clipped away completely
even when visible. This badly affected the terrain engines (both
DDG as terrfunc). At this moment the problem seems 95% solved. There
are still situations where polygons disappear when close to the
camera but it is rare now. I will look at this later.
290 lines of code changed in:
Luca Pancallo extended ASE importer in impexp. Luca also added
a CS sprite exporter.
6 lines of code changed in:
Update.
6 lines of code changed in:
Fixed a VERY weird bug in ScanStr. If you used ScanStr
with %b it would actually crash in very rare cases (like with
the ball loader plugin). I fixed it by replacing the va_arg
type for %b by 'bool'. It used to be 'int'. I have no idea
what is going on here and I also don't know why this problem
suddenly pops up now.
6 lines of code changed in:
fixed a severe bug, problem is that sizeof (bool) != sizeof (int) by default
1 lines of code changed in:
- Fixed an initialization bug in the new terrain engine. It should
now work.
- Also started working a little on LOD support. Not finished yet.
3 lines of code changed in:
Removed SKYDOME keyword from thing loader. Skydomes can now
be done using the ball mesh plugin.
2 lines of code changed in:
- Added support for 'KEY' nodes in terrain objects.
- Extended iTerrainObject with GetDirLightPosition(),
GetDirLightColor(), and IsDirLightEnabled().
- Added new cmd_AnimateDirLight key command to WalkTest. This will
animate a directional light for a terrain object.
- Added SetReversed(), IsReversed(), SetTopOnly(), and IsTopOnly()
to the ball mesh plugin. With reversed mode you can let the
triangles be visible from the inside instead of outside. With
top-only only the top half of the sphere is generated. Using
these two flags you can make a skydome. Also extended the ball
loader with the keywords REVERSED and TOPONLY.
- In addition also added SetLighting() and IsLighting() and the
LIGHTING keyword.
- Finally added SetColor() and GetColor() and COLOR keyword to set
the base color for the ball.
- Added a new terrain engine. This one is a lot simpler than the
DDG engine and is based on a function instead of a heightmap.
You can of course use a function that reads from a heightmap. In
the future there will be a conveniance function that does this.
You can also optionally give a function that will return normals
(for lighting). If you don't give such a function it will try
to calculate the normals itself. The terrain engine supports
LOD (four levels of LOD). You can divide the terrain in blocks.
Every block has its own texture and has four levels of LOD.
The terrain engine also supports dynamic directional lighting.
Note that this is unfinished work. There are still some bugs in
CS to solve (same bugs that make the DDG terrain engine not
look nice) and better visibility testing is also needed.
The default function for the terrain is a sin+cos function.
Also LOD is not really implemented at the moment.
109 lines of code changed in:
walls are created completely through the interfaces (ithing, ipolygon, imeshwrapper)
64 lines of code changed in:
Busy.
6 lines of code changed in:
Small cosmetic source code changes to ddg plugin.
2 lines of code changed in:
Added 'tab' key to switch different views - true isometric, ''diablo'' style,
etc.
31 lines of code changed in:
Small fix.
1 lines of code changed in:
Forgot to commit.
8 lines of code changed in:
Update.
5 lines of code changed in:
- Added the notion of recursion level in csRenderContext. Also added
GetRenderRecursionLevel() and SetRenderRecursionLevel() to
iRenderView. Using this the engine will be able to test how deep
it is with going through portals.
- Added the notion of render context data. This is data that can
be attached to a recursion level in the render context and can
also be retrieved while that recursion level is active. If a
recursion level is deleted (when coming back from a portal for
example) all the render context data will also be deleted.
Render context data has a key (void*) and a value (iBase*).
- Using the above changed I fixed a potentially serious bug in the
visibility culling system. The visibility culling and drawing
are now seperate actions. However the thing which does the
visibility culling wants to remember all polygons that were found
visible in a queue so that when the same thing is rendered later
only those polygons are rendered. This worked fine before I
implemented render priorities because the thing containing the
culler (bsp/octree) was rendered first. However with render
priorities this is no longer guaranteed and there can be situations
in which there are other things that are rendered first before
the thing containing the culler. In really bad cases those other
things could in theory contain portals to sectors and those portals
could eventually cause the same thing with the culler to be
rendered. But this would cause an overwrite of the polygon
queue! This is now fixed by attaching the render queue as
render context data to the current recursion level. When a portal
is traversed it may potentially also want to use this queue but
it will use another one because it is in another recursion level
so other render context data is used.
- Added csSector::RelinkMesh(). This is used to relink a mesh
when conditions in the mesh have changed (like render priority).
The sector needs to know this to put the mesh in the right render
priority queue.
- Fixed csMeshWrapper::SetRenderPriority() so that it will notify
all the sectors where the mesh is by calling RelinkMesh().
- Added SetLighting() and IsLighting() to iSprite3DState. Extended
sprite loader plugin with LIGHTING keyword. Extended sprite saver
plugin with support for saving LIGHTING value. Extended 3D sprite
plugin to disable lighting based on this flag (default is lighting
enabled).
- Fixed 3D sprites so that they use GetFullTransform() for lighting
too. This means that lighting will now be correct if a sprite is
used from within a hierarchical transformation.
- Fixed a bug with lighting for 3D sprites and other mesh objects.
When there were no lights reaching a sprite anymore (after having
been hit by one or more lights before) the lighting would not be
disabled.
- Extended RENDERPRIORITIES system with a sorting parameter. This
sorting parameter is not yet used but the parser already parses
it. Possible values are BACK2FRONT, FRONT2BACK, or NONE.
326 lines of code changed in:
Pages: << Previous 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 Next >>
Generated by StatCvs v0.2-dev