01/07/01
|
-
Rewrote the error value calculation to be much more accurate, smoothly sloping
terrain now gets less detail, as it should be.
-
The new error uses less memory, 1/4th of what I was storing previously.
-
The improved error means we need fewer triangles to get a good image, I have
reduced the default LOD to 10,000 triangles and this gives good results, frame
rate is close to 150FPS with 120FPS moving forward and around 100FPS when
making a 180degree turn.
|
25/06/01
|
-
Enabled inlining to work properly, should experiment with fast call next.
-
Implemented support for the S3TC extention to handle compressed textures.
-
Moving forward maintains 110FPS, turning head drops it to around 80FPS.
Rendering is 133FPS.
-
There is a bizarre compiler optimization bug in release mode that I have
finally worked around.
|
18/04/01
|
-
Rewrote the rendering and especially the texturing for the terrain to use a
texture cache. There is one cache for each texture LOD, nearby terrain is
rendered with the highest res texture 1Kx1K, intermediate range is rendered
with textures whose max size is 256x256 and distant terrain is with textures of
max size 64x64.
-
Implemented support for the S3TC extention to handle compressed textures.
-
Rendering is now up to 2 1/4 million triangle per second for pure terrain, with
a single texture pass (which looks ok with the high res textures.) This is from
a debug build.
-
Updated the screen shot page. There is a bug when rendering with the optimized
build which I have not yet tracked down.
|
05/03/01
|
-
Optimizing rendering and moving all the extention stuff into the oglxt class.
|
05/03/01
|
-
I spent some time along with help from Stephan Heigl getting DDG to compile
again under Linux. At least there are make files now and all the parts of DDG
did compile. However I never had time to run it. If someone wants to complete
the port let me know and I can try to put more effort into it.
|
28/02/01
|
-
Fixed starfield rendering.
|
18/02/01
|
-
Fixed bug in setHeight().
-
Fixed bug in loading terragen files, terrain was showing up as rice paddies
because of a float/int issue.
-
Fixed bug where I was not rendering the terrain at full resolution.
-
Fixed a really nasty clipping bug.
-
Collision detection is perfect now and trees no longer float in the air!
|
11/02/01
|
-
Fixed fullrender version of terrain. Can show wireframe overlay onto terrain.
-
Fixed tree rendering.
|
04/02/01
|
-
Fixed some packaging errors w.r.t. missing files, bad project settings.
-
Demo would not work on non GeForce cards, fixed the Extention detection code.
-
Also made toolkit more lenient w.r.t. opengl errors, some cards do not support
the blending mode that ddgSky uses, instead of exiting in this case, I report
the error to the console and continue.
-
Upgraded to run with GLuT 3.7.3.
|
03/02/01
|
-
Converted over to using the DDGDIR environment variable everywhere, this
variable should be set in your autoexec.bat to the ddg directory. This will
make compiling easier from now on.
-
Created a project that automatically creates the zip files for me to allow me
to make uploads more easily.
-
I also added the missing .h files and .lib files to make it easier to compile
DDG without having to search the internet for these files.
-
I saw a problem on a TNT2 machine where the terrain did not show. If this is
happening, try recompiling with ddgNVFence disabled in ddgterrainrender.cpp.
|
01/02/01
|
-
Optimized vertex data generation, we now send less vertices than triangles.
-
Fixed cam.pth to work with the new scaled terrains. Now I can run perf tests
again. Need a new path for testing a larger terrain than 256x256 though.
-
NVidia fence extension is now dynamically enabled if the extension is
supported. Note however if you enable the clip planeit slows down rendering a
lot.
-
Created a new release. This release includes source code to render the terrain.
It also includes source code of the initial DirectX8 port (only viewport
works).
-
Ragnar Scheuermann has written an explanation on compiling DDG, that might help
some other people. I will try to convert the VS project to use an environment
variable soon.
-
Note that the DDG data formats have changed, you will have to delete any
existing files in the 'output' directory and regenerate them.
|
28/01/01
|
-
Pulled rendering of terrain out of the terrain lib. ddgTerrain view now accepts
a memory block for a VertexBuffer and IndexBuffer, these blocks are then filled
in with triangle data. This data can be rendered in one blow or block by block.
-
Added code to generate lowres global texture.
-
Implemented use of lowres texture for far away blocks, this means that much
fewer high res textures need to be loaded at any given moment. Also makes
rendering the far away data much more efficient since it can all render from
the same global texture, it can all be merged into one render call instead of
one per block.
-
Cut per block memory consumption by 30%. Each block now takes only 10534 bytes.
|
20/01/01
|
-
Force terrain in immediate vicinity to highest detail resolution. This confirms
that getHeight was correct. Can also use this to maintain a list of triangles
onto which we want to render with additional detail.
|
12/01/01
|
-
Added support for dynamic terrain, ddgITerrain::setHeight() method on the
terrain now almost works.
-
ddgITerrain::getHeight() is working now.
-
Fixed a bug in terrain variance calculation, terrain is more stable now, the
areas which need more resolution, like cliffs get it now.
-
Base geometry is no longer based on a right angle triangle but on a square. So
blocks are really blocks now, this eliminated a bunch of unneeded
memory/computation and especially code complexity from the terrain. It also
saves on disk access time since there are no longer twice as many block files
as texture files.
|
01/01/01
|
-
Texture generation can now write out a 24 bit color map as well as an eco map,
this color map can be edited with a paint program to modify the generated
ecosystems, then you can rerun the texture generation and it will can generate
texture based on the colormap, this allows you to generate the general terrain
and then add in textures for roads, lakes, rivers etc.
|
28/12/00
|
-
Release V6.
-
Eliminated DDGSTREAM symbol, I am assuming streams are available, maintaining
the ability to compile without streams was a mess.
-
Blank viewport for DX8 shows up.
-
Fixed some bugs w.r.t. text rendering and a memory corruption problem for non
square terrains.
-
Fixed location of sky/clouds etc.
-
Fixed some data propagation errors w.r.t. invalid heightmap values which could
cause an entire block to have an error value of zero when it should have been
more.
-
Discovered and fixed an error in which block zero remains at the lowest level
of detail.
|